За сколько можно научиться программированию, если заниматься всего 1,5 часа в день?

Пост опубликован в блогах iXBT.com, его автор не имеет отношения к редакции iXBT.com
| Записки разработчика | Оффтопик

Советы начинающим и будущим программистам. Чем и как может помочь ИИ?  

Время, необходимое для изучения программирования, сильно зависит от различных факторов, таких как:

  1. Ваш опыт. Если у вас уже есть опыт работы с другими языками программирования или вы знакомы с компьютерными науками, вам будет проще начать изучение нового языка.
  2. Цели обучения. Ваши цели также определяют, сколько времени потребуется для изучения программирования. Если вы хотите просто познакомиться с основами, это займет меньше времени, чем если вы стремитесь стать профессиональным разработчиком.
  3. Избранный язык программирования. Некоторые языки программирования сложнее изучать, чем другие. Например, языки вроде Python и JavaScript считаются более доступными для новичков, нежели C++ или Java.
  4. Личные способности и стиль обучения. Все люди учатся по-разному и в разном темпе. Ваш индивидуальный стиль обучения и способности также влияют на то, как быстро вы научитесь программированию.

Предполагая, что вы абсолютный новичок и занимаетесь 1,5 часа в день, вы можете ожидать, что освоите основы программирования на простом языке, например, Python, за 2-3 месяца. Однако для достижения профессионального уровня потребуется гораздо больше времени на обучение. 

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

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

Несколько советов, которые могут помочь вам ускорить процесс и стать успешным разработчиком:

  1. Изучайте теорию и практикуйте. Основы компьютерных наук и теории программирования очень важны, но одновременно с этим необходимо активно практиковаться. Решайте задачи, создавайте небольшие проекты и экспериментируйте с кодом.
  2. Используйте онлайн-ресурсы. Интернет предлагает множество ресурсов для изучения программирования, от бесплатных учебников и видеоуроков до интерактивных платформ и сообществ. Воспользуйтесь этим разнообразием и найдите ресурсы, которые подходят именно вам.
  3. Присоединяйтесь к сообществам разработчиков. Сообщества разработчиков, такие как форумы, группы в социальных сетях и платформы для разработчиков, могут быть очень полезными. Здесь вы можете задавать вопросы, делиться опытом и получать поддержку от коллег.
  4. Работайте над реальными проектами. Как только вы освоите основы программирования, начните работать над реальными проектами. Это позволит вам применить полученные знания на практике, развивать навыки решения проблем и создавать портфолио для будущих работодателей.
  5. Не бойтесь ошибок. Ошибки являются неотъемлемой частью процесса обучения. Они помогают вам учиться, расширять знания и становиться лучше. Не бойтесь ошибаться и учиться на своих ошибках.
  6. Верьте в себя и будьте настойчивыми. Изучение программирования может быть сложным, и иногда вам может показаться, что вы не справляетесь. Важно сохранять веру в себя и продолжать учиться, даже если процесс кажется медленным или трудным.
Источник: xn--90aok4b.xn--p1ai

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

Как может помочь начинающему программисту GPT от OpenAI

Современные, новомодные нейросети могут помочь начинающему программисту во многих аспектах. 

  1. Обучение и мануал. GPT-3 может предложить материалы для изучения и обучения, такие как книги, видео, онлайн-курсы, статьи и блоги, которые соответствуют вашему уровню знаний и интересам.  
  2. Пояснение концепций. Если у вас возникли вопросы по конкретным концепциям, терминам или алгоритмам, нейросеть может объяснить их вам простым и понятным языком.  
  3. Решение проблем и отладка. Если у вас возникают проблемы с вашим кодом или вы столкнулись с ошибками, GPT-4 может предложить решения и подсказки для отладки кода.
  4. Подсказки по синтаксису и структуре кода. GPT-4 может помочь вам вспомнить синтаксис и структуру кода для разных языков программирования, а также предложить лучшие практики по написанию чистого и эффективного кода.
  5. Готовый код. GPT-4 по описанию словами, может сделать готовый код, небольшое приложение, простенький сайт или игру. Однако, следует внимательно проверять код от нейросети, так как возможны ошибки.  
  6. Мотивация и поддержка. Изучение программирования может быть сложным и требовательным процессом. GPT может предложить вам советы по управлению временем, сохранению мотивации и преодолению препятствий, с которыми сталкиваются начинающие программисты.  

Чтобы получить помощь от GPT-3-4, зарегистрируйтесь на сайте OpenAI: https://chat.openai.com . Для регистрации понадобиться VPN и временный телефонный номер разрешенной странны; GPT-3 - бесплатный, GPT-4 - платный.

Задайте свой вопрос или опишите проблему, затем отправьте это сообщение ИИ, через несколько секунд появиться ответ. Существует множество аналогов, например, PaLM, Sphere, Galactica и т.д.

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

Автор не входит в состав редакции iXBT.com (подробнее »)
Об авторе
Обучаю работе на компьютере детей и взрослых. Офис, принтеры, сканеры. Информационная безопасность. Редактирование аудио, фото-видео. Основы программирования и английского языка. Делаю ремонт и диагностику неисправности устройств. Образование: Новосибирский государственный педагогический университет.

