Языки программирования разновидности 3. Виды программирования. Программист серверной части

Прежде чем вы захотите изучать какой-нибудь язык программирования надо знать немного об их истории и где они применяются.

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

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

1. JavaScript

Прототипно-ориентированный сценарный язык программирования. JavaScript изначально создавался для того, чтобы сделать web-странички «живыми». В браузере они подключаются напрямую к HTML и, как только загружается страничка – тут же выполняются.

Когда создавался язык JavaScript, у него изначально было другое название: «LiveScript». Но тогда был очень популярен язык Java, и маркетологи решили, что схожее название сделает новый язык более популярным.

Планировалось, что JavaScript будет эдаким «младшим братом» Java. Однако, история распорядилась по-своему, JavaScript сильно вырос, и сейчас это совершенно независимый язык, со своей спецификацией и к Java не имеет никакого отношения.

2. Java


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

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

Изначально язык назывался Oak («Дуб») разрабатывался Джеймсом Гослингом для программирования бытовых электронных устройств. Впоследствии он был переименован в Java и стал использоваться для написания клиентских приложений и серверного программного обеспечения.

3. PHP


Является распространенным интерпретируемым языком общего назначения с открытым исходным кодом (скриптовый язык). PHP создавался специально для ведения web-разработок и код на нем может внедряться непосредственно в HTML-код. Синтаксис языка берет начало из C, Java и Perl, и является легким для изучения.

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

4. Python

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

5. C#


Объектно-ориентированный язык программирования. Разработан в 1998-2001 годах группой инженеров под руководством Андерса Хейлсберга в компании Microsoft как язык разработки приложений для платформы Microsoft .NET Framework. C# относится к семье языков с C-подобным синтаксисом, из них его синтаксис наиболее близок к C++ и Java.

Язык имеет статическую типизацию, поддерживает полиморфизм, перегрузку операторов, делегаты, атрибуты, события, свойства, обобщённые типы и методы, итераторы, анонимные функции с поддержкой замыканий, LINQ, исключения, комментарии в формате XML.

6. С++


Компилируемый, статически типизированный язык программирования общего назначения. Является одним из самых распространенных языков в мире. Google Chrome, Mozilla Firefox, Winamp и линейка продуктов Adobe были разработаны с помощью С++. Кроме того, некоторые современные игры и операционные системы были разработаны на С++ из-за быстрого процессинга и компиляции.

7. Ruby


Простой и читаемый язык программирования, ориентированный на разработку веб приложений. Разработанный Юкихиро Мацумто в 1995 году. Язык обладает независимой от операционной системы реализацией многопоточности, строгой динамической типизацией, сборщиком мусора.

Основное назначение Ruby - создание простых и в то же время понятных программ, где важна не скорость работы программы, а малое время разработки, понятность и простота синтаксиса. Язык следует принципу «наименьшей неожиданности»: программа должна вести себя так, как ожидает программист.

8. CSS


Cascading Style Sheets (каскадные таблицы стилей) формальный язык описания внешнего вида документа, написанного с использованием языка разметки.
Преимущественно используется как средство описания, оформления внешнего вида веб-страниц, написанных с помощью языков разметки HTML и XHTML, но может также применяться к любым XML-документам.

9. C


Компилируемый статически типизированный язык программирования общего назначения. Язык Си был разработан Деннисом Ритчи в 1972 году в Bell Labs. Он является предшественником таких языков программирования как С++, Java, C#, JavaScript и Perl. По этой причине изучение этого языка ведет к понимаю и других языков. Язык С используется для разработки низкоуровневых приложений, так как считается ближе всего к аппаратному.

10. Objective-C


Компилируемый объектно-ориентированный язык программирования, используемый корпорацией Apple, построенный на основе языка Си и парадигм Smalltalk. Язык Objective-C является надмножеством языка Си, поэтому Си-код полностью понятен компилятору Objective-C. Язык используется в первую очередь для Mac OS X (Cocoa) и GNUstep - реализаций объектно-ориентированного интерфейса OpenStep. Также язык используется для iOS (Cocoa Touch).

