Что можно делать с помощью программирования
Перейти к содержимому

Что можно делать с помощью программирования

  • автор:

Обзор языков программирования

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

Программирование – это владение компьютерным языком. Программист дает команды на языке компьютера, выстраивая их в определенную последовательность – алгоритмы. Но не существует какого-то одного общего для всех языка программирования. С каждым днем их количество увеличивается. Как же разобраться во всем этом разнообразии и какие языки вообще существуют? Попробуем ответить на эти вопросы в нашей статье.

В первую очередь при выборе языка стоит определиться с той сферой, где вы планируете его использовать. Самые распространенные на сегодняшний день области применения компьютерных языков – это веб-разработки, мобильные приложения и компьютерные игры. Но это не значит, что стоит не обращать внимание на другие сферы. Специалисты узких специальной тоже бывают очень востребованы. Поэтому мы рассмотрим различные языки в рамках тех областей, где они используются.

Фронтенд

Фронтенд – это все, что браузер может читать, выводить и запускать на экран. Сюда можно отнести HTML, CSS и JavaScript. По сути HTML и CSS не являются языками программирования. Они отвечают лишь за то, как будет выглядеть сайт. HTML говорит браузеру, каково содержание страницы, а CSS – как отражать элементы на этой странице. JavaScript – главный язык фронтенда. На сегодняшний день это один из самых популярных языков программирования. Он отвечает за интерактивность и динамически меняющуюся информацию на страницах сайта.

Изучить эти языки можно на курсе Polycent «Сайтостроение и веб-дизайн».

Бэкенд

Бэкенд или веб-разработка – это все, что работает на сервере, а не в вашем браузере. Для этого используют различные языки программирования. Java (не путать с JavaScript) используют миллионы разработчиков по всему миру. Это высокоуровневый объектно-ориентированный язык программирования. Используется в сетевой архитектуре, встраиваемых устройствах и других вычислительных приложениях. Популярный сегодня Python уступает Java в скорости выполнения, но выигрывает в объеме кода. Может использоваться для задач по автоматизации и анализу данных. Имеет понятный синтаксис и понятен для новичков в программировании. Популярный и легкий в освоении PHP используют для таких соцсетей, как Facebook, «ВКонтакте», а также Википедия. Это скриптовый язык – с открытым исходным кодом. Он создавался специально для веб-разработок, а его синтаксис прост в изучении.

Познакомиться с языком Python можно на курсе Polycent «Программирование Python».

Мобильные разработки

На сегодняшний день мобильные приложения различаются по языкам программирования для смартфонов на основе Android и iOS. Android приложения пишут на Java и иногда на совместимых с ним JavaScript и HTML. Разработка приложений на Java отличается от веб-разработки на этом языке, но все же тем, кто им владеет, не придется начинать с нуля.

Мобильные устройства Apple используют оперативную систему iOS. Для их приложений используют два языка – Swift и Objective-C. Objective-C был первым языком для разработки iOS приложений. Это одна из версий языка C. Язык Swift появился только в 2014 году. Он прост для освоения, если вы новичок в программировании. Но применять свои знания вы сможете только для разработки iOS и macOS. Недавно в Swift появилась «детская» версия языка – Swift Playgrounds, рассчитанная на обучение программированию малышей. Познакомиться с языком Swift можно на курсе Polycent «iOS APP Creator».

Разработка игр

Игры сейчас чаще всего программируются на языке C# или создаются на популярном и удобном в использовании движке Unity. C# является расширенной версией языка C с важным дополнением в виде объектно-ориентированных возможностей. Unity – это инструмент для разработки двухмерных и трехмерных игр и приложений, которые могут работать более чем с 20 различными операционными системами. Познакомиться с этим языком можно на курсах Polycent «Программирование C#».

Научные вычисления

Для научных вычислений чаще всего используют языки C++ и Java . C++ также является одним из самых популярных в мире языков. При помощи программного кода этого языка можно делать различные арифметические операции. Его можно использовать для моделирования и расчётов.

Другие компьютерные языки

Список языков для программирования постоянно растет. Постараемся перечислить оставшиеся популярные языки.

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

