2020.07.20白小龙 Добрый день, связи с последним событиями, захотелось поменять профессию, очень хочется попробовать себя в программирование , да знаю понятие очень обширное. Поэтому хотелось бы выбрать один язык и сфокусироваться на нем. Если кто-то работает в этой сфере, поделитесь вашим опытом. Какой язык наиболее ''хлебный" и возможно освоить ''азы'' в течении 1-2 года.
самое востребованное это web-разработка.
Тут три пути -
1) во фронтэнд (js + один из трех фреймворков типа react/vue/angular, лучше первые два, vue попроще чем react, но реакт востребованнее немного, лучше оба уметь)
2) бэкэнд - самое популярное это php + mysql как бд, еще два популярные тут node.js и python. Опять же тут тоже надо уметь пользоваться фреймворками, для php это laravel/symphony в основном, для python - django, и еще flask, для Node.js - это как правило express.
3) full-stack - и фронт и бэк, но как правило тут нужно больше понимать в бэке а на фронте уметь пользоваться js-фреймворками типа react/vue
ну и понятно, что всем трем надо понимать связку html/css, фронтендерам это нужно понимать глубже, то есть пользоваться css-препроцессорами типа less/sass, всякими grunt/webpack для обработки и компиляции и бог знает чего еще, figma - для рисования и верстки дизайна, адаптивность/межбраузерность.
еще желательно быть знакомым с typescript (всем трем).
Чтобы все это освоить достаточно курсов на ютюбе (бесплатно), udemy (ок. 12 долларов за курс), пара книг, например, из серии head first..
Непосредственно перед трудоустройством нужно будет подучить простейшие алгоритмы.
за 1-2 года можно устроиться джуном.
а, ну и желательно знать инглиш
Касательно @@внокодеров - все начинают с этого, никто сразу не становится супер-пупер программистом, как и в любой другой профессии здесь всегда меньше профи, и много начинающих.
ChinesePlus.club все могут делиться текстами и видео на китайском
чуть не забыл, для программирования нужно свободно владеть английским - почти вся инфа на нем
если интересен список технологий для веб-разработки в 2020 - он тут Brad Traversy Web Development 2020+
По большому счету не важно, какой язык программирования. Программист - это образ мышления. Понять задачу, которая стоит перед сервером/компьютером/телефоном/приложением, и найти корректное программное решение, с помощью которого устройство будет справляться с задачей. Желательно, чтобы решение было максимально компактным, самодостаточным, понятным для других и в какой-то степени изящным. Если есть это, то не проблема перейти с одного языка на другой. Понятно, что у каждого языка есть свои прелести и свои трудности. Но основы общие - алгоритмы.
Так что можете начать с Phyton, который сейчас больше всего позиционируется, как доступный к обучению (как когда-то Basic или Pascal). Если увидите, что легко справляетесь с задачами, то тогда выбирайте какую-то определённую сферу и углубляйтесь в языки, которые используются там. Если это создание сайтов, к примеру, то тогда это HTML, PHP, JavaScript, MySQL. Если приложения для телефонов/компьютеров, то набор языков будет другим. Если серверная начинка, то третьим. Это уже вам лучше на профильных форумах изучать. А может вы на какой-нибудь офисной работе будете делать крутые таблицы Excel, быстро обрабатывать массивы данных в Access, используя навыки программирования в формулах и VisualBasic - с этим тоже можно получить поинтов от работодателя, хотя и не будете работать программистом.
советуют python и Java. Это отличные языки, но с ними сложнее найти работу новичку без опыта и проф. образования. Python отличный язык, довольно простой в усваивании, но посмотрите вакансии на hh - джунов почти нет, а если есть, то это какая-то ерунда.
С Java найти работу еще сложнее - это язык для серьезных компаний с серьезным продуктом, скорее всего игры и сайтики на нем вы делать не будете (хотя можно конечно), такие компании обычно не нанимают абсолютных нулей (типа нас). Java классный язык, но новичку найти работу будет сложно, нужно будет серьезно заниматься и сделать хороший самостоятельный проект.
При этом js - и простой типа python, и популярный сейчас, и без него никуда в web-программировании, которое тоже на спад не пойдет ближайшее время. При этом сейчас js - это не только front, но и бэкэнд благодаря node.js.
С вебом будет проще (лучше понимать и js, и php, с ними больше всего вакансий)
upd: в дальнейшем потом перейти с js на пайтон проблем особых не составит, если нужда будет
2020.07.20Video Vocabulary Начните с javascript и Vuejs, где-то в ютубе есть видео про инглиш тичера, который переквалифицировался в frontend разработчика. Frontend вообще easy, там математика и алгоритмы не нужны.
фронтэнд сегодня не проще бэка, там тоже кучу всего нужно знать и уметь, настолько много, что голова кругом идет.
Насчет математики и алгоритмов - что на бэке, что на фронте - может и понадобиться, а может и нет, в зависимости от задач, но новичка это беспокоить не должно в целом так как если и придется что-то делать математическо-логическое, то знаний со школы хватит, так как сложное ему как джуну не дадут просто
Thinking in C++ Bruce Eckel
The C++ Programming Language Bjarne Stroustrup
The C Programming Language Kernighan & Dennis M. Ritchie
( все три есть на русском, отчего они нисколько не потеряли )
2020.07.26jia Наверно, я зря простой как табуретка ассемблер в список языков не добавил.
Не, надо язык машин Тьюринга. Всего четыре команды: "прочитать из ячейки", "записать в ячейку", "сдвинуться на одну ячейку влево", "сдвинуться на одну ячейку вправо". Ни операторов, ни классов, ни функций - лепота!
js есть странности, но чтобы с ними смириться и начать работать уйдет столько же времени сколько и на изучение других языков достаточно глубоко (а скорее всего быстрее). В любом случае чтобы найти первую работу и побыстрее стать джуном - с этими странностями коснешься только по верхам.
насчет java//c#/c++/c - это все очень круто, но, мне кажется, начинающему без опыта с этими языками работу будет найти сложнее в разы, чем с веб-разработкой, хотя и с ними люди устраиваются, конечно (хотя как правило хотя бы с тех образованием)
2020.08.03snum23 js есть странности, но чтобы с ними смириться и начать работать уйдет столько же времени сколько и на изучение других языков достаточно глубоко (а скорее всего быстрее). В любом случае чтобы найти первую работу и побыстрее стать джуном - с этими странностями коснешься только по верхам.
насчет java//c#/c++/c - это все очень круто, но, мне кажется, начинающему без опыта с этими языками работу будет найти сложнее в разы, чем с веб-разработкой, хотя и с ними люди устраиваются, конечно (хотя как правило хотя бы с тех образованием)
лучше быть тестером java//c#/c++/c, чем *кодером на js?
В веб-разработке можно стать классным специалистом и без знания языков программирования
и банков данных, клиентская сторона пользовательского интерфейса и без того сложна и давно уже стала вещью в себе, жаль, что владельцы фирм из жадности и по глупости мешают друг с другом фронтенд и бэкенд. C SAP и 1C аналогичная ситуация, но там в бэкенд суются много меньше, чем в случае с веб.
Пользуясь случаем, добавлю книжку в список:
Рао С. - Освой самостоятельно C++ по одному часу в день, 8-е издание ( последнее, очень сильно переработанное издание Либерти Джесс. Освой самостоятельно С++ за 21 день, индус был долгое время соавтором Либерти )