11. Shell


Он не столько язык, сколько интерпретатор команд (командный язык). Его скрипты используются для автоматизации обновления программного обеспечения. Содержит стандартные конструкции для циклов, ветвления, объявления функций. В семействе операционных систем, совместимых с ОС UNIX, язык SHELL используется в качестве стандартного языка управления заданиями.

12. R


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

13. Perl


Высокоуровневый интерпретируемый динамический язык программирования общего назначения. Название языка представляет собой аббревиатуру, которая расшифровывается как Practical Extraction and Report Language - «практический язык для извлечения данных и составления отчётов». Основной особенностью языка считаются его богатые возможности для работы с текстом, в том числе работа с регулярными выражениями, встроенная в синтаксис. На данный момент он используется для выполнения широкого спектра задач, включая системное администрирование, веб-разработку, сетевое программирование, игры, биоинформатику, разработку графических пользовательских интерфейсов.

14. Scala


Мультипарадигмальный язык программирования, спроектированный кратким и типобезопасным для простого и быстрого создания компонентного программного обеспечения, сочетающий возможности функционального и объектно-ориентированного программирования. Scala – программы во многом похожи на Java-программы, и могут свободно взаимодействовать с Java-кодом.

15. Go


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

16. SQL

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

17. Haskell


Cтандартизированный чистый функциональный язык программирования общего назначения. Является одним из самых распространённых языков программирования с поддержкой отложенных вычислений. Отличительная черта языка - серьёзное отношение к типизации. Haskell превосходный язык для обучения и для экспериментов с сложными функциональными типами данных.

18. Swift


Открытый мультипарадигмальный компилируемый язык программирования общего назначения. Создан компанией Apple в первую очередь для разработчиков iOS и OS X. Swift работает с фреймворками Cocoa и Cocoa Touch и совместим с основной кодовой базой Apple, написанной на Objective-C. Swift задумывался как более легкий для чтения и устойчивый к ошибкам программиста язык, нежели предшествовавший ему Objective-C. Swift заимствовал довольно многое из Objective-C, однако он определяется не указателями, а типами переменных, которые обрабатывает компилятор. По аналогичному принципу работают многие скриптовые языки.

19. Matlab


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

20. Visual Basic


Язык программирования, а также интегрированная среда разработки программного обеспечения, разрабатываемое корпорацией Microsoft. Язык Visual Basic унаследовал дух, стиль и синтаксис своего предка - языка BASIC, у которого есть немало диалектов. В то же время Visual Basic сочетает в себе процедуры и элементы объектно-ориентированных и компонентно-ориентированных языков программирования.

Visual Basic также является хорошим средством быстрой разработки RAD приложений баз данных для операционных систем семейства Microsoft Windows. Множество готовых компонентов, поставляемых вместе со средой, призваны помочь программисту сразу же начать разрабатывать бизнес-логику приложения, не отвлекая его внимание на написание кода запуска программы.

21. Delphi


Императивный, структурированный, объектно ориентированный язык программирования со строгой статической типизацией переменных. Основная область использования - написание прикладного программного обеспечения.

На сегодняшний день, наряду с поддержкой разработки 32 и 64-разрядных программ для Windows, реализована возможность создавать приложения для Apple Mac OS X , а также для Google Android (непосредственно исполняемые на ARM-процессоре).

22. Groovy


Объектно-ориентированный язык программирования, разработанный для платформы Java как дополнение к языку Java с возможностями Python, Ruby и Smalltalk. Groovy использует Java-подобный синтаксис с динамической компиляцией в JVM байт-код и напрямую работает с другим Java кодом и библиотеками. Язык может использоваться в любом Java-проекте или как скриптовый язык.

23. Visual Basic .NET


Объектно-ориентированный язык программирования, который можно рассматривать как очередной виток эволюции Visual Basic, реализованный на платформе Microsoft .NET. VB.NET не имеет обратной совместимости с более ранней версией (Visual Basic 6.0). Развитие проектов старых версий (*.vbp) возможно только после предварительной конвертации их в формат VB.NET специальным мастером (Migration Wizard); однако, после конвертации требуется существенная ручная доработка текстов.