Logo . Это один из первых языков, разработанных для обучения программированию. До сих пор он известен. При помощи компьютерных команд дети программировать движения черепашки.

Scala . Это «улучшенная» версия Java. Этот язык подойдет начинающим программистам и уже практикующим Java разработчикам, которые хотят повысить эффективность своей работы.

Scratch . Язык программирования, созданный для обучения детей в игровой форме. Блоки выстраиваются в программе как разноцветные кубики LEGO.

XML . Это структурированный язык для разметки, предназначенный для чтения не только компьютером, но и человеком.

Ruby . Это динамический язык программирования с открытым кодом. Он обладает простым синтаксисом. Часто используется для веб-программирования.

Julia . Это относительно новый язык программирования. Он прост как Python, но менее популярен, потому что у него специфическая сфера применения – математическая обработка данных. Он совместим с языком C.

Hack . Это язык, разработанный специально для Facebook. Язык похож на PHP, обладает статической типизацией, отсутствием компиляций, что повышает безопасность и скорость работы.

Pixie . Этот язык еще находится в стадии разработки. Разработчики проводят аналоги с языком Lisp, который подходит для общего использования и для сценариев командной строки. Синтаксис позаимствован у функциональных языков, в частности – Clojure.

Ring . Это мультипарадигмальный язык с динамической типизацией для императивного, процедурного, объектно-ориентированного, функционального и метапрограммирования в связке с C/C ++ и отдельно.

Самые необычные языки программирования

INTERCALL . Это один из старейших языков программирования, созданный студентами в качестве пародии на существующие языки. Несмотря на это, он позволяет делать такие же вычисления, как и любой другой язык. Из необычного, например, знак равенства «=» называется «половина решётки». А некоторые команды звучат как «уйди», «забудь» и «пожалуйста, воздержитесь от вычислений».

Whitespace . Переводится как «пробел». Язык, созданный 1 апреля 2003 года, поначалу воспринимался как шутка. В нем используются только непечатные символы – пробел, табуляция, символ перевода строки. Благодаря этому текст программы Whitespace можно скрыть в исходниках другой программы.

Chef . Как можно догадаться из названия, написания программ на этом языке похоже на приготовление блюд по рецептам. Переменные названы в честь продуктов питания. Операции звучат как «смешивание», «размешать» и тд.

Примечание: Разнообразим обычные уроки программирования для детей играми, проектами и работой в команде. Это увеличивает интерес и мотивацию ребёнка к обучению. Scratch программирование, проводимое в нашем центре, подходит для школьников возрастом от 9 до 11 лет.

Суть языков программирования: для чего они нужны

Что это такое? Суть языков программирования заключается в их главном предназначении – коммуникация между машиной и человеком посредством простого и понятного кода. Они пришли на смену нулям и единицам, перфокартам и перфолентам.

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

  1. Суть языков программирования
  2. Как появились языки программирования
  3. Как «работают» языки программирования
  4. Развитие и забвение языков программирования: почему это происходит
  5. 6 современных и востребованных языков программирования

Пройди тест и узнай, какая сфера тебе подходит:
айти, дизайн или маркетинг.
Бесплатно от Geekbrains

Суть языков программирования

Языком программирования (ЯП) называют определенную систему знаков и символов, предназначенную для написания компьютерных программ. Данная знаковая система подчинена различным правилам и включает в себя некий набор команд, с помощью которых пишется программный код.

Люди общаются друг с другом на естественных языках, разработчики же с компьютерами взаимодействуют на языках программирования. Написанный программистом код — это алгоритм действий, который должно выполнить устройство. Таким образом, язык программирования помогает человеку записать понятную компьютеру последовательность операций.

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

В настоящее время насчитывается несколько тысяч языков программирования, однако реальной востребованностью обладают лишь несколько десятков из них. Разнообразие языковых средств объясняется потребностью в различных инструментах под конкретные типы задач.

В частности, языками программирования пользуются не только собственно разработчики программ, но и системные администраторы, инженеры сетей, тестировщики и прочие узкопрофильные IT-специалисты. Каждая задача для своего решения нуждается в конкретном языковом средстве в виде как промышленного, так и внутреннего ЯП для определенной системы. При этом один язык может быть использован в нескольких сферах деятельности.

