Народ, подскажите, с какого языка начать учиться? Вроде на одних из первых местах JavaScript и Python, но одни ругают их, другие хвалят. Цель - начать зарабатывать больше чем сейчас + всегда привлекала тема программирования.
Лол. Так себе цель. Лучше задаться вопросом, что делать хочешь, что писать. Сайты там, игры, мобильные приложения.
А если цель больше зарабатывать - заходи на хэдхантер и смотри вакансии, где больше платят и какие требования к ним.
"Пишут, потому что нравится решать задачи. Деньги далеко не на первом месте" слова джуна на первые 1-3 года работы)) программировать для себя и программировать для дяди - очень большая разница.
Исключение - когда вы сами себе архитектор и один в компании, тогда да, будет как "для себя"
Говорите за себя, пожалуйста. Я никогда не пойду на проект только из-за денег, если мне будет скучно
Вопрос лишь в сумме. Про прочих равных нужно выбирать то, что более по душе, это верно. Но когда за две недели работы платят пять штук - тут многие дрогнут
Не обобщайте) Когда специалист сформировался, он будет отдавать предпочтение интересным проектам. Когда за тобой стоят ресурсы компании, наворотить можно гораздо больше.
О, вот в чем можно быть уверенным, так это в том, что любители "интересных задач" наворотят.
Не всегда это работает, ибо есть мода. Помните, как активно начинали переходить на го в своё время? Я вот помню, тогда в спб вакансий было - попой жуй. Сейчас же прошло буквально 2-3 года и всё, мода прошла, вакансий почти нет. Также помню время, когда каждая первая вакансия была с чистым node.js на бэке, ещё раньше был бум python (сейчас вакансий всё-таки поменьше). В общем, есть смысл смотреть вакансии, если у тебя уже есть база и ты способен перестроиться на новый язык за очень крайний срок, чтобы успеть попасть в волну.
Учи Питон и Яву. Нормально.
Вообще, не слушай никого, попробуй одно/второе/третье, там, где больше всего понравится, то и учи. А вообще, лучше несколько языков знать.
Яву новичку необдуманно советовать. Заставлять новичка захерачить 5 экранов исходного кода, чтобы hello world вывести, негуманно.
Я, естественно, утрировал. Жаба требует дофига телодвижений, которые новичку не нужны.
Вообще, паскаль был придуман специально для обучения и отлично с этой задачей справляется.
ну, тут зависит от подхода. Можно с алгоритмов идти, базовых понятий. А можно кратко с этим ознакомиться, за месяц, например, и перейти к ооп. В таком случае джава хорошо подойдёт
Да нельзя. Год нужно минимум посвятить алгоритмам и структурам данных, не отвлекаясь, потом можно к ООП переходить (не бросая алгоритмы, естественно). Если человек хочет стать программистом, а не говнокодером.
Скольких людей ты выучил, как они защитились и насколько они успешны в карьере?
>Учиться программированию надо на практике. Написать блокнот, написать ртсовалку, написать мессенждер, написать почтовый клиент, и т. д
Учиться водить надо на практике. Сразу сел за руль и пошел в такси работать.Не нужна ни теория, ни площадка, ни отработка стандартных маневров.
Вот именно таких научившихся на блокнотах на собеседования 8 из 10 приходят.
Учить нужно, прежде всего, структуры данных и алгоритмы. И первый язык от всего этого отвлекать не должен.
В том числе. Потому что новичку не нужно забивать голову классами и методами. Ему нужно сначала понять, что такое переменная, указатель, как работает оператор присваивания и чем формальные параметры от фактических отличаются и т.д. Потом структуры данных и алгоритмы. Никакого ООП в первый год обучения быть не должно в принципе. Это я тебе, как бывший препод ВУЗа, через которого 500+ студентов прошло, говорю. Насмотрелся, в свое время
Конечно, вместо этого, можно выучить обезьяну, которая будет классы и методы бездумно, как заклинания, объявлять. Но, поскольку мне таких потом собеседовать, я против.
Вы безусловно правы. Не уверен, что это надо учить прям целый год, но подход правильный. Я бы вообще вначале дал человеку листочек и ручку и дал рисовать блок-схемы по задачкам.
P.S. Не умею в указатели. Java-программист. (Когда-то умел, когда лабы по си были.)
Не умею в указатели. Java-программист.
Сложно, наверное, понимать работу JVM без умения в указатели.
Потому что новичку не нужно забивать голову классами и методами.
Однозначно. Но это и не обязательно, чтобы пользоваться некоторым подмножеством API стандартной библиотеки на интуитивном уровне.
Довольно долго Java на Западе была стандартом де факто для обучения программированию. По моему субъективному мнению, старт с этого языка гораздо проще и приятнее, чем с си, который лучше укладывается в ваши каноны. Никто не мешает после основ вернуться к сложным структурам, алгоритмам и указателям.
Это я тебе, как бывший препод ВУЗа, через которого 500+ студентов прошло, говорю
Апелляция к сомнительному опыту - это такой себе аргумент в интернете. Говорю вам, как бывший студент, через которого 30+ преподавателей прошло.
можно выучить обезьяну, которая будет классы и методы бездумно, как заклинания, объявлять.
Наивно полагать, что обезьяна без этого навыка будет вам приятнее на собесе.
Мне на собесе сразу синьоры, например, нужны. Ты знаешь волшебный способ новичка сразу синьором сделать? Я не говорю,что ООП учить не нужно. Нужно, конечно. Не нужно с него начинать.
Конечно, вместо этого, можно выучить обезьяну, которая будет классы и методы бездумно, как заклинания, объявлять.
Вот это точно, известная проблема. Технологии стоит осваивать по мере освоения старых. Избыточное знанание так же опасно, как и его недостаток - знать огромное количество технологий, ньюансов, паттернов, но не уметь это все применять.
Не-а, а про полиморфизм и позднее связывание он откуда узнает? Более правильно все-таки с азов начинать .
про полиморфизм и позднее связывание он откуда узнает?
Из хороших книжек) Узнает позже, по мере освоения технологий.
Более правильно все-таки с азов начинать
Это уже не азы.
Под азами я подразумевал
«что такое переменная, указатель, как работает оператор присваивания и чем формальные параметры от фактических отличаются и т.д. Потом структуры данных и алгоритмы.»
Меня так учили ;)
>Цель - начать зарабатывать больше чем сейчас
А сколько вы зарабатываете?
>всегда привлекала тема программирования.
какие языки программирования вы уже знаете?
А сколько вы зарабатываете?
Работаю в сфере корпусной мебели, зарплата плавает от 10 до 72 т.р., в среднем за прошлый год было 33 т.р.
какие языки программирования вы уже знаете?
Ни какие.
Для общего представления о уровнях зарплат на первое время:
на moikrug.ru в поиске ввести "junior"
Если выведет вакансии со словами "Middle/Senior" - игнорьте. До этого уровня еще предстоит дорасти.
Сколько у вас есть свободного времени в день?
Через сколько времени и сколько именно денег вы хотели бы получать?
В какой сфере вы хотели бы работать и что делать?
P.s. Ах, да. Где вы живете? Страна / город. Если не хотите указывать город, то хотя бы укажите число жителей. Готовы ли вы к переезду?
>JavaScript и Python
А теперь субьективно.
JavaScript как первый язык это пиздец.
Python - хорош.
Почему - поймете когда придется выучить еще пару-тройку других языков.
p.s. не настаиваю на своем мнении как истине. Это лишь мое мнение и не более. Запросто могу ошибаться или писать вкусовщину.
У нас тут идейка намечается, если хочешь попробовать что-то новое то давай с нами
#comment_132378267
Хочешь жить в России - иди в 1С. И удалёнка, и работа есть в любой дыре. Правда, прийдётся подучить бух учёт и торговлю (как наиболее вероятные предметные области). Как приятный бонус - сможешь работать на разных заводах и производствах (по мне, автоматизировать учёт на заводе куда прикольней, чем тухнуть в офисе).
Ну а за бугром - хз. Я б учил Java.
Ну именно потому что языка 1С не является "трушным" и является скорее языком конфигурации и интеграции. Очень нишевая штука, тот же Java-разработчик в России получает больше, а в добавок не ограничен только Российским (или СНГ) рынком труда.
С тем же успехом можно гнать на PHP или JS. Ибо не тру! Глупо. Язык пишется под задачи.
У 1С нулевой уровень вхождения. Реально нулевой, без преувеличений. Долбодятла без образования и навыков учить программировать на яве(особенно в провинции) никто не станет, устроиться во франчу и за полгода обеспечить себе профессию куда проще.
Где-то через десятки лет опытный трушный программист(если не съебется за границу, а большинство на это не способны) будет получить на четверть больше презираемого 1С-ника. Только вот 1Сник сразу станет получать свою ЗП и вырастет она довольно быстро, а вот сколько ты будешь учить свой трушный язык и расти до нормальной ЗП...
PHP или JS - тоже "трушные" языки, не стоит их сюда привлекать.
На счет нулевого порога спорить не стану - не знаю ситуацию. Во всяком случае нужно будет уметь оперировать базовыми конструкциями и структурами данных.
Касательно ваших рассуждений о зп, пожалуй, соглашусь (с небольшой поправкой о том что зп "трушного" программиста растёт гораздо быстрее, правда в условиях крупных городов с возможностью раз в год менять работодателя).
Так что да, подобная точка зрения действительно имеет право быть, если приоритетом является "как можно скорее начать получать деньги". А дальше уже всё зависит от человека.
Тогда мне все интереснее, что конкретно делает 1С не тру. Я могу обосновать, что делает 1С-программистов не тру, но никак не сам язык/среду.
Насчет постоянной смены работодателя- здесь нужно иметь весьма специфичные быт и характер. С тремя детьми такое делать сложно(кроме удаленки, возможно). Если ты в придачу не готов на работе умирать, то сложнее вдвойне. Стоит ли даже двухкратная прибавка к з/п постоянной нервотрепки? В таком случае нужно просто отправляться зарубеж, там совсем иные цифры.
Плюс на старости лет осесть 1Сником в бюджетную контору или к торговцам куда проще, чем пытаться тащить серьезное программирование наравне с молодежью. Не говоря уж о том, что многие вообще в чистую бухгалтерию/производство уходят. После пары лет 1С консультанты обычно знают больше среднего главбуха, но при этом могут сами себе скриптик написать.
По поводу старости - Java-программисты уходят умирать в банки :)
По поводу смены работодателя - например, в Москве нет никакой проблемы менять работодателей - достаточно не уходить "в никуда", а находить новое место ещё будучи на старом. Никто из знакомых программистов на работе не умирает.
По поводу "тру" - да, тут стоило определиться с терминологией ещё в начале дискуссии.
Для меня это - в первую очередь активно развивающийся язык широкого профиля. На Java можно программировать сетевые приложения, можно писать embedded-софт, можно пилить desktop.
PHP и JS так же не ограничиваются какой-то одной областью применения (пусть даже с огромным перевесом в чем-то одном).
Так же все эти языки обладают огромным интернациональным сообществом, готовым прийти на помощь человеку, столкнувшемуся со сложностями.
Несмотря на то что международное признание, в моём понимании, необходимо языку, чтобы быть "тру", могу привести примеры которые несмотря на востребованность на мировом рынке таковым не являются - Apex и ABAP.
Не уверен, что миру больше всего нужны именно языки широкого профиля. Один фиг грамотных специалистов широкого профиля всегда будет мало, да и нужны ли они?
Решать задачи для ABAP или 1С на С++... Это же тупо. То, что в рамках 1С можно сделать за час потребует недели на С++. Имхо, при такой востребованности и функциональности говорить "не тру"- это грубо.
Я ни в коем случае не говорю что нужно использовать языки общего назначения везде.
В моей терминологии для таких "нишевых" языков и скриптов более уместен термин "конфигурирование" а не "программирование", но я не настаиваю.
Был вопрос - "с какого языка начать учиться", а я так же выделил "всегда привлекала тема программирования" над "начать зарабатывать больше чем сейчас"
Языки широкого профиля хороши в том числе с академической точки зрения.
В принципе я предлагаю считать дискуссию оконченной - мы представили две точки зрения, на мой взгляд они обе имеют право на жизнь, а человек который не в теме уже может задать себе вопрос чего именно он хочет.
C -> C++ -> Java / C#
Параллельно с этим Python, Php и JavaScript.
Для общего представления хватит.
Займет несколько лет.
А там уж и гуглить научитесь и книги читать и выберете чего-нибудь.
Ни в коем случае не нужно искать сразу работу. Хорошим людям ее потом придется переделывать.
Человек спросил с чего начать учиться. Я ответил.
C дает базу для последующего изучения других языков.
С дает полную свободу и позволяет творить лютую дичь.
Выше препод топит за Паскаль;)
И я с ним согласен, ученикам нужны жесткие рамки. Про Питон ничего не скажу.
Нам в институте давали одновременно ассемблер и Паскаль ( два разных предмета) на первом курсе.
IT-юмор
5.6K поста52.5K подписчиков
Правила сообщества
Не публикуем посты:
1) с большим количеством мата
2) с просьбами о помощи
3) не относящиеся к IT-юмору