ПРОМО
Бесплатные карты для детей и родителей

С какого языка программирования лучше всего начать обучение новичку?

Этот текст написан в Сообществе, в нем сохранены авторский стиль и орфография.

Хочу освоить новую профессию, заинтересовала ИТ сфера. Изучил разные варианты и решил начать с Java. На данный момент остановил свой выбор на двух курсах на Яндекс практикуме (Java-разработчик и Веб‑разработчик), но в момент оплаты возникли сомнения.

Все же насколько лучше начинать именно с Java, а, может, лучше с Python?

Редакция
Редакция
Что бы вы посоветовали читателю?
Комментарии проходят модерацию по правилам журнала
Загрузка
Алиса Селезнёва
Отредактировано

Порекомендую два бесплатых отличных курса по основам ООП (питон). Проходить именно в таком порядке. Самые основы, синктакстис, структуры данных, циклы:
https://stepik.org/course/67/info
ООП, работа с csv/json на питон:
https://stepik.org/course/512/info

Самые лучшие курсы по программированию, которые я видела. Начните с них, ибо бесплатно, а то вдруг программирование не зайдёт, будете жалеть, что купили дорогущие курсы
Если захотите жести и алгоритмов - вот, тоже бесплатно:
https://stepik.org/org/compscicenter

29
Веник Электрический

Алиса, Степик топ)

3
Максим Иванов

Алиса, ИТМО топ

0
Viktor Platonov
Герой Т—Ж 🏆

Ну тут надо понимать, что у каждого языка свои особенности, свое применение, свои моменты.
К примеру, Python больше используется в вычислениях и нейронных сетях, есть несовместимость разных версий языка, Java - в бизнесе и кровавом энтерпрайзе, много старого кода, так называемого "легаси", C# - геймдев, там свои тонкости. Особняком стоит С/С++ - тяжелая артиллерия, тут надо понимать как работает аппаратная часть. Go - хороший скриптовый язык, больших приложений на нем мало, но автоматизиция различных сопутствующих штук с ним крайне интересна. Javascript(JS) - основное применение это создание веб интерфейсов, но он настолько популярен, что на нем можно даже приложения для компов писать и серверную часть, то есть, довольно универсальный язык, но с ограниченными возможностями. Также можно выделить языки типа Erlang, Scala, Cobol - языки очень своеобразные, со своим видением мира. Используются реже, но и оплачиваются довольно неплохо. Ассемблер - это... Ладно, пока не будем об этом, этот язык, можно сказать, другая вселенная.

Как по мне - стоитт пройти курс CS50, он есть на YT на русском, а дальше уже думать над языком.

Лично я рекомендовал бы пойти по пути HTML -> CSS -> JS -> PHP и уже тут выбирать путь. HTML можно выучить буквально за неделю, если не меньше, CSS примерно столько же, JS подольше, базовые навыки сформируются за месяц, PHP - еще месяц, ну и дальше можно делать выбор языка на дальнейшую жизнь, так как будет ну хоть какое-то понимание, что такое программирование. По крайней мере, простой сайт написать точно сможете, а дальше поймете, хотите ли вы серверную часть писать, фронтом заниматься или все хотите писатл что-то другое.

Еще, как вариант, посмотреть видео таких блоХеров, как ХаудиХо, Влад Мишустин, Гоша Дударь с советами по выбору языка и с обзорами языков типа "{название языка} за час". Попробуйте поиграть с каждым, берете первые 10 языков из индекса TIOBE, например, и прям по ним (SQL не в счет - его учить в любом случае обязательно) и прям ищете видео по этим языкам.

Java - хороший выбор, как по мне. Сложнее, чем Python, но более вакантный - кода в богатом, но кровавом энтерпрайзе больше, систем написано крайне много, вакансии будут еще очень долго, платить за них будут довольно неплохо. Мир, конечно, вы вряд ли перевернете, но будете знать изнанку больших корпораций. Можно писать серверную часть, можно мобильные приложения, ну и попутно с ней можно освоить языки, которые вышли из нее - Clojure, Kotlin, Groovy, Scala. Это отдельные языки, кроме Groovy разве что - его многие считают синтаксическим сахаром для Java, я склонен с этим согласиться, со своим подходом к разработке, особенно выше упомянутый Scala, но после Java они даются проще.

И еще - никто не мешает учить два языка. Например, часто JS и PHP учат вместе. Как правило, это только в веб разработке, где пишут несложные порталы, одностраничные сайты и т.д. Тем не менее, можете пойтии на курсы по Java, и одновременно учить Python для себя.

12
Сергей Смоляков

Viktor, за неделю можно освоить базу CSS, но не выучить конечно, а так да

0
Helg Svart

Посмотри в каких областях применяется Java, а в каких Python. Что больше понравится, туда и топай. Python более человекопонятен, чем Java, но, само собой, есть свои особенности, которые могут раздражать кого-то больше, чем особенности Java. А вообще, первично умение писать алгоритмы и умение разбираться в сфере, а синтаксис вторичен

8
Маргарита Лукина

C++, конечно!

5
Evge Key
Герой
Отредактировано

Начни не с курсов, а с самостоятельного изучения. Что понравится, то и изучай. Да, Java сложнее, чем Python, но как-то люди и джавистами становятся.
Выбирать язык по простоте изучения имхо ловкушка. Проще выучить html+css+js, а человеку интересно бэкенд для банковских приложений писать, или искусственный интеллект.
Пробуй разное, выбирай то, что интересно.

5
Elijah

Посоветую хорошо подумать🙂 совет от такого же "входящего", который уже десятый месяц в процессе. Составить в осязаемом виде список причин почему вы этого хотите, какие цели ставите, чем готовы пожертвовать. Мотивации для почитайте статьи на Хабре из серии "почему не нужны джуны". Вопрос не в языке, а в направлении. Ну и реально на рынке очень много джунов, с чем связаны низкие зарплаты на входе и большой конкурс

5
Еldarus

Большой разницы между java и Python для новичка нет. Единственный минус это высокий порог вхождения на позицию джуна на java в отличие от python. На java банально нужно больше разбираться в фреймворках и сопутствующих технологиях. Если нужно "по быстрому вкатиться в IT разработку", то Python наверное подойдёт лучше. И касательно курсов яндекса.... Яндекс практикум как и большинство онлайн курсов дают супер поверхностные знания и просто тратят ваше время и деньги. Пара хороших книг + youtube дадут больший выхлоп(если у вас конечно есть желание, иначе никакие курсы вам не помогут).

5
Илья Захаров

Еldarus, ни курсы ни питон не помощники новичку. Вообще джун питонист мало кому нужен.

0
Elijah

Еldarus, курсы дают пинок, там задачи ставят и общее направление что изучать. А так да, информации в свободном доступе более чем достаточно. Если есть мотивация и способности к самоконтролю. Можно ещё менторов поискать.

0
Kira Smile

Elijah, если тебя надо пинать, то ИТ не для тебя вообще. С такой мотивацией отсеешься ещё на собесах. Джун ищет работу минимум месяц, у тебя просто выдержки и мотивации не хватит на постоянные отказы и игноры работодателей.

0
Elijah

Kira, я как бы большой мальчик и могу сам решить что для меня 😁 не надо выдавать свою точку зрения за истину в последней инстанции

1
Kira Smile

Elijah, я просто говорю факты. Сколько ты уже ищешь работу? Нашёл? А собесов сколько было?

0
Снусмумрик

Веник, ну зачем вы так с человеком

4
Петр Филимонов

Снусмумрик, он же не ассемблер ему посоветовал :)

2
Снусмумрик

Петр, все равно жестоко! Можно еще советовать Javascript, самое то для начинающих

Изображение пользователя Снусмумрик
3
Веник Электрический

Снусмумрик, Хотел потролить))

2
rediska

C# ясное дело, и невальная хрень и не супер сложно и работа есть))

4
Pavel Voronin

rediska, в качестве первого языка лучше F#, пожалуй.

0
Дмитрий Федулов

Эксель

4
Kira Smile

Михаил, не с февраля, последние лет 5 такой тренд, просто потому-что условия труда в айтишке куда выше чем в целом по стране. И зарплаты, и бонусы всякие, и начальство не пинает, и коллективы дружные, потому-что в этой сфере без тесного взаимодействия просто никак. Гибкие графики и удалёнка.

Ну и конечно же востребованность на мировом рынке, одна из самых простых возможностей куда-то уехать, потому-что никаких дипломов и сертификатов айтишникам не нужно чтобы доказывать квалификацию, её доказывает твой код на гите, это тоже очень многих привлекает.

3
Matvey Smirnov
Отредактировано

Смотря, чем интересно заниматься. Я начал с Swift, очень нравится техника Apple и писать на данном языке одно удовольствие, очень прост в плане синтаксиса

2
Евгений Шлёнский

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

2
Anna

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

1
ezdiumno

Евгений, Не сильно. Если когда-то изучали математику и алгебру в школе, то хватает. Те же производные и первообразные, синусы-косинусы вспомнить, если когда-то зал никаких проблем.
Хотя не момню, чтобы это когда-то нужно было. А вот алгоритмы, хотя бы самые важные знать нужно. Основное хорошо издожено в книге "Грокаем алгоритмы". Рекомендую. Изложено нужное, простым языком с картинками. Не изучение, а поедание мороженного! :))

0
Viktor Platonov
Герой Т—Ж 🏆

Евгений, зависит от предметной области. Для бизнес логики в большинстве своем ничего супер сложного не нужно. А вот в геймдеве, особенно в игровых движках, нужна прям серьезная математика. То же самое в высоконагруженных системах.
Но чтобы начать - нет, ничего сверх сложного не надо, школьная программа вам в руки. Тот же факториал посчитать (на нем рекурсию хорошо изучать), понимать, как определить четное/нечетно число и далее в таком же духе. Ну, к примеру, вдруг придется считать платеж по кредиту - формулу вам дадут аналитики, надо уметь ее читать, знать как посчитать, чтобы правильно перевести в код

0
Михаил Дергачев

Евгений, больше формальной логики, чем алгебры с геометрией :)

0
Всё так

У java очень высокий порог входа, оцените свои силы и возможности заранее
У python ниже, вкатитесь быстрее, но и зп будет ниже

1
Stasello Boldirev

С джавы начинать оч сложно. Начните с Python. Без работы не останетесь, а там и спекнуться можно при желании

1
Дмитрий Малахов

По мне - надо вообще с другой стороны начинать.
Надо понять - где есть места для новичков и чем вы будете привлекать "их", так как курсистов реально тьма...

А так - примеры входа и в веб и в андроид разрабротку видел . ..

1
Сергей Старовойтов

Вы в курсе, что кроме разработчиков в IT сфере есть и другие специалисты?

1
Bobo from Peru

Не надо врать только, что ИТ сфера "заинтересовала". Денюжек хочется.

Тех, кого ИТ сфера интересовала - они уже в школе код писали.

1
Kira Smile

Bobo, всех нас денюжка интересует. И не надо выставлять это как упрёк, любой труд должен хорошо оплачиваться. За "идею" работают либо отчаянные, либо те кто имеет для себя профит не в денежном эквиваленте. Одно дело зарабатывать чем придётся и другое делать при этом то что тебе нравится.

3
Дмитрий Беспалов

заинтересовала ИТ сфера ? Совсем не обязательно начинать учить языки. Попробуйте устроится в ИТ компанию тестировщиком или сопровожденцем. Поймёте как все устроено и дальше выбор специальности будет очевиден. Если вы хотите в ИТ ради высокий ЗП то так не работает, цель должна быть построена на интересе. Чем больше увлеченность тем ценные сотрудник и ТД. А язык это всего лишь инструмент для выполнения какой то задачи.
Но если всё-таки решили начать с языка то выбирайте платные и самое главное продолжительные курсы не менее чем на пол года.

1
noname nonamov

не знаю с какого лучше начинать, но лучше не начинать с джаваскрипта(я имею ввиду бэкенд, типа node.js). в нем такая логика, которой нет в других ЯП и переучиваться на другие будет более проблематично. я начинала с питона. я не считаю что это лучший яп, но когда вы начинаете учиться с си, например, то легко все забросить из-за сложности и непонимания для чего он вообще нужен. с другой стороны, изучив его вы больше погрузитесь в программирование. короче, нет лучших языков, просто начните делать хоть что-то. питон, го, джава наверное будут самыми простыми.

1
noname nonamov

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

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

1
Мария С

1) Язык программирования просто должен нравится и все. А какой - уже от человека зависит. У меня пошла Java, но Python ну никак не моё...

1
Qurbonov

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

https://en.wikipedia.org/wiki/List_of_programming_languages_by_type

1
Anon

Присоединюсь ко всем ответам выше

1. Курсы от Яндекса просто пропиаренный слив денег. Куда ценнее сначала "пощупать" область бесплатно - книги, курсы на степике, видео на ютуб. Понять для себя - вообще ваше это или не ваше? Получать зп приятно, конечно, но сидеть в кресле с графиком 5/2 по 8 часов и смотреть в монитор, пытаясь понять, где ошибка в коде - занятие специфичное
2. Дамп рынка IT. Очень много джунов. Очень. Много. Джунов. Сейчас даже люди с проф образованием в ВУЗе и небольшим опытом работы разрабом ищут работу. Выводы можете сделать сами
3. Язык. У каждого языка свои нюансы. Определитесь, что нравится именно вам, но и рынок трудоустройства помониторьте. Ну и ещё python джуны сейчас и правда никому не нужны, вакансий 1 штука на 1000 откликов
Плюс независимо от выбранного вами языка, нужно будет в обязательном порядке изучать и другие вещи для трудоустройства: sql, алгоритмы, git. Так что приготовьтесь изучать что-то новое всю жизнь - сначала базу с сетевыми протоколами, ОС, памятью, а потом и всякие докер кубернетисы. Таков путь
Всех благ
с:

1
rozoomcool

Рекомендую начинать с Java. На ютубе есть пару курсов, но советую читать книги. Python слишком простой язык и зачастую портит новичкам впечатление о программировании, так что изучай его после java.

0
rozoomcool

Рекомендую начинать с Java. На ютубе есть пару курсов, но советую читать книги. Python слишком простой язык и зачастую портит новичкам впечатление о программировании. Java, кстати, тоже не сложный, но в отличии от python, у него строгий синтаксис, что положительно будет влиять на процесс обучения.

0
Marck Nab

JavaScript

0
Александр Щипунов

Так всё таки Java или веб??? Разберитесь сначала с языком (веб - Java Script)

0
Андрей Бирюков

Hexlet.io. дорого, но прекрасно.
JavaScript /python

0
ezdiumno

Смотря что вы хотите программировать.
Не с выбора "названия языка" нужно начинать, а с области в которой вы хотите программтровать.
Посмотрите на Ю-Тьюбе пару видео на эту тему. Наиболее кратко и точно с цифрами этот вопрос освещен в канале "Александр Ильин про IT". Хорошо рассказано в нескольких видео на канале Сергея Немчинского.
Посмотрите эти видео. Да и потом другие и сами ответите на свой вопрос. Причем правильно ответите!

0
ezdiumno
Герой
Отредактировано

ezdiumno,
Решил продолжить на своем примере.

В 81 в институте пришлось изучать Fortran. По программе институтской. Выбирать не приходилось. Но азы программирования именно тогда заложили. Можно сказать, "алфавит" программирования в голову заложили. Заодно выучил язык Basic.
Потом был язык Turbo Pascal (Borland Pascal, Delphi).
Но все это обучение спонтанным, без четкой цели, без определения отрасли IT для которой язык учил.
Оттого и результат посредственный - не стал развиваться, забросил.

В 99-м изучал HTML. Делал сайт. Но быстро перешел на спец.программу, где знание HTML и CSS в общем то не требовалось.

Было время лет 10 назад, когда начал изучать Java. Для чего? Почему? Не знаю. Просто "захотелось попрограммировать".
Результат предсказуем - забросил на половине книги "Java для начинающих".

И вот пару лет назад снова начал изучать программирование. Но цже целенаправленно. То есть знаю что и для чего.
JavaScript, HTML и CSS - появились свои блоги, нужно подгонять и переделывать стандартный движок.
Потом пришлось изучать Python - попалась нужная книга с примерами на нем.
Теперь вот изучаю С++. Есть цель, есть осознание, что именно он мне сейчас нужен. Есть задачи, которые на нем хочу сделать.

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

Да, и обязательно и ускоренно учите английский! Программист без него как птица без крыльев. Кукарекать может, летать - нет.

0
ezdiumno

Ян, Я как-то написал два варианта одной программы сортировки одного и того же массива на C++ и Python.
Массив один и тот же.
Программа одинаковая, только два разных языка.
Комп один и тот же.
Замерил время обработки обеими программами.
Python - 32,3 сек.
С++ - 2,8 сек.
Без комментариев...

0

Сообщество

Популярное за неделю