Как компьютер нас понимает
Чтобы заставить компьютерную программу сделать определённое действие, мы выбираем в её настройках необходимую опцию, ждём, пока программа выполнит обработку информации и наслаждаемся результатом. Но мало кто из нас задумывался, а почему нажатие определённой кнопки заставляет работать программы? Как она понимает, чего мы хотим? Всё дело в том, что любая программа – это сложный набор команд, которые задаются с использованием специальных «переводчиков» или компиляторов.
Их цель – преобразовать наши команды в понятный для компьютера язык. Принцип их работы заключается в том, что они задают некое число заранее определённых электрических разрядов, серия которых несёт за собой последствие в виде решения поставленной задачи. В обиходе эти компиляторы называют языками программирования, то есть языками, понятными и для программистов, и для компьютеров.
Развиваться именно как компьютерные программы эти языки начали в середине 60-х – начале 70х, когда были созданы первые настоящие компьютеры, способные исполнять несколько различных функций. Со временем количество компиляторов увеличивалось по мере того, как расширялись направления работы компьютеров. Например, некоторые из них использовались исключительно для создания операционных систем, другие – только для написания программного обеспечения разнообразных направлений.
Процесс написания элементарного калькулятора — уже достаточно сложная процедура, требующая определённых знаний и навыков. Мы не будем рассматривать конкретные примеры создания программ. Вместо этого сравним самые популярные из ныне существующих языков программирования, которые используют профессионалы. Их десять:
- C++ (1983)
- Python (1990)
- Visual Basic (1991)
- PHP (1994)
- Delphi (1995)
- Java (1995)
- JavaScript (1995)
- Ruby (1995)
- ActionScript (1998)
- Nemerle (2006)
Кратко рассмотрим их плюсы и минусы.
Обзор самых популярных программирования
1) С++
Это один из первых, и невероятно популярный до сих пор язык, которым просто обязан владеть каждый программист. Не обязательно начинать изучение программирования именно с него, но со временем С++ всё равно станет одним из наиболее используемых компиляторов. С момента своего создания этот язык прошёл несколько стандартизаций и обновлений, благодаря чему остаётся актуальным и в наше время. Основным его плюсом является полная универсальность – на С++ можно писать всё. Именно благодаря этому его так часто используют профессионалы. Также можно отметить сравнительную простоту компилятора – если вы уже овладели С, Python или Java, то работать с С++ для вас не составит труда.
Однако критиков у языка также достаточно. Основные их аргументы – это неудобный синтаксис и то, что иногда результатом работы с С++ является слишком длинный программный код, что влечёт за собой некоторые неудобства в дальнейшей работе с программой.
Правда, вторая проблема была частично решена в 1998 году, когда были введены дополнительные шаблоны компилятора. В целом, что бы ни говорили критики, а С++ вот уже почти 30 лет остаётся одним из наиболее популярных языков программирования в мире.
2) Python
Питон – достаточно популярный в наше время язык, суть которого сводится к тому, чтобы как можно проще было создавать сложные программы. Созданный на основе более ранних языков, он впитал в себя все их наработки и является более совершенным. К тому же он постоянно обновляется, последняя версия была выпущена в начале 2012 года. Основные плюсы компилятора – минимализм, многофункциональность и простота. Но в свою очередь, за минимализм приходится платить низким быстродействием, а за минимализм – наличием множества ошибок в системном коде, некоторые из которых присутствуют и в самых последних версиях. Как бы то ни было, но и Python нашёл своих поклонников. Ознакомиться с языком можно здесь.
3) Visual Basic
Этот продукт от Майкрософт знают все программисты, ведь большинство именно на нём познавало азы работы с компиляторами. Он прост, многофункционален и идеально подходит для быстрого создания прототипов программ. Кроме широких возможностей по созданию программного кода, также с его помощью можно конструировать пользовательский интерфейс программы. Именно ВБ чаще всего используют профессионалы из Майкрософт для создания своих программ. Недостатки у компилятор также есть. К ним относятся отсутствие указателей, низкоуровневый доступ к памяти компьютера. Также программа отличается невысокой скоростью работы и возможностью использования только на Windows и Mac OS X. Более подробно ознакомиться с Visual Basic можно на сайте https://ru.wikipedia.org/wiki/Visual_Basic
4) PHP
Это язык программирования, который чаще всего применяют специалисты для создания веб-страниц. В настоящее время его принимают и поддерживают большинство хостинг-провайдеров. Благодаря возможности применения на любой ОС, скорости выполнения, функциональности и простоте его используют практически все разработчики сайтов. Также с помощью PHP можно создавать графический интерфейс пользователя. Создатели языка заложили в него несколько пасхальных яиц. Например, если ввести в строку любой_сценарий.php?=PHPE9568F36-D428-11d2-A769-00AA001ACF42 то на экране появится фотография (то, что на ней изображено, зависит от версии).
Из недостатков языка важно вспомнить то, что если вы написали код на более ранней версии, то на новой он, скорее всего, не откроется. Также в нём просто не предусмотрена возможность создания многопоточных программ. Узнать больше информации о языке можно на сайте www.php.net
5) Delphi
Delphi – многофункциональный язык, созданный на основе Object Pascal. Данный язык является ещё одним из самых популярных языков из-за наличия огромного количества компиляторов и диалектов. Каждый программист использует именно тот диалект, который подходит для его основного направления в работе. В целом, Delphi – императивный, объектно-ориентированный язык. Чаще всего на этом языке создаются разнообразные программы. Так, именно с помощью Delphi создали Light Alloy, AIMP, The KMPlayer, Total Commander, QIP, графический интерфейс Skype и многое другое. Именно наличие множества диалектов является одновременно и достоинством, и недостатком языка, так как программу, написанную на одном из них, другой компилятор, скорее всего, не откроет. Сайт https://ru.wikipedia.org/wiki/Delphi позволит более подробно ознакомиться с этим языком.
6) Java
Это ещё один известный язык, способный работать на любой платформе. Более того, сейчас большинство операционных систем просто обязаны включать его в свой состав, так как работа некоторых приложений без этого компилятора будет недостаточно результативной. Однако есть у языка и подводные камни. Так, программы, написанные на Java, имеют репутацию слишком медлительных и требующих больших объёмов оперативной памяти. Java имеет несколько модификаций (не диалектов, а именно разных видов), которые созданы для различных целей. Каждый из них имеет свои уникальные библиотеки данных и структуру, позволяющую более продуктивно работать над определённым направлением программирования. Больше информации на сайте http://www.oracle.com/technetwork/java/
7) JavaScript
JavaScript – необходимый атрибут большинства современных браузеров. Чаще всего цель этого языка – придать веб-страницам больше интерактивности. На его создание повлияли множество более ранних языков программирования, на основе которых он соединил многофункциональность и простоту. По крайней мере для опытных программистов. Область применения JavaScript необычайно широка – это и веб-приложения, и браузеры, и прикладное ПО, и офисные и серверные приложения. Широкую популярность также обеспечивают ему специальные библиотеки, позволяющие достичь высокого уровня абстракции. Из минусов JavaScript стоит отметить очень низкий уровень безопасности его приложений, а также массу ошибок в песочнице, браузере, плагинах и расширениях, с которыми хотя бы однажды сталкивался каждый. Но в то же время, совсем отказаться от этого языка пока что нельзя, ведь без него откажут в работе большинство интернет-браузеров. Более подробно на javascript.ru
8) Ruby
Это кроссплатформенный и невероятно многофункциональный язык, полностью предназначенный для объектно-ориентированных программ. Синтаксис языка простой и лаконичный, без множества ненужных кодов. Также язык содержит в себе сборщик ненужного мусора, поддерживает блоки команд и замыкания с полной привязкой к переменным. У Руби довольно обширное количество разнообразных библиотек, каждая из которых применяется в определённых случаях, в зависимости от необходимости. Также особенностью этого скриптового языка является то, что программы, написанные на нём, могут в дальнейшем использовать его для расширения своих возможностей. На данный момент уже выпущено несколько версий языка, каждая из которых принесла что-то новое в принцип его работы. Кроме того, этот язык один из самых экономных по отношению к ресурсам компьютера, за что его так любят обычные программисты. Самая последняя из них — 1.9.3-p194, релиз которой состоялся 20 апреля 2012 года. На официальном сайте вы можете более подробно ознакомиться с достоинствами и недостатками этого языка www.ruby-lang.org
9) ActionScript
Этот язык также менее популярен среди обывателей из-за того, что с его помощью можно писать в основном объектно-ориентированные программы, даже чаще всего не программы, а Flash – приложения. Синтаксис и функциональность компилятора стандартны для подобного рода языков и заключаются в работе, запрограммированной лишь на указанный вид приложений. Плюсом этого языка является его многофункциональность по отношению к Flash. Как ни странно, но это же одновременно и его минус, так на нём больше нельзя написать практически ничего. Узнать больше о этом компиляторе можно на сайте actionscript.org
10) Nemerle
Это высокоуровневый гибридный язык, который сочетает в себе возможности как функционального, так и объектно-ориентированного программирования. Созданный всего несколько лет назад, он впитал в себя соответствующие наработки всех предыдущих поколений языков программирования, и, одновременно с этим, привнёс в создание программ кое-что новое – возможность метапрограммирования. Суть этого метода в создании программ, которые во время своей работы генерируют другие программы. То есть, можно сказать, что он сам создаёт языки программирования? И да, и нет. Он создаёт возможные сценарии для дальнейшего генерирования исполняемых файлов. В целом, Nemerle просто-напросто объединил в себе все самые лучшие и необходимые функции более ранних языков. В общем, вышло так, что наиболее новый язык имеет меньше всего недостатков. Больше информации на http://nemerle.org/About/.
Итог
Языков программирования в наше время великое множество. Мы рассмотрели лишь самые популярные из них. Каждый имеет свои недостатки и преимущества из-за того, что они ориентированы на различные сферы программной деятельности. Один отлично работает с браузерами, но совершенно не подходит для написания Flash, другой – совсем наоборот. Каждый программист начинает с самых простых из них и в конце обучения выбирает или тот, который больше всего подходит ему из-за направления его деятельности, и становится специалистом в этой области, или же продолжает понемногу использовать каждый из них.
Большинство из специалистов рекомендуют начинать обучение с Visual Basic, потом переходить на С++, а дальше выбирать наиболее интересный и удобный, на ваш взгляд, язык. Кроме того, не стоит забывать о том, что у большинства языков программирования есть ещё и свои диалекты, которые иногда сильно различаются между собой.