Как появились языки программирования

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

Узнай, какие ИТ — профессии
входят в ТОП-30 с доходом
от 210 000 ₽/мес
Павел Симонов
Исполнительный директор Geekbrains

Команда GeekBrains совместно с международными специалистами по развитию карьеры подготовили материалы, которые помогут вам начать путь к профессии мечты.

Подборка содержит только самые востребованные и высокооплачиваемые специальности и направления в IT-сфере. 86% наших учеников с помощью данных материалов определились с карьерной целью на ближайшее будущее!

Скачивайте и используйте уже сегодня:

Павел Симонов - исполнительный директор Geekbrains

Павел Симонов
Исполнительный директор Geekbrains

Топ-30 самых востребованных и высокооплачиваемых профессий 2023

Поможет разобраться в актуальной ситуации на рынке труда

Подборка 50+ бесплатных нейросетей для упрощения работы и увеличения заработка

Только проверенные нейросети с доступом из России и свободным использованием

ТОП-100 площадок для поиска работы от GeekBrains

Список проверенных ресурсов реальных вакансий с доходом от 210 000 ₽

Получить подборку бесплатно
Уже скачали 26175

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

В итоге задача программистов немного облегчилась. Теперь не нужно было запоминать машинный код для каждой операции. Вместо этого использовались более понятные команды, взятые из английского языка (add, mov и т. д.).

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

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

Как «работают» языки программирования

Любая операция, производимая компьютером — это результат прохождения электрических сигналов по микросхемам. На более высоком уровне эти сигналы преобразуются в машинный код, состоящий из нулей и единиц. Первые означают отсутствие сигнала, вторые — его наличие. Чтобы представить себе всю сложность работы с машинным кодом напрямую, достаточно сказать, что одна команда любого языка программирования — это сотни нулей и единиц.

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

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

Но тут может возникнуть уместный вопрос. Каким образом устройства, понимающие лишь машинный код, способны распознавать команды языков программирования? Это возможно благодаря интерпретаторам и компиляторам — специальным преобразователям кода, превращающим набор команд в совокупность нулей и единиц. Тут можно провести аналогию с переводчиками с иностранных языков.

5 классных вещей, которые вы можете освоить с Python

Язык программирования Python стал третьим по популярности в индексе TIOBE и первым у PYPL. Джеймс Гавернер, сооснователь аналитической компании RedMonk, заявил, что этот язык уже стал основным для Data Science. Для каких проектов подходит Python и что вы сможете сделать уже сегодня, если знаете как работать с простейшими командами? Погнали разбираться вместе.

Преимущества Python

Python сравнительно лёгок в изучении за счёт простого синтаксиса и универсален благодаря богатой стандартной библиотеке (набору инструментов и готовых решений, которые не требуют дополнительной установки и настройки), поэтому его применяют в самых разных областях.

Python вообще славится своими классными библиотеками — в какой бы области вы ни делали проект, скорее всего, для этого уже есть готовая Python-библиотека: обработка изображений, математика, распознавание речи — для всего есть инструменты. А чтобы вы понимали, насколько это универсальный язык, посмотрите, для чего используют Python-фреймворки:

  • NumPy — для работы с высокоуровневыми математическими функциями и многомерными массивами.
  • Django и Flask — веб-разработка и веб-приложения (например, Pinterest, YouTube и Instagram написаны на Django).
  • SQLAlchemy — для работы с базами данными с применением технологии ORM.
  • Cocos2d — мобильные и браузерные игры.
  • Tornado — для создания высокопроизводительных приложений, которые способны работать одновременно с сотней тысячей пользователей.
  • Bubot — для программирования робототехники и домашней автоматизации, как вариант — использование на Raspberry Pi.

Мы собрали для вас несколько ярких примеров применения этого языка программирования — возможно именно они вдохновят вас на более глубокое изучение Python и создание чего-то инновационного. ��

Python

1. Веб-разработка

Python имеет очень хорошую поддержку для веб-разработки с фреймворками. Распространенный стэк технологий, который можно встретить во многих компаниях — Django на бэкэнде и JavaScript фреймворк на фронтенде, например, React. Кстати такой стэк использует DropBox. ��

