Компьютеры, вероятно, одно из самых крутых изобретений человечества.
Изначально они были сложными и непонятными: все эти перфокарты, интерфейсы командной строки — всё это точно нельзя было легко и быстро освоить без специальной подготовки.
Но всё изменилось, когда в Xerox PARC изобрели графический пользовательский интерфейс (GUI), который впервые добился коммерческого успеха с выпуском Apple Macintosh в 1984 году.
Графический пользовательский интерфейс, понятный любому человеку, добавил компьютерам визуальности и использовал знакомые всем метафоры, что открыло путь к тому, чтобы мощь вычислительных технологий стала доступной каждому.
Спустя несколько лет у многих дома появился компьютер. Затем мы соединили их при помощи кабелей, получили интернет, а дальше началась история, которую все знают.
Все эти изменения стали возможны благодаря устранению барьеров: компьютеры стали достаточно простыми в освоении и доступными.
На мой взгляд, аналогичный сдвиг начинается в мире программирования.
Комбинация визуальных интерфейсов и помощи искусственного интеллекта может сделать программирование таким же интуитивным, как использование смартфона. Это откроет возможности создания программного обеспечения совершенно новым группам людей, а в перспективе — каждому.
Поднимаясь по лестнице абстракции
История программирования — это последовательное упрощение сложных задач.
На заре программирования всё строилось вокруг двоичного кода. Это занятие было утомительным, подверженным ошибкам и в целом точно не для слабонервных.
Затем кто-то придумал написать программу, которая могла бы преобразовывать более читаемые для человека команды в двоичный код. Так появился ассемблер. Он всё ещё был низкоуровневым, но уже чуть более удобным для людей.
Появление языков более высокого уровня, таких как C, позволило абстрагироваться от множества технических деталей и сделало программирование доступным для большего числа людей.
Сегодня у нас есть современные языки и фреймворки, которые делают процесс написания кода проще, чем когда-либо прежде, но обучение программированию всё ещё остаётся сложным процессом.
Несмотря на все достижения, за последние десятилетия мы достигли некоторого плато. Способ написания кода принципиально не изменился с 70-х годов. Мы всё ещё, по сути, пишем инструкции, как это делали с помощью командной строки на заре вычислительных технологий.
Ценность визуализации
Почему графические интерфейсы (GUI) стали таким значительным шагом вперёд по части доступности вычислительной техники?
Потому что они учитывают то, как наш мозг естественно обрабатывает информацию. Знаете ли вы, что в визуальной обработке задействовано примерно 20–30% нашего мозга? Это значительная часть наших нейронных ресурсов.
Когда мы взаимодействуем с GUI, мы используем систему, которая соответствует принципам естественной работы нашего мозга.
Хотите переместить файл? Просто возьмите его и перетащите.
Это понятно интуитивно, потому что так мы взаимодействуем с физическими объектами в реальном мире.
Современное программирование: взгляд из 70-х
Теперь сравните это с тем, как мы пишем код сегодня. Несмотря на прогресс, программирование по-прежнему остаётся текстовой деятельностью, даже когда речь идёт о представлении сугубо визуальных вещей.
Это равно тому, как если бы программисты застряли в интерфейсе командной строки 70-х годов, в то время как остальной мир вычислительной техники перешёл на использование iPhone. И я выражаюсь не метафорически: какой бы язык вы ни использовали сегодня, он, скорее всего, вдохновлён и не сильно отличается от языков, таких как C, который был создан в далёком 1972 году.
Это создаёт огромный разрыв между теми, кто умеет писать код, и теми, кто не умеет — что приводит к неэффективности, разочарованию и упущенным возможностям.
Сколько раз у кого-то появлялась отличная идея фичи или продукта, но не была реализована из-за необходимости переводить эту идею в код?
Два ключевых компонента для интуитивного программирования
Итак, главный вопрос: как процесс программирования сделать таким же интуитивным, как использование современного компьютера?
Я считаю, что всё сводится к двум ключевым компонентам:
Визуализация кода: Представьте, что вы можете видеть структуру своего кода в визуальном формате, манипулировать ею с помощью жестов и сразу понимать её логику.
Обработка естественного языка: Опишите изменения на простом английском языке и превратите их в работающий код.
Эта комбинация визуальных и языковых интерфейсов может сделать программирование доступным для гораздо более широкой аудитории, так же как Macintosh сделал вычислительную технику доступной для массового рынка.
Думаю, в будущем появятся новые категории навыков программирования, которые будут открыты благодаря достижениям в этих областях.
LLM-ассистенты для всех
Я долго колебался по этому вопосу, учитывая весь ажиотаж вокруг искусственного интеллекта, но сейчас я твёрдо убеждён, что искусственный интеллект, особенно большие языковые модели, сыграет ключевую роль в этой трансформации.
Эти модели могут устранить разрыв между человеческими намерениями и машинными инструкциями, позволяя людям выражать свои идеи на естественном языке и превращать их в функциональный код.
Но дело не только в генерации кода. Реальная сила заключается в интеграции возможностей ИИ с визуальными интерфейсами программирования и их подключении к реальным системам и кодовым базам.
Такая интеграция позволит работать с готовым к продакшену кодом, а не только с упрощёнными “no-code”решениями, которые имеют ограниченные возможности. И это — главное достижение.
Подумайте о главной проблеме ИИ-ассистентов: они полезны только для выполнения простых задач. А кому нужно, чтобы простые задачи решались с помощью кода? Людям, которые не умеют программировать!
Да, но тогда вам придётся научить их клонировать код, находить нужные файлы, запускать ассистента в нужной области и так далее.
Или же вы можете создать систему, которая визуализирует сайт или приложение в редактируемом формате, позволяет LLM вносить изменения, показывать результат почти в реальном времени и повторять процесс. Это действительно даст этим ИИ-ассистентам суперсилы, которые оценят те, кому они нужнее всего.
Вот почему, на мой взгляд, комбинация визуализации кода и LLM-ассистентов даёт результат, который значительно превосходит сумму их отдельных частей.
Ценность устранения барьеров
Текущий разрыв между теми, кто умеет программировать, и теми, кто не умеет, создаёт искусственные барьеры между командами, замедляя рабочие процессы. Это похоже на необходимость каждый раз обращаться к переводчику, чтобы выразить свои мысли.
Представьте себе команду маркетинга, которая хочет внедрить и протестировать новые гипотезы. Сейчас им нужно создать спецификации, передать их разработчикам, дождаться реализации, проверить, дать обратную связь и внести правки. Это длительный процесс, зачастую подверженный недопониманиям и приводящий к тому, что конечный продукт заметно отличается от первоначальной идеи.
Теперь представьте мир, в котором та же команда маркетинга может мгновенно реализовать и протестировать свои идеи, не ожидая ресурсов от разработчиков. Или дизайнера, который может изменять не только макеты, но и сам рабочий код.
По моему опыту, разработчикам не нравится быть чем-то вроде посредников — между командой маркетинга, дизайнером или кем-то ещё и их целями.
Разработчики хотят заниматься сложными и интересными задачами, а не менять цвет кнопки каждую неделю на основе данных последнего A/B-теста.
И хотя я не думаю, что текстовое программирование в обозримом будущем исчезнет, ключ к раскрытию визуализации программирования заключается в том, чтобы бесшовно связать визуальное программирование с традиционным.
Нужно сбалансировать преимущества текущей системы, открывая доступ к новой системе для большего числа людей, но при этом сохранить их бесшовную интеграцию.
Именно эту проблему решают инструменты визуального редактирования Builder.io, позволяя нетехническим членам команды вносить изменения в существующие системы напрямую, без постоянной необходимости в участии разработчиков.
Потенциальное влияние
Этот сдвиг в программировании может оказать огромное влияние далеко за пределами технологической отрасли:
Ускорение инноваций: Когда больше людей смогут воплощать свои идеи в жизнь, мы увидим всплеск новых продуктов, услуг и решений. Это может привести к прорывам в областях, о которых мы даже не задумывались.
Улучшение существующих систем: Компании и организации всех типов смогут проще оптимизировать свои операции, что приведёт к повышению эффективности и улучшению пользовательского опыта для всех.
Развитие креативности: Устранение технических барьеров позволит людям сосредоточиться на творческих аспектах решения проблем. Это может способствовать созданию более инновационных и удобных для пользователя решений во всех секторах.
Экономическое равенство: Навыки программирования уже давно открывают доступ к высокооплачиваемой работе. Сделав эти навыки доступнее, мы сможем сократить экономическое неравенство и открыть новые возможности для людей по всему миру.
Уроки истории
Мы уже видели подобную демократизацию технологий. Помните, когда появился софт для работы с электронными таблицами, например, VisiCalc? Возможно, нет, потому что это было в 1979 году. Давайте вспомним, что тогда произошло.
Некоторые бухгалтеры опасались, что это сделает их работу ненужной. Но вместо этого новый инструмент сделал их работу более продуктивной, востребованной и стратегически важной. То же самое произошло с системами CAD в архитектуре и даже с цифровыми камерами в фотографии.
Этот же принцип применим и здесь. Сделав программирование более доступным, мы не заменим разработчиков. Наоборот, это освободит их от рутинны и позволит сосредоточиться на более сложных и интересных задачах. Это сделает их навыки более ценными, а не менее.
Путь вперёд
Переход к миру, где преимущества программирования доступны каждому, не произойдёт мгновенно. Скорее всего, мы увидим постепенные изменения, с появлением всё более визуальных и интуитивных инструментов.
Главное — сделать реальный, пригодный для использования в продакшене код доступным, а не только упрощённые "no-code" решения, которые обладают ограниченными возможностями.
По мере развития таких инструментов нам придётся пересмотреть подходы к обучению программированию, совместной работе над программными проектами и интеграции этих новых возможностей в существующие рабочие процессы.
Это потребует изменений не только в инструментах, но и в нашем мышлении и подходах к разработке программного обеспечения.
Преодоление вызовов
Конечно, эта концепция не лишена своих сложностей. Необходимо будет добиться того, чтобы новые инструменты могли справляться со сложностью реальной разработки, учитывать вопросы безопасности и качества кода, а также находить способы интеграции новых подходов с существующими кодовыми базами и практиками.
Но эти вызовы не являются непреодолимыми. Чтобы справляться с ними, современные платформы используют умный подход «интеграция в первую очередь». Они вводят визуализацию в существующие кодовые базы и рабочие процессы, позволяя постепенно адаптировать новые подходы без отказа от текущих инструментов и процессов.
Заключение
Революционный момент в программировании приближается, и он станет таким же трансформирующим, как и оригинальный Macintosh для персональных компьютеров.
Речь идёт не о замене человеческого творчества искусственным интеллектом. Речь идёт об усилении человеческой креативности за счёт устранения технических барьеров; о том, чтобы дать людям возможность сосредоточиться на том, что и зачем они хотят создать, а не застревать на вопросе, как этого достичь.
Как успешно управлять проектами, продуктами и командами в период высокой неопределенности и быстрых изменений? Научиться всем необходимым инструментам, подходам и методикам можно в рамках практических онлайн-курсов.
А 28 ноября пройдет открытый урок на тему «Риск-менеджмент для тимлидов разработки». Узнать подробности и записаться можно на странице курса "Team Lead".
Комментарии (160)
FurySeer
20.11.2024 08:32с выпуском Apple Macintosh в 1984 году.
< ... >
Спустя несколько лет у многих дома появился компьютерОй ли
откроет возможности создания программного обеспечения совершенно новым группам людей, а в перспективе — каждому.
Да если бы все дело было в создании кода
Теперь представьте мир, в котором та же команда маркетинга может мгновенно реализовать и протестировать свои идеи, не ожидая ресурсов от разработчиков. Или дизайнера, который может изменять не только макеты, но и сам рабочий код.
< ... >
Сделав программирование более доступным, мы не заменим разработчиков. Наоборот, это освободит их от рутинны и позволит сосредоточиться на более сложных и интересных задачах.
< ... >
Необходимо будет добиться того, чтобы новые инструменты могли справляться со сложностью реальной разработки, учитывать вопросы безопасности и качества кода, а также находить способы интеграции новых подходов с существующими кодовыми базами и практиками.
< ... >
Речь идёт об усилении человеческой креативности за счёт устранения технических барьеров; о том, чтобы дать людям возможность сосредоточиться на том, что и зачем они хотят создать, а не застревать на вопросе, как этого достичь.
Какой-то прыг-скок.
Маркетологи смогут решать свои задачи сами и освободят разработчиков от своих рутинных задач => но код маркетологов будет сложный - нужно его интегрировать и следить за качеством и безопасностью => маркетологи и дизайнеры смогут не грузить рутиной разработчиков, а креативить сами.
Так рутина или креативные сложные задачи?ALogachev
20.11.2024 08:32Маркетологи накреативят код, и будут долго пинать "ленивых, нерадивых и тупых" программистов которые "придумывают разные отмазки", оправдываясь почему их прототип сгенерированный АИ нельзя прям сразу интегрировать в рабочее решение...
Tiriet
20.11.2024 08:32А я один вижу подставу? Автор рассуждает о коде, как будто главная задача программиста- это родить какой-то код. Но ведь код - это текстовое представление алгоритма! Последовательности действий, приводящей у требуемому результату. А далеко не все люди умеют в такие последовательности вообще. Просто в своей собственной жизни не все такое умеют. И никакой визуальный язык выражения алгоритмов не спасет, если ты не умеешь в алгоритмы изначально. А это вообще редкий навык, так-то.
victor-homyakov
20.11.2024 08:32Последовательности действий, приводящей у требуемому результату. А далеко не все люди умеют в такие последовательности вообще.
Сегодня у детей в школе была подготовка к аттестации по информатике. Дали тестовое задание, примерно похожее на реальные задания в аттестации. Задание состоит из трёх пунктов, выглядит примерно так:
Дано логическое выражение
F = A & (!B | C)
составьте таблицу истинности
нарисуйте реализацию на логических элементах "И", "ИЛИ", "НЕ"
но перед началом выполнения определите и запишите порядок действий
Печально, что даже учителя по информатике не смогли записать три пункта задания в той последовательности, в которой их надо выполнить. Что уж вы от простых людей хотите...
a-tk
20.11.2024 08:32А тем не мене что-то в этом есть: перед началом выполнения задания прочтите его до конца и убедитесь, что поняли его правильно.
Fragster
20.11.2024 08:32Я как-то комод собирал в инструкции к которому было "23. Перед выполнением пункта 21...". Да, инструкция была текстовая, таблица с комплектующими (типа "Винт М4х20 - 8 штук", без картинок) и две картинки с готовым изделием и номерами деталей в выносках. Зато на одном листе, да.
a-tk
20.11.2024 08:32Было бы забавно если бы попросили синтезировать схему только на элементах ИЛИ-НЕ.
Rsa97
20.11.2024 08:32не смогли записать три пункта задания в той последовательности, в которой их надо выполнить
IMHO, "порядок действий" это не порядок пунктов задания, а порядок операций при вычислении выражения. (NOT => OR => AND).
PanDubls
20.11.2024 08:32Один старый военный мне рассказывал такую байку про инструкцию к технике:
Читаем: "наложите гаечный ключ на гайку". Не сложно, здесь читающий накладывает ключ на гайку. Читаем дальше: "... предварительно сняв напряжение."
Наверное, один человек писал.
MaFrance351
20.11.2024 08:32Это в духе видеоинструкций по ремонту:
- Итак, откручиваем винты по периметру крышки.
(открутил, пытаешься снять, не снимается)
Тем временем в видео он так же поковырялся и такой:
- А, ой. Ещё же в отсеке под память один винт остался.
Именно поэтому всегда вначале смотрю такое от начала до конца, прежде чем что-то делать.
Tiriet
20.11.2024 08:32:-) учителя составили то самое ТЗ, про которое я чуть ниже написал. И это вполне себе жизненный пример ТЗ (по крайней мере, он прекрасно укладывается в мой личный опыт)- когда в середине или конце ТЗ идет требование, которое в корне меняет смысл и содержание предыдущих пунктов и параграфов, и которое надо внимательно читать до того, как приступать к выполнению работ. Возможно, что это очень хорошие учителя, раз даже в такой подготовке закладывают для детей элемент практического освоения навыка читать описание задачи целиком, прежде чем начинать ее выполнять.
victor-homyakov
20.11.2024 08:32Возможно, что это очень хорошие учителя
Не приписывайте умыслу то, что вполне можно объяснить глупостью :)
(c) бритва Хэнлона
a-tk
20.11.2024 08:32Есть у нас алгоритмисты, которые напишут кусок говнокода на питухоне, а потом кидают коней, когда программисты говорят, что нельзя это взять и вкорячить в контроллер с ограниченной памятью системы реального времени.
mordotron
20.11.2024 08:32сорян, а почему алгоритмисты пишут на петухоне, а не предоставляют, например, блок-схему, которую уже потом программисты преобразовывают в код ?
comradeleet
20.11.2024 08:32кидают коней
Прошу прощения, вы где работаете? )
boulder
20.11.2024 08:32На ипподроме, конечно. Код не помещается, кони остаются голодными оттого, что их кинули программисты, всё логично.
MaFrance351
20.11.2024 08:32Разработчики прошивки автокормушки? Раз уж речь зашла о программистах контроллеров...
PeeWeee
20.11.2024 08:32Так рутина или креативные сложные задачи?
Пока ТЗ было в виде относительно формализованых хотелок - задачи были рутинными.
А станут "я уже все за вас сделал, полвечера промпты креативил - вы там глянте что из моего шедевра вываливается(в ответ непонятно на что) и просто немного причешите(масштаб умножить на N, а может на M, там видно будет, себестоимость использования устремить к нулю, лучше в минус)". Вот тут то и начнется кретивно-сложное.
victor-homyakov
20.11.2024 08:32Уже было.
Опишите изменения на простом английском языке и превратите их в работающий код.
Примерно то же самое писали про SQL. Предполагалось, что любой англоязычный бухгалтер сможет сам писать себе отчёты на простом английском языке.
MadeByFather
20.11.2024 08:32Ну так SQL и не такой сложный язык и свою задачу выполняет, простые запросы можно научиться делать за день с нуля, посложнее за неделю-другую практики. А вопросы оптимизации запросов, архитектуры БД, дебага и анализа перед простым бухгалтером Джоном город Бостон не стоит.
vanxant
20.11.2024 08:32Даже большинство айтишников не понимает, чем левый джойн отличается от правого и, блин, что NULL не равен NULL. Чего вы от бухгалтеров хотите...
theCowardlyDog
20.11.2024 08:32Это не так, человек с улицы осваивает sql на приемлемом уровне примерно за год, причем первые три месяца с наставником.
MadeByFather
20.11.2024 08:32Скиньте пример типичного вашего запроса, на который нужно учить год SQL, пожалуйста
verax_mendax
20.11.2024 08:32не имея навыков SQL дали пару задач. Справился за день. Уровень с тех пор не сильно поднял, т.к. нет нужды, но при необходимости смогу навыки поднять. в >90% случаев обычно нужны только стандартные селекты, инсерты и апдейты с джойнами.
vis_inet
20.11.2024 08:32Ага, при этом главное, чтобы написанный запрос не выжрал всю память или не завалил базу.
Andy_Big
20.11.2024 08:32главное, чтобы написанный запрос не выжрал всю память
Ну эта проблема в современном программировании уже давно решена - просто нужно больше памяти. То же самое и с процессором и с другими ресурсами. Не возиться же с оптимизацией.
kuzzdra
20.11.2024 08:32Есть выбор - возиться с оптимизаций или добавить памяти. Разве плохо?
Andy_Big
20.11.2024 08:32Смотря с чьей стороны. Если пользователю приходится апгрейдить свой комп для того чтобы у него не тормозила новая версия калькулятора с более красивыми кнопками, то для него это однозначно плохо :)
IvanBodhidharma
20.11.2024 08:32С новым современным и интуитивно понятным языком SQL программисты станут не нужны, т.к. каждый бухгалтер сможет писать свои запросы к БД (с)
litalen
20.11.2024 08:32С новым современным и интуитивно понятным языком Basic/VisualBasic программисты станут не нужны, т.к. каждый бухгалтер сможет писать любой код на простом языке в среде MS Office (c)
С новым современным и интуитивно понятным языком 1С программисты станут не нужны, т.к. каждый бухгалтер сможет писать любой код аж на своем родном языке в рабочей среде (c)
Emulyator
20.11.2024 08:32Всё так и есть, просто те, кто должен был стать бухгалтером - пошел в программисты.
sobeskiller
20.11.2024 08:32Они и пишут (могут писать). Только не совсем понятно как запросы к БД на SQL могут составить отчёт по 104 форме Н.
artemmoscow
20.11.2024 08:32Я не вижу, что с течением лет и приходом новых технологий работа стала более интересной и творческой и что технологии сделали работу проще. Скорее, наоборот.
Для того, что бы сохранить работу теперь нужна будет более высокая квалификация. При этом, самой работы меньше не станет, с повышением эффективности просто повысят норму выработки и все.
И самое главное, первое что сделает бизнес и государство - это не облегчат работу сотрудников, а сделают ее более эффективной. Что это значит на человекческом языке? Ужесточат фильтры при найме и контроле. Иными словами, сделают все, что бы вы не расслаблялись и получить максимум за оплаченные деньги.
mixsture
20.11.2024 08:32А почему цепочка на бизнесе заканчивается? Собственно, там не так уж много прибыли оседает. Бизнесы с нормой прибыли в 5-15% вполне обычное дело. Остальная "выгода" оседает в карманах покупателей - вот уж кто-то, а все им мало! С голодом человечество справилось, а покупателям мало! Развлечения в каждый дом, персональное телевидение, моментальное общение, фитнес-центры с персональными тренерами, а им все мало! Уже в доставке можно горячую еду из ресторана получить в течение часа - вы представляете, рассказать это кому-то из 1980го? да пальцем у виска покрутят. /s
Ну а без сарказма - мы многое получаем от развития технологий, просто на следующий день уже считаем это само собой разумеющимся.SAWER
20.11.2024 08:32Совсем не 5-15%, а на порядки больше. Покупатель может получить на сумму много меньшую прибыли, потом с этой суммы ещё будут взяты налоги, что около 50% в РФ. И только из этих остатков что-то получает покупатель. В РФ большая часть этого уходит на еду.
Это самое "многое" на деле очень легко и почти ничего не стоит. Часто из-за того, что может свободно копироваться почти без затрат энергии. А основную прибыль забирает капитал, ну или иначе весьма скромная по численности прослойка населения.
victor-homyakov
20.11.2024 08:32Я не вижу, что с течением лет и приходом новых технологий работа стала более интересной и творческой и что технологии сделали работу проще. Скорее, наоборот.
Как пример - когда-то давно читал, что после автоматизации документооборота количество бумажных документов обычно увеличивается, ведь их становится на порядок проще генерировать и печатать.
ManulVRN
20.11.2024 08:32В классическом варианте это звучит "после внедрения безбумажного документооборота расход бумаги вырос на 20%".
eismann3636
20.11.2024 08:32Ну на самом деле увеличившееся количество бумажных документов это свидетельство того, что автоматизацию внедрили или неграмотно или не довели дело до конца
andmerk93
20.11.2024 08:32Или наоборот: стали лучше справляться с работой, и, наконец, дошли руки до тех задач, до которых раньше не доходили. Автоматизацию могли делать не ради уменьшения бумажек.
545454valera
20.11.2024 08:32Ужесточат контроль за работой. На смузи и банановый раф будет отведено не более 10 минут за рабочий день, контролировать работу будет камера с ИИ и активность, следить за глазами и тд, а когда ИИ покажет, что разработчик устал, то его заменят тем, кто устаёт меньше. Будут тестовые периоды, определяющие наиболее выносливых и быстрых. Таким будет отбор.
YuraPlusEV
20.11.2024 08:32Поднимаясь по лестнице абстракции
Хотелось бы узнать мнение еще об одной абстракции. О тех у кого уже есть огромные кодовые база и бизнес задача решена. А код, где возможно - рефлексивно создаётся.
Ускорение инноваций:
Тоже не факт, только прибыль новой платформе, которая заработает на непроработанных идеях. Без качества прорывных идей, никакое ускорение не произойдёт. Целевая аудитория точно не про глубину проработки.
Сколько раз у кого-то появлялась отличная идея фичи или продукта, но не была реализована из-за необходимости переводить эту идею в код?
Действительно сколько?)
Разработчики хотят заниматься сложными и интересными задачами, а не менять цвет кнопки каждую неделю на основе данных последнего A/B-теста.
Если требуется менять цвета кнопки и дизайнер это не может сделать сам, горе тем разработчикам, которые с ним работают.
kompilainenn2
20.11.2024 08:32"С точки зрения дизайнера - это зелёный прямоугольник" (ц) не помню откуда
SadOcean
20.11.2024 08:32В целом Я согласен с утверждением - нас ждет как большое количество новых классных инструментов для программистов, так и новые инструменты для непрограммистов, покрывающие задачи разработки ПО и смежные, типа дизайна.
Думаю, что утверждение "все станут программистами" все же не верно в том смысле, что научившись писать и пользуясь текстом в интернете массово, люди не становятся писателями.
Indemsys
20.11.2024 08:32Почему некоторые писатели так любят применять шрифт Comic Sans на своих мутных диаграммах. И это в статье о том как быстро у нас появится всем понятный визуальный язык.
Дженсен Хуан же говорит что все наоборот будет. Не будет никакого нового языка для создания функций, будет исчислимый набор универсальных функций, которые не надо программировать. Надо будет только выразить как-то свое желание что из чего получить.
Далее куча ИИ агентов выберет консенсусом лучшего из своего круга и отправит выполнять желание пользователя. Никаких пошаговый инструкций и последовательностей команд, никакой детализации потока выполнения, только намерения и сразу результат.Отсюда следует что кодеры как класс исчезнут, т.е. спрос на программистов резко упадет. Архитекторы тоже будут не нужны, потому что архитекторы работают с требованиями основанными на ограничениях программных инструментов. А ограничений больше не будет в явном виде поскольку не будет этих самых программных инструментов с их API и проблемами переносимости.
Масштабирование будет за счет роста числа ИИ агентов. И ИИ агенты сами придумают в конце концов как оптимизировать общение с пользователем.
И ещё вопрос нужны ли вообще будут формальные языки. ChatGPT понимает вопросы и проблемы описанные в самом корявом и неоднозначном стиле с кучей грамматический ошибок и никакой формальный язык ему не нужен.
artemmoscow
20.11.2024 08:32Почему то никому не приходит в голову простая мысль, что ИИ напишет свой ЯП, удобный для себя. Не в том плане что сядет и спроектирует, а просто модель выведет наиболее опимальное для машинной обработки
randomsimplenumber
20.11.2024 08:32Потому что пока что не зафиксировано случаев, чтобы ИИ ставил сам себе задачу. Ему любой язык не доставляет неудобств. Даже непонятный.
diakin
20.11.2024 08:32Надо будет только выразить как-то свое желание что из чего получить.
Ахаха.. Какой там средний балл по русскому языку за сочинения? В которых учащиеся выражают свои мысли? А, ну да, сгодится и "в самом корявом и неоднозначном стиле с кучей грамматический ошибок ".
Indemsys
20.11.2024 08:32Не забываем про нейроинтерфейс.
Wizard_of_light
20.11.2024 08:32Ага, с обратной связью в центр удовольствия. "Сделай мне красиво" - щёлк - "Но это же палка!" - щёлк - "Ооо, какая замечательная палка!".
vkni
20.11.2024 08:32Это наш любимый анекдот про Джина, оно же старая легенда о дьяволе, исполняющем желания, она же Каменные сердца из Ведьмака. :-)
victor-homyakov
20.11.2024 08:32ChatGPT понимает вопросы и проблемы описанные в самом корявом и неоднозначном стиле с кучей грамматический ошибок и никакой формальный язык ему не нужен
Казнить нельзя помиловать
Если бы то, как ChatGPT поймёт эту фразу, относилось к вашей жизни - вы бы ему доверились?
diakin
20.11.2024 08:32Давайте так :
"С появлением ИИ, который может генерить тексты, писателем может стать каждый"
"С появлением ИИ, который может генерить картинки, художником может стать каждый"Далее по списку.
Indemsys
20.11.2024 08:32С появлением фотографии появился экспрессионизм. Т.е. то что фотография никак передать не могла.
С появлением ИИ способного создать экспрессионизм, людям остается только заниматься перфомансом. Хотя это уже давно началось.victor-homyakov
20.11.2024 08:32С появлением фотографии появился экспрессионизм
Между появлением фотографии и появлением экспрессионизма разница примерно 60-70 лет
то что фотография никак передать не могла
Экспрессионизм в архитектуре, театре и особенно в кинематографе (кинематограф - своего рода последовательность фотографий) вы тоже причисляете к тому, что фотография никак передать не могла? Если поискать, то и фотографии в стиле экспрессионизма найдутся, разве что известных фотографов я назвать не могу.
ИИ способного создать экспрессионизм
Разница в том, что люди придумали экспрессионизм, а ИИ только научился на готовых примерах. Экстраполируя в будущее: люди рано или поздно будут создавать новые направления в музыке, живописи, архитектуре, а ИИ сможет?
vikarti
20.11.2024 08:32И тут я вспоминаю например весьма неплохой набор клипов Alex Magnusson'а по Гамильтону. https://www.youtube.com/@starkings2 который.
Видеоряд. Тексты. Песенное исполнение. Он правда прямо пишет что Suno использовал. Да, возможно профессионал сделал бы лучше, но где тот профессионал что будет это делать и за какие деньги(и где гарантии что к нему не придут желающие позащищать авторские права - копирайт то на Гамильтона не истек а тут производное произведение, а если делать все совсем в белую - то точно сойдется экономика?)
Или другой пример - Author.Today. И то что сейчас у разных авторов появляются и в тексте тоже куча картинка. Не подобранных с инета а то что сам автор считает подходящим. Да - заказать художнику - качество видимо будет лучше но это будет сильно дороже а значит никто не будет делать.
kuzzdra
20.11.2024 08:32Видеоряд
Когда-то давно обнаружил, что на любую песню можно наложить любой видеоряд, и будет неплохо.
сейчас у разных авторов появляются и в тексте тоже куча картинка
добавляют ли те картинки какой-то выразительности, или просто место занимают?
Ratenti
20.11.2024 08:32ну так теперь на амазоне куча книг, которая сгенерирована ИИ, а на стоке куча картинок, которая сгенерирована ИИ.
semmaxim
20.11.2024 08:32Это всё мне напоминает историю языка SQL. Его же создавали как раз для того, чтобы каждый бухгалтер мог сам себе нужные данные извлекать в каком ему угодно виде...
На самом деле задать ПРАВИЛЬНЫЙ вопрос ИИ - это тоже очень серьёзное умение. Да блин, даже просто правильно сформулировать свои мысли и требования - уже недоступное для многих людей искусство.
artemmoscow
20.11.2024 08:32Дело в том что ИИ сам умеет дорабатывать запросы. Так что это умение тоже можно на него повесить
Tiriet
20.11.2024 08:32А зачем тогда придумали ТЗ? Человек ведь тоже понимает запросы неграмотные. А нееее, запросы разные бывают! И чтоб получить то, что реально нужно- придумали ТЗ. И в его составление, естественно, далеко не все умеют. Почему вы думаете, что несмотря на то, что умные люди без ТЗ неправильно понимают глупых заказчиков, какой-нибудь умный ИИ их правильно поймет?
k4ir05
20.11.2024 08:32Дело в том что ИИ сам умеет дорабатывать запросы.
Ну да, но произвольным образом.
Mishootk
20.11.2024 08:32Сколько раз у кого-то появлялась отличная идея фичи или продукта, но не была реализована из-за необходимости переводить эту идею в код?
Так-то у меня свой бизнес придуман, миллионы приносящий, просто сейчас времени нет им заниматься, вот и таксую, чтобы на коммуналку хватало.
Kergan88
20.11.2024 08:32Несмотря на прогресс, программирование по-прежнему остаётся текстовой деятельностью, даже когда речь идёт о представлении сугубо визуальных вещей.
Программирование остается текстовой деятельностью, потому что программист уже давно не пишет тексты для компьютера - он пишет их для других людей. Программист - это специалист, который организует информацию о поведении системы. И так уж вышло, что ничего удобнее, чем текст на специально созданных для этой цели языках, человечество пока не придумало.
Ingeniosus
20.11.2024 08:32даже не знаю как сказать, что все главная работа все еще в облаках, где гуй - лишнее.
И если тс пишет в vscode на питоне, то есть еще куча народу, что пишут в виме, имаксе (я предпочитаю doom emacs например) ту же скалу, сразу в облако, в том числе для того, чтобы остальные разрабы могли запустить свой код, даже не зная что такое генерация ключей ssh
mixsture
20.11.2024 08:32Текущий разрыв между теми, кто умеет программировать, и теми, кто не умеет, создаёт искусственные барьеры между командами, замедляя рабочие процессы.
...
Несмотря на прогресс, программирование по-прежнему остаётся текстовой деятельностью, даже когда речь идёт о представлении сугубо визуальных вещей.Да, создает барьер. Только кто сказал, что этот разрыв исключительно из-за текстового программирования? Ничуть, само написание кода хорошо если 20% времени занимает, а простота входа и написания какого-нибудь hello world на любом языке - 5 минут для любого. И даже с крутыми зарплатами в ИТ - казалось бы, столько благотворных факторов собрали, но как-то дефицит работников никуда не уходит, причем во всем мире.
Я помню в районе 2000-2005го вышла delphi с ее идеей визуальных компонентов, с возможностью строить из них как из кубиков и были абсолютно такие же обсуждения, что вот он, конец эры текста! 2024, а мы все еще в тексте.
ALexKud
20.11.2024 08:32кто мешает сейчас использовать DELPHI ? Система стала более мощной, сейчас не только визуальный интерфейс можно собирать, но и REST API , под Андроид делать, Linux и под WEB. Но почему-то это не распостранено, все "мучаются" с джавой, питоном и проч. "прелестями" текстовых языков. Браузеры превратились в пожиратели памяти, программирование в бесконечную череду наборов бибилиотек и зависимостей с вкраплениями какого-то своего небольшого кода. А за это платят деньги! Нам не надо проще, нам надо денежней.
mixsture
20.11.2024 08:32Я, честно, не видел ни разу разработку в дельфи под веб, но подозреваю, что это выкинет визуальное программирование (т.к. интерфейс рисует веб) и на выходе получим тот же текстовый язык.
А веб выгоден тем, что работает везде и одинаково. Языки, начиная с Си метились в этот принцип, но только с уровнем абстракции в виде браузера получилось это достичь. Разрабатывать и поддерживать одну веб архитектуру существенно дешевле, чем 4 нативные (ios, android, win, lin).a-tk
20.11.2024 08:32Был проект Delphi for PHP, были попытки сделать IDE с подобными принципами работы, и гугл говорит, что есть живые до сих пор (DreamWeaver например). Кроме того, у меня остались какие-то мутные воспоминания о ветке Delphi, которые позволяли на делфийском диалекте паскаля писать веб-приложения, где макеты страниц верстались аналогично дизайнеру в делфи.
alexey_public
20.11.2024 08:32Цена - стоимость среды разработки достаточно заметная. Поэтому на сегодня Delphi удел тех немногих, кто готов за неё платить.
mvv-rus
20.11.2024 08:32кто мешает сейчас использовать DELPHI
Вопрос, как я понимаю, не конкретно про Delphi а про визуальное программирование?
Что ж, такие попытки были. Наиболее известная (мне) - ASP.NET WebForms. Microsoft тогда сделала ставку на привлечение к веб-рзаработке программистов, обученных визуальному программированию на Visual Basic или на той же Delphi. До наших дней это не дожило, но было так заметно распространено: расширение .aspx в путях на сайте - это, с немалой вероятностью, она, хотя ближе к концу нулевых это мог быть и ранний MVC.PS Сайт с серверной частью, написанной на Delhi, в моей практике тоже был (делал его, правда, не я).Правда ничего визуального в том сайте не было: Delphi использовался там в качестве средства для написания расширения ISAPI для IIS - в Delphi как раз появились классы, упрощающие работу с ISAPI. А вообще это была конверсия предыдущей версии сайта, активная часть которого работала на Perl+CGI (а основная часть вообще была статикой с SSI, CMS не было).
TrueScaffold
20.11.2024 08:32Максимум эффекта от описанного автором развития событий — это увеличение предложения никому не нужных мобильных приложений.
mvv-rus
20.11.2024 08:32Ну чо, копирайтер, нанятый OTUS, свою задачу, как я вижу, выполнил - привлек внимание к блогу - простым муняпулятивным приемом, именуемым "вброс": опубликовал текст, потенциально способный вызвать
бурление гожесточенные споры комментаторов. То есть свою работу он выполнил, но стоит ли ее обсуждать тут, а не с автором оригинальной статьи? Все равно ни одна мысль, которую вы хотели бы донести до автора всего этого "ля-ля-ля", до него не дойдет. Ну, а копирайтеру вряд ли платят за ответы на комментарии. Или - даже за то, чтобы он их читал.
PS На всяки случай: ничего против OTUS или других корпоративных блогов не имею - люди честно заплатили за право невозбранно привлекать внимание к своей фирме. Ну, а поддаваться их манипуляциям или нет - это личное дело каждого.
Ndochp
20.11.2024 08:32Бум рациональной розы и всякой визуальщины кажется был когда я в институт поступал, 99-2000 годы. С тех пор конечно прошло четверть века, но кажется энтузиазм вокруг визуального программирования (то есть не сборка из параметрических запрограммированных текстом кирпичей, а реального программирования) уменьшился и остановился чуть дальше того уровня, что был в 2003.
И это происходит просто потому, что ни дифать удобно, ни помещать достаточно много информации картинками не выходит. Текст - компактнее и на экране и в голове. Не даром в IDEF0 (то же то еще ископаемое) прямо в требовании - не больше 6 квадратов на лист.
Ну и в этой статье про визуальное программирование ни одного примера, как можно увидеть " структуру своего кода в визуальном формате, манипулировать ею с помощью жестов и сразу понимать её логику ".
Вот прям хотелось бы примера. А то у меня 1Сочка под опекой, 10кк строк кода, очень фигово размазанных по модулям, и 300+300+600+еще немного таблиц, тысяча с понятной бизнеслогикой, остальные служебная заумь. Но даже на 300 позиций ER диаграмма превращается в месиво нечитаемое.
Про бухгалтеров кстати. Сейчас консультанты 1c-wiseadvice приводят цифры в 500 сотрудников на одного расчетчика (мы целимся в 4000) до появления электронных таблиц - совершенно невозможная цифра. Так что да, профессия бухгалтера осталась уважаемой, но численность сократилась в сотни раз. Так что не зря люди за свои рабочие места переживали.
Если считать по стандартам "доэкселя" - то могло бы быть еще меньше бухгалтеров. Но государство вводит все новые формы отчетности, чем стабилизирует численность, несмотря на рост технической оснащенности.piton_nsk
20.11.2024 08:32Так что да, профессия бухгалтера осталась уважаемой, но численность сократилась в сотни раз
Про сотни раз какой-то уж сильный перебор.
The latest NASBA numbers released in late 2022 reveal that over 665,600 CPAs are actively working in the U.S. However, almost 1.4 million accountants operate in the U.S., meaning the remainder are regular accountants without specialized CPA training.
1.4 миллиона в США, в сотни раз это больше всего населения)
В РФ (данные за 2015 год) порядок тот же
Официально: 4% трудящегося населения страны – бухгалтеры. Это третья по распространенности профессия. Больше только водителей (7%) и продавцов – почти столько же. Умножив эту величину на общее количество занятых, получаем точное количество официально трудоустроенных бухгалтеров – 2884 тысячи человек. Неформальный сектор Росстат оценивает в 18,8% от формального – добавляем еще 543 тысячи теневых бухов. Итого: в России 3428 тысячи бухгалтеров.
ManulVRN
20.11.2024 08:32Я бы сказал, что общая численность бухов вряд ли сильно сократилась, но рядовой бухгалтер превратился (деградировал?) в оператора бухгалтерской программы. А уважаемыми людьми остаются главбухи, их замы (на крупных предприятиях) ну и какие-нибудь выдающиеся специалисты (чаще всего немолодые).
piton_nsk
20.11.2024 08:32рядовой бухгалтер превратился (деградировал?) в оператора бухгалтерской программы
А каким был рядовой бухгалтер в 70-80 года? Возможно точно также учитывал первичку, только на бумаге.
vis_inet
20.11.2024 08:32Не всё так просто.
Ещё он составлял шахматку, оборотку и т.п. по своему участку (счёту/субсчёту).
Которые затем сверялись с корреспондирующими счетами и потом уже сводились в общий баланс.
fourclever
20.11.2024 08:32Недостижимость навыка программирования для многих состоит в том, что они не знают английского языка. Если человек свободно говорит на нём, то изучение какого-либо языка программирования для него преимущественно сводится к запоминанию синтаксиса. Базовые принципы везде одинаковые. Чтобы не иметь языкового барьера необходимо иметь язык программирования не привязанный к какому-либо алфавиту. И так как многие логические операции и стандартные наборы функций могут быть однозначно представлены в соответствующей интуитивно понятной визуальной форме, как это естественным путём сейчас и происходит (многие действия в интерфейсах обозначаются иконками, а не словами, а за ними скрываются методы фреймворков), то совершенно очевидно, что язык такой должен быть иконочным. Поэтому следующим шагом будет формирование такого языка, а следующим барьером будет способ ввода. Необходимо иметь клавиатуру с очень большим набором символов. Это либо меняющаяся раскладка на сенсорных дисплеях, либо нейро-интерфейс. Чтобы делать тоже самое, простого говоря ИИ свои желания необходимо очень точно формулировать свои мысли, в соответствии с определённой терминологией и знать все функции и методы. То есть в любом случае - программирование не для каждого.
nameless323
20.11.2024 08:32Недостижимость навыка программирования для многих состоит в том, что они не знают английского языка
Хм, где я живу английский нативный язык и на нем умеют говорить почти все, ну да, вокруг все понимают модели управлением памяти С++, могут сходу написать аллокатор, джоб систем, знают на каких архитектурах лучше спинлок заюзать, где yield позвать, где не надо его звать, понимают рекурсию, знают в какие регистры что идет и почему для каждой calling convention, да что уж могут рефлексию в плюсы впихать да и даже не то что плюсы, понимают как сделать лексер и парсер для своего языка.. Oh wait a second...
fourclever
20.11.2024 08:32Те, для кого английский родной - не большинство. Это основной барьер. К чему всё это перечисление?
PanDubls
20.11.2024 08:32К тому, что ваш тезис "английский -- основной барьер при работе программистом" опровергается примером огромного множества людей, знающих английский, но программистами быть не способных.
fourclever
20.11.2024 08:32Во-первых: не при работе, а при достижении навыка. Вы как-то лихо смешиваете всё в кучу. Во-вторых: уверен, многие даже и не хотят быть программистами. А то, что на пути к совершенству в какой-либо области деятельности много всего с чем нужно разобраться - и так очевидно. Мой исходный комментарий совершенно не об этом. Вы видимо не читали его.
randomsimplenumber
20.11.2024 08:32Недостижимость навыка программирования для многих состоит в том, что они не знают английского языка.
Из английского языка в программировании используется 20 слов, их можно просто записать на бумажку. А недостижимость навыков игры на трубе для многих состоит исключительно в том, что они не умеют нажимать и дуть ;)
fourclever
20.11.2024 08:32Чтобы уметь, нужно учиться. Чтобы учиться нужно понимать, что происходит. Чтобы понимать, нужно называть как-то происходящее. То есть - знать слова. Как бы мало их не было - для большинства это барьер.
kuzzdra
20.11.2024 08:32для большинства это барьер
Открываю любую русскоязычную книжку по программированию - там все буквы русские. Кроме тех загадочных 20 слов. Очень низкий барьер, прямо скажем ;)
PanDubls
20.11.2024 08:32Как бы мало их не было - для большинства это барьер.
Кажется, большинству, неспособному запомнить десяток слов, в любом случае в программировании ловить нечего.
Mishootk
20.11.2024 08:32Подождите немного, скоро ситуация изменится. Порог вхождения в программисты станет равным льготной оплате первого пробного месяца в чате ИИ.
ManulVRN
20.11.2024 08:32Вы преувеличиваете. Я в школе-вузе учил немецкий, для меня операторы того же Паскаля или Фортрана были просто заклинаниями (реально, я не знал значения слова "if"). Никакой проблемы в запоминании нескольких закорючек не было. Более того, языки программирования на основе русской лексики у меня вызывали скорее недоумение, а где тут операторы, а где комментарии или строки сообщений? Пропадал некий уровень отстраненности, затрудняюсь объяснить это чувство, но мне как раз гораздо проще иметь дело с "иноязычными" языками программирования.
fourclever
20.11.2024 08:32Мне тоже. Это как бы распараллеливает поток мышления и одно на другое таким образом не накладывается. Но я стараюсь не судить обо всех по себе. Все люди очень разные. У меня есть знакомая - всю жизнь рисовала, человек творческий, но уже давно вынашивает идею небольшого приложения для своих нужд связанных со здоровьем. Как только она не подступалась к нему. Дизайн уже весь готов. Делает для себя. Мотивация очень глубокая. Так вот она говорит, что английские слова сбивают с толку. Спрашивала, есть ли язык программирования на русском. И даже спрашивала - можно ли писать иероглифами - типа они образные, легче воспринимаются и запоминаются. Представляете, какой это барьер? Человек готов запоминать иероглифы! Так что я скорее сильно приуменьшаю его масштаб, чем преувеличиваю. А кто там выше говорил про 20 слов просто не понимает, что мир намного шире их модели реальности, и что существуют другие способы мышления, в том числе основанные на синестезии.
kuzzdra
20.11.2024 08:32Спрашивала, есть ли язык программирования на русском
https://www.cyberforum.ru/cpp-beginners/thread46558.html
Где-то в интернетах есть гопнический и церковнославянский вариант. Легче, правда? ;)
Ndochp
20.11.2024 08:32Ну так уже кажется любой умеет в юникод. Пусть пишет на любой ваниле, будет 20 слов. Хз, кроме С есть еще язык с препроцессором? Набить туда 20 строк дефайнов и 100% на русском будет.
stch
20.11.2024 08:32В 1С пишут на русском.
В других языках можно использовать макросы, которые будут заменять русские слова на английские перед выполнением.
vkni
20.11.2024 08:32Я в школе-вузе учил немецкий, для меня операторы того же Паскаля или Фортрана были просто заклинаниями
Они и для носителей английского заклинания. Более того, языки с синтаксисом наиболее свежего поколения вообще их не особо и используют:
lst2 = [sqrt(l) for l in lst1] # то, что lst2 - это список, нигде не указано
check = map sqrt lst == [sqrt x | x <- lst]
Как несложно заметить Python, будучи максимально подробным языком, не выражает английским словом, что lst2 является списком, а это, кмк, ключевое. А в Haskell вообще ничего, кроме идентификаторов не является чем-то напоминающим английское слово.
Более того, эти ключевые слова можно заменить на разноцветные иероглифы - так даже быстрее читаться текст будет, просто придётся договориться об огласовке.
sobeskiller
Ну вот сейчас "технические барьеры" сильно устранены по сравнению с 90ыми, например. Программировать может и вчерашний повар. Сильно это добавило "кревативности"? По-моему, наоборот. Тут-то вдруг и начинаешь понимать что "технические сложности" оказывается были отличным фильтром от всяких встречных-поперечных.
lealxe
А самое главное, что небольшое увеличение уровня решаемых задач (ну да, документ сейчас можно всем одновременно редактировать с подсветкой, у кого где курсор ; тогда посылали его по почте или стояли за спиной) далось огромным увеличением сложности.
В 90-х в общем программы делали то, что должны были делать. Дороговато было туда еще совать всякое лишнее.
Сейчас кмк основная задача, чтобы защитить область от окончательной стагнации и зацветания - это найти способ показать обывателю, насколько возможности современных машин выше, если их использовать эффективно.
Т.е. сейчас "новые фичи" и "улучшения" популярных продуктов - это уже чисто косметический фасад на 90%, что-то функциональное, но вообще в жизни не новое на 10%.
Это значит, что часть индустрии, их производящая, обладает способностью и желанием к коллективному давлению, дабы спрятать и подавить все остальное.
Причем это даже не олигополия, просто когерентный интерес огромной части индустрии.
Как, хм, когда какой-нибудь коктейль, что ли (не алкоман), налили в несколько слоев, жидкость из второго и третьего слоев не коснется дна, если палочкой не помешать.
Т.е. если произойдет достаточно большая революция, понятная обывателю, сложность всего вокруг быстро скакнет обратно ближе к 90-м.
(Я так думаю.)
Javian
off У меня создалось впечатление, что рынок продаж ПО в состоянии насыщения. Покупателей нет - у них уже всё есть. То, что требуется - соответствует эпизодической покупке услуг, а не покупке инфраструктуры для постоянного решения задач бизнеса.
matroskinufa
Кризис идей никто не отменял. Тренды порождают тысячи одноликих проектов, или выкидыши, вроде поисковика с голосовым вводом и камерой в стремной коробке.
Хотя забавно вышло, люди не могут выделить проблему, которую стоило бы решить.