10 комментариев

M
Я забыл из какого это фильма, но там на вопрос ГГ, сколько нужно времени, чтобы этому научится, ответ был — вся жизнь. Быть хорошим специалистом — это всегда смесь таланта и упорства. Талант — это когда ты делаешь что то не из под палки, а по собственному желанию. Например занимаешься самообучением и ставишь перед собой свои собственные цели и достигаешь их. Но талант нужно развивать. И тут помогает упорство. Не знаю, почему в сегодняшних школах на это забили, но я начинал с графики. Я любил игры, хотел создавать свои, любил рисовать. А потому я писал графические программы. А все остальное приложилось уже потом со временем. Насчет первого языка программирования существует большая дилемма. С одной стороны начинать лучше с более простого. Например я даже не понимаю, почему C++ по крайней мере до недавнего времени считался лучшим языком — он ведь жутко кривоватый. С другой стороны потом тяжело будет переучиваться на более сложный. Но тут уже важную роль играют мета-знания. Т.е. если понимать основные принципы, то синтаксис языка становится уже вторичным. И тут очень помогает изучение ассемблера. Изучение ассемблера как изучение электроники. Конечно можно сказать, что и обезьянку можно научить тыкать кнопочки и для повседневных задач настолько глубокие знания не нужны, а иногда даже вредны, т.к. забивают голову лишней информацией, но на самом деле это очень важная вещь, т.к. она дает понимание того, что язык программирования это только обертка над машинными кодами и позволяет использовать определенные инструменты языка с умом и пониманием того, для чего они нужны, а не просто потому, что это стильно-модно-молодежно. Но не стоит становится адептом культа ассемблеристов, которые считают, что только на ассемблере можно написать самый быстрый код. Это далеко не так. Ассемблер забивает голову лишними проблемами и отвлекает от главной вашей задачи — реализации алгоритма. А современные компиляторы имеют уровень оптимизации, не доступный человеку. Но не стоит забывать о главном. Если вы хотите зарабатывать деньги, то должны понимать, что делать что то вам придется не для себя, а для других. А потому следите за потребностью в программистах на определенных языках. К сожалению Python сам по себе не очень хороший язык, да и скриптовый язык в качестве основного — это не очень хорошая затея. Т.к. люди привыкают к удобствам скриптовых языков и пишут потом на них крупные проекты, которые потом выливаются в жуткие тормоза для их пользователей. Но, насколько я знаю, это язык, который сейчас наиболее востребован. Да, писать на ассемблере круто, но специалистов, которые способны например сами писать языки программирования, нужно не так уж и много. Выбор за вами. Быть «настоящим» программистом конечно круто, но иногда я жалею, что не пошел в 1С-ники.
B
Очень со многим согласен. 1,5 часа в день — ничто. 10-12 часов в день. Без изучения книг по основам программирования и отладки — будет дополнительная громадная потеря времени. Тут можно и нужно сэкономить силы и время.
Ну и крайне желательно, что бы за это время платил работодатель ;-) Так что, базовый курс, немного своих поделок для портфолио и скорее в команду на реальный проект, и там набираться околопроектного опыта, шлифовать навыки.
--
«И тут очень помогает изучение ассемблера.» — не согласен, из личного опыта и вот почему:
ассемблер — процедурный язык, максимально приближенный к машинному коду. (подпрограммы, функции, библиотеки — вот и все структурирование). Все объектно-ориентированные (ОО) «сущности» возникают на следующем уровне языков. Так вот, переход от простой и понятной процедурной концепции к объектной, не так уж прост и требует серьезной перестройки мышления программиста.
При том, что в относительно простых программах, особенно при работе с микроконтроллерами, процедурный подход удобнее и проще. Простота процедурного программирования развращает. :-) Лично я, например, до сих пор недолюбливаю обьектный подход и избегаю его, по возможности. В инете, недостатки и достоинства объектных языков подробно разбираются, то же наследование — вещь в себе, но будущее за ОО языками, это факт.
По этому, имхо, не стоит тратить начальное время на ассемблер и процедурные языки, а потом переучиваться на объектные. Проще и результативнее — наоборот, начать с ОО, а ассемблер потом, если уж очень понадобится. :-)
Да и все серьезные проекты, связанные с ИИ, как ни крути — на ОО языках.
M
Объектно-ориентированный подход не зависит от языка программирования. Например в WinAPI нет классов и объектов в явном виде, а на самом деле они там есть. И на ассемблере можно реализовать ООП — никто не мешает. ООП — это вопрос масштабируемости. Если нужен один объект — то его можно реализовать и в процедурном подходе. Но всегда нужно держать в голове, что завтра их может потребоваться два, три, десять, неопределенное количество. Потому лучше сразу реализовывать это в ООП, даже если в данный момент это не нужно. А про ассемблер скажу честно, что бывали случаи, когда даже при написании программы на ЯВУ только отладка машинного кода помогала найти скрытую ошибку. При написании сложного кода бывает, что компилятор тебя «неправильно понимает» и это например приводит к неверному неявному преобразованию типов. Выскакивает AV, а почему — не понятно. И если не знать машинного кода и не уметь отлаживать код на этом уровне — никогда и не поймешь. И это я уже не говорю о том, чтобы просто знать, во что в итоге компилируется тот или иной синтаксический сахар. Яркий пример, который я всегда привожу — замыкания в компилируемых языках. Не все знают, что компилируются они на самом деле в интерфейсы. А не зная во что оно компилируется, не будешь знать и когда их лучше применять, а когда не стоит.
I
На деле во многих API Windows есть классы и объекты в самом явном виде. Обычно они реализованы используя COM, но не всегда. Общеизвестным примером такого API является DirectX. Другим примером является Windows Media Foundation.
М
Правильный ответ: никогда
P
Комментарии более содержательны, чем статься. В ней вызвали недоумение советы учить ассемблер (не понадобится для работы) и использовть ChatGPT (а курсы, книги и статьи на что). От сеья добавлю, что при выборе средств программирования надо иметь цель, например перчпективы устройства на работу, где требуется это программирование.
>Чтобы получить помощь от GPT-3-4, зарегистрируйтесь на сайте
Ни к чему. У меня в голове свой искусственный интеллект.
S
А что если, к практическому программированию (на языках высокого уровня) относиться как к виду дискурса (рассуждения), ключевые принципы которого: 1. «ментальная» декомпозиция (из идеи ментального программирования, некоторых деятелей) — то что позволяет в живом режиме писать программу «сверху-вниз», от выражений и формулировок бизнес логики к функциям конкретного языка программирования; 2. Принцип единой ответственности и одного уровня абстракции внутри методов (функций) — как основной ключ к поддерживаемости и возможности дальнейшей модификации системы (программы); 3. Аксиоматику Хоара следует сохранять во внимании для написания надёжных программ.
Будет ли практически нормальным и достаточным программирование придерживающееся этих 3 принципов?
Для стандартизации и условной всеобщей понятности нужно стремиться к выражению всего что возможно архитектурными патернами? Есть такие объявляемые на словах тенденции уже давно, но на практике архитектура может быть нередко определена правилами написания под конкретный фреймворк или стилем написания внутри системы.
Комментарии про ассемблер в современном программировании для большинства людей и практик никакого смысла не имеют. С точки зрения профессионального и системного знания конечно знать и понимать ассемблер нужно, но на практике приблизительно 95-99% современных программистов не пригодится, вроде бы вполне правдоподобный взгляд. Что не так поправьте, будет интересно узнать и другие точки зрения.
А применению ИИ следует уделять внимание, по сегодняшним временам особенно. За заметки и пункты по ИИ автору статьи отдельное спасибо!
Про 1.5 часа на программирование в день для практического освоения и погружения очень мало, всё-таки как минимум на полгода, год любая профессиональная деятельность должна стать «сквозной темой» в жизни, а это минимум больше половины времени бодрствования, то есть 8 часов в день. Тогда практически на «физическом» уровне человек будет меняться и приобретать образ мыслей и их наполнение соответствующее деятельности.
ps: За избыток слов прошу извинить, несколько увлёкся, но ряд написанных моментов скорее правильный, с некоторой точки зрения.
К
Привет! Пишу о том, можно ли в 35 лет стать инженером по машинному обучению за год — подписывайтесь на мой канал в Телеграм! Реальная история, всё только начинается https://t.me/blog_data_science_za_god

Добавить комментарий

Сейчас на главной

Новости

Публикации

Титан: рай для серфингиста... если вы не боитесь жидкого метана

Титан, крупнейший спутник Сатурна, давно манит ученых своим сходством с Землей. Здесь, под плотной азотной атмосферой, текут реки и плещутся моря, правда, не водяные, а метановые. Миссия «Кассини»,...

Обзор накопителя 2.5" Orico Y-20 512 ГБ

Сегодня вспомним, что помимо распространенных накопителей NVMe SSD M2, существуют и даже используются еще другие стандарты. Стандарт 2,5″ SSD пришел на смену медленным HDD, и еще используется...

Не просто камни из космоса: неочевидные факты о Земле, открытые благодаря метеоритам

Они прибывают на Землю, словно письма из прошлого, запечатанные в огненных конвертах, — безмолвные вестники, несущие на своих оплавленных боках отпечатки эпох. Метеориты, а также их...

Докатка: как избежать опасностей на временном колесе

На дорогах часто случаются непредвиденные ситуации, и одна из самых распространённых — это поломка или повреждение колеса. В такие моменты на помощь приходит докатка, маленькое и удобное...

Космический бит: зачем NASA отправило хип-хоп к Венере?

Недавно NASA провернуло трюк, достойный, скорее, пиар-агентства, нежели организации, занимающейся серьезными научными исследованиями. Агентство отправило к Венере… нет, не новейший зонд,...