24. D

Мультипарадигмальный компилируемый язык программирования, созданный Уолтером Брайтом из компании Digital Mars. Изначально D был задуман как реинжиниринг языка C++, однако, несмотря на значительное влияние С++, не является его вариантом. Также язык испытал влияние концепций из языков программирования Python, Ruby, C#, Java, Eiffel.

25. Assembler


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

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

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

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

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

Низкоуровневый язык программирования (язык программирования низкого уровня) - язык программирования, близкий к программированию непосредственно в машинных кодах используемого реального или виртуального (например, Java, Microsoft .NET) процессора. Для обозначения машинных команд обычно применяется мнемоническое обозначение. Это позволяет запоминать команды не в виде последовательности двоичных нулей и единиц, а в виде осмысленных сокращений слов человеческого языка (обычно английских).

Языки программирования низкого уровня

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

Рис.1. Пример машинного кода и представления его на ассемблере

Трансляторы делятся на:

    компиляторы - превращают текст программы в машинный код, который можно сохранить и затем использовать уже без компилятора (примером являются исполняемые файлы с расширением *. exe);

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

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

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

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

Недостатки

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

    результирующая программа не может быть перенесена на компьютер или устройство с другим типом процессора;

    значительное время разработки больших и сложных программ.

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

Ассемблер - язык низкого уровня, что широко применяется до сих пор.

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

Существующие языки программирования можно разделить на две группы: процедурные и непроцедурные (см. рис. 4.1).

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

Процедурные языки разделяют на языки низкого и высокого уровня.

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

Рис. 4.1. Общая классификация языков программирования

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

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

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

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

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

Работа всех трансляторов строится по одному из двух принципов: интерпретация или компиляция.

Интерпретация подразумевает пооператорную трансляцию и последующее выполнение оттранслированного оператора исходной программы. В связи с этим можно отметить два недостатка метода интерпретации: во-первых, интерпретирующая программа должна находиться в памяти ЭВМ в течение всего процесса выполнения исходной программы, т. е. занимать определенный объем памяти; во-вторых, процесс трансляции одного и того же оператора повторяется столько раз, сколько раз должна исполняться эта команда в программе, что резко снижает производительность работы программы.

Несмотря на указанные недостатки, трансляторы-интерпретаторы получили достаточное распространение, так как они удобны при разработке и отладке исходных программ.

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

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

Полученная в результате трансляции методом компиляции программа называется объектным модулем , который представляет собой эквивалентную программу в машинных кодах, но не «привязанную» к конкретным адресам оперативной памяти. Поэтому перед исполнением объектный модуль должен быть обработан специальной программой операционной системы (редактором связей – Link) и преобразован в загрузочный модуль .

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

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

Принципиально иное направление в программировании связано с методологиями (иногда говорят «парадигмами») непроцедурного программирования. К ним можно отнести объектно-ориентированное и декларативное программирование. Объектно-ориентированный язык создает окружение в виде множества независимых объектов. Каждый объект ведет себя подобно отдельному компьютеру, их можно использовать для решения задач как «черные ящики», не вникая во внутренние механизмы их функционирования. Из языков объектного программирования, популярных среди профессионалов, следует назвать прежде всего Си++, для более широкого круга программистов предпочтительны среды типа Delphi и Visual Basic.

При использовании декларативного языка программист указывает исходные информационные структуры, взаимосвязи между ними и то, какими свойствами должен обладать результат. При этом процедуру его получения («алгоритм») программист не строит (по крайней мере, в идеале). В этих языках отсутствует понятие «оператор» («команда»). Декларативные языки можно подразделить на два семейства – логические (типичный представитель – Пролог) и функциональные (Лисп).

Охарактеризуем наиболее известные языки программирования.

1.Фортран (FORmula TRANslating system – система трансляции формул); старейший и по сей день активно используемый в решении задач математической ориентации язык. Является классическим языком для программирования на ЭВМ математических и инженерных задач

