Что учить новичку?
От: L.K. Марс  
Дата: 16.05.19 18:39
Оценка: 2 (1)
Не мне (я уже не новичок), а вообще.

Я тут предлагал учить что-то новое и перспективное. Типа Go или Rust. Чтобы к моменту, когда язык разовьётся, человек уже знал его на хорошем уровне. И успел пробиться "наверх" по "инженерной" иерархии.

Мне ответили, что надо учить Python, потому что есть куча вакансий по Python/SDET. Но, с другой стороны, в мире уже миллион опытных питонистов. А новичку придётся идти на позицию юниора. И вышестоящие позиции будут уже более-менее заняты. Новичок, скорее всего, так и останется на рядовой и сравнительно малооплачиваемой должности.

Да, и неужели требуется столько питоновских тестеров? Чем они так сильно заняты?
Re: Что учить новичку?
От: vsb Казахстан  
Дата: 16.05.19 19:22
Оценка: +6
Здравствуйте, L.K., Вы писали:

LK>Не мне (я уже не новичок), а вообще.


Если цель — заработать денег, надо начать с того, что пойти на hh.ru и посмотреть на вакансии в твоём городе. Ну или где ты там работать собираешься. Вот что сверху будет, то и учить.

LK>Я тут предлагал учить что-то новое и перспективное. Типа Go или Rust. Чтобы к моменту, когда язык разовьётся, человек уже знал его на хорошем уровне. И успел пробиться "наверх" по "инженерной" иерархии.


Rust не вариант. На него будут набирать людей с коммерческим опытом C++. Go — может быть, но не уверен, что на него везде есть спрос. Например у нас я не слышал ни про одну вакансию на Go.

LK>Мне ответили, что надо учить Python, потому что есть куча вакансий по Python/SDET. Но, с другой стороны, в мире уже миллион опытных питонистов. А новичку придётся идти на позицию юниора. И вышестоящие позиции будут уже более-менее заняты. Новичок, скорее всего, так и останется на рядовой и сравнительно малооплачиваемой должности.


Это не правильная логика. Если есть миллион опытных питонистов, значит есть спрос. Значит работодатели будут выбирать питон для новых проектов, значит спрос будет расти. Есть умирающие технологии, но питон к ним точно не относится. Вот дельфи учить я бы не советовал. Хотя его, наверняка, знает очень много людей.
Re: Что учить новичку?
От: LaptevVV Россия  
Дата: 16.05.19 19:41
Оценка:
Смотрите здесь: https://yandex.ru/company/researches/2019/it-jobs
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[2]: Что учить новичку?
От: L.K. Марс  
Дата: 16.05.19 19:45
Оценка:
Это не то. Я спрашиваю не о текущем рейтинге, а о том, что будет развиваться в перспективе. Т.е. (грубо говоря) о рейтинге через 3-5 лет.
Re[2]: Что учить новичку?
От: L.K. Марс  
Дата: 16.05.19 19:52
Оценка:
Дельфи знали (в РФ) т.к. в школе (да и в вузах) на информатике был Паскаль + был спрос на быстрое формоклепательство.

А Rust... ну, по идее, должен быть перспективным язык, помогающий дисциплинировать программистов, уменьшить количество косяков и сэкономить на тестировании.
Re[3]: Что учить новичку?
От: vsb Казахстан  
Дата: 16.05.19 20:28
Оценка: 3 (1) +2
Здравствуйте, L.K., Вы писали:

LK>А Rust... ну, по идее, должен быть перспективным язык, помогающий дисциплинировать программистов, уменьшить количество косяков и сэкономить на тестировании.


Rust это системный язык. Это уже сразу сильно ограничивает его область применения. Rust на текущий момент по сути экспериментальный язык. На нём начинают очень мало проектов, а поддерживают ещё меньше. Это ещё больше ограничивает область его применения. Грубо говоря в Москве будет 1000 компаний, пишущих на Java, 50 компаний, пишущих на C++ и из них 5 компаний будет начинать проект на Rust. Начинать проект должны хорошие опытные разработчики. Лет 5-10 опыта хотя бы. Очевидно это будут C++, у кого сейчас есть 5-10 лет коммерческого опыта на Rust? В общем моё имхо такое. В далёком будущем, ЕСЛИ Rust выстрелит, он может быть классным языком, за пределами системной ниши. Но это риск, ставить на него. За ним стоит только Mozilla, у которой у самой будущее, имхо, мутное. По сути компания одного продукта: Firefox, который с каждым годом теряет свою нишу.

