Сегодня «веб-дизайн по настроению» на пике популярности, и многие утверждают, что изучение программирования больше не имеет смысла. Но я выбрал другой путь, и готов поделиться своими доводами.
Восторг от «веб-дизайна по настроению»
Каждый день, заходя на Reddit, я натыкаюсь на множество постов, где пользователи делятся своими первыми приложениями, созданными с помощью «веб-дизайна по настроению». Аналогичные новости приходят и из других социальных медиа. Это действительно привлекает всё больше людей, не знакомых с программированием, к разработке ПО.
Вспомните, как было всего несколько лет назад, когда большие языковые модели (LLM) не пользовались такой популярностью. Если кто-то хотел изучить программирование или создать приложение, ему приходилось проходить долгий путь обучения языку. Это могло обернуться серьёзными затратами времени и денег. Многие классные идеи так и не были реализованы, просто потому что разработчик не знал, как программировать, и не мог позволить себе нанять профессионалов.
С появлением «веб-дизайна по настроению» всё изменилось навсегда. Теперь, от создания прототипов простых проектов до разработки полупрофессионального программного обеспечения — если правильно задействовать искусственный интеллект, он может выполнить эту работу за вас. Порог вхождения в разработку ПО значительно понизился по сравнению с несколькими годами назад.
Теперь не нужно разбираться в коде, а тем более его писать. Не нужно знать, что происходит за кулисами. Нет необходимости учить сложные алгоритмы. Кто откажется от такой возможности? Но действительно ли это так просто? Можно ли создать что угодно без навыков программирования? Не совсем. Вот почему я пока не собираюсь сдаваться на милость «веб-дизайну по настроению».
Лучшими «дизайнерами по настроению» остаются программисты
Хотя инструменты ИИ могут генерировать код по простому запросу, «веб-дизайн по настроению» не заменяет традиционное программирование. Это скорее надежный помощник. Умелые программисты это понимают. Они не воспринимают ИИ как конкурента, а считают его мощным инструментом в своём арсенале. Для них «веб-дизайн по настроению» — это совместная работа. Они ведут, а ИИ помогает, ускоряя процесс. Поэтому лучшие «дизайнеры по настроению» — это чаще всего программисты, которые знают своё дело и умеют задействовать ИИ на полную мощность.
Если вы когда-либо пробовали заняться «веб-дизайном по настроению» без опыта программирования, вы, вероятно, столкнулись с трудностями, когда ИИ выдал что-то, что выглядело привлекательно, но не работало. Возможно, страница загрузилась нормально, но вылетала на мобильных устройствах, или скрипт застревал в бесконечном цикле. Программисты обладают здесь суперсилами: они могут распознать проблему. Зная основы, они заглядывают под капот кода, сгенерированного ИИ, и определяют, где могла возникнуть ошибка.
Вместо того чтобы примерно просить ИИ «исправить проблему», они могут сказать: «Эй, ты забыл обработать нулевые значения в этой функции», и всё — ИИ выдает более точное решение. Это похоже на то, как разъяснять дорогу другу, вместо того чтобы надеяться, что он сам её найдёт.
Эта точность также проявляется в управлении ИИ с самого начала. Программисты знают, как формулировать запросы, которые направляют ИИ в нужное русло. Например, человек без опыта может сказать: «Создай мне страницу для входа», и получить слишком сложный и небезопасный результат. Программист же может сформулировать следующее: «Создай страницу для входа, используя HTML, CSS и JavaScript, применяя bcrypt для хеширования паролей и защиту от CSRF». Вот в чём разница между черновиком и качественным продуктом.
Создай своё первое веб-приложение: простой заметочник и счетчик слов
Разработка для веба — это легко и доступно.
Дело не только в исправлении ошибок или формулировании запросов. Программисты привносят менталитет, который «веб-дизайн по настроению» в одиночку не может воспроизвести. Они знают, когда стоит отклониться от советов ИИ к более эффективным решениям, например, заменив громоздкую библиотеку на лёгкую. Они понимают компромиссы различных подходов к программированию, такие как приоритет скорости перед экономией памяти для реального приложения. Эта интуиция, выработанная за годы практики, делает их сессии «веб-дизайна по настроению» более эффективными, а проекты — более надёжными.
Ваши навыки программирования по-прежнему важны
Я тоже пробовал себя в «веб-дизайне по настроению». Когда я учился на первом курсе, нам поручили разработать финальный проект. Тогда ChatGPT только начинал набирать популярность, и его возможности в программировании были ещё незначительными. О термине «веб-дизайн по настроению» мы тогда даже не слышали. Мы с другом решили создать простую банковскую систему на Java.
Мы знали основы программирования и немного Java, но не были достаточно опытны, чтобы разработать полноценную банковскую систему. Что мы сделали? Мы пытались создать всё с помощью ChatGPT. Как и ожидалось, мы столкнулись с множеством ошибок. Сгенерированный ИИ код содержал баги, которые нужно было отлаживать, слабые практики, которые следует исправить, и неверные подходы, требующие коренной переделки. Несмотря на намерение использовать «веб-дизайн по настроению», у нас ничего не вышло.
Я пытался создать своё собственное приложение для повышения продуктивности с помощью «веб-дизайна по настроению»
Можно ли создать рабочее приложение, не написав ни строчки кода?
Я делюсь этой историей, чтобы напомнить, что навыки программирования никуда не пропали. Я вижу множество постов от новичков, заинтересованных в программировании, которые задают вопрос, стоит ли учиться кодированию в наши дни. Мой ответ? Определенно стоит.
Программист — это не просто тот, кто пишет код. Программист, в сути, является решателем проблем. Конкретнее, он решает проблемы наиболее эффективным образом. После многочисленных итераций инструменты ИИ значительно улучшились по сравнению с тем, что мы имели несколько лет назад. Тем не менее, они всё ещё не обладают уровнем мышления человеческого инженера и не имеют глубоких знаний, необходимых для реализации идеального решения.
Вот почему я решил продолжить свой путь в программировании. На самом деле, я сейчас более мотивирован, чем когда-либо. С помощью инструментов ИИ я могу сделать своё обучение более лёгким и интересным. Я также могу задействовать их как вспомогательного помощника при программировании. На шкале от «не хочу пользоваться инструментами ИИ» до «буду слепо доверять коду ИИ» я выбрал золотую середину: использовать инструменты ИИ в своих интересах, повышая продуктивность и укрепляя навыки программирования.
Последнее, чего вам хочется — это создать продукт и оказаться в ситуации, аналогичной этой.
Будущее программирования с помощью ИИ
С увеличением числа моделей LLM, AI-агентов и других инструментов, парадигма программирования, безусловно, быстро меняется, как это обычно и происходит. Однако ИИ не заменит программистов в ближайшее время. Тем не менее, он определенно изменил наш подход к изучению программирования, написанию кода, внедрению решений и созданию программного обеспечения.
Многие компании переходят на программирование с поддержкой ИИ. На днях я слышал технического рекрутера, который говорил, что «веб-дизайн по настроению» теперь стал частью тестирования навыков при найме программистов. Рекрутёры хотят видеть, как инженеры используют инструменты ИИ для разработки архитектуры системы, как они формулируют запросы для реализации своих идей и как справляются с ошибками, возникающими от кода, созданного ИИ.
Факт в том, что, используемые правильным человеком, инструменты ИИ могут увеличить вашу продуктивность в 10 раз. Таким образом, как «веб-дизайн по настроению» нельзя считать единственным способом создания программного обеспечения, так и вам, как программисту, следует учиться адаптироваться к новой методологии программирования с использованием ИИ. В долгосрочной перспективе это становится необходимостью. Нет причин отставать, когда у вас под рукой есть младший разработчик для парного программирования.
Сейчас, когда вокруг так много «дизайнеров по настроению», лучшее время, чтобы сосредоточиться на своих навыках программирования и выделиться среди них. Возможно, «веб-дизайн по настроению» подходит лишь для нескольких несложных проектов. Но из моего опыта следует, что, если вы хотите стать настоящим программистом, нет альтернативы, кроме как «погрузиться в код».
Хотите заняться программированием? Вот руководство для новичков по выбору языка программирования
Какой язык программирования лучше всего подходит для начинающего программиста?
Если вам понравилась эта статья, подпишитесь, чтобы не пропустить еще много полезных статей!
Вы также можете найти наши материалы в:
- Telegram: https://t.me/gergenshin
- Youtube: https://www.youtube.com/@gergenshin
- Яндекс Дзен: https://dzen.ru/gergen
- Официальный сайт: https://www-genshin.ru