2.Бейсик (Beginner"s All-purpose Symbolic Instruction Code – универсальный символический код инструкций для начинающих); несмотря на многие недостатки и изобилие плохо совместимых версий – самый популярный по числу пользователей. Широко употребляется при написании простых программ.

3.Алгол (ALGOrithmic Language – алгоритмический язык); сыграл большую роль в теории, но для практического программирования сейчас почти не используется.

4.ПЛ/1 (PL/1 Programming Language – язык программирования первый); многоцелевой язык; сейчас почти не используется.

5.Паскаль (Pascal – назван в честь ученого Блеза Паскаля); чрезвычайно популярен как при изучении программирования, так и среди профессионалов. Создан в начале 70-х годов швейцарским ученым Никлаусом Виртом. Язык Паскаль первоначально разрабатывался как учебный, и, действительно, сейчас он является одним из основных языков обучения программированию в школах и вузах. Однако качества его в совокупности оказались столь высоки, что им охотно пользуются и профессиональные программисты. Не менее впечатляющей, в том числе и финансовой, удачи добился Филип Кан, француз, разработавший систему Турбо-Паскаль. Суть его идеи состояла в объединении последовательных этапов обработки программы – компиляции, редактирования связей, отладки и диагностики ошибок – в едином интерфейсе. Версии Турбо-Паскаля заполонили практически все образовательные учреждения, программистские центры и частные фирмы. На базе языка Паскаль созданы несколько более мощных языков (Модула, Ада, Дельфи).

6.Кобол (COmmon Business Oriented Language – язык, ориентированный на общий бизнес); в значительной мере вышел из употребления. Был задуман как основной язык для массовой обработки данных в сферах управления
и бизнеса.

7.АДА ;является языком, победившим (май 1979 г.) в конкурсе по разработке универсального языка, проводимым Пентагоном с 1975 году. Разработчики – группа ученых во главе с Жаном Ихбиа. Победивший язык окрестили АДА, в честь Огасты Ады Лавлейс. Язык АДА – прямой наследник языка
Паскаль. Этот язык предназначен для создания и длительного (многолетнего) сопровождения больших программных систем, допускает возможность параллельной обработки, управления процессами в реальном времени и многое другое, чего трудно или невозможно достичь средствами более простых языков.

8.Си (С – «си»); широко используется при создании системного программного обеспечения. Наложил большой отпечаток на современное программирование (первая версия – 1972 г.), является очень популярным в среде разработчиков систем программного обеспечения (включая операционные системы). Си сочетает в себе черты как языка высокого уровня, так и машинно-ориентированного языка, допуская программиста ко всем машинным ресурсам, чего не обеспечивают такие языки, как Бейсик и Паскаль.

9.Си++ (С++);объектно-ориентированное расширение языка Си, созданное Бьярном Страуструпом в 1980 году. Множество новых мощных возможностей, позволивших резко повысить производительность программистов, наложилось на унаследованную от языка Си определенную низкоуровневость.

10.Дельфи (Delphi); язык объектно-ориентированного «визуального» программирования; в данный момент чрезвычайно популярен. Созданный на базе языка Паскаль специалистами фирмы Borland язык Delphi, обладая мощностью и гибкостью языков Си и Си++, превосходит их по удобству и простоте интерфейса при разработке приложений, обеспечивающих взаимодействие с базами данных и поддержку различного рода работ в рамках корпоративных сетей и сети Интернет.

11.Ява (Java); платформенно-независимый язык объектно-ориентированного программирования, чрезвычайно эффективен для создания интерактивных веб-страниц. Этот язык был создан компанией Sun в начале 90-х годов на основе СИ++. Он призван упростить разработку приложений на основе Си++ путем исключения из него всех низкоуровневых возможностей.

12.Лисп (Lisp) – функциональный язык программирования. Ориентирован на структуру данных в форме списка и позволяет организовать эффективную обработку больших объемов текстовой информации.

13.Пролог (PROgramming in LOGic – логическое программирование). Главное назначение языка – разработка интеллектуальных программ и систем. Пролог – это язык программирования, созданный специально для работы с базами знаний, основанными на фактах и правилах (одного из элементов систем искусственного интеллекта). В языке реализован механизм возврата для выполнения обратной цепочки рассуждений, при котором предполагается, что некоторые выводы или заключения истинны, а затем эти предположения проверяются в базе знаний, содержащей факты и правила логического вывода.
Если предположение не подтверждается, выполняется возврат и выдвигается новое предположение. В основу языка положена математическая модель теории исчисления предикатов.

Языки программирования для Интернета:

1. HTML. Общеизвестный язык для оформления документов. Он очень прост и содержит элементарные команды форматирования текста, добавления рисунков, задания шрифтов и цветов, организации ссылок и таблиц.

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

3. Tcl/Tk. Этот язык ориентирован на автоматизацию рутинных процессов и состоит из мощных команд. Он независим от системы и при этом позволяет создавать программы с графическим интерфейсом.

4. VRML. Создан для организации виртуальных трехмерных интерфейсов в Интернете. Он позволяет описывать в текстовом виде различные трехмерные сцены, освещение и тени, текстуры.

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

Контрольные вопросы

1. Что такое системы программирования и к какому классу программ они относятся?

2. Что входит в состав систем программирования?

3. На каком языке программирования создавались первые программы?

4. На какие языки подразделяются процедурные языки?

5. Охарактеризуйте языки низкого уровня.

6. Какой язык относится к языку низкого уровня?

7. Достоинства языков низкого уровня.

8. Охарактеризуйте языки высокого уровня.

9. Достоинства языков высокого уровня.

10. Приведите примеры языков высокого уровня.

11. Для чего предназначены трансляторы?

12. Чем отличается компилятор от интерпретатора?

13. Недостатки интерпретации (как вид транслятора).

14. Что представляет собой процесс компиляции программы?

15. Какие действия выполняются при компиляции?

16. Чем отличается загрузочный модуль от объектного?

17. Чем отличается процедурное программирование от непроцедурного?

18. Какие виды программирования относятся к непроцедурному
программированию?

19. Особенность декларативных языков.

20. Охарактеризуйте кратко языки программирования: Фортран, Бейсик, Паскаль, Кобол.

21. Охарактеризуйте кратко языки программирования: Ада, Си, Си++, Delphi, Java.

22. Приведите примеры объектно-ориентированных языков.

23. К какому классу языков относится язык Лисп?

24. К какому классу языков относится язык Пролог?


Ещё вчера информатику считали в Советском Союзе лженаукой. А сегодня правительства некоторых стран жалуются на атаки российских хакеров.

И хоть в России пока что производится мало высокотехнологичных устройств и девайсов, умных программистов хватает и у нас.

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

Начнем рассматривать тему с теории. Первым делом разберёмся с понятием.

Что такое компьютерные языки?

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

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

Но хороший программист должен знать в совершенстве хотя бы несколько базовых из них.

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

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

Конечно же, языков на самом деле ещё больше, но мы выбрали самые основные, на которых написано более 90% всех компьютерных приложений. Далее рассмотрим подробнее каждый из них.

Процедурный С/С++

Языки С и C++ можно назвать двумя братьями. Есть утверждения о том, что это два абсолютно разных языка программирования, что неверно. С++ является некоторым усовершенствованием предыдущего языка, облегчающим написание программ и сохранившим прежний синтаксис.

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

Говоря о достоинствах и недостатках этого языка, нельзя делать однозначные выводы. Есть его сторонники, а есть и беспощадные критики. Основой для споров является то, что в этом языке программирования нет ничего своего.

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

Независимый и безопасный Java

Этот английский компьютерный язык разработали в компании Sun Microsystems. Благодаря тому, что написанная программа транслируется в особенный байт-код, она способна работать независимо от типа операционной системы или компьютерной архитектуры.

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

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

Если говорить о простоте языка, то стоит отметить исследования, которые показали, что аналогичные операции пишутся в 1,2-2 раза дольше, чем на языке C++. Также в несколько раз больше ресурсов требуется на выполнение команд. Но команда производителя постоянно выпускает множество обновлений, которые сводят к минимуму все недостатки этого языка программирования.

Покоривший Интернет PHP

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

Благодаря тому, что этот язык программирования создавался разработчиками с открытым кодом, его удалось довести до совершенства, и он набрал бешеную популярность. PHP легко взаимодействует с самыми разными базами данных - от MySQL до Access.

Самые популярные сайты Интернета, такие как Facebook или Wikipedia, написаны именно на этом языке.

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

Нельзя обойти стороной и критику языка. Несмотря на то что в рейтингах самых популярных языков 2015 года PHP занял 6-е место, в его адрес нередко высказывается недовольство.

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

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

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

Тема умения "разговаривать" с компьютером в последнее десятилетие набирает все больше оборотов.

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

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

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

Изучить языки можно онлайн

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

Но не переживайте, мир не стоит на месте. Сегодня можно обучаться, не выходя из дома. Главное - иметь компьютер и Интернет. Есть множество сайтов, которые проводят компьютерное обучение языкам. Самые популярные из них - это Codecademy, Code School и Udacity.

Быстрая навигация:
1.31 Списки - массивы. Первое знакомство. 1.30 Функции которые возвращают результат - return 1.29 Подпрограммы: функции и процедуры в Питоне 1.28 Преобразование типов данных - int() 1.27 Ввод данных с клавиатуры - input() 1.26 Типы и размеры данных 1.25 Цикл с предусловием - while. Числа Фибоначчи 1.24 Измерение длины строки, списки 1.23 Срезы строк - вывод определенного количества символов из имеющегося текста 1.22 Строки и управляющие символы 1.21 Системные ошибки в процессе отладки программы 1.20 Оператор ветвления - if, комментарии 1.19 Вывод на печать - print(), быстрый ввод данных, округление, комментарии 1.18 Типы программирования. Часть 2. Объектно-ориентированное программирование 1.17 Типы программирования. Часть 1. Структурное программирование. Циклы 1.16 Представление символьной информации - ASCII 1.15 Деление двоичных чисел 1.14 Математические операции с двоичными числами 1.13 Как хранится и записывается информация. Биты и байты 1.12 Перевод целых чисел десятичной системы счисления в другую систему 1.11 Перевод целых чисел из шестнадцатеричной системы счисления в десятичную 1.10 Перевод целого двоичного числа в шестнадцатеричное 1.9 Перевод целого двоичного числа в другую систему счисления 1.8 Системы счисления 1.7 Булевая алгебра. Логические выражения 1.6 Базовые понятия. Часть 3 - Числа, выражения, операнды, знаки операций 1.5 Базовые понятия. Часть 2 - Программа, данные 1.4 Базовые понятия. Часть 1 - Задача и алгоритм 1.3 Среда разработки СИ 1.2 История языков программирования 1.1 Введение

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

Языки программирования – формальные языки, предназначенные для описания .

Формальные языки характерны тем, что имеют четкие синтаксические правила.
Например запись 2x2=4 является синтаксически правильной математической записью, а 2=+4 – нет.

Когда вы читаете предложение на русском языке или выражение на формальном языке, вы определяете его структуру, часто неосознанно. Этот процесс называется синтаксическим анализом или синтаксическим разбором. Эквивалентный англоязычный термин – parsing (парсинг)

Отсюда мы подходим к тому, что называется парадигмой программирования.

Парадигма программирования - это некий набор правил, который определяет стиль написания программ.

Существует несколько таких правил, которые можно распределить по специфике методологии программирования:
- структурное программирование
- объектно-ориентированное программирование
- логическое программирование и прочие...

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

Вот интересная вводная лекция
по парадигмам программирования
на русском языке:



Перевод осуществлён Kovalev Filipp

Это обзорная лекция профессора Джери Кейн с факультета Computer Sciense университета Стэнфорд.
Парадигмы программирования представляют несколько языков, включая C, Ассемблер, C++, Параллельное программирование, Sheme и Python.
Цели данного курса - научить слушателей как писать код на каждом из этих языков и понимать парадигмы программирования, представляемые этими языками.

Loading...Loading...