В общем, чтобы Rust стал хорошим выбором для изучения, должно произойти следующее:
1. За ним должна встать более крупная компания. Хотя бы какой-нибудь Cloudflare.
2. Эта компания и многие другие должны написать много кода на Rust.
3. Должно пройти достаточно много времени, хотя бы лет 5 с текущего момента.

Взять тот же Go. За ним стоит Google. Это один из немногих разрешенных языков в самом Google и на нём написано много кода, поэтому бросать его Google не будет. Он существует достаточно давно, чтобы на типичные вопросы были типичные ответы. А в Rust сейчас даже на вопрос выбора библиотеки для http сервера нет однозначного ответа, с десяток каких-то библиотек разной степени тухлости.
Re[3]: Что учить новичку?
От: LaptevVV Россия  
Дата: 17.05.19 02:30
Оценка: 4 (1) +5
LK>Это не то. Я спрашиваю не о текущем рейтинге, а о том, что будет развиваться в перспективе. Т.е. (грубо говоря) о рейтинге через 3-5 лет.
Через 3-5 лет у него по идее должно быть достаточно мозгов, чтобы понять, что язык — это только инструмент.
Который "в руках", пока на нем пишешь.
А не пишешь — и забыл.
А основное — это понятия программирования, которые в любом языке практически одинаковые.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[4]: Что учить новичку?
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 17.05.19 07:48
Оценка:
Здравствуйте, vsb, Вы писали:

vsb>Rust это системный язык. Это уже сразу сильно ограничивает его область применения. Rust на текущий момент по сути экспериментальный язык. На нём начинают очень мало проектов, а поддерживают ещё меньше. Это ещё больше ограничивает область его применения. Грубо говоря в Москве будет 1000 компаний, пишущих на Java, 50 компаний, пишущих на C++ и из них 5 компаний будет начинать проект на Rust. Начинать проект должны хорошие опытные разработчики. Лет 5-10 опыта хотя бы. Очевидно это будут C++, у кого сейчас есть 5-10 лет коммерческого опыта на Rust? В общем моё имхо такое. В далёком будущем, ЕСЛИ Rust выстрелит, он может быть классным языком, за пределами системной ниши. Но это риск, ставить на него. За ним стоит только Mozilla, у которой у самой будущее, имхо, мутное. По сути компания одного продукта: Firefox, который с каждым годом теряет свою нишу.


В Интеле пишут на Расте.
Про системный язык и ограниченность не понятно:
1. Питон динамический язык — "Это уже сразу сильно ограничивает его область применения".
2. Java и C# языки со сборщиком мусора — "Это уже сразу сильно ограничивает его область применения", ничего системного не напишешь.
3. и т.д.

По-хорошему, надо выбрать язык в первую очередь современный, чтобы умень оперировать современными концепциями на любом другом языке. Поэтому рекомендую swift.
Про корпорацию, которая развивает язык — согласен. Поэтому рекомендую swift, за ним Apple (хотя она и успела кинуть OpenCL).
Язык должен быть статически типизированным и компилируемым. Поэтому рекомендую swift.
На языке должны писать кроссплатформенные приложения, в том числе и десктопные, и мобильные приложения, потому что тут грани смываются. Поэтому рекомендую swift.
Ну и на языке должны писать в модных областях. Поэтому рекомендую swift — Google начал двигать его для TensorFlow.
Re: Что учить новичку?
От: Pzz Россия https://github.com/alexpevzner
Дата: 17.05.19 08:23
Оценка: +1
Здравствуйте, L.K., Вы писали:

LK>Я тут предлагал учить что-то новое и перспективное. Типа Go или Rust. Чтобы к моменту, когда язык разовьётся, человек уже знал его на хорошем уровне. И успел пробиться "наверх" по "инженерной" иерархии.


Мне кажется, хороший программист может начать сносно программировать на любом языке, потратив на это 2-3 недели. Вот чтобы научиться писать красивый идеоматический код, действительно может потребоваться несколько месяцев (у некоторых, впрочем, этого вообще никогда не случается).

Поэтому выбирать, как мне кажется, надо не язык, а область применения своих усилий. Выбирать желательно из того, что самому интересно, и при этом не является адской маргинальщиной.
Re[5]: Что учить новичку?
От: vsb Казахстан  
Дата: 17.05.19 09:00
Оценка:
Здравствуйте, Nuzhny, Вы писали:

N>В Интеле пишут на Расте.


Какой процент хотя бы новых проектов начинается на Расте? Сколько в Intel вакансий на Rust (в сравнении с другими языками)?

N>Про системный язык и ограниченность не понятно


Смысл в том, что системное программирование это узкая область. Во-первых востребовано мало где, во-вторых вакансий мало. Помню, как в универе думал погрузиться в компиляторы. Хорошо, что вовремя отговорили. Был бы сейчас главный разработчик компиляторов из Нур-Султана :D

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

N>Про корпорацию, которая развивает язык — согласен. Поэтому рекомендую swift, за ним Apple (хотя она и успела кинуть OpenCL).
N>Язык должен быть статически типизированным и компилируемым. Поэтому рекомендую swift.
N>На языке должны писать кроссплатформенные приложения, в том числе и десктопные, и мобильные приложения, потому что тут грани смываются. Поэтому рекомендую swift.
N>Ну и на языке должны писать в модных областях. Поэтому рекомендую swift — Google начал двигать его для TensorFlow.

Может быть, про Swift почти ничего не знаю кроме того, что Apple в некоторых проектах его использует (хотя мне Objective C куда больше нравился, ну да ладно, это оффтоп).
Отредактировано 17.05.2019 9:01 vsb . Предыдущая версия .
Re: Что учить новичку?
От: Михaил  
Дата: 17.05.19 09:34
Оценка: 12 (1) +1
Здравствуйте, L.K., Вы писали:

LK>Не мне (я уже не новичок), а вообще.


LK>Я тут предлагал учить что-то новое и перспективное. Типа Go или Rust. Чтобы к моменту, когда язык разовьётся, человек уже знал его на хорошем уровне. И успел пробиться "наверх" по "инженерной" иерархии.


LK>Мне ответили, что надо учить Python, потому что есть куча вакансий по Python/SDET. Но, с другой стороны, в мире уже миллион опытных питонистов. А новичку придётся идти на позицию юниора. И вышестоящие позиции будут уже более-менее заняты. Новичок, скорее всего, так и останется на рядовой и сравнительно малооплачиваемой должности.


LK>Да, и неужели требуется столько питоновских тестеров? Чем они так сильно заняты?


Рекомендую то, к чему лежит душа:
Нравятся оформления сайтов — html, js, css. Затем подключить php, CRM. Если пойдет, то вникать во всякие ruby, go, и прочии бекендовские языки.
Нравится математика и машобучения — python
Нравятся мобилки — swift, objc, java
Нравится изучать, как это все устроено под капотом — c, c++, asm
Хочется упростить рутину, автоматизировать — bash
Нравятся деньги — предпринимательство, соц скиллы, навыыки управления людьми.

Поглядывать на новые технологии и языки, но не углубляться, не тратить черезчур много времени, пока они не стали мейнстримом.
Re[4]: Что учить новичку?
От: TMU_1  
Дата: 17.05.19 09:51
Оценка:
LK>>Это не то. Я спрашиваю не о текущем рейтинге, а о том, что будет развиваться в перспективе. Т.е. (грубо говоря) о рейтинге через 3-5 лет.
LVV>Через 3-5 лет у него по идее должно быть достаточно мозгов, чтобы понять, что язык — это только инструмент.


Это все хорошо, мантра правильная.
Вот только почему-то прямо тут в ветке пишут, что на тот же Rust предпочтут плюсовиков. С чего бы, язык же неважен?
Re[6]: Что учить новичку?
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 17.05.19 09:52
Оценка:
Здравствуйте, vsb, Вы писали:

vsb>Какой процент хотя бы новых проектов начинается на Расте? Сколько в Intel вакансий на Rust (в сравнении с другими языками)?


Пнятия не имею.

vsb>Смысл в том, что системное программирование это узкая область. Во-первых востребовано мало где, во-вторых вакансий мало. Помню, как в универе думал погрузиться в компиляторы. Хорошо, что вовремя отговорили. Был бы сейчас главный разработчик компиляторов из Нур-Султана :D


Ну, ты сравниваешь с совсем узкой предметной областью.

vsb>Может быть, про Swift почти ничего не знаю кроме того, что Apple в некоторых проектах его использует (хотя мне Objective C куда больше нравился, ну да ладно, это оффтоп).


Теперь ты знаешь, что не только Apple, но и Гугл. Вполне себе большие корпорации во вполне себе широких областях.
Re[5]: Что учить новичку?
От: LaptevVV Россия  
Дата: 17.05.19 16:12
Оценка:
LK>>>Это не то. Я спрашиваю не о текущем рейтинге, а о том, что будет развиваться в перспективе. Т.е. (грубо говоря) о рейтинге через 3-5 лет.
LVV>>Через 3-5 лет у него по идее должно быть достаточно мозгов, чтобы понять, что язык — это только инструмент.
TMU>Это все хорошо, мантра правильная.
TMU>Вот только почему-то прямо тут в ветке пишут, что на тот же Rust предпочтут плюсовиков. С чего бы, язык же неважен?
Ну, менее важен, чем опыт-навык РЕШАТЬ проблемы (а не создавать их).
Естественно, решить проблемы с помощью ЗНАКОМОГО языка — легче.
Язык — он как карандаш.
Пока учишься писать — это ТРУДНО.
Но научившись — инструмент почти не замечаешь.
Научившись водить, ты ж поедешь практически на любой машине.
Предпочтешь, конечно, на Бентли, но ведь и на жигулях вполне себе доедешь.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re: Что учить новичку?
От: wamaco  
Дата: 18.05.19 17:52
Оценка:
Здравствуйте, L.K., Вы писали:

LK>Не мне (я уже не новичок), а вообще.


LK>Я тут предлагал учить что-то новое и перспективное. Типа Go или Rust. Чтобы к моменту, когда язык разовьётся, человек уже знал его на хорошем уровне. И успел пробиться "наверх" по "инженерной" иерархии.


LK>Мне ответили, что надо учить Python, потому что есть куча вакансий по Python/SDET. Но, с другой стороны, в мире уже миллион опытных питонистов. А новичку придётся идти на позицию юниора. И вышестоящие позиции будут уже более-менее заняты. Новичок, скорее всего, так и останется на рядовой и сравнительно малооплачиваемой должности.


LK>Да, и неужели требуется столько питоновских тестеров? Чем они так сильно заняты?


Fluter. Язык Dart
Разрабатывать сможете для всего: десктоп, мобилки, вэб
Re: Что учить новичку?
От: jahr  
Дата: 23.05.19 20:41
Оценка:
Здравствуйте, L.K., Вы писали:


LK>Да, и неужели требуется столько питоновских тестеров? Чем они так сильно заняты?


Почему Питон? — https://felixit.blog/2018/08/04/pochemu-python-i-django/
Re[4]: Что учить новичку?
От: serj.e  
Дата: 29.07.19 07:14
Оценка:
vsb>RГрубо говоря в Москве будет 1000 компаний, пишущих на Java, 50 компаний, пишущих на C++

Толсто. Даже по Украине, плотно сидящей на дешевом уличном аутсорс–джанке, соотношение вакансий Java и C++ примерно 3:1. В Москве, где есть Яндекс с ЛК и т.д., где, на минуточку, проводят Highload++, подозреваю, что это соотношение будет перекошено в сторону плюсов. А может и не будет. Но не 20:1 же! Жир с монитора капает.
Re[5]: Что учить новичку?
От: vsb Казахстан  
Дата: 29.07.19 07:34
Оценка:
Здравствуйте, serj.e, Вы писали:

vsb>>RГрубо говоря в Москве будет 1000 компаний, пишущих на Java, 50 компаний, пишущих на C++


SE>Толсто. Даже по Украине, плотно сидящей на дешевом уличном аутсорс–джанке, соотношение вакансий Java и C++ примерно 3:1. В Москве, где есть Яндекс с ЛК и т.д., где, на минуточку, проводят Highload++, подозреваю, что это соотношение будет перекошено в сторону плюсов. А может и не будет. Но не 20:1 же! Жир с монитора капает.


Ну очевидно же, что я от балды написал цифры. Например в Казахстане я вообще ни одной компании не знаю, которая бы писала на C++, а на Java, C#, PHP — полно. Судя по hh.ru соотношение в Москве будет 2:1. В Перми на 121 Java 5 C++, тут уже близко к моим прикидкам.
Re[2]: Что учить новичку?
От: Mihas  
Дата: 29.07.19 07:56
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>Мне кажется, хороший программист может начать сносно программировать на любом языке, потратив на это 2-3 недели.

