Со времени создания первых компьютеров человечество придумало уже более восьми с половиной тысяч языков программирования Первым общепризнанным языком высокого уровня был Fortran, который появилась в ноябре 1954 года. Позднее в октябре 1956 года появилась версия Fortran I, а через год Fortran II, еще через год вышел Fortran III. Затем появились Cobol (1957), Lisp (1958), Algol'58 (1958), APL (1960)
Образовалась Вавилонская башня языков разобраться в которой не просто На следующем сайте можно посмотреть список языков:
Главным признаком по которому можно квалифицировать языки программирования является принадлежность к одному из оформившихся к настоящему времени стилей программирования, каждому из которых соответствует своя собственная модель вычислений Языки программирования можно разбить на Процедурные Функциональные Логические Объектно-ориентированные
Программа на процедурном языке программирования состоит из последовательности операторов (инструкций), задающих те или иные действия. Пример: Паскаль ( гг.), Си (начало 70 гг.), АДА (1979). Программа на функциональном языке представляет собой совокупность описаний функций и выражения, которые необходимо вычислить. Примером функционального языка является LISP (1959 г.). Функциональный стиль программирования сложился в практике решения задач символьной обработки данных в предположении, что любая информация для компьютерной обработки может быть сведена к символьной. Современные функциональные языки (такие, как Haskell и Ocaml) содержат достаточно возможностей для написания программ любой сложности. Эти языки наследники, созданного в 70-е гг. прошлого века в Эдинбургском университете, языка ML. Из современных языков можно отметить входящий в состав NET – F#
Программа на логических языках представляет собой совокупность определений отношений между объектами и цели. В логическом программировании нужно только специфицировать факты, на которых алгоритм основывается, а не определять последовательность шагов, которые требуется выполнить. Первым языком логического программирования был язык Planner. Наиболее известным является ПРОЛОГ (PROLOG - Programming in Logic) созданный во Франции в Марсельском университете в 1971 году.
С момента когда появился первый язык программирования высокого уровня программисты могли создавать программы длиной до нескольких тысяч строк. Однако когда дело доходило до больших программ, код становился совершенно нечитаемым и трудно управляемым. Избавление от таких неструктурированных программ пришло с появлением языков структурного программирования. И сегодня все современные языки являются структурными С усложнением структуры программ, популярностью пользуется объектно-ориентированный подход к программированию. Этот стиль программирования характеризуется богатыми графическими возможностями и средой программирования, развитой модульной структурой программ. Именно модульность упрощает разработку сложных программных продуктов
Корни объектно-ориентированного программирования уходят в одну из ветвей логики, в которой первичной является не отношение, а объект. Прототипом объектно-ориентированного программирования явился язык SIMULA-67. Но оформилось оно в самостоятельный стиль программ с появлением языка SMALLTALK (1972), первоначально предназначенного для реализаций функций машинной графики.
В настоящее время наиболее популярными объектно- ориентированными языками являются: С++ Java C# Объектно-ориентированное программирование (ООП) это метод программирования, при использовании которого главными элементами программ являются объекты. В языках программирования понятие объекта реализовано как совокупность свойств (структур данных, характерных для данного объекта), методов их обработки (подпрограмм изменения их свойств) и событий, на которые данный объект может реагировать и, которые приводят, как правило, к изменению свойств объекта.
История программирования История программирования показывает стремление как можно больше автоматизировать процесс решения задач, чтобы программист не описывал во всех подробностях алгоритмы и действия. Идеальный случай оператор будет вводить только условия задачи всё остальное, включая выбор метода решения, построение структур данных, создание алгоритмов будет выполнять сама система программирования.
Microsoft.NET Microsoft.NET это унифицированная среда выполнения приложений, позволяющая использовать в разработке различные языки программирования - C#, Visual Basic.NET, C++ и т.п..NET Java Sun Microsystems Считается, что платформа.NET явилась ответом компании Microsoft на набравшую к тому времени большую популярность платформу Java компании Sun Microsystems (ныне принадлежит Oracle).
.NET.NET программная платформа, выпущенная компанией Microsoft в 2002 году. Microsoft начала разрабатывать.NET Framework в конце 1990-х под именем «Next Generation Windows Services» (NGWS).
Общеязыковая среда выполнения поддерживает многие языки программирования. Для каждого такого языка должен быть реализован компилятор, который генерирует "управляемый код". Компиляторы для других языков реализуются усилиями независимых разработчиков. Языки, поставляемые вместе Visual Studio: C# J# последний раз был включён в Visual Studio 2005 VB.NET JScript.NET C++/CLI новая версия Managed C++ F# член семейства языков программирования ML, включён в Visual Studio 2010
Поддерживаемые языки: Ada см. A# APL Boo Boo, основан на Python COBOL Component Pascal (ближе к Oberon чем к Pascal) Delphi: Delphi 8, Delphi , Delphi XE Eiffel Forth FORTRAN FORTRAN Haskell IronRuby реализация языка Ruby IronPython реализация языка Python Lexico Lisp Lisp Mercury Mondrian Nemerle гибридный функционально/императивный язык Oberon for.NET (ETH) незначительные расширения для.NET. Проект приостановлен. Oxygene Perl Perl PHP PHP PascalABC.NET Prolog RPG Smalltalk Zonnon полностью интегрируется в Visual Studio
C++ Однако, не все приложения, для работы которых требуется общеязыковая среда выполнения, обязаны удовлетворять требованиям типовой безопасности. В частности, такая ситуация реализуется для приложений, написанных на C++. C++ C++ C++ Управляемый код, написанный на C++, может использовать возможности, предоставляемые общеязыковой средой выполнения, например, сборку мусора. Но так как на C++ может быть создан и неуправляемый код, то нет никаких гарантий относительно того, что приложение, написанное на C++, будет удовлетворять требованиям типовой безопасности. C++ C++ В управляемом коде, написанном на C++, нельзя выполнять арифметические операции над управляемыми указателями, или приводить тип управляемого указателя к неуправляемому. Поэтому управляемый код, написанный на C++, можно проверить на безопасность. C++ Но может случиться так, что в этом же приложении, написанном на C++, будут выполняться арифметические операции над указателями или приведение типов управляемых указателей к неуправляемым. А это, по своей сути, ненадежно.
C++/CLI. Поэтому в состав.NET входит не чистый С++, а C++/CLI. C++/CLI C++/CLI привязка языка программирования С++ к среде программирования.NET. Она интегрирует С++ стандарта ISO с объединённой системой типов (Unified Type System, UTS). Поддерживает и исходный уровень, и функциональную совместимость исполняемых файлов, скомпилированных с родного и управляемого C++. Managed C++ Managed C++ набор дополнений к С++, позволяющих программам, написанным изначально на С++, управляться CLR и работать по технологии Microsoft.NET. Managed C++ играет уникальную роль в разработке программ для.NET, позволяя одновременно работать как с классами и методами языков.NET, так и с обычным кодом C++. Это позволяет переходить на платформу.NET постепенно, используя как старые заготовки на С++, так и навыки программистов, не работающих с управляемыми языками.
Visual Studio.NET Visual Studio.NET Преимущество среды разработки Visual Studio.NET состоит в том, что она является стандартом. Компания Microsoft, по сравнению со многими более мелкими разработчиками, присутствующими на обширном рынке инструментальных средств, располагает гораздо большими ресурсами, которые она в состоянии выделить на поддержку среды Visual Studio.NET. Java Платформа Java характеризуется высоко стандартизированным языком программирования и интерфейсом прикладного программирования (API). В то же время, инструментальные средства разработки, без которых написание высокопроизводительных приложений немыслимо, не являются в ней стандартизированными.
Языки программирования, подобно формам жизни, образуют эволюционное древо На этом древе есть и тупиковые ветви. Эволюция – процесс при котором выживает сильнейший