Язык программирования
|
|
Goodboys |
Дата: Суббота, 19.01.2013, 14:10 | Сообщение # 1
|
Новичок
Сообщений: 12
Статус: Offline
|
Язы́к программи́рования — формальная знаковая система, предназначенная для записи компьютерных программ. Язык программирования определяет набор лексических, синтаксических и семантических правил, задающих внешний вид программы и действия, которые выполнит исполнитель (компьютер) под её управлением
Функция: язык программирования предназначен для написания компьютерных программ, которые применяются для передачи компьютеру инструкций по выполнению того или иного вычислительного процесса и организации управления отдельными устройствами. Задача: язык программирования отличается от естественных языков тем, что предназначен для передачи команд и данных от человека к компьютеру, в то время как естественные языки используются для общения людей между собой. Можно обобщить определение «языков программирования» — это способ передачи команд, приказов, чёткого руководства к действию; тогда как человеческие языки служат также для обмена информацией. Исполнение: язык программирования может использовать специальные конструкции для определения и манипулирования структурами данных и управления процессом вычислений.
Способы реализации языков Языки программирования могут быть реализованы как компилируемые и интерпретируемые. Программа на компилируемом языке при помощи компилятора (особой программы) преобразуется (компилируется) в машинный код (набор инструкций) для данного типа процессора и далее собирается в исполнимый модуль, который может быть запущен на исполнение как отдельная программа. Другими словами, компилятор переводит исходный текст программы с языка программирования высокого уровня в двоичные коды инструкций процессора. Если программа написана на интерпретируемом языке, то интерпретатор непосредственно выполняет (интерпретирует) исходный текст без предварительного перевода. При этом программа остаётся на исходном языке и не может быть запущена без интерпретатора. Процессор компьютера, в этой связи, можно назвать интерпретатором для машинного кода. Разделение на компилируемые и интерпретируемые языки является условным. Так, для любого традиционно компилируемого языка, как, например, Паскаль, можно написать интерпретатор. Кроме того, большинство современных «чистых» интерпретаторов не исполняют конструкции языка непосредственно, а компилируют их в некоторое высокоуровневое промежуточное представление (например, с разыменованием переменных и раскрытием макросов). Для любого интерпретируемого языка можно создать компилятор — например, язык Лисп, изначально интерпретируемый, может компилироваться без каких бы то ни было ограничений. Создаваемый во время исполнения программы код может так же динамически компилироваться во время исполнения. Как правило, скомпилированные программы выполняются быстрее и не требуют для выполнения дополнительных программ, так как уже переведены на машинный язык. Вместе с тем, при каждом изменении текста программы требуется её перекомпиляция, что замедляет процесс разработки. Кроме того, скомпилированная программа может выполняться только на том же типе компьютеров и, как правило, под той же операционной системой, на которую был рассчитан компилятор. Чтобы создать исполняемый файл для машины другого типа, требуется новая компиляция. Интерпретируемые языки обладают некоторыми специфическими дополнительными возможностями (см. выше), кроме того, программы на них можно запускать сразу же после изменения, что облегчает разработку. Программа на интерпретируемом языке может быть зачастую запущена на разных типах машин и операционных систем без дополнительных усилий. Однако интерпретируемые программы выполняются заметно медленнее, чем компилируемые, кроме того, они не могут выполняться без программы-интерпретатора. Некоторые языки, например, Java и C#, находятся между компилируемыми и интерпретируемыми. А именно, программа компилируется не в машинный язык, а в машинно-независимый код низкого уровня, байт-код. Далее байт-код выполняется виртуальной машиной. Для выполнения байт-кода обычно используется интерпретация, хотя отдельные его части для ускорения работы программы могут быть транслированы в машинный код непосредственно во время выполнения программы по технологии компиляции «на лету» (Just-in-time compilation, JIT). Для Java байт-код исполняется виртуальной машиной Java (Java Virtual Machine, JVM), для C# — Common Language Runtime. Подобный подход в некотором смысле позволяет использовать плюсы как интерпретаторов, так и компиляторов. Следует упомянуть, что есть языки, имеющие и интерпретатор, и компилятор (Форт).
Используемые символы Современные языки программирования рассчитаны на использование ASCII, то есть доступность всех графических символов ASCII является необходимым и достаточным условием для записи любых конструкций языка. Управляющие символы ASCII используются ограниченно: допускаются только возврат каретки CR, перевод строки LF и горизонтальная табуляция HT (иногда также вертикальная табуляция VT и переход к следующей странице FF). Подробнее по этой теме см.: Переносимый набор символов. Ранние языки, возникшие в эпоху 6-битных символов, использовали более ограниченный набор. Например, алфавит Фортрана включает 49 символов (включая пробел): A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 = + - * / () . , $ ' : Заметным исключением является язык APL, в котором используется очень много специальных символов. Использование символов за пределами ASCII (например, символов KOI8-R или символов Юникода) зависит от реализации: иногда они разрешаются только в комментариях и символьных/строковых константах, а иногда и в идентификаторах. В СССР существовали языки, где все ключевые слова писались русскими буквами, но большу́ю популярность подобные языки не завоевали (исключение составляет Встроенный язык программирования 1С:Предприятие). Подробнее по этой теме см.: Языки программирования с ключевыми словами не на английском. Расширение набора используемых символов сдерживается тем, что многие проекты по разработке программного обеспечения являются международными. Очень сложно было бы работать с кодом, где имена одних переменных записаны русскими буквами, других — арабскими, а третьих — китайскими иероглифами. Вместе с тем, для работы с текстовыми данными языки программирования нового поколения (Delphi 2006, C#, Java) поддерживают Unicode.
Классы языков программирования
Функциональные Процедурные (императивные) Стековые Аспектно-ориентированные Декларативные Динамические Учебные Описания интерфейсов Прототипные Объектно-ориентированные Рефлексивные — поддерживающие отражение Логические Скриптовые (сценарные) Эзотерические
Уо уо
|
|
|
|
Aleksandro_Galante |
Дата: Суббота, 13.04.2013, 17:41 | Сообщение # 2
|
Новичок
Сообщений: 21
Статус: Offline
|
Норм тема но копипаст
|
|
|
|
iFeed |
Дата: Воскресенье, 26.05.2013, 12:01 | Сообщение # 3
|
Новичок
Сообщений: 1
Статус: Offline
|
Cкопировал с pawno
|
|
|
|
Dubscron |
Дата: Четверг, 06.06.2013, 10:31 | Сообщение # 4
|
Боец
Сообщений: 67
Статус: Offline
|
на разжевку начинающим.
[url=http://cheat-master.ru/forum/103-22245-1][b][Обмен] в системах Webmoney, Yandex. QIWI[/b][/url]
|
|
|
|
ProStrel |
Дата: Четверг, 20.06.2013, 00:25 | Сообщение # 5
|
Боец
Сообщений: 199
Статус: Offline
|
Cпасибо - пригодилось
|
|
|
|
[MrYura] |
Дата: Четверг, 18.07.2013, 18:11 | Сообщение # 6
|
Боец
Сообщений: 90
Статус: Offline
|
Not bad
|
|
|
|
Vasyan123 |
Дата: Суббота, 27.07.2013, 11:15 | Сообщение # 7
|
Боец
Сообщений: 66
Статус: Offline
|
Спасибо)
[CM] Bichigun
|
|
|
|
Olan |
Дата: Вторник, 06.08.2013, 11:16 | Сообщение # 8
|
Новичок
Сообщений: 1
Статус: Offline
|
ggg Добавлено (06.08.2013, 11:16) --------------------------------------------- ff Добавлено (06.08.2013, 11:16) --------------------------------------------- ssdd
|
|
|
|
Elmar[CM] |
Дата: Среда, 02.10.2013, 08:59 | Сообщение # 9
|
Любитель
Сообщений: 30
Статус: Offline
|
iFeed, А что он может придумать и лучше?
|
|
|
|
L0ney |
Дата: Среда, 23.10.2013, 19:40 | Сообщение # 10
|
Боец
Сообщений: 181
Статус: Offline
|
копипаст
Ни чего не продаю/покупаю.
С деньгами можешь купить положение, но не уважение
|
|
|
|
Miguelka_Irk |
Дата: Понедельник, 11.11.2013, 14:54 | Сообщение # 11
|
Боец
Сообщений: 99
Статус: Offline
|
Цитата L0ney ( ) опипаст Если такие предъявы к автору,так извольте предъявить ссылочку.
Ничего не покупаю,ничего не продаю. Но от пустышек в дар +3 lvl не откажусь.
|
|
|
|
Meowricio |
Дата: Среда, 20.11.2013, 15:18 | Сообщение # 12
|
Новичок
Сообщений: 8
Статус: Offline
|
Всем начинающим программистам искренне посоветовал бы начинать именно с Python'a. Высокоуровневый, немного навязывает свой стиль, кроссплатформенный, широко используется везде (от веб-программирования до научных рассчетов. В Google — основной язык, например).
|
|
|
|
[CM]iFudik |
Дата: Пятница, 13.12.2013, 18:58 | Сообщение # 13
|
Боец
Сообщений: 52
Статус: Offline
|
Автора бы, хотяб указал -_-
Контактные данный SKYPE: cm_ifudik
|
|
|
|
Eldaridze |
Дата: Суббота, 21.12.2013, 14:41 | Сообщение # 14
|
ϟϟ Cheater ϟϟ
Сообщений: 354
Статус: Offline
|
Отличная тема, молодец
Раздача подарков Cheater CM - 29/12/13
|
|
|
|
[CM]Борзой |
Дата: Воскресенье, 22.12.2013, 22:04 | Сообщение # 15
|
► This is Борзой ◄
Сообщений: 391
Статус: Offline
|
Спасибо за тему
Регистрация: 29.06.2012
|
|
|
|