Мой рекорд: утром приехала делегация, начальство приказало до обеда написать что-то для приезжих. Уложился
Re[2]: Что учить новичку?
От: serj.e  
Дата: 29.07.19 08:08
Оценка:
М>Хочется упростить рутину, автоматизировать — bash
Вот этот вот ископаемый копролит как раз забыть бы поскорее. (Для скриптов, конечно, однострочники не в счет). Утилитарные задачи вида "дернуть внешний процесс в несколько параллельных экземпляров; map-reduce'нуть результаты; дернуть https; разобрать ответ; стянуть код из гита; компильнуть" идеально ложатся на гораздо более удобный ruby. Cocoapods, Homebrew не дадут соврать. Питошка тоже подойдет, кому как удобнее.
Re[5]: Что учить новичку?
От: serj.e  
Дата: 29.07.19 08:46
Оценка:
N>Поэтому рекомендую swift
Если под iOS/Mac он хоть и с оговорками, но более-менее готов к использованию: с нехилыми тормозами и подвисаниями xcode на большой свифтовой кодовой базе, с постоянными отвалами навигации и автодополнения, с ужасной работой lldb, с неимоверным временем компиляции все-таки можно ужиться, то кросс-платформенный Swift это пока что комок глюкалова, с очень сильно отличающимся поведением между iOS/Mac и Linux, т.к. рантаймы разные. Впрочем, если готовы сами править Foundation когда dispatch ведет себя не так, готовы получать информацию о swift package manager из исходников, т.к. докуметация не отражает реальности, готовы бороться с непонятными утечками ресурсов, проявляемыми только под Linux, то почему бы и нет. Я знаю ребят, которые после годового пердолинга с тулчейном довели его до удобоваримого состояния и портанули немалый объема кода с iOS/Mac на Linux и Android.

N>за ним Apple (хотя она и успела кинуть OpenCL).

Ага, знаем мы, как именно за ним Apple и в какой позе. Всем втюхивает, а собственныe iOS и macOS пишет по большей части по старинке. Да, swift'a все больше и больше от релиза к релизу, но это всё ещё следовые концентрации.

N>Язык должен быть статически типизированным и компилируемым.

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

N>На языке должны писать кроссплатформенные приложения, в том числе и десктопные, и мобильные приложения.

Даже более молодой Flutter/Dart и то, при беглом осмотре, более готов к такому сценарию использования. (Поправьте, если я конкретно не прав и там тоже есть килотонные подводные камни). Как бы да, и на Свифте можно привести удачные примеры сложных пользовательских кросс-платформенных UI–приложений, но зная, через какие боль и страдания они делались, никому бы не порекомендовал.

PS. К слову, Objective C опять обогнал Swift в рейтинге Tiobe: https://www.tiobe.com/tiobe-index/
Re[6]: Что учить новичку?
От: serj.e  
Дата: 29.07.19 08:49
Оценка:
Здравствуйте, serj.e, Вы писали:

А вообще да, хороший язык. Наконец-то застабилизировали ABI, а это значит, что и с прочими детскими болезнями есть шанс справиться
Re[2]: Что учить новичку?
От: jamesq Россия  
Дата: 29.07.19 10:49
Оценка:
Здравствуйте, Pzz, Вы писали:

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


К сожалению, не всегда что интересно тебе — востребованно на рынке. А вот то что востребованно, и хорошо оплачивается — оказывается той ещё гадостью.

А ещё — язык это только часть всей истории. Дальше нужно выбирать предметную область; изучать библиотеки.
Вот две соседние вакансии перед глазами: язык один, но выбрав одну, и если пойти по её тропе, перейти на другую — это значит вложить ещё уйму усилий на изучение новой области.
Отредактировано 29.07.2019 10:54 jamesq . Предыдущая версия .
Re[4]: Что учить новичку?
От: SergeyIT Россия  
Дата: 29.07.19 20:42
Оценка: +1
Здравствуйте, LaptevVV, Вы писали:
...
LVV>А основное — это понятия программирования, которые в любом языке практически одинаковые.
Всё правильно. Но вот знание предметной области — это во многих случаях очень большой плюс...
Сейчас некоторые пишут сложные программы так, что пользоваться невозможно... очевидно, что создатели сами не пользуются своими "произведениями".
Извините, я все еще учусь
Re: Что учить новичку?
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 29.07.19 20:44
Оценка:
Здравствуйте, L.K., Вы писали:

Смотря где. В Великобритании новичёк не в почете


LK>Не мне (я уже не новичок), а вообще.


А вот тут просто за тебя порадовался
Маньяк Робокряк колесит по городу
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.