Дисклеймер: данный текст не рекомендуется к прочтению детям до 13 лет (для них должна быть установлена отдельная политика конфиденциальности), пенсионерам, учащимся средних классов, людям со слабым психическим здоровьем, любителям VBA и языка АЛГОЛ, а также беременные женщины.
Все изложенное является личным мнением неадекватного автора и не представлено здесь с целью посеять раздор среди приверженцев статической и динамической типизации.
Поехали: новый поток().
start()
Честно говоря, эта статья назревала уже давно, потому что в последнее время я постоянно натыкаюсь на дискуссии, холивары и тому подобные статьи, где авторы и участники в меру своего понимания выдвигают различные гипотезы в качестве ответа на возникший вопрос.
вопрос в заголовке.
И весь их смысл сводится к той же путаной аргументации, что и витиеватое предложение, написанное выше.
Я прошел долгий путь от сперматозоида до программиста, от подростка, любящего Паскаль и Windows 3.11, до человека, который не любит ничего, кроме роллов и терминала.
Итак, сейчас я вам все объясню и, возможно, даже покажу несколько фотографий.
Идти.
Итак, какой язык программирования выбрать?
Глупость всех подобных вопросов в том, что в вакууме нельзя стать условным сферическим программистом.Сегодняшний программист — это не дискретный математик прошлого, для которого программное и аппаратное обеспечение второстепенны.
В большинстве случаев программист теперь является мастером, работающим в рамках текущего «окна» технологий.
Более того, это «окно» движущегося экипажа, за которым вы бежите.
Технологии постоянно меняются, и мы вынуждены, как Алиса Кэрролла, бежать, чтобы оставаться на месте.
Возьмем, к примеру, мой любимый Google: не успеешь разобраться с одним Android API, как половина функций уже устарела, да еще и гайки закручивают… Хм, да-да, статья похоже для новичков, ну давайте разбираться.
Во-первых, вам еще предстоит определиться, чем именно вы хотите заниматься? Регион, ну хотя бы примерно?
Ты вообще ничего не понимаешь?
Начните изучать алгоритмические проекты.Ветви, циклы, структуры данных, блок-схемы.
Очень помогает перенос (перенос, а не копипаст из Википедии!) алгоритмов и блок-схем на реальный язык программирования.
Какой язык вам следует выбрать в первую очередь, если вы хотите заложить фундамент?
В принципе, кто угодно.Так как вам просто нужно научиться писать простые программы, понять, что такое переменные и операторы, изучить классические алгоритмы, такие как поиск по максимуму, сортировка, бинарный поиск и т. д. Далее займитесь ООП и структурами данных, потому что вас спросят на интервью, Чем вектор отличается от списка? Но что, если вам нужен язык? для прикладных задач ? И ты не хочешь стать программистом.
Может быть, вы учёный, которому нужно разбирать текстовые файлы с цепочками ДНК, или инвестор с идеей написать торгового робота.
Здесь я бы порекомендовал Python, да простят меня поклонники других языков.
Python — это язык с ошеломляющими возможностями, но при этом с низким порогом входа.
Новичкам даже поначалу кажется, что это какой-то легкий, «обучаемый» язык (пока не начнешь тыкать их в сопрограммы и функционал).
Хорошо, ты говоришь, но куда идти дальше ? Не просто питон.
? Конечно, нет. Куда тебя тянет? Веб? Рабочий стол? Скрипты? Системный уровень? Мобильный телефон? Вам, уважаемый, решайте, универсальных решений не существует! Мне нравится создание сайтов ? Ну давайте я тут напишу как попугай: html, javascript и иже с ними (там же потихоньку таятся питон с джанго и некоторые другие) Вам нужны надежные веб-сервисы? PHP, node.js, Ruby, Java и тот же Python. Хотите быть ближе к оборудованию и операционным системам? Возьмите в руки C/C++ (только не отстрелите себе ногу и не порежьтесь, хотя все в гипсе ходили).
Кстати, я бы посоветовал всем программистам хотя бы разобраться в основах C/C++ и базовых классах из STL, знаете, это помогает потом посмотреть на GC другими глазами.
Если тебе на голову упала железяка — учи ассемблер.
Вы хотите писать сценарии, парсить, майнить, работать с большими данными, строить модели, писать ботов, администрировать ОС и многое другое? Возьмите уже озвученный Python3+.
Если вы больше работаете с данными, вы также можете взять R. Мечтаете написать десктопное приложение? Здесь ни о чём! Хотя бы Дельфи возьми! Просто шутка, конечно.
Тут нужно смотреть, под какую систему писать, и нужна ли кроссплатформенность.
Например, код Python или Java будет переносимым.
C/C++ придется компилировать отдельно для каждой платформы.
Хотите изучить ядро Java? Итак, вы уже знаете, зачем вам Java. Не знать? Как мне теперь объяснить тебе, зачем тебе это нужно? Вы видели воздух? Тем не менее, без этого жить нельзя.
:) Конечно, есть модные вещи, Котлин, например.
Классная штука, этот язык убил моего старого друга по прозвищу НП?, ну и убил меня - ранил! Я просто не понимаю, как это нормально, что люди, не знающие java, ее изучают? Нет, «Hello world» пишется легко и без Java, но что дальше я не знаю.
Может быть, вы решили писать игры? Есть много готовых конструкторов, типа Unity3D, а также двухмерных движков, обычно сразу для кучи платформ.
Посмотрите там сами: C#, Java и т.д. И все это сверху отшлифовано знанием различных протоколов передачи данных, операционных систем, фреймворков, шифрования и криптографии, авторизации и аутентификации, XML, JSON, технологий баз данных, защиты приложений, версий.
системы управления и многое-многое другое.
Сейчас я открою вам самый большой секрет, как стать программистом: программируйте! Что-либо! Пишите программы даже тогда, когда это никому не нужно.
Пишите, потому что это нужно вам, а не кому-то другому.
Постоянно сталкивайтесь с некомпетентностью, заполняйте эти пробелы и снова сталкивайтесь с новыми.
И так до тех пор, пока в вашей голове не хватит памяти во всех возможных кэшах.
Как еще можно ответить на вопрос: «Какой язык мне выучитьЭ» Очевидно, тот, о котором вы собираетесь говорить.
С уважением, «Двард Кох».
преподаватель международной школы информационных технологий и кибербезопасности HackerU Теги: #Разработка мобильных приложений #Карьера в IT-индустрии #программирование #карьера #разработка #c++ #Функциональное программирование #карьера программиста #языки программирования #python #java #
-
Презентации Google – Выстрел В Молоко
19 Oct, 24 -
О Мелочности Богатых
19 Oct, 24 -
Рунет Завис Из-За Проблем В Яндекс.директе
19 Oct, 24 -
Бесплатные Книги
19 Oct, 24 -
Мартен Микос Уходит Из Sun Microsystems
19 Oct, 24 -
10 Заповедей Великого Покорного
19 Oct, 24