Пример — настройка доступа к файловой системе компьютера со смартфона

Вы можете получить доступ к вашей файловой системе Linux, запустив файловый сервер на вашем компьютере. Перейдите в нужный каталог, к которому вы хотите получить доступ, и выполните следующую команду:

Что можно реализовать на разных языках программирования? С++ Java Python на какие ОС?

Мне прямо как то неудобно снова здесь задавать такие вопросы почти на ту же тематику. Полазил по Google Wikipedia и не нашел то что искал. Написано что мне подходит и С++ Pyton Java а для сайтов ( PHP)
Я понимаю что каждый язык предназначен под определенные задачи!

Но всё же, насколько я понял С++ просто нереально огромен и сложен ( как говорят «сломает мышление напрочь )
Про Java знаю лишь то что написано на Wikipedia и больше нечего по сути.
Про Python то что на нём написан Youtube и то что есть на Wikipedia ( тоже по сути не много)

Подскажите или дайте направление, что же подойдет мне в данный момент и пригодится в будущем. Я благодаря Wikipedia думаю о Python но о нем лестные отзывы только там и в сомнительного содержания
( вроде начните зарабатывать кучу денег или научитесь программировать как царь ) блогах. Что в свою очередь толкает исключительно к С++ ибо о Java я вообще не слышал нечего лестного.

PS Я понимаю что хороший программист должен знать не одни язык но мне хоть старт взять. И пожалуйста не нужно сарказма, я умею пользоваться Google и другими поисковыми системами, о Кнуте знаю, уже скачаны и ждут прочтения. Мне действительно негде и не у кого спросить.

  • Вопрос задан более трёх лет назад
  • 96240 просмотров

Комментировать
Решения вопроса 5

В первую очередь нужно научится «думать как программист». но это все бредни)

Если хотите реально чему-то научится то стоит начать с основ.
Это Керниган Ритчи «Язык программирования Си».

С++ не очень сложный язык. Он очень неоднозначный — одна задача может быть решена разными способами и у каждого из них будут свои недостатки. Тем более требует довольно специфических хаков против всяких там SFINAE и constant cast’ов.
Особенно в последнее время стандартов С++ наплодилось.

Учить С++ стоит, но до конца разобраться во всём будет очень сложно.
По минимуму можно прочитать Герберта Шилдтa
У него есть другие толковые книги по С# и Java — тоже можете глянуть.
Ну и мне нравится Подбельский.

С++ хорошо подходит для десктопных приложений.
Тут можно почитать Макса Шлее Qt 4.8
При этом особых сверхъестественных навыков С++ не нужно.
Если хотите ити в «про» уровень — учите коллекцию библиоте boost.

Java в последнее время очень хорошо себя зарекомендовала в вэбе.
Хватит первого тома Core Java. Из фреймворков могу посоветовать Grails и Play2.

Python / JS можно выучить на курсах Codecademy за 2-3 недели. Там же можно разгребсти html/css.

Если хотите пойти в вэб.
Желательно разобраться в haml sass compass stylus jade grunt bower yeoman bower angular библиотеках.

Желательно разобраться с шаблонами проектирования, и почитать Мартина Фаулера.
Есть ещё книги из серии Pragmatic Programmer самое интересное что у этого издательства нет ни одной плохой книги.

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

Для кроссплатформенных мобильных приложений можно разобраться с Air и Flex.

Ответ написан более трёх лет назад
Комментировать
Нравится 22 Комментировать

Начинайте с python!
С, С++, Java съедят мозг еще на этапе «Hello World». Громоздкие конструкции создания простейшей программки отбивают желание дальше что-то делать.

Список сайтов, которые работают на python/django:
Dropbox, Instagram, Mozilla, Disqus, Pinterest, tiu.ru, tranio.ru

Ответ написан более трёх лет назад
Нравится 6 3 комментария
nickitenko @nickitenko

Ох, эта сложнейшая конструкция съела мовй мозг..

#include using namespace std; int main()

FedLapshin06

