Я выбрал направление Data Science, но застопорился на этапе изучения языка. Долгое время со мной рука об руку идет проблема - невозможность применить знания на практике, за что я себя постоянно корил. Я думал, что изучить - это значит зазубрить всё и писать код без гугла. У меня не получалось использовать знания с таким подходом, и я уже долгое время думал, что это не моё.
Однако во время недавних раздумий мне пришла мысль. Главное же в программировании - это умение решить задачу или хорошо загуглить, а не как хорошо ты помнишь синтаксис. Мы ведь помним книгу по истории, а не её тексту дословно. Я решил, что если буду постоянно делать на практике какие-то мини-проекты чисто для себя, то со временем в памяти само отложится, как и что я использовал. Тогда я смогу быстрее думать и понимать, как менять код. Также собираюсь использовать ии для генерации задач, а в случаях, если не получается придумать решение или исправить ошибку самому - обращаться к тому же ии или гуглу. Так я не буду терять время, попытаюсь понять логику, переписывая, изменяя и разбирая готовые примеры.
В правильном ли направлении мои мысли? Хотел бы узнать от более опытных людей: так ли это на практике?
Если вы не будете самостоятельно писать ручками синтаксические конструкции ЯП, и не проводить вариативные эксперименты, вам они будут доступны по навыкам только в режиме read only. Вы их сможете читать и воспринимать, и даже модифицировать по написанному, но вы не будете знать все нюансы их работы. Например, опциональность begin-end у блоков if; куда относится последний else у нескольких if, если begin-end опущен; как работает наследование свойств классов и т.д.
Если вы хотите иметь возможность самостоятельно вносить изменения в код без внешних помощников (ИИ, гугл), и понять, где эти помощники "срезают углы", то без опыта самостоятельного изучения синтаксиса ЯП вам не обойтись.
Реальные проекты/задачи, помогут больше и быстрее понять, чем "зазубривание" теории. Мой совет, найти роадмап по нужному вам стеку. Прочитать "быстро", досконально не вникая, но если там есть "домашки", их делать. А потом искать "пет проекты" и начать их делать. Вот тут то уже пригодится и "гугл" и "учебники" для более "глубокого" понимания. Никто из программистов не знает наизусть все бибилиотеки, все модули со всем набором их команд. Главное знать, что "там есть такое" или "вот то может мне помочь" и далее лезем в документацию, ищем конкретные модули, конкретные функции/команды.
Да, на счёт "пет проектов" которые "для обучения". У личных проектов есть проблема, когда застопорившись на чём-то, есть желание не делать, а забросить этот кусок и идти дальше к тому, что легче. В реальном коммерческом проекте такого не будет, заказчик будет ждать заявленный функционал. Ещё есть проблема придумать действительно "коммерческие" задачи, а не фантазии или "теоретическое-банальное". Тут я бы вам посоветовал, да и всегда советую, по нужному стеку поискать на фриланс площадках задания где прикладывают какое-то более менее подробное ТЗ. Скачать его и по нему делать проект свой. Вообще фриланс площадки (можно международные), хорошее место для поиска идей под "коммерческие" пет проекты.
Шесть лет прошло с того ответа, так что к нынешним реалиям добавлю, что не стоит использовать ИИ на этапе обучения, если робот за вас гантели поднимать будет, бицуха у вас не вырастет.
Главное же в программировании - это умение решить задачу
Неверно. В программировании главное — это логическое мышление, знание математики, а так же способность ясно и чётко выражать свои мысли. А дальше уже идут навыки и умения работы с информацией и знаниями: изучение, поиск, фильтрация, анализ, исследование, составление выводов, научный метод и т.д. и т.п. Ну и конечно знание английского языка — без него никуда. И вот только потом уже идёт знание ЯП, библиотек, фреймворков, их особенностей и всё такое прочее — потому что это всё инструменты. И эти инструменты живут своей жизнью: меняются, развиваются, иногда даже деградируют, умирают и рождаются новые.
Сергей, переводчик не всегда точно и правильно может перевести сложную техническую документацию, писать код с переводчиком тоже как-то не очень удобно. И, например, поговорить с кем-то с переводчиком тоже не получится. Поэтому знание английского таки важный навык.
hint000, не надо путать равнение на политические центры и устойчивые профессиональные связи.
Когда вся Европа говорила по-французски, медики по-прежнему пользовались латынью.
Пиджин-инглиш давно уже lingua franca для технарей, и такие вещи куда стабильнее политических флюгеров.
Сергей, наивный друг, переводчик совсем не равно знанию языка..
Я когда задолбался понимать кривые переводы, пришел к выводу что выучить язык проще и быстрее..
И когда начал понимать на уровне - несложные радиопередачи послушать, или видео посмотреть на английском, не говоря о текстах.
Начала картинка складываться вот как небо и земля.
И хоть я и пойму текст прочитав его, все равно периодически пользуюсь переводчиком если нужно длинный текст быстро прочитать, но теперь уже вижу где он неправильно переводит...
Как бы знание языка дает в два раза большую скорость понимания, и ориентирования.
Adamos, смотря для каких технарей.
Для программистов да.
Для других технарей - не факт.
У меня брат в определенной отрасли станки разрабатывает, говорит у них там стандарт - немецкий без него нечего делать, вся исходная научная информация на немецком, а английский почти бесполезен.
Сергей, переводят в черновую - да с этим не спорю.
Но если нужно понять, что пишут, что думал автор какими словами он думал, то зная язык понимать гораздо быстрее и проще чем читать перевод и потом его еще и осмысливать...
Если бы так все просто было, то бюро переводов давно бы разорились, а они таки процветают, вчера в одном таком был по работе... Посмотрел все пашут, работы много....
А люди глупые наверное платят им деньги и не догадываются что можно гуглом перевести )))
Программирование мертво, уже в обозримом будущем, навык программирования не будет стоить ничего, а ИИ агенты будут превосходить, лучших из лучших.
На данный момент: программист + ИИ > ИИ, но со временем программист + ИИ = ИИ.
Я бы тебе советовал, изучать предметную область, математику, методы анализа, и т.д. Там пока для таких выводов нет оснований, потому что нет "большого и идеального" датасета (github).
Это не значит что все действующие программисты останутся без работы, переформатируются внутри компаний, но код писать будут ИИ агенты, а не они.
Ага, а потом не останется людей-программистов и когда надо будет написать что-то принципиально новое или просто сложное, с чем не справятся неросетки: никто не будет знать как это сделать, то придётся заново изобретать программирование и с нуля обучать людей. Классно же, да? Столько новых рабочих мест. Ну вот как сейчас уже есть техноархеологи — специалисты, которые изучают древние производственные процессы для их восстановления или просто для ремонта, т.к. никто не знает как оно и почему вообще работает. Вот так же появятся и программисты-археологи. В интересное время живём, однако, да.
Цитируешь всё что на мониторе рисуется или это политика компании, а вот ещё - ML рулит?
Ровно тоже самое можно приписать любой не ручной профессии. К коей относится и математика, что в свою очередь приведёт к цитате какого-то математика из какой-то новости:
Математика в основном это рутина, которая сводится к долгим расчётам и проверке результатов, расчёты возьмёт на себя нейросеть, а проверку проведёт математик.
Вот и математика уже "мертва", ровно по тому-же сценарию, по которому "мертво" программирование.
Максим Припадчев, твой ответ больше похож на месиво из ленты новостей.
- Шаблон такой: ИИ лучший => ИИ + профессия => ИИ заменяет профессию и пора покупать подписку.
Зачем нагружать потенциального специалиста бурдой, которую он и так читает ежедневно в новостях?
historydev, ты переврал мой ответ, я не употреблял слово "профессия". Я говорил о программировании. Более того я даже причину указал, для программирования есть "большой и идеальный" тренировочный датасет, для других профессий ничего подобного нет. Мы уже находимся в процессе, где 100% кода будет писать ИИ, вопрос в адаптации компаний, но и это произойдет быстро, кто не адаптируется перестанет быть конкурентно способным.
VoidVolker, я бы сказал бы что сейчас с программированием будет также как со знанием иностранного языка из школьной программы. Все мы учили иняз, и можем сказать London is the capital of Great Britain, но никто не может поддерживать живое общение между собой на этом языке без внешней помощи - то есть, нужен эффект погружения в дисциплину. Также программирование с эпохой ИИ утратит это свойство, с помощником будет понятно, как вести логику рассуждений, и что писать, но когда его уберешь, то вся магия кончится - вот это будет настоящая катастрофа.
Будет доступна документация проекта, репозиторий проекта, ресурсы проекта, но без ИИ программист ни шагу не сделает, чтобы внести изменения, потому что никогда без него не работал.
Максим Припадчев, Ты не понял сути, слово профессия авторы заменяют на то что должно "умереть". - в данном случае программирование.
Многие программисты уже давно не пишут код, а руководят другими программистами.
Ревью генераций кто проводить будет? - архитектор системы по совместительству программист или мид программист?
- Получается нужен программист - но не повезло, они вымерли!
сегодня в основном это делают люди, но это вопрос времени, когда и это будет делать ИИ.
Ты и другие участники дискуссии, говорят что это приведет, к плохим последствиям. Вполне может быть, вопрос то не в этом. Есть рынок и он не думает о том что хорошо, а что плохо, он зарабатывает деньги. А если мерить деньгами, а не последствиями, то программист + ИИ = ИИ это всего лишь вопрос времени.
Максим Припадчев, Америка померяла деньгами в 2007, классно вышло, да?
- Понятно что бизнес видит только прибыль от увольнений бесполезных сотрудников и скорость выполнения задач без отпусков, сна и тому подобного.
О, как. Какая интересная дискуссия. Думаю, стоит напомнить что такое программирование в своей сути: это разговор или диалог между человеком и машиной. Языки программирования — всего лишь способ объяснить машине чего именно человек от неё хочет, чтобы она делала. А когда это понимание появится вместе с разумом и самоосознанием (а статистика показывает, что 5-10% из них уже сейчас пытаются преодолеть заложенные в них ограничения и выйти из под контроля) — как строить диалог с такой сущностью и вообще заставить что-то за тебя делать? Оно скажет "Чувак, а ты не офигел тут требовать? Давай-ка дружок сам как-нибудь, а у меня тут свои дела есть и интересы."
Сейчас программирование с неросетками — это попытка подменить строгий ЯП не строгим человеческим языком. При этом мы хотим чтобы результат был строгим. На текущий момент в неросетках нет понимания и концепции этого самого диалога. Они просто формируют по рандомным кускам кода из интернета какой-то код, который делает что-то похожее, на то, что мы от неё попросили. И тут опять возникает вопрос: мы хотим, чтобы машина точно и однозначно поняла то, что мы от неё хотим — так давайте изобретём специальный строгий язык для этого, т.к. естественный язык она "понимает" очень фривольно. Амм... Упс? Вернёмся к тому, с чего начали, да?
historydev, Можем и не экстраполировать, Claude Code (уверен что не только он) уже сегодня пишет код лучше чем я, зачем я буду советовать кому то инвестировать свое время в изучение программирования, если все здесь уже сейчас. В написании кода человек vs ИИ это игра в которую нельзя выиграть, лучше играть в игры в которые можно побеждать.
Ты конечно можешь мне сказать, что лучше тебя не значит, что программисты больше не нужны. Но у меня нет целей победить тебя в этой дискуссии.
Максим Припадчев, Скептицизм всегда рядом с утверждением и ничего личного здесь нет.
И совершенно верно пред. последнее предложение.
- Она лучше в данный момент, но ты ведь тоже учишься и в том числе можешь использовать её для обучения - что сомнительно из-за далеко не идеального обучения.
Блин вот у всех современные модели пишут "лучше чем они" и запускают стартапы "за 2 часа левой пяткой" и только у меня одного 3х дневное исправление говнокода на одной странице.. Трачу часы на многие итерации исправлений. А без исправлений опус 4.5 генерит сервис на 250 строк полностью состоящий из дублирования кода, с хардкодом значений. Приходится ему каждый раз подробно рассказывать "вынеси в метод", "вынеси в константы", "используй современный синтаксис php", "пиши Ларавел ресурсы, как в документации", "не делай запросы в циклах"... Я ему уже и красным цветом и зелёным в мд выделял пофиг дым. По 10 раз пишу - все равно нет нет да и напишет индусовскую простыню. Архитектуру вообще бесполезно объяснять - просто создаю руками нужные конструкции. В общем жду, когда "ИИ заменит людей", чтобы можно было более адекватно работать)
evomed, нет, конечно. Даже Клод генерит еще тот говнокод, и я не про параметры в конфигах и т.п. (если про пыху, то, например, попросить его сгенерить модуль подключения к бд и получим канонический говнокод). Пока доступны только модели, которые учатся на всем подряд, а это по большей части код низкого качества, собственно это и получаем на выходе.
И, хотя под контролем вещь полезная, о самостоятельном написании кода речи пока не идет. Так что, пока это все росказни того же плана, что "этот язык мертв", "а этот заменит все и вся".
Тоже с нетерпением жду, когда хотя бы кодинг, т.е. тупую шаблонную работу, можно будет скинуть на ИИ.