С чего начать путь в ИТ?

Привет. Мне 21 год, и я не имею никакого опыта в программировании. Закончил один из лучших московских вузов по гуманитарной специальности, но разочаровался и ищу новые пути.

Хочу переквалифицироваться в ИТ, начать изучать JavaScript или C++.

Какие программы, курсы, книги посоветуете, с чего начать? Какой язык легче и перспективнее? Желаемая сфера деятельности — разработка приложений. Буду благодарен за любые комментарии.

0
170 комментариев
Написать комментарий...
Alex Shlenski

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

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

После этого уже можно учить структуру и функции операционных систем.

Затем пойдёт теория компиляции. Надо понимать как компилятор парсит сорсы и собирает объектники, и как они компонуются в исполняемые модули,и как ОС эти модули загружает.

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

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

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

Только после этого имеет смысл учить какую то платформу, то есть джаву с её библиотекой классов, или PHP, или .Net или что угодно.

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

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

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

Некоторым людям относящимся к подвиду "ламер непингуемый" лучше оставаться гуманитариями навсегда. В процессе обучения способность к освоению профессии проявит себя довольно быстро. Или не проявит.

И таки да, я начал карьеру программиста в 30 лет. Сейчас мне 62, работаю по специальности, а до пенсии ещё 5 лет пахать. Это Америка :)

Ответить
Развернуть ветку
Anton Chukanov

Был уверен, что это шутка такая, пока до последних абзацев не дошел

Ответить
Развернуть ветку
Alex Shlenski

Шутки бывают разные, но с некоторыми вещами шутить непозволительно.
Я так понимаю, что ex-USSR ещё не построил капитализм как в наших америках, но уже скопировал у нас самую неприятную американскую традицию - непокобелимую уверенность в ненужности фундаментального образования и академических знаний. Быстрее и легче выучить несколько обезьяньих трудовых операций, которые пока в тренде, чтобы быстрее ощутить шелест бабок! 
СССР был силён именно тем что серьёзное академическое образование получали массы, причём бесплатно. Другое дело, что в этом варварском государстве эти специалисты и их знания использовались варварски, но это уже совсем другая тема.

Ответить
Развернуть ветку
Anton Chukanov

Не нужен фундамент, чтобы построить сарай.
Не нужно первым в своей жизни зданием строить небоскреб.

Ответить
Развернуть ветку
Alex Shlenski

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

Ответить
Развернуть ветку
Anton Chukanov

У нас есть гипотеза (!), что человеку может понравиться ИТ. Зачем ему инженером становиться сразу? Пусть хоть что-то попробует сделать, а там можно будет и фундаментальные знания получать, если пойдет. А если не пойдет, то и ладно, не очень дорого вышла затея.

Ответить
Развернуть ветку
Alex Shlenski

Не понимаю, зачем человеку бросать специальность, по которой получен универститетский диплом и работать подмастерьем в незнакомой ему отрасли, но ладно. Джизус Крайст тоже сперва и плотничал, и рыбку ловил, пока не решил стать проповедником :)

Ответить
Развернуть ветку
167 комментариев
Раскрывать всегда