Фёдор Лапшин @FedLapshin06
на с++ и java гораздо удобнее писать чем на PYTHON
nickitenko
print(«Hello, World!»)

Начинайте с C++ только в случае, если чувствуете тягу к очень сложным задачам. Сам язык ничуть не сложнее (местами логичнее и свободнее ВСЕХ, лишен ненужных сомнительных синтаксических дополнений), но занимает дольше времени и требует больше «опыта» перед адекватными релизами — так как он нативен (в отличае от всех остальных), на нем не очень просто что-то сделать с нуля и быстро, однако для каждой отдельной задачи 100% существует какой-нибудь проект в сети или решение. Реально — нужна любовь к ремеслу. Я так это называю.

Все остальные языки это как стероиды. Но это не минус. Я пишу на C++, C#, подумываю о Java. Но я никогда не пойду к пайтону.
Прежде чем выбирать язык надо знать, что смотреть на самые популярные и продвигаемые не для всех норма. Есть языки, которые просто не достаточно продвигались, в отличае, от, например C# и платформы .net, и Java, которых очень серьезно коммерчески продвигают крупные компании. Языки C/C++ популярны именно из-за своего технического совершенства, это сделало их решениями во многих областях автоматически.
Есть языки, не буду утверждать какие, которые популярны именно благодаря стремлению к «великому святому свободному open-source», и тут тоже не без помощи спонсоров.

p.s. Герберт Шилдт — очень тольковый автор. Еще совет, не тратьте время на то, что вам не нужно, времени понадобится много, например не надо одновременно лезть в десктоп, в веб, в линукс (как примеры). Но всегда полезно знать базис разных технологий.

C/C++ — Кроссплатформенность, но разные компиляторы, для разных ОС (то есть проще говоря разные фреймворки для каждой платформы). Тяжесть языка, если взвешивать на равне с другими любыми. (Я считаю этот язык должен насильно впариваться перед любыми другими, но не шариат же у нас.=))
Oracle Java — кроссплатформенность(включая ОС Google Android)
Microsoft .NET (VB, C#, F# и др.) — неофициальная кроссплатформенность (с тормозами и без WPF — Mono)
Apple Objective-C — язык используемый Apple в своих ОС.
Определитесь, хотите ли вы быстро создавать, или хотите действительно знать. Возможно задачи совместимы.

Возможно вам действительно стоит пойти в сторону Java, но никак не Python (ИМХо).
Если хотите идти в сторону веба начинайте с абстрактного понимания HTML, CSS, PHP, а затем уже думайте что вам надо, Flash, Java, или припрет работать на стороне сервера.=)

Ответ написан более трёх лет назад
Нравится 3 1 комментарий
Light775577 @Light775577
А что с питоном не так?

Вам нужно пройти практикумы:

— (для разогрева) «Introduction to Interactive Programming in Python», Rice University, на Coursera.org; (или аналогичный там же, или что-то по питону на Udacity.com, Udemy.com etc.)

— «Introduction to Programming in Java» (всего 4 главы, но десятки и сотни примеров, заданий и выполненных заданий от топ-кафедры по программированию)

Курсы на Coursera.org:

— «Algorithms, I», Princeton University

— «Algorithms, II», Princeton University

— «Introduction to Databases», Stanford University (он же на edX.org)

— «Introduction to Computer Networks», University of Washington

— (опционально) «Natural Language Processing», Stanford University or Columbia University

— (опционально) «Artificial Intelligence Planning», University of Edinburgh

Курсы на Udemy.com:

— «Java For Complete Beginners»

— «Java Design Patterns and Architecture»

— «Java Swing (GUI) Programming: From Beginner to Expert»

— «Java Servlets and JSP»

— «The Java Spring Tutorial»

А также изучите построение клиент-серверных приложений на основе Netty (см. netty.io/wiki/).

Если план сработает, дайте знать через полгода!

Ответ написан более трёх лет назад
Комментировать
Нравится 2 Комментировать

Вы написали бы ещё свой текущий уровень знаний по математике, программированию, алгоритмам, было бы проще подсказать.
А вообще для обучения, если у вас совсем мало знаний в этой области я рекомендовал бы java, по моему мнению в обучении язык со строгой типизацией был бы лучше. Си хорош, но предполагаю что для начинающего порог вхождения будет выше чем в java. Попробуйте книгу «Head First Java / Изучаем Java» — конкретно её я не читал, но остальные книги серии для начального обучения самое то. Потом рекомендую философию java от Эккеля, а дальше сами поймете что вам нужно ещё.
А с точки зрения применения языков, на работе используем java, python, c++(qt), правда я в основном на java пишу. Все эти языки нужны и с ними вы не пропадете, но вакансий на java больше)

Ответ написан более трёх лет назад

По поводу знаний по математике — конкретно это дискретная математика и комбинаторика. Такому не учат в школах, и только на тех. специальностях в вузах. Есть книжка Кнута «Конкретная математика» — её стоит почитать. По алгоритмам есть Кормэн и Седжвик, на Кнута не кидайтесь пока не прочтёте обе.

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

По этому я и отписал что «нужно думать как программист — это бредни»

Ответы на вопрос 6
Deerenaros @Deerenaros
Программист, математик, задрот и даже чуть инженер

Бессмысленный вопрос. Программировать можно на чём угодно. И всё это бред про «начинать стоит с основ».
Сделать следует две вещи. Порядок не важен!

Выберите ту область, что нравиться. Ориентироваться стоит на не связанные с языком программирования вопросы. Например, для геймдева требуется любовь к играм, знание основ геймдизайна, много общения в этой сфере: потребуется огромный фидбек, и хорошо, если он будет получен за кружкой пива/кофе от знакомого человека, и да, чуть не забыл — много много упорства, иначе всё будет проваливаться. Тогда как для вебдизайна было бы не плохо иметь т.н. чувство вкуса, умение быстро переключаться между задачам т.к. часто приходиться вести несколько проектов сразу, знание цветов и их сочетаемость также не будет лишней, хотя сео скорее мертво, чем живо, понимание особенностей продвижения сильно поможет. То есть для разных сфер имеются множество особенностей, с которыми приходиться сталкиваться каждый день, но решая которые не будет написано ни строчки кода. Конечно, чем больше команда, тем больше разделение труда и тем меньше приходится вникать в те особенности, но, особенно на старте, эти вещи будут заметно помогать.

Посмотрите на разные языки программирования. Здесь, наверное, следует исключить эзотерику и функциональщину, ибо с ними сложно что-то толковое сделать не имея опухоли мозга (шучу, конечно). Их много: python, c++, java, go, ecmascript, nasm, c# (mono). Список огромен. Большинство из них распространились на огромные области. Не важно: геймдев, вебдизайн, банки, транспорт — в каждой из них можно применить практически любой инструмент. Более того, в каждой из них применяется часто сразу несколько инструментов. Так что первый выбор почти не на что не повлияет.

Тут стоит сразу пару моментов осветить.
Во-первых, матанозированность различна. Наименьшая она в вебе. Наибольшая, наверное, в банках. Где-то посредине геймдизайн, хотя не так давно, он был куда более матаноёмкий, сегодня большая часть матана закралась где-то в библиотеках (впрочем, с логикой всё равно придётся подружиться).
Во-вторых, платформа. Некоторые языки заточены под одну платформу (c — *nix, c# — ms), что, в прочем, не запрещает их использовать на других платформах, там есть свои особенности (нормального чисто win’ового компайлера Си под вином до сих пор нет, а его WinAPI на Си убого чуть более чем полностью, тогда как порт c# — mono — имеет множество особенностей при работе на неродных платформах). А ECMAScript (js) вообще одно время работал только под браузером, хотя сегодня делать native-приложения на нём довольно затруднительно (если, конечно, ОС — это НЕ браузер), да и возможности его ограничены API браузеров, которые часто различаются между собой.

Но это всё детали. Они есть везде. Можно делать backend на c++, можно на python, можно на node.js. Можно писать игры на C# (XNA/Unity/monogame), можно на js (браузерные игры сегодня распоряжаются и webgl). Так что что больше нравиться, то и изучайте. И не стоит с основ. И тем более не стоит отождествлять Си и «основы основ».

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *