Pull to refresh

Что нужно знать тому, кто хочет научиться программировать?

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

Что в таком случае делает новичек?

Чаще идет на форум. Там задает примерно такой вопрос: «Я хочу научиться программировать, но незнаю как начать, помогите выбрать направление, язык..».

И после первого-третьего ответа начинается ожесточенная битва «холиварщиков» в выражениями по типу «Та этот язык X унылое г##но, на нем невозможно писать. Язык Y самый лучший, быстрый(и т.д.)».

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

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

Для тех кто стоит перед выбором языка программирования я хотел бы написать о плюсах и минусах «трех китов» в индустрии программирования.

Первым будет C (Си)

Материал из Wikipedia: «Си (англ. C) — язык программирования, разработанный в 1969—1973 годах сотрудниками Bell Labs Кеном Томпсоном и Деннисом Ритчи как развитие языка Би. Первоначально был разработан для реализации операционной системы UNIX, но, впоследствии, был перенесён на множество других платформ. Благодаря близости по скорости выполнения программ, написанных на Си, к языку ассемблера, этот язык получил широкое применение при создании системного программного обеспечения и прикладного программного обеспечения для решения широкого круга задач.»

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

Если вы хотите заняться системным программированием, или программированием микроконтроллеров то вам нужно учить именно Си.

С++

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

Java

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

Популярность Java обусловлена его кроссплатформенностью(программа написанная на Java будет одинаково правильно выполняться как на ПК работающем под управлением Windows/Linux/Mac OS так и на смартфоне под управлением мобильных ОС). Помимо кроссплатформенности Java безопасен как никакой другой ЯП. Благодаря тому что Java программы выполняются виртуальной машиной, все программы абсолютно безопасны для компьютера пользователя т.к. программа не сможет выбраться за пределы виртуальной машины.

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

Завершение

Рассмотрев основные преимущества этих языков, можно принять решение к какой области программирования/языку программирования склоняться.

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

P.S.

Я не рассматривал хоть и быстро развивающийся C# т.к. он слишком узконаправлен на платформу Windows.

Так же не рассматривал php т.к. он применим лишь в web-разработке, и если человек решил заняться веб-разработкой, то к выбору php он сам придет.

В конце-то концов, все языки программирования за раз не рассмотреть.
Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.