Ядро инструментального ПО составляют языки высокого уровня, позволяющие с той или иной степенью эффективности описывать алгоритмы решаемых пользователем задач.
1) Языки первого поколения. Были строго машинно-зависимы, представляли собой набор машинных команд в бинарном формате, который определялся архитектурой конкретной ЭВМ.
2) Ассемблеры. Позволяли вместо бинарных форматов машинных команд использовать их мнемонические символьные обозначения.
3) Появление первого языка высокого уровня – Фортран, предназначенных для решения инженерных научных и технических задач, с ограниченными средствами обеспечения работы символьной информации. В настоящее время насчитывается около 2к языков высокого уровня. Ценность использования языков высокого уровня определяется наличием каждого из них специально транслирующей программой, переводящий исходный модуль в объектный, пригодный для последующего выполнения на ЭВМ.
Фазы работы компилятора.
1) Лексический анализ, в процессе которого на основе исходного модуля идентифицируются различные символы и классифицируются на различные слова, числовые значения, идентификаторы переменных и т.д.
2) Синтаксический анализ, в процессе которого определяются синтаксические соотношения ключевых слов и строится каркас программы.
3) Генерация объектного модуля.
4) Оптимизация объектного модуля с целью повышения его эффективности.
Эволюция языков привела к модульному и структурному программированию. Большинство языков носит выраженный процедурный характер, суть которого определяется тем, что написанные на них программы не только определяют, что нужно сделать, но и как нужно это сделать.
Языки четвертого поколения развиваются в трех поколениях.
1) Языки, которые носят не процедурный характер, который определяет программы, описывающие, что нужно сделать, но не как это сделать. Как правило формируется соотношение о непоследовательности шагов выполнения алгоритма. Пример: ProLog. В этом языке не пишутся формулы, а определяются соотношения между объектами и величинами.
2) Объектно-ориентированные языки
3) Языки запросов, позволяющие пользователю получать нужную информацию из БД на основе запросов близких к естественным языкам и построена на синтаксических простых правилах. Имеют специфические грамматику, словарь и синтаксис, которые позволяют легко использовать их не профессиональному пользователю.
4) Языки параллельного программирования.
5) Языки искусственного интеллекта, экспертных систем, баз знаний.
20.09.10