Обновить

Почему наш язык — лучший язык для программирования (ответ на манифест из 70-х)

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели12K
Всего голосов 25: ↑9 и ↓16-6
Комментарии34

Комментарии 34

Можно не просто болтать с ChatGPT — это ошибочный метод программирования на естественном языке. Его надо использовать как основу для строгих декларативных спецификаций.

Практически любой современный язык программирования это строгая декларативная спецификация на английском языке. Вы предлагаете изобрести еще один язык программирования? А потом что? Будем генерировать "строгую декларативную спецификацию" промптами?

Скорее это однозначные команды, что делать в данный момент, над которыми не надо думать. Достаточно точно их выполнять.

Часто достаточно написать на обычном языке что надо сделать и что надо учесть (ограничения) и нейронка поймет какой код сгенерировать. Т.е. человеку не обязательно опускается на уровень современных языков программирования, как делать. Сейчас мы пишем как делать, точными инструкциями.
Спецификации будет на естественном языке описывать как сделать. Что сделать будет генерировать ии агент.

В мою статью подкинули, мопед не мой, передаю эстафету

Смешно конечно, но спецификации кодом не пишут.

Это понятно. Просто чтобы уменьшить вероятность ущерба от недетерминированной кодогенерации вам придётся писать всё более и более подробные спецификации. И, рано или поздно, ваша спецификация станет похожа на код.

Практика показывает что это не так.

Практика показывает что это не так.

А эта практика сейчас с Вами в одной комнате?

Практически любой современный язык программирования это строгая декларативная спецификация на английском языке.

У меня эта картинка уже на макросе

Вы предлагаете изобрести еще один язык программирования?

Первый раз, штоле?

Самый главный вопрос после ввода в эксплуатацию...
КТО ОТВЕЧАЕТ ЗА ВОЗМОЖНЫЕ КОСЯКИ ИИ?

Вы знаете что такое отказ от ответственности? Практически любое программирование обеспечение вы используете на таких условиях.
А если серьезно, то отвечать конечно же будут разработчики как и сейчас. Но это не точно 😂😂😂

Ну с ритейловским софтом понятно...
А с софтом что конторы пишут для своего бизнеса и если будут убытки из за того как ИИ написал код и всякое такое, тут отказом от ответственности может и не обойтись.

Тот, кто поставил подпись под актом ввода в эксплуатацию.

А уж как он будет балансировать свои риски - это второй вопрос. И он опять же решается уже сейчас: начальник, ставящий подпись, может вообще понятия не иметь, кто и как кодил и тестировал решение. Единственная точка контакта у него - приёмо-сдаточные испытания. И ничего, как-то справляются.

Единственная точка контакта у него - приёмо-сдаточные испытания. И ничего, как-то справляются.

Boeing 737MAX согласно кивает.

А кто отвечает за возможные косяки машинного кода, в который превратился прекрасный код на прекрасном Паскале?

А у вас тоже такое бывает, что в какой-то момент вы понимаете, что текст написан нейронкой и его ценность резко падает? Даже дочитывать не хочется...

Обычно хватает взгляда на заглавную картинку. Если на ней нейрослоп, не несущий никакого смысла, то статью можно сразу в мусорку.

Вы хотите обычный разговорный/письменный язык строго формализовать и в итоге получите ещё один язык программирования.

Не строго. Наоборот достаточно близко к естественному языку.

Если не строго, то зачем он тогда нужен (естественный язык тоже может быть строгим, например, язык юристов)?

Не знаю, кто как, но 90% того, что лично мне приходилось делать по работе - это поддерживать годами существующие огромные проекты: исправлять баги, встраивать дополнительные возможности и т.д. Не думаю, что нынешнее поколение LLM на это способно. Так что рано Java и т.д. забывать.

Кстати, у меня был знакомый, который до пенсии писал исключительно на ассемблере, а вид скомпилированного с какого-нибудь С кода вызывал у него отвращение.

На все 100% не способно. Если ИИ правильно использовать, то на многих проектам можно уверенно более 50% кода генерировать ИИ агентами.

То есть 50% кода нужно писать руками, а вторую половину максимально дотошно ревьюить?

Да и 50% ИИ-генерации на легаси звучит крайне оптимистично.

Тесты очень помогают не проверять явно ошибочный код и достаточно хорошо держат код в поддерживаемом состоянии.
Хорошие тесты позволяют делать достаточно сложный рефакторинг. Они же спасает он явных ошибок ИИ генерации. Вы будете проверять только код которые не содержит явных ошибок.

А тесты вы тоже на этом Gherkin CodeSpeak писать предлагаете? Это ведь такой же код. Всё это очень похоже на переизобретение BDD.

Если рассматривать такой принцип создания ПО, как описаный в статье формализованный язык спецификаций как следующую, более высокую ступень абстракции программного кода, то, в принципе, новый функционал, рефакторинг и исправление ошибок так же должно происходить именно на этом же уровне, как и сейчас ПО пишется на джаве и никто не лезет добавлять новую фичу в байт-код. Другое дело, что для того, что бы писать эти спецификации, дополнять или рефакторить нам потребуется человек со знаниями и опытом использования этого языка спецификаций. То есть программист.

Буду использовать ИИ только если мне будут платить за каждый промт.

Альтману и так за каждый промпт платят, однако он жутко недоволен...Дорого, грит. Вы мне со своими промптами всю инфраструктуру положите, а доход копейки. Пойду-ка я к военным...

Писать код не доверю. Использую для review, обсуждения архитектуры и автокомплита. И документацию генерю.

Честно говоря, тошнит уже от этого вайбкод-мракобесия...

Шли бы вы уже наконец вайбкодить что то серьезное и вытеснять настоящее программирование естественным путем, а не на словах...

А то все сказки расказываете, да завтракамит кормите.

Не забудьте написать что я пенсионер, а завтра то уж точно ИИ всех программистов заменит)

Вайб кодить я как раз не советую.

Тем не менее, аргумент остается. Вайб-кодинг (простите, это же теперь оскорбительный термин) ✨агентная инженерия✨, хоть со спеками, хоть без них, должна вам давать невероятное преимущество (10х) перед остальными разработчиками. А есть результаты? Я, может, не туда смотрю (ну вот, например, внимательно читаю Hacker News), но все, что я вижу, это как сделали очередной клон OpenClaw или 114-й по счёту конвертер MCP в CLI. ИИ-тулзы для ИИ. ИИ-тулзы для ИИ-тулзов. ИИ-улучшаторы для ИИ-тулзов. Вывернули все наизнанку: не решения ищем для проблем, а проблемы для решений.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации