Я лично с нуля даже не знаю, как hello world на питоне написать
Вот так:
print("Hello, world!")
Не благодарите :)
Я не против вайб-кодинга, генерации программного кода LLM для своих проектов или продакшена, да и в целом ИИ не против (наоборот - за него). Я против насильного навязывания прогрессивного прогресса (который даже прогрессом не считаю) в сфере разработки ПО.
Мол "не используешь LLM? Тебе не место в IT или программировании, тут только профи и эффективные спецы". Меня прям бесит, когда использование нейронок навязывают. Благодаря таким статьям какой-нибудь Петя-менеджер будет кошмарить команду разработчиков, пока они все поголовно не будут использовать "высокоэффективный ИИ", который за них и думать будет, и код писать, и всё остальное. Я против этого. Программист вправе решать самостоятельно как ему работать - с навязанным искусственным интеллектом или своей головой. Специалист, который не получает удовольствия от своей работы - не будет приносить хороших результатов.
Мне прекрасно живётся и без LLM. Не то, чтобы я против прогресса (вовсе нет), но мне просто нравится программировать и пилить какие-то интересные штуки (как Вы при генерации кода с LLM), только самостоятельно. Разбираться в коде, копаться в его тонкостях, понимать что там внутри под капотом происходит. Я стал разбираться со стареньким графическим API DirectX 9 чтобы разобраться с графическим программированием на C/C++. Сейчас как-будто в IT других профессий нет, кроме ИИ-разработчика, а когда-то графический программист творить мог такие вещи с помощью математики и каких-нибудь графических API, что с ума можно сойти (в хорошем смысле). Меня это вдохновляет куда больше, чем "коммерческий продукт написанный целиком ИИ". Без вдохновения... сложно работать в нашей интеллектуальной сфере)
Вы это серьёзно? По-моему Вы очень сильно преувеличиваете. Писать программный код без поддержки LLM не так уж и сложно. Многие этим сейчас занимаются и без LLM, и ничего - прекрасно решают свои задачи и всё у них получается.
Неужели знания структур данных, алгоритмов из своей предметной области, языка программирования и многих других особенностей при разработке программного продукта делают программирование таким сверхсложным, что оно сравни самостоятельной выпечки хлеба из добытого сырья? Ну глупость же. Потом промпт-запросы для Вас будут чрезвычайно сложны и сравни охоте на диких зверей для выживания в лесу? Простота не всегда хорошо влияет на людей. Думаю это тот самый случай, когда обыденные вещи для какого-то 2015-2020 года кажутся чем-то "старым", "древним" и "ручным и невероятно сложным".
когда основная масса работников генерит говно нейросеткой сразу в прод за пять минут, стерпёр, пишуший руками, выглядит неэффективным лентяем в глазах руководства
А всегда ли нужно следовать за массой? Я думаю, что далеко не всегда. Особенно сейчас, когда сила мнимых авторитетов способна "перевернуть" мир (я про Андрея Карпаты с его "вайб-кодингом" и многих других, чей авторитет не признаю) в сторону противоположную прогрессу. Я бы не стал идти вместе с массой к пропасти - это ни мне, ни многим другим людям ни к чему.
А как специалист выглядит в глазах руководства ... в общем-то плевать, если специалист решает свои задачи хорошо. Такой специалист сможет найти себя в более приятном ему месте, где его будут ценить и уважать за знание, любовь к своему делу, стремление к чему-то большему, а не за генерацию какой-то чуши за 5 минут на ChatGPT. Ничего не имею против таких людей, просто это явно не ответвление программистов и даже не разработчиков (по моему мнению). Разумеется в своей массе.
Я молчу про всякую рутину
Где-то я это уже видел... ах да, под каждым обсуждением подобной темы. Точно! Вы давно решали какую-то не рутинную задачу? По-моему, сейчас всё программирование яростно пытаются превратить в какую-то рутину, навязать на это направление куча ярлыков "простоты" и просто "опустить" в глазах специалистов. Мол "программирование для всех", "и школьник напишет телеграм с ChatGPT". "вручную писать код - зашквар" и прочее из бреда религии "вайб-кодеров".
У вайб-кодеров скоро (или уже сейчас есть) будет профессиональная деформация - они профессионально всё будут сводить к рутине, чтобы оправдать использование всякого коммерческого и закрытого шлака :) Всё к этому и идёт, и кроме рутины у вайб-кодеров ничего не останется. Это не любовь к своему делу, своей профессии и даже к самому себе - это чего-то не нормальное. Путь к пропасти, не более.
это вышло бы недели две
Откуда такие утверждения? Вы же даже сами не пробовали решить такую задачу. Вайб-кодерская профдеформация :) Решать любую задачу через LLM оправдывая это "очень долгим процессом исследования и разбора задачи", вместо того, чтобы просто взять и решить задачу самостоятельно. Получить интересный опыт, подкрепить свою экспертизу. Это массовое стремление, ничего удивительного.
что кодинг нейросеткой все равно требует высоких скиллов
Нет конечно. На мой взгляд подобные высказывания от вайб-кодеров свидетельствуют о процессе "принятия" того, что на самом деле их навыки легко могут быть заменены и они ещё "хватаются за последнее", что есть в их профессии или домене. Да-да, конечно-конечно, это всё равно "требует высоких скиллов". Конечно да (убеждайте себя и других вайб-кодеров в этом, может принятие коллективной не нужности в будущем выльется во что-то действительно полезное).
Правда в том, что уже сейчас человеческого вмешательства в код проекта, задачу или программный код можно избежать и решить задачу с помощью LLM. Вот так вот. Обычный менеджер может целый продукт создать и запустить его для "проверки гипотез". Не нужно недооценивать LLM, вайб-кодинг - не выход :)
А почему нет 5-го варианта в лице самостоятельного программирования? Без каких-либо платформ генерации кода, IDE на "стеройдах" и прочей шелухи, без которой программист в целом может обойтись и также писать программный код, который решает какие-то задачи?
Довольно странно, что этот вариант сегодня всё больше и больше теряет свою популярность, хотя сам вайб-кодинг стал доступен именно благодаря тем людям, которые сами пишут код и делают это неплохо :)
Предлагаю вставить в статью 5-ый вариант: самостоятельное программирование без платформ (или IDE) генерирующие программный код через удалённый API до LLM. Классическое, ручное программирование, где программист самостоятельно оперирует структурами данных и алгоритмами для решения поставленной задачи.
На LLM программирование не должно ограничиваться, какие бы "популярные" и "авторитетные" люди (всякие CEO, CTO, чей авторитет для меня под большим сомнением) что бы не говорили, программирование на нейронках не ограничивается. Сейчас есть куча возможностей писать код самостоятельно и разбираться в технологиях быстрее, за счёт более совершенного поиска информации (консультируясь у нейронок, например), чем ранее. Этим надо пользоваться, а не генерацией программного кода через чёрный ящик, работа которого неизвестна 99% вайб-кодеров (мб ошибаюсь).
Не, не говорите за всех разработчиков (кто-то ими даже не является в наше хAIповое время) :) Кому действительно нравится программирование, тот всё ещё пишет программный код (самостоятельно) и прекрасно себя чувствует, даже когда есть продвинутые LLM.
Есть немного. Лично меня Вы ничем не обидели, просто сложил своё определённое впечатление о Вас по тому материалу, который Вы на данной площадке опубликовали (возможно, оно искажено). Собственно, как я уже и писал в комментарии выше (я из числа тех, кто с Вашими материалами познакомился совсем недавно):
Вам нечего здесь рассказать кроме лично сформированного под большим числом комплексов разнородного бреда (полного), который буквально заставляет к Вам испытывать личную неприязнь (даже тех людей, кто с Вашими статьями познакомился в первый раз)
Важно: под "здесь" - не конкретно на данной площадке, а в контексте той темы, которую Вы выбрали. Она весьма и весьма неудачна.
Если уж я Вас чем-то сильно задел - не придавайте этому слишком большого значения. Возможно я в чём-то неправ. Просто откровенно надоели статьи, в которых авторы искренне во что-то верят (или так кажется), но то, во что они верят - невероятно глупо (опять же - по моему мнению). Этим наполнена не только эта статья, но и куча новостных лент... В дзене этому материалу место, а не здесь. Зачем замусоривать эту площадку? Продолжайте лучше писать о C# и программировании как ранее, это люди оценят по достоинству. А "продать себя" всегда успеете.
Негативный хайп ничего кроме негатива не привлекает.
у себя сильного опыта и большого экспертного бекграунда
А этот "сильный опыт" и "большой экспертный бекграунд" сейчас здесь? В этой комнате?
Да будь Вы нобелевским лауреатом по физике писать такие статьи... себя не уважать. Есть люди, которые действительно хороши в своей конкретной предметной области. Взяли да за задротили какую-то тему, потом выступают с конференциями, презентациями, статьи пишут, исследования какие-то узкие (и не очень) проводят в своей теме, но стоит таким людям начать взаимодействовать с какой-то другой областью (в данном случае - "оценка целесообразности поступления в ВУЗы на программиста") и сразу выдавать "статьи", то можно наблюдать стрёмный бред, которым, как мы видим, вся эта статья просто пестрит.
Понятия не имею, зачем и с какой целью Вы выбросили этот мусор сюда. Это ведь действительно бесполезный мусор. Никакая экспертиза или опыт Ваш в статье не чувствуется вообще. Просто тонны необдуманного бреда, которые зациклены на чрезмерно высокой самооценке и глупых утверждениях, которым нет никакого оправдания, кроме как, положим, отсутствия этой самой экспертизы и того самого опыта (на что множество комментариев и указывают).
Такая статья (или "мнение") ни разу не уровень универа. А Вы ещё и про универы решили написать. Не Ваша тема, не продолжайте, Вам нечего здесь рассказать кроме лично сформированного под большим числом комплексов разнородного бреда (полного), который буквально заставляет к Вам испытывать личную неприязнь (даже тех людей, кто с Вашими статьями познакомился в первый раз).
Вам должно быть стыдно (но не будет), за то, что этот мусор Вы опубликовали здесь. Ничего кроме обоснованного хейта Вы за него не получите. Лучше бы статью о C# опубликовали, пользы от этого было бы больше. И своё распухшее ЧСВ удовлетворили бы, и читателям польза бы хоть какая-то была (тем, кто C# интересуется). Схема win-to-win, пользуйтесь.
Пока что вся эта ситуация с последними двумя Вашими статьями - отличный показательный пример того, как не нужно делать. Личные проблемы и комплексы лучше разрешать с помощью психотерапии и различных других инструментов, которые для этого подходят. А не вываливать этот сюрреалистичный бред на техническую платформу про IT и программирование.
Можно, просто из-за физических ограничений это будет сделать очень сложно :) А вот если по плану выполнять задачи из разных областей - такой подход вполне можно реализовать. Условно месяц занимаешься задачей из ML, месяц из системного программирования - уже разные направления. Эксперт необязательно 24/7 решает одни и те же задачи из своей области. Но он способен вникнуть в них достаточно быстро, спустя какой-то перерыв.
А на чём оно, собственно, должно базироваться? Частью своей базируется оно (мнение) на личном опыте, частью на самой такой идее ("преуспевать во всём", "стремиться к идеалу"). Думаю, если всю жизнь заниматься чем-то одним и углубляться в одну какую-то предметную область, то это по крайней мере может сильно надоесть.
Условно говоря, программирует узкий специалист только кнопки в HTML и всё. Он знает всё о тонкостях такого программирования, понимает историю развития тега button, как разные фреймворки по типу React.js наращивают вокруг этой кнопки свои синтетические события, как она (эта кнопка) выглядит на разных сайтах, какая может быть у неё анимация и прочее... Следит активно за новостями о кнопках, и вся жизнь у него одна сплошная кнопка на сайте. Стремление к такой узкой специализации само по себе дурно. Впрочем, и распыляться на множество задач бессмысленно. Но вот быть экспертом во многих областях - это вполне возможно (по моему опять же мнению).
Уровень экспертизы может расти или падать в зависимости от того, что человек каждый день делает. Уровень экспертизы состоит из двух оценок - внешней и внутренней. Думаю понятно, что я под ними подразумеваю. Оба они изменчивы, но можно самостоятельно их отслеживать и развиваться в тех темах, которые, может быть, не проработаны.
бесконечным
Я не утверждал, что количество экспертиз бесконечно. Такого числа направлений даже нет, мы живём в физическом мире. Я просто сказал о том, что это число не имеет границ. Можно сочетать в себе 2-3 направления и быть в них экспертом, а можно и 10. Думаю, для определённых людей с полной самоотдачей это количество может быть и равным 100, если не 1000. Но, разумеется, ограничения физического мира на это количество экспертиз может оказывать значительное влияние. Чем меньше ограничений, тем больше существует направлений, в которых человек может стать экспертом.
Я лично считаю, что достижение уровня "эксперт" в любой из возможных областей достижимо, в том числе нет никаких ограничений на количество этих областей - всё зависит от мотивации, целей и возможностей. Если хочешь разбираться на уровне эксперта в фронтенд, бэкенд, мобилках или ML - всегда пожалуйста. Можно даже одновременно во всех этих областях быть экспертом, но нужно учитывать потраченное время (а его придётся тратить очень много). С теорией о том, что человек может быть экспертом или узким специалистом только в одной области, я не согласен. От слова совсем. Всё возможно.
Да и это касается не только IT - в науке можно достигать высокие результаты в разных направлениях. Сочетать, например, химию, биологию и физику одновременно (тем более, что они имеют много общего). Можно последовательно учиться, а можно параллельно, согласно определённому плану.
Предполагаю, что готовое решение более предпочтительно.
Почему? Обычно программисты на C++ сами пишут свои библиотеки, фреймворки для решения каких-то конкретно их задач. Так уж сложилось, да и удобство пакетных менеджеров до сих пор оставляет желать лучшего.
2) существенно повышается конкуренция в сфере создания ПО, что естественно повышает качество кода в среднем.
Опять же - нет, это не так. Повышение конкуренции ещё не означает, что код будет качественный. Даже в среднем. Сейчас бум багованных продуктов, которые в среднем написаны не очень хорошо, но работают (плохо, не оптимально, сжирая ресурсы).
Чего? Вы с чего взяли что "рынка вообще нет"? Что за бред? Наслушались "IT блогеров / предпринимателей"? Сейчас куча разных решений готовых уже есть для любой (почти) задачи, куча платформ (которые не за 1 месяц и даже год клепались) и т.д. и т.п.
Чтобы заниматься "продуктами на рынке" необязательно свой запускать, можно быть частью какого-то уже существующего и участвовать в запуске продукта. Я этим и занимаюсь сейчас. Помогаю развивать и выпускать на рынок "чужие" решения, параллельно разрабатывая свою платформу. Вы ведь комментаторов не знаете.
А эксперты в комментариях придут и дадут совет всегда.
Не тот случай. Пустая затея замусоривания рынка не принесёт пользы ни Вам, ни будущим потенциальным пользователям. Вы ж не собираетесь что-то сложное делать, верно? Так... пустяки какие-то. Сервисы для решения микрозадач, которые можно реализовать за 1 месяц, не более. Это не крупные какие-то решения со сложным функционалом, а просто мусор для монетизации (этим пестрит рынок мобильных игр).
С Вашими аргументами частично можно согласиться, а частично - поспорить. В любом случае в долгих спорах смысла нет. Не нравится Си/C++ и то, как он работает? Не используйте его, в угоду более "безопасным" языкам программирования (c Вашей точки зрения).
Мне вот C++ очень нравится, я его использую, изучаю все тонкости и особенности работы с этим языком и внутренние его механизмы. Да, с ним много сложностей и потенциальных проблем, но если быть внимательным и постоянно улучшать программный код можно добиться потрясающих результатов. Как с точки зрения производительности, так и с точки зрения безопасности.
У него уже есть альтернативы в виде Rust, Go, Zig и т.п., которые также неплохи в производительности, можете их использовать (или советовать их использовать). В сущности всё равно, что каждый программист использует для того или иного приложения или продукта. Я использую C++, кто-то C#, кто-то Rust или JavaScript. Все языки важны :)
Чтобы полностью понимать язык программирования или любую другую технологию нужно иметь довольно объёмный опыт работы с ним (ней). Я пока не могу полностью судить о C++, т.к. достаточно на нём ещё не программировал. Пока что мой рекорд 20 тыс. строк работающего кода на C++ (с большим числом всякого рода особенностей). Как напишу миллион или пару миллионов - тогда буду уже оценивать этот язык по другому (возможно, а возможно и нет).
Можно пример используемой программы на С, у которой в анамнезе нет ошибок работы с памятью?
Без проблем:
#include <stdio.h>
int main() {
printf("Hello World!\n");
return 0;
}
Если есть проблемы - покажите где они конкретно тут присутствуют. Используется эта программа как базовый пример на Си. Ну, а если серьёзно - посмотрите в ядро Linux. Часто ли там проблемы с памятью возникают? Если бы они очень часто возникали - Linux дистрибутивы были бы не нужны, из-за своей не стабильности и высокопроизводительные сервера на них не работали (один Nginx чего стоит).
Там где новичок или середнячок в С++ использует более надёжные конструкции языка из std - опытный кодер наворотит ручной порнографии с сырыми указателями и дырами/сегфолтами.
Ну, с "сырыми указателями" нужно просто уметь работать, ручная работа с указателями вообще не вредна, если эта работа учитывает все особенности таких указателей. Да и свои умные указатели можно написать, для обработки "сырых указателей". Вы ведь не думаете, что "надёжные методы" при работе с указателями прям вообще не используют сырые? (ещё как используют).
Именно благодаря таким "челленджам" рынок и наполняется всяким шлаком, который из себя ничего особенного не представляет. Особенно сейчас, когда благодаря LLM всякие "инди-хакеры" (слово "хакер" тут явно лишнее и представлено в извращённом относительно оригинала смысле) могут без труда склепать какой-нибудь "проект" и "запустить его", чтобы он "решал 1 конкретную (маленькую) проблему и имел спрос на рынке".
Ни в коем случае не одобряю такой подход. Плодить мусор на рынке не является чем-то достойным и выдающимся. Ничем не лучше челленджа "выброси 12 мешков на улицу за 12 месяцев, а не в специально отведённое для этого место".
Несмотря на развитие лингвистических моделей, я подумал, что моя версия супервизора может быть достаточно интересна для размещения в статье.
Как у Вас связано развитие лингвистических моделей и "своя версия" "супервизора"? Непонятно.
Вопрос в том, что в учебных заведениях, как правило, сначала изучается Си, а только потом С++ и зачастую стиль кода на С++ - Си с классами. Естественно, это влияет на репутацию языка как недостаточно надёжного.
Что? Откуда вообще взялись такие выводы? В каких-то учебных заведениях изучение происходит начиная с C++, в каких-то с Си, а в каких-то и то и другое изучается. Но это ни в коем случае не влияет на надёжность Си или C++. Вообще никак это не связано.
Что Си, что C++ - достаточно надёжные языки программирования. Разработчик может написать не надёжный код и на Java, и на Kotlin, C#, Go или JavaScript. И по памяти не надёжный (да-да, в таких языках встречаются и утечки памяти, но более высокоуровневые), и по работоспособности.
С наступлением эпохи лингвистических моделей код на С++ стал существенно надёжнее
Опять вопрос - чего? Автор статью с LLM моделью писал? Какие-то очень глупые выводы. Типа "пришла эпоха LLM, код на C++ стал существенно надёжнее" - полная чушь. Код надёжен или не надёжен в зависимости от опыта программиста, который этот код пишет. Всё, точка. В LLM загружены огромные базы кода, написанные людьми, которые и используются LLM как фундамент. Т.е. этот вывод буквально сам себе противоречит - как он стал надёжнее (причём язык программирования), если код, на котором обучалась LLM был написан людьми? Ну глупость же.
но сам код создаёт впечатление образцового
Вот именно: создаёт впечатление. Атомарной переменной явно присваивать значение true
shouldExit = true;
вообще не стоит, вместо этого нужно вызывать метод store, т.к. он достаточно универсален и даёт большую гибкость:
shouldExit.store(true);
И вместо ожидания в цикле:
// Основной поток ждет завершения работы runApp
while (!shouldExit.load()) {
sleep(1); // Снижаем нагрузку на процессор
}
Стоило использовать condition_variable, поскольку нагрузка на процессор в данном случае всё равно будет.
отслеживаемая программа
Кхм... громко сказано, но тут ничего не отслеживается. Тут тупо представлен код для перезагрузки уже не работающей программы, вот и всё. С n-ым числом попыток. Причём даже валидации аргументов нет (вдруг, argv[2] будет не числом?).
Короче статью, как и код, написала LLM :) Вот уж заменила она автора, так заменила.
зачем в принципе человеку теперь учится, если за него это делает ИИ
На мой взгляд, это необходимо прежде всего для внутренней и внешней свободы человека. Знания и опыт позволяют многого достичь, многое изобрести, улучшить свою жизнь и жизнь окружающих и т.д. Независимо от того, что умеет или "заменяет" LLM или сильный ИИ. Каждый человек по своей сути - отдельная биологическая сущность, которая в этом мире что-то представляет (или будет представлять). Саморазвитие человека в любом случае нужно.
Сейчас массовое использование LLM для "замены" интеллектуальной деятельности труда людей большей частью человечества ведёт к одному единственному пути - всеобщей деградации. А "прогресс" тут мнимый. Через некоторое время встретить умных и образованных людей будет довольно сложно, люди даже в туалет будут ходить по точному расписанию, которое для них составит ИИ - чего уж тут говорить?
Едешь ты на машине, чтобы миссию выполнить, а там реклама... Или ещё хуже - реклама в кат-сцене, которую нельзя пропустить, когда персонаж сидит в машине и ничего сделать с этим нельзя (пропустить её). RockStar любит деньги (даже очень), для них это как красная тряпка - за любую возможность зацепятся.
Ситуация отлично подходит к фразе "новое - хорошо забытое старое". Ещё в GTA San Andreas можно было добавить свою музыку в специальную папку на компьютере, чтобы прослушивать на одной радиостанции любые музыкальные произведения.
учебный центр рассчитан скорее на более массового ученика
В этом и проблема. Чем больше народа на одной специальности из IT, тем быстрее эта специальность будет заменена ИИ за счёт сгенерированного опыта этим множеством участников. С уверенностью можно сказать, что любая "хайповая" профессия будет быстро заменена ИИ, просто потому что.
Но вот спрос на рынке труда в этих нишах не столь велик, как на те же веб-приложения.
Ну, тут как посмотреть. Какой-нибудь графический программист, который может с нуля реализовать какой-нибудь сложный алгоритм с Vulkan API или DirectX будет высоко цениться в игровых компаниях. Конечно это всё обобщённо, но ИИ до таких направлений ещё только начинает добираться. Ту же веб-разработку он уже целиком и полностью поглотил, остаётся дождаться пока ИИ сможет генерить оптимальные веб-приложения на ходу и всё - веб-разработка канет в лету.
Ту же участь ждут и другие направления. Возможно всеми любимый и сакральный backend даже быстрее заменится, чем frontend, потому что он стал гораздо проще и ограниченней.
Всё чисто на вайб-кодинге.
Так сейчас и делают) В надежде, что этим продуктом кто-то будет пользоваться и цепочка промпт запросов оператором LLM была сформирована не просто так...
Хотя бы в роли посредника между владельцем бизнеса и ИИ.
Эм... а ИИ разве не инженер? По сути то, что может человек скоро будет мочь ИИ, только он будет мочь это быстрее и дешевле, да и работать будет каждый час не особо напрягаясь - мечта руководителя из какой-нибудь компании.
То есть, по большому счету, я вижу ИИ скорее как "трактор", которым надо уметь управлять и в целом понимать, что и зачем он делает, но не как автономную систему.
На мой взгляд сейчас ИИ больше управляет человеком, чем наоборот. Многие статьи на данном ресурсе тому подтверждение.
Нужно учиться именно правильному использованию ИИ, а не замещению своих интеллектуальных возможностей нейронкой. Последнее используют чаще всего, ибо это огромный соблазн для мозга человеческого. Ведь как приятно, когда всё само делается и ты не прикладываешь к этому усилий. Правда это ведёт человечество в бездну...
Раньше большинство людей не имели хорошего образования из-за всеобщей бедности и слабой экономики, а теперь через пару десятков лет люди не будут иметь хорошего образования из-за чрезмерно большого скачка в научных исследованиях. Иронично.
В итоге я посоветовал всё обучение школьников выстраивать вокруг ИИ
В итоге подрастающее поколение будет выживать только благодаря ИИ и разработкам вокруг ИИ. Никаких новых разработок вне области ИИ таким образом не будет. Только ИИ, только он. Совершенно не дальновидный путь и ограниченный.
А что, если существующие достижения ИИ - это максимум? Вы об этом не задумывались? Что, если всё-таки человеческий интеллект неспособен прижиться в цифровом мире? Да-да-да, СМИ и генеральные директора любят рассказывать сказки о недалёком "будущем", но всё таки? Неужели ни к чему другому в IT сейчас и на пушечный выстрел подходить не стоит, а только с ИИ возиться и агентами?
навык программирования = умение логически мыслить
Знак равенства тут некорректен. По крайней мере, если будущий разработчик активно использует ИИ. Острота ума имеет свойство теряться со временем, а если ты свой биологический мозг не используешь, то просто отупеешь и не сможешь логически мыслить. К тому же Python не самый требовательный к логическому мышлению язык. Далеко не такой. Сейчас проще простого сервер сделать, нейронку или ещё чего, достаточно установить пакет и импортировать его. А для этого много ума не надо.
Если человек хочет стать программистом (писать программный код, не боясь замены LLM до появления сильного ИИ), я бы порекомендовал ему выбор следующих приоритетных направлений:
Низкоуровневое программирование. Можно привязываться к каким-то системным вещам, операционкам или драйверам, а можно разрабатывать backend часть тех же моделей LLM или фреймворков для ML. В этом больше сейчас смысла, чем даже высокоуровневые ML фреймворки использовать для создания нейронок (они сами могут уже себя создать). Да и знание фундамента Computer Science, сетей, как это всё внутри работает и понимание как это можно программировать - всегда пригодиться. Даже при самом не хорошем раскладе всегда можно стать хакером (не обязательно "белым").
Программирование игровых движков. Здесь огромный пласт задач. Можно выбрать более узкую специализацию и пилить звуковой, сетевой, графический или физический движок. Можно программировать "искусственный интеллект" и разрабатывать фреймворк для игровых агентов. Можно заняться разработкой движка для ИИ-рендеринга, который бы по запросам генерировал целые игровые миры. Ну и в целом тут много ещё разных направлений, задач и возможностей. Это и сейчас ценится, и в будущем будет ценится;
Программирование криптографических алгоритмов (криптография). Сейчас при разработке LLM активно продвигают различные протоколы обмена связи и как-никогда актуальна будет тема разработки различных шифрующих трафик протоколов (ну, или шифрование общения между агентами). Это очень узкая область и здесь определённо есть чем заняться интересующемуся разработчику.
Исследования и программирование в области AI&ML. Не просто бездумно использовать ИИ для решения каких-то задач, а именно программировать в этой области. Например, написать свою LLM или улучшить какую-нибудь современную архитектуру для решения задачи из определённого домена, обучить нейронку на уникальном массиве данных или придумать новый алгоритм обучения - в общем, задач тут тоже много (даже очень).
Этот список, конечно, можно ещё продолжать или улучшить, но сомневаюсь что отсюда можно что-то удалить. Самой первой областью, которая напрочь заменится LLM, я думаю, будет вся веб-разработка целиком (и не только). Причём и frontend, и backend, и UX/UI дизайн, и конечно DevOps, и анализ данных, просто потому что баз решений таких задач - куча, а ИИ и обучают на базе таких решений. Все популярные направления в IT будут безвозмездно "истреблены", а оставшиеся работники будут не программистами, а операторами IDE или LLM, до тех пор, пока не появится сильный ИИ, тогда и их заменят.
Чем менее популярна специальность и более узкоспециализированы задачи, тем труднее будет LLM заменить в этой области человека. Так что в "простые и популярные" направления сейчас (и особенно в будущем) соваться не стоит, а если ты уже работаешь в веб-разработке - стоит задуматься о миграции в более узкую область.
А вообще, не думаю, что подрастающему поколению стоит идти в IT. Здесь сейчас куча дядек, которые решили забрать работу у своих коллег, считают это "революцией" и это у них очень хорошо получается. Лучше выбрать специализацию связанную с наукой или прикладной инженерией. Это гораздо более стабильная область по сравнению с IT. А тут останутся только лучшие. Совсем хардкорные спецы, которые вынуждены будут изучать кучу материала и оттачивать свои навыки до максимального уровня (но всё равно, рано или поздно и все узкопрофильные задачи заберёт ИИ).
Вот так:
Не благодарите :)
Я не против вайб-кодинга, генерации программного кода LLM для своих проектов или продакшена, да и в целом ИИ не против (наоборот - за него). Я против насильного навязывания прогрессивного прогресса (который даже прогрессом не считаю) в сфере разработки ПО.
Мол "не используешь LLM? Тебе не место в IT или программировании, тут только профи и эффективные спецы". Меня прям бесит, когда использование нейронок навязывают. Благодаря таким статьям какой-нибудь Петя-менеджер будет кошмарить команду разработчиков, пока они все поголовно не будут использовать "высокоэффективный ИИ", который за них и думать будет, и код писать, и всё остальное. Я против этого. Программист вправе решать самостоятельно как ему работать - с навязанным искусственным интеллектом или своей головой. Специалист, который не получает удовольствия от своей работы - не будет приносить хороших результатов.
Мне прекрасно живётся и без LLM. Не то, чтобы я против прогресса (вовсе нет), но мне просто нравится программировать и пилить какие-то интересные штуки (как Вы при генерации кода с LLM), только самостоятельно. Разбираться в коде, копаться в его тонкостях, понимать что там внутри под капотом происходит. Я стал разбираться со стареньким графическим API DirectX 9 чтобы разобраться с графическим программированием на C/C++. Сейчас как-будто в IT других профессий нет, кроме ИИ-разработчика, а когда-то графический программист творить мог такие вещи с помощью математики и каких-нибудь графических API, что с ума можно сойти (в хорошем смысле). Меня это вдохновляет куда больше, чем "коммерческий продукт написанный целиком ИИ". Без вдохновения... сложно работать в нашей интеллектуальной сфере)
Вы это серьёзно? По-моему Вы очень сильно преувеличиваете. Писать программный код без поддержки LLM не так уж и сложно. Многие этим сейчас занимаются и без LLM, и ничего - прекрасно решают свои задачи и всё у них получается.
Неужели знания структур данных, алгоритмов из своей предметной области, языка программирования и многих других особенностей при разработке программного продукта делают программирование таким сверхсложным, что оно сравни самостоятельной выпечки хлеба из добытого сырья? Ну глупость же. Потом промпт-запросы для Вас будут чрезвычайно сложны и сравни охоте на диких зверей для выживания в лесу? Простота не всегда хорошо влияет на людей. Думаю это тот самый случай, когда обыденные вещи для какого-то 2015-2020 года кажутся чем-то "старым", "древним" и "ручным и невероятно сложным".
А всегда ли нужно следовать за массой? Я думаю, что далеко не всегда. Особенно сейчас, когда сила мнимых авторитетов способна "перевернуть" мир (я про Андрея Карпаты с его "вайб-кодингом" и многих других, чей авторитет не признаю) в сторону противоположную прогрессу. Я бы не стал идти вместе с массой к пропасти - это ни мне, ни многим другим людям ни к чему.
А как специалист выглядит в глазах руководства ... в общем-то плевать, если специалист решает свои задачи хорошо. Такой специалист сможет найти себя в более приятном ему месте, где его будут ценить и уважать за знание, любовь к своему делу, стремление к чему-то большему, а не за генерацию какой-то чуши за 5 минут на ChatGPT. Ничего не имею против таких людей, просто это явно не ответвление программистов и даже не разработчиков (по моему мнению). Разумеется в своей массе.
Где-то я это уже видел... ах да, под каждым обсуждением подобной темы. Точно! Вы давно решали какую-то не рутинную задачу? По-моему, сейчас всё программирование яростно пытаются превратить в какую-то рутину, навязать на это направление куча ярлыков "простоты" и просто "опустить" в глазах специалистов. Мол "программирование для всех", "и школьник напишет телеграм с ChatGPT". "вручную писать код - зашквар" и прочее из бреда религии "вайб-кодеров".
У вайб-кодеров скоро (или уже сейчас есть) будет профессиональная деформация - они профессионально всё будут сводить к рутине, чтобы оправдать использование всякого коммерческого и закрытого шлака :) Всё к этому и идёт, и кроме рутины у вайб-кодеров ничего не останется. Это не любовь к своему делу, своей профессии и даже к самому себе - это чего-то не нормальное. Путь к пропасти, не более.
Откуда такие утверждения? Вы же даже сами не пробовали решить такую задачу. Вайб-кодерская профдеформация :) Решать любую задачу через LLM оправдывая это "очень долгим процессом исследования и разбора задачи", вместо того, чтобы просто взять и решить задачу самостоятельно. Получить интересный опыт, подкрепить свою экспертизу. Это массовое стремление, ничего удивительного.
Нет конечно. На мой взгляд подобные высказывания от вайб-кодеров свидетельствуют о процессе "принятия" того, что на самом деле их навыки легко могут быть заменены и они ещё "хватаются за последнее", что есть в их профессии или домене. Да-да, конечно-конечно, это всё равно "требует высоких скиллов". Конечно да (убеждайте себя и других вайб-кодеров в этом, может принятие коллективной не нужности в будущем выльется во что-то действительно полезное).
Правда в том, что уже сейчас человеческого вмешательства в код проекта, задачу или программный код можно избежать и решить задачу с помощью LLM. Вот так вот. Обычный менеджер может целый продукт создать и запустить его для "проверки гипотез". Не нужно недооценивать LLM, вайб-кодинг - не выход :)
А почему нет 5-го варианта в лице самостоятельного программирования? Без каких-либо платформ генерации кода, IDE на "стеройдах" и прочей шелухи, без которой программист в целом может обойтись и также писать программный код, который решает какие-то задачи?
Довольно странно, что этот вариант сегодня всё больше и больше теряет свою популярность, хотя сам вайб-кодинг стал доступен именно благодаря тем людям, которые сами пишут код и делают это неплохо :)
Предлагаю вставить в статью 5-ый вариант: самостоятельное программирование без платформ (или IDE) генерирующие программный код через удалённый API до LLM. Классическое, ручное программирование, где программист самостоятельно оперирует структурами данных и алгоритмами для решения поставленной задачи.
На LLM программирование не должно ограничиваться, какие бы "популярные" и "авторитетные" люди (всякие CEO, CTO, чей авторитет для меня под большим сомнением) что бы не говорили, программирование на нейронках не ограничивается. Сейчас есть куча возможностей писать код самостоятельно и разбираться в технологиях быстрее, за счёт более совершенного поиска информации (консультируясь у нейронок, например), чем ранее. Этим надо пользоваться, а не генерацией программного кода через чёрный ящик, работа которого неизвестна 99% вайб-кодеров (мб ошибаюсь).
Не, не говорите за всех разработчиков (кто-то ими даже не является в наше хAIповое время) :) Кому действительно нравится программирование, тот всё ещё пишет программный код (самостоятельно) и прекрасно себя чувствует, даже когда есть продвинутые LLM.
Есть немного. Лично меня Вы ничем не обидели, просто сложил своё определённое впечатление о Вас по тому материалу, который Вы на данной площадке опубликовали (возможно, оно искажено). Собственно, как я уже и писал в комментарии выше (я из числа тех, кто с Вашими материалами познакомился совсем недавно):
Важно: под "здесь" - не конкретно на данной площадке, а в контексте той темы, которую Вы выбрали. Она весьма и весьма неудачна.
Если уж я Вас чем-то сильно задел - не придавайте этому слишком большого значения. Возможно я в чём-то неправ. Просто откровенно надоели статьи, в которых авторы искренне во что-то верят (или так кажется), но то, во что они верят - невероятно глупо (опять же - по моему мнению). Этим наполнена не только эта статья, но и куча новостных лент... В дзене этому материалу место, а не здесь. Зачем замусоривать эту площадку? Продолжайте лучше писать о C# и программировании как ранее, это люди оценят по достоинству. А "продать себя" всегда успеете.
Негативный хайп ничего кроме негатива не привлекает.
А этот "сильный опыт" и "большой экспертный бекграунд" сейчас здесь? В этой комнате?
Да будь Вы нобелевским лауреатом по физике писать такие статьи... себя не уважать. Есть люди, которые действительно хороши в своей конкретной предметной области. Взяли да за задротили какую-то тему, потом выступают с конференциями, презентациями, статьи пишут, исследования какие-то узкие (и не очень) проводят в своей теме, но стоит таким людям начать взаимодействовать с какой-то другой областью (в данном случае - "оценка целесообразности поступления в ВУЗы на программиста") и сразу выдавать "статьи", то можно наблюдать стрёмный бред, которым, как мы видим, вся эта статья просто пестрит.
Понятия не имею, зачем и с какой целью Вы выбросили этот мусор сюда. Это ведь действительно бесполезный мусор. Никакая экспертиза или опыт Ваш в статье не чувствуется вообще. Просто тонны необдуманного бреда, которые зациклены на чрезмерно высокой самооценке и глупых утверждениях, которым нет никакого оправдания, кроме как, положим, отсутствия этой самой экспертизы и того самого опыта (на что множество комментариев и указывают).
Такая статья (или "мнение") ни разу не уровень универа. А Вы ещё и про универы решили написать. Не Ваша тема, не продолжайте, Вам нечего здесь рассказать кроме лично сформированного под большим числом комплексов разнородного бреда (полного), который буквально заставляет к Вам испытывать личную неприязнь (даже тех людей, кто с Вашими статьями познакомился в первый раз).
Вам должно быть стыдно (но не будет), за то, что этот мусор Вы опубликовали здесь. Ничего кроме обоснованного хейта Вы за него не получите. Лучше бы статью о C# опубликовали, пользы от этого было бы больше. И своё распухшее ЧСВ удовлетворили бы, и читателям польза бы хоть какая-то была (тем, кто C# интересуется). Схема win-to-win, пользуйтесь.
Пока что вся эта ситуация с последними двумя Вашими статьями - отличный показательный пример того, как не нужно делать. Личные проблемы и комплексы лучше разрешать с помощью психотерапии и различных других инструментов, которые для этого подходят. А не вываливать этот сюрреалистичный бред на техническую платформу про IT и программирование.
Можно, просто из-за физических ограничений это будет сделать очень сложно :) А вот если по плану выполнять задачи из разных областей - такой подход вполне можно реализовать. Условно месяц занимаешься задачей из ML, месяц из системного программирования - уже разные направления. Эксперт необязательно 24/7 решает одни и те же задачи из своей области. Но он способен вникнуть в них достаточно быстро, спустя какой-то перерыв.
А на чём оно, собственно, должно базироваться? Частью своей базируется оно (мнение) на личном опыте, частью на самой такой идее ("преуспевать во всём", "стремиться к идеалу"). Думаю, если всю жизнь заниматься чем-то одним и углубляться в одну какую-то предметную область, то это по крайней мере может сильно надоесть.
Условно говоря, программирует узкий специалист только кнопки в HTML и всё. Он знает всё о тонкостях такого программирования, понимает историю развития тега button, как разные фреймворки по типу React.js наращивают вокруг этой кнопки свои синтетические события, как она (эта кнопка) выглядит на разных сайтах, какая может быть у неё анимация и прочее... Следит активно за новостями о кнопках, и вся жизнь у него одна сплошная кнопка на сайте. Стремление к такой узкой специализации само по себе дурно. Впрочем, и распыляться на множество задач бессмысленно. Но вот быть экспертом во многих областях - это вполне возможно (по моему опять же мнению).
Уровень экспертизы может расти или падать в зависимости от того, что человек каждый день делает. Уровень экспертизы состоит из двух оценок - внешней и внутренней. Думаю понятно, что я под ними подразумеваю. Оба они изменчивы, но можно самостоятельно их отслеживать и развиваться в тех темах, которые, может быть, не проработаны.
Я не утверждал, что количество экспертиз бесконечно. Такого числа направлений даже нет, мы живём в физическом мире. Я просто сказал о том, что это число не имеет границ. Можно сочетать в себе 2-3 направления и быть в них экспертом, а можно и 10. Думаю, для определённых людей с полной самоотдачей это количество может быть и равным 100, если не 1000. Но, разумеется, ограничения физического мира на это количество экспертиз может оказывать значительное влияние. Чем меньше ограничений, тем больше существует направлений, в которых человек может стать экспертом.
Я лично считаю, что достижение уровня "эксперт" в любой из возможных областей достижимо, в том числе нет никаких ограничений на количество этих областей - всё зависит от мотивации, целей и возможностей. Если хочешь разбираться на уровне эксперта в фронтенд, бэкенд, мобилках или ML - всегда пожалуйста. Можно даже одновременно во всех этих областях быть экспертом, но нужно учитывать потраченное время (а его придётся тратить очень много). С теорией о том, что человек может быть экспертом или узким специалистом только в одной области, я не согласен. От слова совсем. Всё возможно.
Да и это касается не только IT - в науке можно достигать высокие результаты в разных направлениях. Сочетать, например, химию, биологию и физику одновременно (тем более, что они имеют много общего). Можно последовательно учиться, а можно параллельно, согласно определённому плану.
Как говорится, "век живи - век учись".
Почему? Обычно программисты на C++ сами пишут свои библиотеки, фреймворки для решения каких-то конкретно их задач. Так уж сложилось, да и удобство пакетных менеджеров до сих пор оставляет желать лучшего.
Опять же - нет, это не так. Повышение конкуренции ещё не означает, что код будет качественный. Даже в среднем. Сейчас бум багованных продуктов, которые в среднем написаны не очень хорошо, но работают (плохо, не оптимально, сжирая ресурсы).
Чего? Вы с чего взяли что "рынка вообще нет"? Что за бред? Наслушались "IT блогеров / предпринимателей"? Сейчас куча разных решений готовых уже есть для любой (почти) задачи, куча платформ (которые не за 1 месяц и даже год клепались) и т.д. и т.п.
Чтобы заниматься "продуктами на рынке" необязательно свой запускать, можно быть частью какого-то уже существующего и участвовать в запуске продукта. Я этим и занимаюсь сейчас. Помогаю развивать и выпускать на рынок "чужие" решения, параллельно разрабатывая свою платформу. Вы ведь комментаторов не знаете.
Не тот случай. Пустая затея замусоривания рынка не принесёт пользы ни Вам, ни будущим потенциальным пользователям. Вы ж не собираетесь что-то сложное делать, верно? Так... пустяки какие-то. Сервисы для решения микрозадач, которые можно реализовать за 1 месяц, не более. Это не крупные какие-то решения со сложным функционалом, а просто мусор для монетизации (этим пестрит рынок мобильных игр).
С Вашими аргументами частично можно согласиться, а частично - поспорить. В любом случае в долгих спорах смысла нет. Не нравится Си/C++ и то, как он работает? Не используйте его, в угоду более "безопасным" языкам программирования (c Вашей точки зрения).
Мне вот C++ очень нравится, я его использую, изучаю все тонкости и особенности работы с этим языком и внутренние его механизмы. Да, с ним много сложностей и потенциальных проблем, но если быть внимательным и постоянно улучшать программный код можно добиться потрясающих результатов. Как с точки зрения производительности, так и с точки зрения безопасности.
У него уже есть альтернативы в виде Rust, Go, Zig и т.п., которые также неплохи в производительности, можете их использовать (или советовать их использовать). В сущности всё равно, что каждый программист использует для того или иного приложения или продукта. Я использую C++, кто-то C#, кто-то Rust или JavaScript. Все языки важны :)
Чтобы полностью понимать язык программирования или любую другую технологию нужно иметь довольно объёмный опыт работы с ним (ней). Я пока не могу полностью судить о C++, т.к. достаточно на нём ещё не программировал. Пока что мой рекорд 20 тыс. строк работающего кода на C++ (с большим числом всякого рода особенностей). Как напишу миллион или пару миллионов - тогда буду уже оценивать этот язык по другому (возможно, а возможно и нет).
Без проблем:
Если есть проблемы - покажите где они конкретно тут присутствуют. Используется эта программа как базовый пример на Си. Ну, а если серьёзно - посмотрите в ядро Linux. Часто ли там проблемы с памятью возникают? Если бы они очень часто возникали - Linux дистрибутивы были бы не нужны, из-за своей не стабильности и высокопроизводительные сервера на них не работали (один Nginx чего стоит).
Ну, с "сырыми указателями" нужно просто уметь работать, ручная работа с указателями вообще не вредна, если эта работа учитывает все особенности таких указателей. Да и свои умные указатели можно написать, для обработки "сырых указателей". Вы ведь не думаете, что "надёжные методы" при работе с указателями прям вообще не используют сырые? (ещё как используют).
Именно благодаря таким "челленджам" рынок и наполняется всяким шлаком, который из себя ничего особенного не представляет. Особенно сейчас, когда благодаря LLM всякие "инди-хакеры" (слово "хакер" тут явно лишнее и представлено в извращённом относительно оригинала смысле) могут без труда склепать какой-нибудь "проект" и "запустить его", чтобы он "решал 1 конкретную (маленькую) проблему и имел спрос на рынке".
Ни в коем случае не одобряю такой подход. Плодить мусор на рынке не является чем-то достойным и выдающимся. Ничем не лучше челленджа "выброси 12 мешков на улицу за 12 месяцев, а не в специально отведённое для этого место".
Как у Вас связано развитие лингвистических моделей и "своя версия" "супервизора"? Непонятно.
Что? Откуда вообще взялись такие выводы? В каких-то учебных заведениях изучение происходит начиная с C++, в каких-то с Си, а в каких-то и то и другое изучается. Но это ни в коем случае не влияет на надёжность Си или C++. Вообще никак это не связано.
Что Си, что C++ - достаточно надёжные языки программирования. Разработчик может написать не надёжный код и на Java, и на Kotlin, C#, Go или JavaScript. И по памяти не надёжный (да-да, в таких языках встречаются и утечки памяти, но более высокоуровневые), и по работоспособности.
Опять вопрос - чего? Автор статью с LLM моделью писал? Какие-то очень глупые выводы. Типа "пришла эпоха LLM, код на C++ стал существенно надёжнее" - полная чушь. Код надёжен или не надёжен в зависимости от опыта программиста, который этот код пишет. Всё, точка. В LLM загружены огромные базы кода, написанные людьми, которые и используются LLM как фундамент. Т.е. этот вывод буквально сам себе противоречит - как он стал надёжнее (причём язык программирования), если код, на котором обучалась LLM был написан людьми? Ну глупость же.
Вот именно: создаёт впечатление. Атомарной переменной явно присваивать значение true
вообще не стоит, вместо этого нужно вызывать метод store, т.к. он достаточно универсален и даёт большую гибкость:
И вместо ожидания в цикле:
Стоило использовать condition_variable, поскольку нагрузка на процессор в данном случае всё равно будет.
Кхм... громко сказано, но тут ничего не отслеживается. Тут тупо представлен код для перезагрузки уже не работающей программы, вот и всё. С n-ым числом попыток. Причём даже валидации аргументов нет (вдруг, argv[2] будет не числом?).
Короче статью, как и код, написала LLM :) Вот уж заменила она автора, так заменила.
На мой взгляд, это необходимо прежде всего для внутренней и внешней свободы человека. Знания и опыт позволяют многого достичь, многое изобрести, улучшить свою жизнь и жизнь окружающих и т.д. Независимо от того, что умеет или "заменяет" LLM или сильный ИИ. Каждый человек по своей сути - отдельная биологическая сущность, которая в этом мире что-то представляет (или будет представлять). Саморазвитие человека в любом случае нужно.
Сейчас массовое использование LLM для "замены" интеллектуальной деятельности труда людей большей частью человечества ведёт к одному единственному пути - всеобщей деградации. А "прогресс" тут мнимый. Через некоторое время встретить умных и образованных людей будет довольно сложно, люди даже в туалет будут ходить по точному расписанию, которое для них составит ИИ - чего уж тут говорить?
А вот это не очень хорошо...
Едешь ты на машине, чтобы миссию выполнить, а там реклама... Или ещё хуже - реклама в кат-сцене, которую нельзя пропустить, когда персонаж сидит в машине и ничего сделать с этим нельзя (пропустить её). RockStar любит деньги (даже очень), для них это как красная тряпка - за любую возможность зацепятся.
Ситуация отлично подходит к фразе "новое - хорошо забытое старое". Ещё в GTA San Andreas можно было добавить свою музыку в специальную папку на компьютере, чтобы прослушивать на одной радиостанции любые музыкальные произведения.
В этом и проблема. Чем больше народа на одной специальности из IT, тем быстрее эта специальность будет заменена ИИ за счёт сгенерированного опыта этим множеством участников. С уверенностью можно сказать, что любая "хайповая" профессия будет быстро заменена ИИ, просто потому что.
Ну, тут как посмотреть. Какой-нибудь графический программист, который может с нуля реализовать какой-нибудь сложный алгоритм с Vulkan API или DirectX будет высоко цениться в игровых компаниях. Конечно это всё обобщённо, но ИИ до таких направлений ещё только начинает добираться. Ту же веб-разработку он уже целиком и полностью поглотил, остаётся дождаться пока ИИ сможет генерить оптимальные веб-приложения на ходу и всё - веб-разработка канет в лету.
Ту же участь ждут и другие направления. Возможно всеми любимый и сакральный backend даже быстрее заменится, чем frontend, потому что он стал гораздо проще и ограниченней.
Так сейчас и делают) В надежде, что этим продуктом кто-то будет пользоваться и цепочка промпт запросов оператором LLM была сформирована не просто так...
Эм... а ИИ разве не инженер? По сути то, что может человек скоро будет мочь ИИ, только он будет мочь это быстрее и дешевле, да и работать будет каждый час не особо напрягаясь - мечта руководителя из какой-нибудь компании.
На мой взгляд сейчас ИИ больше управляет человеком, чем наоборот. Многие статьи на данном ресурсе тому подтверждение.
Нужно учиться именно правильному использованию ИИ, а не замещению своих интеллектуальных возможностей нейронкой. Последнее используют чаще всего, ибо это огромный соблазн для мозга человеческого. Ведь как приятно, когда всё само делается и ты не прикладываешь к этому усилий. Правда это ведёт человечество в бездну...
Раньше большинство людей не имели хорошего образования из-за всеобщей бедности и слабой экономики, а теперь через пару десятков лет люди не будут иметь хорошего образования из-за чрезмерно большого скачка в научных исследованиях. Иронично.
Ну да... 90% это ведь не все, а большинство :)
В итоге подрастающее поколение будет выживать только благодаря ИИ и разработкам вокруг ИИ. Никаких новых разработок вне области ИИ таким образом не будет. Только ИИ, только он. Совершенно не дальновидный путь и ограниченный.
А что, если существующие достижения ИИ - это максимум? Вы об этом не задумывались? Что, если всё-таки человеческий интеллект неспособен прижиться в цифровом мире? Да-да-да, СМИ и генеральные директора любят рассказывать сказки о недалёком "будущем", но всё таки? Неужели ни к чему другому в IT сейчас и на пушечный выстрел подходить не стоит, а только с ИИ возиться и агентами?
Знак равенства тут некорректен. По крайней мере, если будущий разработчик активно использует ИИ. Острота ума имеет свойство теряться со временем, а если ты свой биологический мозг не используешь, то просто отупеешь и не сможешь логически мыслить. К тому же Python не самый требовательный к логическому мышлению язык. Далеко не такой. Сейчас проще простого сервер сделать, нейронку или ещё чего, достаточно установить пакет и импортировать его. А для этого много ума не надо.
Если человек хочет стать программистом (писать программный код, не боясь замены LLM до появления сильного ИИ), я бы порекомендовал ему выбор следующих приоритетных направлений:
Низкоуровневое программирование. Можно привязываться к каким-то системным вещам, операционкам или драйверам, а можно разрабатывать backend часть тех же моделей LLM или фреймворков для ML. В этом больше сейчас смысла, чем даже высокоуровневые ML фреймворки использовать для создания нейронок (они сами могут уже себя создать). Да и знание фундамента Computer Science, сетей, как это всё внутри работает и понимание как это можно программировать - всегда пригодиться. Даже при самом не хорошем раскладе всегда можно стать хакером (не обязательно "белым").
Программирование игровых движков. Здесь огромный пласт задач. Можно выбрать более узкую специализацию и пилить звуковой, сетевой, графический или физический движок. Можно программировать "искусственный интеллект" и разрабатывать фреймворк для игровых агентов. Можно заняться разработкой движка для ИИ-рендеринга, который бы по запросам генерировал целые игровые миры. Ну и в целом тут много ещё разных направлений, задач и возможностей. Это и сейчас ценится, и в будущем будет ценится;
Программирование криптографических алгоритмов (криптография). Сейчас при разработке LLM активно продвигают различные протоколы обмена связи и как-никогда актуальна будет тема разработки различных шифрующих трафик протоколов (ну, или шифрование общения между агентами). Это очень узкая область и здесь определённо есть чем заняться интересующемуся разработчику.
Исследования и программирование в области AI&ML. Не просто бездумно использовать ИИ для решения каких-то задач, а именно программировать в этой области. Например, написать свою LLM или улучшить какую-нибудь современную архитектуру для решения задачи из определённого домена, обучить нейронку на уникальном массиве данных или придумать новый алгоритм обучения - в общем, задач тут тоже много (даже очень).
Этот список, конечно, можно ещё продолжать или улучшить, но сомневаюсь что отсюда можно что-то удалить. Самой первой областью, которая напрочь заменится LLM, я думаю, будет вся веб-разработка целиком (и не только). Причём и frontend, и backend, и UX/UI дизайн, и конечно DevOps, и анализ данных, просто потому что баз решений таких задач - куча, а ИИ и обучают на базе таких решений. Все популярные направления в IT будут безвозмездно "истреблены", а оставшиеся работники будут не программистами, а операторами IDE или LLM, до тех пор, пока не появится сильный ИИ, тогда и их заменят.
Чем менее популярна специальность и более узкоспециализированы задачи, тем труднее будет LLM заменить в этой области человека. Так что в "простые и популярные" направления сейчас (и особенно в будущем) соваться не стоит, а если ты уже работаешь в веб-разработке - стоит задуматься о миграции в более узкую область.
А вообще, не думаю, что подрастающему поколению стоит идти в IT. Здесь сейчас куча дядек, которые решили забрать работу у своих коллег, считают это "революцией" и это у них очень хорошо получается. Лучше выбрать специализацию связанную с наукой или прикладной инженерией. Это гораздо более стабильная область по сравнению с IT. А тут останутся только лучшие. Совсем хардкорные спецы, которые вынуждены будут изучать кучу материала и оттачивать свои навыки до максимального уровня (но всё равно, рано или поздно и все узкопрофильные задачи заберёт ИИ).