Вопрос к программистам. Посоветуйте, как вкатиться в IT.

Предисловие:

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

Но вот беда. Я полный 0 в программировании. У меня был турбо паскаль в школе и базовый С# в универе. Естественно я уже все давным давно забыл.

Кроме того, я человек больше творческий, чем математик.

Теперь суть:

Посоветуйте, какой язык программирование мне изучить.

Вводные:

-Полный 0 в программировании.

-Есть бюджет на курсы, лишь бы не в пустую потратить.

-Не очень много свободного времени. Примерно 3 часа в день. Так как есть основная работа.

-Мотивирован. Но нет понимания, в какую область хочу идти.

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

Послесловие:

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

Естественно я люблю игры. Как у любого уважающего себя дтфера, у меня есть идея собственной игры, суть такова… Если бы я смог кодить свою игру, было бы круто. Но и сайты делать - круто. И программы/приложения писать - круто. Если есть какой-то язык, который объединит все это или будет хорошей Базой, то такой в приоритете.

2.9K2.9K показов
657657 открытий
35 комментариев

Судя по всему это тебе не надо)

Ответить

Почему? Считай что у меня есть свободный скилпоинт, который я могу вкинуть в новый навык.
Я могу просто чилить после работы, играть в игрули. А могу попробовать взяться за что-то новое для себя.
Не получиться, потеряю только время (может деньги, но я не из нуждающихся), которое я и так бы убил на что-то менее полезное, например прокрастинацию в инете. Получится, то будет новый навык, который, возможно, поможет как-то реализоваться. Уж точно не будет лишним.

Ответить

Всякое говно вроде скиллбокса сейчас такое

Ответить

JavaScript
Курсы, например, с udemy по front end (раз уж ты больше творческий)

Ответить

Мотивирован. Но нет понимания, в какую область хочу идти.

Вот это и советую решить. Найти понимание в какую область ты хочешь идти. Не торопись с выбором.

Ответить

Если есть какой-то язык, который объединит все это или будет хорошей Базой, то такой в приоритете

В принципе, безоговорочно тут сказать нельзя. Такого нет.

Если хочешь игры, то твой goto язык это C# для юнити, и C++ для анрила. Влиться будет легче потому что материалов, – полинтернета. Особенно по юнити. Плюс это визуальная среда: к моменту когда нужно будет код писать, ты уже половину игры сделаешь кнопочками. Но лично мне такое не нравятся. Ни юнити, ни анрил. Причины не только «мои», они весьма объективны, и заключаются в том, что эти гигантские движки накладывают нехилый оверхед. Так что не советую на самом деле.

Есть чистый C#/C++, без игровых движков. Так игры писать тоже можно. Но очень сложно. По итогу то что ты будешь делать, это и будет движок, просто минимальный движок где только то что тебе нужно. Отсюда появляются оптимизация и скорость, – в сравнении с юнити-анрилом. Некоторые крупные компании по сути идут этим путём, и делают всякие GTA5. Для инди-разрабов же это сравнимо с самоубийством. Так что особо не вариант. Помимо игр эти языки можно использовать для любых бинарников, в отличие от юнити-анрилов. Но бинарники на них не имеет смысла делать, в следующем абзаце поймёшь почему. Так что в целом, не советую данный вариант.

Если хочешь какие-то крутые бинарники, хотя игры на нём тоже можно писать, то твой выбор: Rust. Но ты скорее всего не хочешь просто бинарники. Такого хотят обычно уже искушённые программисты. Системные библиотеки, просто библиотеки, cli-утилиты, и даже Linux начал несколько лет назад принимать патчи написанные на Rust. Ну и Rust не для новичков. Так что именно тебе сейчас не советую его изучать, хотя он крутой.

Ещё есть питон… Специалист во всём и ни в чём: может всё одинаково плохо. Но есть плюс, на нём всякие нейро-эксперты свои библиотеки много писали, так что есть много нейро-библиотек которых не сыщешь для других языков… Сыщешь, но у питона там все самые новые фишечки нейросетей обычно, самые последние модели. Главенство питона в этой сфере начало сходить на нет когда TensorFlow начали предоставлять SDK отличные от питона. Скорее всего тренд продолжиться, так что не обязательно изучать питон если хочешь в нейросети. Остаётся последний плюс питона, это его простой синтаксис, – поэтому новички его так любят. Но например в JavaScript тоже простой синтаксис. Другое дело что JavaScript форсит сразу на первых порах пакетные менеджеры и прочие штучки которые придётся изучить. В питоне они тоже нужны но форсят их не в каждом первом туториале, поэтому есть обманчивое ощущение что питон легче. На самом деле оба языка одинаково легки. В остальном же… Питон, – это просто медленный язык без статически определимых типов, из-за чего крайне не удобен для профессионалов. Не рекомендую.

Если хочешь веб, то тут без вариантов: TypeScript. Но для начала можно просто JavaScript, а потом доизучить TypeScript. Не без оговорок, эти языки могут всё вместе взятое тобой перечисленное. Как питон, только лучше. Производительнее. Сам бинарник на нем настолько же оптимизированный как на Rust не напишешь, так что операционную систему на нём смысла писать нету, но в остальном он реально хорош. Под десктоп скомпилить программы тоже можно. Можно даже игры писать, хотя с играми уже мало-помалу начинаются проблемы… Там проблема что веб-технологии не позволяют достичь в играх фпс выше 60 чисто технически, но тут виноват не язык а браузеры из-за своего ограничения, – движки которых являются единственным способом вывода графики для этого языка, даже если ты отдельное десктопное приложение компилишь. Скажу по-секрету: это ограничение можно обойти (но непросто). Ещё проблема что нету возможности отправлять пакеты по UDP, но на самом деле тоже есть, просто мало кто об этом знает (потому что тоже непросто). В любом случае, это я уже ушёл слишком в детали, до которых ты скорее всего даже не дойдёшь. В своём базовом применении как я уже сказал это язык для веб-приложений и веб-серверов. Там он заходит на ура. Порог вхождения намного ниже чем у Rust, – сам синтаксис JavaScript прям очень лёгкий. Но язык оброс большим количеством тулинга вокруг языка, который везде абсолютно сразу в новичков пихают, и изучение обучение становится неподъёмным. Так что с такой стороны: тоже не рекомендую. Но с другой стороны: полагаю это больше всего тебе подходит.

Ответить

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

Ответить