Трансляторы могут быть компилирующего типа – компиляторы и интерпретирующего типа – интерпретаторы.

Компиляторанализирует и преобразует исходный текст в, так называемый, объектный код (промежуточное состояние программы в относительных адресах и с неразрешенными внешними ссылками) с использованием всей логической структуры программы. Затем программа, представленная в объектном коде, обрабатывается служебной программой – компоновщиком, который осуществляет подключение внешних подпрограмм/разрешение внешних ссылок и выполняет дальнейший перевод программы пользователя в коды машины (в абсолютный/загрузочный код – с абсолютной адресацией машинных команд). Программа в абсолютном коде может быть сохранена (в .exe-файле) и выполнена на компьютере. Загрузка программы из .exe-файла в память машины для её выполнения осуществляется служебной программой загрузчик.

Интерпретатор (простой интерпретатор)сразу производит анализ, перевод (в машинный код) и выполнение программы строка за строкой. Поэтому интерпретатор должен находиться в оперативной памяти в течение всего времени выполнения программы пользователя. При интерпретации скорость выполнения программы существенно снижается и интерпретируемая программа не может выполняться отдельно от программы-интерпретатора, однако весь процесс прохождения программы на ЭВМ упрощается и имеется возможность организации диалогового (интерактивного ) режима отладки и выполнения программы. Пример, язык Лисп, Бэйсик, Питон.

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

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

Разработать язык – это создать транслятор для него.

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

1. процедурные (императивные, указывают порядок выполнения операторов) (Паскаль ,Си)

2. логические (декларативные, основаны на мат. Логике) (Лисп, Пролог),

Языки запросов (SQL)

Среди 1. – можно выделить 3 направления

1. Фортран-ориентированные (Фортран, Кобол, Visual Basic)

Паскаль-ориентированные ( Borland Pascal, Turbo-Pascal, Delphi, Ада, Zonnon)

3. Си-ориентированные (Си, С++, Java, C#, Borland C++, Turbo C++, Visual C++ )

Гибридные (Python) или специализированные (PHP)

Алгол 1958 Швейцария международный коллектив для записи алгоритмов

Алгол 60 1960 Питер Наур и др. Международный.

Фортран 1957(54) США Джон Бэкус (группа IBM)

История создания языка Паскаль1970 год.

Автор – Никлаус Вирт – профессор, директор Института информатики Швейцарской высшей политехнической школы.

Назван – в честь французского математика Блеза Паскаля, в 1641 г. сконструировал суммирующую машину

Цель –для обучения программированию

Турбо – Паскаль

Авторфранцуз Филип Кан Ученик Вирта Курил Aple 2 и написал компилятор для Паскаля в Калифорнии, имея 2000 дол.. Один из создателей фирмы Borland В 1984 за 1 месяц заработал 150 тыс. дол.

Среда Delphi 1995 , язык Object Pascal

C 2008г Embarcadero®

2014 год Embarcadero® RAD Studio XE7

2015 год Embarcadero® RAD Studio XE8

Текущая версия Embarcadero RAD Studio 10.2 Токио (март 2017г)

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

объединяет Delphi XE10 и C++ Builder XE10 в единую интегрированную среду разработки и добавлена поддержка Android 6.0.

После добавления Linux, разработчики RAD Studio получили возможность кросс-компиляции на все главные платформы — Windows, Linux, macOS, iOS и Android — получая надежность и быстродействие, типичные для скомпилированных нативных приложений.

Содержит: Delphi®, C++Builder®, Embarcadero Prism™ и HTML5 Builder.

С RAD Studio XE8 существует встроенная поддержка для SQL Server, Oracle, Sybase, DB2, InterBase, SQL Anywhere, SQLite, MySQL и облачными сервисами, включая Windows Azure и Amazon.

Веб-разработка


Это процесс создания веб-сайтов и приложений. Это может быть все что угодно: от социальной сети до посадочной страницы спортивного клуба.

Веб-разработка внешней части называется front-end. Сначала с помощью разметки HTML создаётся страница. Именно эта разметка отвечает за структуру страницы. Затем внешний вид созданной страницы изменяют с помощью каскадных таблиц стилей — CSS и добавляют интерактивности на языке JavaScript.

Back-end — это серверная часть. Тут происходит вся магия взаимодействия с интерфейсом, и часто мы видим только результат работы на серверной стороне. Важная часть работы с сервером — умение пользоваться базами данных. Если вам интересно это направление, смело учите язык управления базами данных SQL, MySQL и знакомьтесь с фреймворком Oracle. Бекенд можно писать на Ruby, Python, Java, PHP.

Крупные ресурсы всегда используют несколько инструментов, так как необходимо поддерживать работу нескольких дата-центров, серверов и системы взаимодействия этих серверов. Это продукт работы большой команды: программистов, инженеров и системных администраторов. Так социальная сетьВКонтакте использовала для своей работы транслятор от компании Facebook — HipHop, превращающий исходный язык PHP в C++ для ускорения работы. Позже ВКонтакте создали свой собственный транслятор и назвали его Kitten PHP.

Мобильные приложения
Для разработки под систему iOS пишут на Swift и Objective-C.

Под Android — Java и C++.

Наши рекомендации