Сравнение языков программирования
Какой язык программирования изучать. Cравнение языков программирования. Рейтинг TIOBE.
Проведем сравнение языков программирования на основе рейтинга TIOBE
Зачем необходим рейтинг языков программирования?
- Если Вы собираетесь выбрать профессию инженера, программиста, то Вам конечно же необходимо сделать правильный выбор, определиться насколько тот или иной язык программирования является перспективным и востребованным.
- Если Вы инвестор, бизнесмен, интегратор, то необходимо понимать ценность продукта, проекта, стартапа, которые созданы или создаются на базе определенных технологий и программного обеспечения.
Таким образом, рейтинг языков программирования необходим для принятия стратегических решений.
Почему мы выбирали для изучения рейтинга языков программирования именно этот индекс?
Индекс сообщества программирования TIOBE - это показатель популярности языков программирования, который составляется на основании упоминаний, запросов в сети интернет. Индекс обновляется один раз в месяц. Рейтинги языков основаны на количестве квалифицированных инженеров по всему миру, курсах и сторонних поставщиках.
Авторы индекса считают, что он может быть полезен при принятии стратегических решений.
По заявлениям создателей, индекс TIOBE не ранжирует языки по качеству или количеству написанного кода. Проект подразумевает, что может существовать корреляция между количеством найденных страниц и количеством инженеров, курсов и вакансий.
Tim Bunce, автор Perl DBI[en], критиковал индекс и методы, используемые при ранжировании. В частности, он утверждал, что рейтинг уязвим для «накруток» сторонниками того или иного языка.
Приведем краткие отличительные характеристики языков программирования находящихся в топе рейтинга.
Мы будем более подробно останавливаться на тех языках программирования, которые лидируют в данный момент или показывают сильный рост рейтинга за определенный период.
C - компилируемый, статически типизированный язык программирования общего назначения.
Основная парадигма - процедурное программирование. По умолчанию, у всех современных языков программирования присутствует парадигма: структурное программирование.
Язык программирования С оказал самое существенное влияние на развитие индустрии программного обеспечения, речь о стиле и идеях, а его синтаксис стал основой для таких языков программирования, как C++, C#, Java.
Большинство языков программирования, в основе, написаны на языке С или используют байт-код написанный на С.
Java - строго типизированный объектно-ориентированный язык программирования, общего назначения.
Разработан компанией Sun Microsystems (в последующем приобретённой компанией Oracle).
Не компилятор. Транслируется в байт код. Благодаря этому применим на многих платформах.
Выполняется на любой компьютерной архитектуре, для которой существует реализация виртуальной Java-машины.
Java предоставляет средства обобщённого программирования, синтаксически основанные на C++, начиная с версии J2SE 5.0.
Python - высокоуровневый язык программирования общего назначения, ориентированный на повышение производительности разработчика и читаемости кода. Стандартная библиотека включает большой набор полезных функций.
Что касается парадигм ... Python поддерживает структурное, обобщенное, объектно-ориентированное, функциональное и аспектно-ориентированное программирование. Поддерживает динамическую типизацию.
Не компилятор. Эталонной реализацией Python является интерпретатор CPython. Существуют проекты использующие JIT-компиляцию, что существенно повышает производительность.
С++ - язык общего назначения. Компилируемый, статически типизированный язык программирования.
Поддерживает парадигмы: объектно-ориентированное, процедурное программирование, обобщенное программирование.
Область его применения включает создание операционных систем, разнообразных прикладных программ, драйверов устройств, приложений для встраиваемых систем, высокопроизводительных серверов, а также игр.
C# - относится к семье языков с C-подобным синтаксисом, из них его синтаксис наиболее близок к C++ и Java.
Язык имеет статическую типизацию, поддерживает полиморфизм, перегрузку операторов. Но нет поддержки множественного наследования (С++).
Но главная особенность в том, что данный язык ориентирован на работу в среде ".NET". И исходя из этого необходимо понимать, что выбирая этот язык для изучения, Вы "привязываете" себя к OS Windows.
Visual Basic - создан на базе Basic. Включает в себя элементы объектно-ориентированных и компонентно-ориентированных языков.
Поддерживает концепцию RAD (rapid application development) - быстрая разработка приложений.
JavaScript - обычно используется как встраиваемый язык для программного доступа к объектам приложений.
Наиболее широкое применение находит в браузерах как язык сценариев, например для придания интерактивности веб-страницам, создания различных эффектов, технология AJAX и т.п.
Поддерживает объектно-ориентированный, императивный и функциональный стили (парадигмы). Обладает слабой типизацией. Ближайшая аналогия - LUA
R — интерпретируемый язык программирования, основным способом работы с которым является командный интерпретатор.
Разработчики Роберт и Росс. Назначение - статистическая обработка данных и работа с графикой.
Если Вы математик, то это Ваш язык программирования.
PHP - лидер среди предпроцессоров гипертекста.
Скриптовый язык общего назначения. В основном применяется для разработки веб-приложений и динамических веб-сайтов.
В настоящее время поддерживается практически всеми хостинг-провайдерами.
PHP + JavaScript + SQL - в связке это наиболее применяемая группа языков программирования.