КОРОТКО О ДРУГИХ ЯЗЫКАХ И ТЕХНОЛОГИЯХ ПРОГРАММИРОВАНИЯ



 

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

Рассмотрев основные вещи в с++ для любителя, мы можем теперь копнуть шире и больше- а какие ещё другие языки программирования бывают? Чем они отличаются, как классифицируются, на что делятся?

По данным интернета, на текущий момент существует около 8 тыс различных языков программирования. Но наиболее распространённых из них 10-20. Например из тех, которые у всех на слуху: ассемблер, С, С++, С#, Java, Objective C, Swift, Python, Ruby, Pascal, а также веб языки: php, javascript.

Можно представить такую шкалу низкоуровневости-высокоуровневости, на которую мы условно расположим языки программирования. Чем более низкоуровневый язык, тем ближе он к машинному коду и поэтому быстрее работает, но тем сложнее он для человека и дольше для разработки. Поэтому часто нужно выбирать компромисс между скоростью разработки и скоростью работы программы. Для разных задач используются разные языки. Если принципиальна скорость работы программы, например в сложных играх, то пишут на низкоуровневых языках уровня с++/с. Или берут чуть более высокоуровневые, но тоже достаточно быстрые и поворотливые языки такие как c# и java. Естественно, сначала пишут движки- программные шаблоны и интерфейсы, упрощающие написание больших проектов и командное программирование. Есть также общие популярные крупные движки, например для игр это Unity3d и Unreal Engine.

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

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

Языки можно расставить по низко и высокоуровневости, начиная с самых низкоуровневых, примерно так:

1. Ассемблер- драйвера, утилиты, глубокая работа с железом.

2. С/С++ операционные системы, игры, важные программные модули, тоже есть работа с железом (хоть и меньше чем на ассемблере), компьютерные программы- достаточно фундаментальные такие языки.

3. C# / java / Objective C - тоже игры, приложения для телефона. Первое больше для виндовс, второе для андроид, третье для apple.

4. Python / Ruby - динамическая типизация, веб разработка

Также языки программирования бывают объектно-ориентированные и без этого. Языки без ООП обычно более старые и появились в то время когда ООП ещё не изобрели. Например, язык си не имеет ООП. Для добавления ООП к паскалю используется дельфи. Язык java, например, наоборот- заточен чисто под ООП. Но это позже увидим при кратком рассмотрении джавы.

Также языки бывают кроссплатформенные или личные для каких-то платформ. Например, джава кроссплатформенная. Язык С# создавала компания майкрософт специально для виндовс, Objective C- создавала Apple для iOS. Но даже если язык не кроссплатформенный, придумывают всякие прибомбасы, благодаря которым его можно адаптировать и на несвойственные для него платформы.

Также разделяют языки для веб (сетевой) разработки и для обычных компьютерных или телефонных приложений. К вебу относят php, ruby, javascript и другие. Кстати, джаваскрипт не имеет ничего почти общего с джавой, его название было выбрано чисто из коммерческих и маркетинговых соображений.

Не стоит также путать языки программирования с языками разметки. Языки разметки нужны для работы с текстами и объектами- поставить в нужное место, поменять шрифт, выбрать курсив или жирный, гиперссылки и прочее. Вот некоторые языки разметки: html, xml, вики разметка. Первое используется для создания и просмотра страниц в интернете (гипертекстовая разметка), второе ты можешь видеть в MS Excel, но при этом это также используется в приложениях на андроид. Третье- используется в статьях в википедии и также для оформления групп вконтакте.

Есть также другие вещи, которые часто относят к языкам программирования, но это не то. Например css- каскадная таблица стилей. Используется для дизайна html-страниц: всякие рамочки, блоки и прочие украшающие сухой текст вещи. И ещё mysql- это язык работы с базами данных.

 


Дата добавления: 2018-09-22; просмотров: 217; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!