- Список .NET-языков
-
Эта страница — информационный список.
Языки программирования .NET (Языки с поддержкой CLI или CLI-языки) — компьютерные языки программирования, используемые для создания библиотек и программ, удовлетворяющих требованиям Common Language Infrastructure. За исключением некоторых серьёзных оговорок, большинство CLI-языков целиком компилируются в Common Intermediate Language (CIL), промежуточный язык, который может быть оттранслирован непосредственно в машинный код при помощи виртуальной машины Common Language Runtime (CLR), являющуюся частью Microsoft .NET Framework, Mono и Portable.NET.
Во время выполнения программы в среде CLR её CIL-код компилируется и кэшируется на лету в машинный код, соответствующий архитектуре, на которой выполняется программа. Этот последний этап может быть принудительно сокращен, а кэширование может выполняться на предыдущем этапе при помощи «опережающего» (англ. ahead of time) компилятора, такого как например, ngen.exe от Microsoft или ключа «-aot» в Mono.
Содержание
Список языков
Представленный ниже список языков упорядочен относительно алфавитного написания названий языков в их латинографическом написании.
Язык Год[1] Предок Разработчик Сайты Краткая информация #Smalltalk 2003 Smalltalk Джон Брент
Дон Робертсwww.refactory.com Компилятор позволяет использовать классы обычных .NET-программ. Фактически, большинство Smalltalk-классов стандарта ANSI, поддерживаемых #Smalltalk, являются лишь обёртками вокруг стандартных .NET-классов. A# 2005 Ада Мартин Карлайл martincarlisle.com Свободно распространяется Департаментом Информатики при Военно-воздушной академии США. Active Oberon Оберон oberon.ethz.ch asm80386 2001 ASP
язык ассемблераБьярке Виксое www.viksoe.dk При помощи компилятора «ASP.NET: ASM to IL» (ASMIL) компилируется язык ассемблера для Intel 80386 в IL (затем — в ASP.NET). AsmL Microsoft Research research.microsoft.com AVR (ASNA Visual RPG) 2001 RPG/Caviar ASNA www.asna.com AVR for .NET представляет собой, по сути, компилятор языка RPG для .NET-платформы. AVR позволяет обновлять существующие RPG-прриложения, разрабатывать веб-сервисы с поддержкой сервис-ориентированной архитектуры. B# 2009 Си, C++, Java Майкл де Чемплейн bsharplanguage.org Сильно урезанная версия языка C# (иногда описывается как гибрид языков C++ и Java), спроектированная специально для встраиваемых программируемых систем. BETA.Net 2004 BETA Кристен Нюгорд
Оле Леманн Мадсен
Биргер Мёллер-Педерсен
Бент Бруун Кристенсенdaimi.au.dk Строго типизированный объектно-ориентированный язык с поддержкой функционального и процедурного программирования. Кроме .NET, реализована поддержка JVM. Boo 2003 Python, C# Родриго Б. де Оливейра boo.codehaus.org CLI-язык со статической типизацией, унаследовавший идеи языка Python. Brainfuck Урбан Мюллер C++/CLI 2005 C++ Microsoft Версия языка C++, включающая в себя раширения для поддержки объектов CLR. Реализация существует только для платформы .NET Framework. Код может компилироваться в основанный на CIL управляемый код либо смешанный код, объединяющий как управляемый код, так и естественный код. C# (ECMA 334)[2] 2000[3] C++ Андерс Хейлсберг Самый широко используемый CLI-язык, схож с языками Java, Delphi и C++. Реализации языка поддерживаются платформами .NET Framework, Portable.NET и Mono. Cω 2005 C# Microsoft Research research.microsoft.com Модификация C#, основной целью которой было упрощения доступа к хранилищам данных типа баз данных и XML-файлов. Cω повлиял на технологию LINQ. Cat (англ.) Joy Кристофер Диггинс cat-language.com Стэк-ориентированный язык программирования с минималистичным синтаксисом. CFML 2002 HTML Джереми Аллер
Алан Вильямсонnewatlanta.com Поддержка .NET возможна при помощи движка BlueDragon Chrome Паскаль RemObjects Software В ходе своего развития эволюционировал в Oxygene. CIL/MSIL/IL 1999 языки ассемблера Microsoft Объектно-ориентированный ассемблер-подобный низкоуровневый промежуточный язык, в который компилируются все программы, написанные на .NET-языках высокого уровня. Clarion# 2009 Clarion SoftVelocity softvelocity.com Язык получил обозначение Clarion#, тогда как IDE для него обозначается как Clarion.NET. Заявлена поддержка WinForms, Web Forms, Compact Forms, возможностей платформы .NET Framework 2.0 с поддержкой 64-битных платформ[4]. Clojure 2009 Лисп Рич Хикки Clojure.org
github.comязык программирования общего назначения с поддержкой разработки в интерактивном режиме, поощряющий функциональное программирование, и упрощающий поддержку многопоточности. Кобол Может компилироваться под .NET при помощи среды разработки Net Express. Cobra Cobra Language LLC CLI-язык, подерживающий как статическую типизацию, так и динамическую. Есть поддержка контрактного программирования и встроенное модульное тестирование. Common Larceny 2004 Scheme Райан Кулпеппер
Джо Маршалл
Дейл Вейланкурт
Маттиас Феллейсенlarcenists.org Поддержка стандартов ERR5RS и R6RS. Может взаимдействовать с другими CLR-языками благодаря поддержке т. н. JavaDot-нотации языка JScheme, которая реализуется при помощи «отражения» (reflection), создавая интерфейсы Scheme. cscc Си CULE.NET Visual Objects/XBase Род Да Сильва SoftwarePerspectives Delphi Паскаль CodeGear Delphi.NET
Delphi PrismDelta Forth .NET Форт Dataman www.dataman.ro DotLisp 2003 Лисп Рич Хикки dotlisp.sourceforge.net Лисп-подобный язык с глубокой интеграцией в платформу .NET[5] Dyalog for Windows 1999[6] АПЛ Гитте Кристенсен
Мортен Кромберг
(Dyalog Ltd.)www.dyalog.com
stores.lulu.com/dyalogЯзык объединил традиционные синтаксисы как АПЛ, так и стандартный синтаксис .NET-языков. dylan.NET Дилан Борг
dylan.NET TeamLaunchpad.net, Gitorious.org Язык с поддержкой среды CLR, схожий с MSIL. Работает на платформе .NET, планируется добавить поддержку Mono для обеспечения работы на всех платформах этого проекта. Eiffel.NET 12 июля 2000[7] Eiffel (ECMA TC39-TG4) Interactive Software Engineering, Microsoft msdn.microsoft.com [8] EiffelEnvision Eiffel (ECMA TC39-TG4) eXtensible C# (XC#) C# Resolvecorp F# OCaml Дон Сайм (Microsoft Research) Мультипарадигмальный CLI-язык, поддерживающий как функциональную, так и императивную парадигмы объектно-ориентированного программирования. Является вариантом языка ML и обладает большой совместимостью с OCaml. Компилятор поддерживается корпорацией Microsoft. Фантом Брайан Фрэнк
Энди ФрэнкЯзык, который может компилироваться как для .NET, так и для JVM. FOIL Лисп Fortran .NET Фортран Lahey Computer Systems, Inc
Сэлфордwww.lahey.com Gardens Point Component Pascal (GPCP) Компонентный Паскаль QUT
Distributed Systems Technology Centre
Microsoftplas.fit.qut.edu.au Компилируется под .NET при помощи компилятора gpcp. Gardens Point Modula (GPM) Модула-2 Programming Languages and Systems Group (Квинслендский Технологический Университет в Брисбене) plas.fit.qut.edu.au Семейство компиляторов GPM было создано в ходе проекта по созданию единой реализации языка Модула-2, способной работать на различных ОС. GrGen.NET 2007[9] GrGen Университет Карлсруэ
IPDwww.grgen.net CLI-язык для перепостроения графов Haskell VHS IKVM.NET 2002 Java, C# Йеройен Фрийтерс (Sumatra Software) www.ikvm.net IoNET (Io for .NET) 2008[10] Io Олег Андреев
Семён Новиков
Олег Смирнов
Максим Сохацкийsynrc.com Прототипный язык программирования, в котором упразднено понятие класса. Все экземпляры создаются в системе механизмом клонирования от первого созданного объекта в системе, который называют прототипом. Прототипы находятся в общесистемной таблице прототипов[11]. IronJS JavaScript Фредрик Хольмстрём IronLisp Лисп Был объявлен устаревшим в пользу IronScheme IronPython Python ironpython.net CLI-версия языка, созданная с поддержкой DLR IronRuby Ruby ironruby.net CLI-версия языка, созданная с поддержкой DLR IronScheme Scheme R6RS-совместимая реализация языка Scheme, построенная на основе DLR. J# Java Microsoft Компилятор был разработан корпорацией Microsoft. Она же объявила о прекращении поддержки языка. Ja.NET Java www.janetdev.org Реализация Java 5 JDK (среда исполнения и инструменты разработки Java) с открытым исходным кодом на .NET. JNBridge Java www.jnbridge.com JScript .NET JavaScript Microsoft CLI-реализация стандарта ECMAScript версии 3, совместимая с JScript. Содержит расширения для поддержки статической типизации. Объявлен устаревшим в пользу «Managed JScript». L# Лисп Роб Блакуэлл lsharp.org lcc lcc Lego.NET LEGO Mindstorms leXico Лого LOLCode.NET LOLCODE code.google.com Lua.NET lua.inf.puc-rio.br M# Managed C++ C++ Microsoft Версия языка C++, предназначенная для исполнения в среде CLR. Разработка и поддержка отменены в пользу C++/CLI. Managed JScript JavaScript Microsoft CLI-реализация языка программирования JScript, построенная на Dynamic Language Runtime. Соответствует ECMAScript третьей версии. Metaphor C# sky.fit.qut.edu.au Mercury on .NET Mercury cs.mu.oz.au MixNet MIXAL Mondrian Multiprocessor C# (MC#) C# u.pereslavl.ru Nemerle nemerle.org Мульти-парадигменный язык программирования, похожий на C#, OCaml и Лисп. NetCOBOL Кобол Fujitsu netcobol.com Ook# Ook! bluesorcerer.net Oxygene Object Pascal RemObjects Software OxygenScheme Scheme sourceforge.net Oz P# Пролог Джонатан Дж. Кук dcs.ed.ac.uk Pan# Паскаль TMT Perl.NET Perl Perl# Perl Джошуа Тауберер razor.occams.info Phalanger PHP CodePlex Реализация PHP с расширениями для поддержки ASP.NET. PHP Sharp 2003 PHP sourceforge.net PHP4Mono 2006 PHP sourceforge.net Phrogram Kids Programming Language (KPL) phrogram.com Масштабируемый CLI-язык для новичков и опытных пользователей PL/IL PL/I synrc.com Polyphonic C# C# Microsoft Research research.microsoft.com PowerBuilder Sybase Среда разработки и язык программирования, поддерживающий CLI начиная с версии 11.1. PowerShell Shell-команды Microsoft Объектно-ориентированная оболочка операционной системы с интерфейсом командной строки. PowerShell может динамически загружать сборки .NET, которые были написаны на любом из CLI-языков. PowerShell использует уникальный скриптовый синтаксис и широко использует фигурные скобки, наподобие языков с C-подобным синтаксисом. Prolog.NET Пролог Али М. Ходрож prolog.hodroj.net QuickBasic for .NET Basic RDNZL Лисп Ruby.NET Ruby Ruby/.NET Bridge Ruby RubyCLR Ruby S# Smalltalk Scala scala-lang.org Scheme.NET Лисп/Scheme Script.NET / S# JavaScript Петро Процык protsyk.com свободный скриптовый язык с JavaScript-подобным синтаксисом, разработанный сотрудником Microsoft Петром Процыком sharp.scheme (#S) 2008 C#
Schemearchvilledevel sharpscheme.berlios.de
developer.berlios.deПорт языка JScheme, разработанного Питером Норвигом, на платформу .NET. Проект закончился неудачей (компилятор так и не был выпущен). Sing# 2005 C# Microsoft Research research.microsoft.com Язык программирования с поддержкой параллелизма, является расширением языка программирования Spec#, который, в свою очередь, является расширением языка C#. Был создан для разработки операционной системы Singularity. Smalltalk and .NET Smalltalk sml.net Standard ML cl.cam.ac.uk Spec# 2004 C#, Eiffel Microsoft Research research.microsoft.com
specsharp.codeplex.comРасширение языка C# путем добавления поддержки контрактного программирования, предусловий, постусловий и объектных инвариантов. Tachy Scheme (R5RS) Кен Роулингс kenrawlings.com TickleSharp Tcl/Tk VB.NET[12] Visual Basic Microsoft Полностью перепроектированная объектно-ориентированная версия Visual Basic. Реализована на .NET Framework и Mono. VBx Visual Basic Microsoft динамическая версия of Visual Basic .NET, построенная на Dynamic Language Runtime. Предназначена для замены VBScript и VBA. Visual APL 2005[13] АПЛ APLNow, LLC (APL2000) www.apl2000.com
www.aplnext.com
www.visualapl.comИзначально разрабатывался под VS2005, впоследствии была выпущена версия для VS2008. Язык унаследовал синтаксис как языка АПЛ, так и заимствовал у ECMA-стандарта языка C#. Поддерживает объектно-ориентированный подход, интерактивную интерпретацию исходного кода, статическую компиляцию, позволяющую создавать динамические библиотеки (dll) и исполнимые файлы (exe), вызываемые из других .NET-языков[14]. Visual COBOL Кобол Micro Focus microfocus.com Vulcan.NET Visual Objects/XBase govulcan.net X# Язык ассемблера CLI-реализация специального языка ассемблера, разработанного для операционной системы Cosmos. X# также был кодовым именем для XML-возможностей Cω. Zonnon 2003 Паскаль, Модула-2 Оберон Юрг Гуткнехт zonnon.ethz.ch
software.unn.ac.ruНаследник языка Модула-2, расширенный средствами сборки мусора, объектного программирования, параллельного программирования (мультипрограммирования), переопределения операторов и обработки исключений. Изначально создавался для платформы .NET. См. также
- IKVM.NET: основанный на CLR компилятор байт-кода Java. Может использоваться для запуска Java- и Groovy-программ на CLR.
- Список JVM-языков
Примечания
- ↑ Имеется в виду год начала поддержки платформы .NET
- ↑ Эндрю Троелсен Язык программирования С# 2008 и платформа .NET 3.5 = Pro C# 2008 and the .NET platform / Под редакцией Ю.Н. Артеменко. — 4-е издание. — М.: Вильямс, 2010. — 1344 с. — ISBN 978-5-8459-1589-4
- ↑ Microsoft готовит язык с ароматом Java (рус.)
- ↑ Clarion.Net Highlights (англ.)
- ↑ CSharpener DotLisp - A Lisp Dialect for .NET (англ.). weblogs.asp.net (29 сентября 2003 года). Архивировано из первоисточника 2 июля 2012. Проверено 14 декабря 2010.
- ↑ Introduction (англ.)
- ↑ Eiffel for .NET: The power of Eiffel for the Microsoft .NET framework
- ↑ Eiffel for .NET: An Introduction
- ↑ History (англ.)
- ↑ Io on .NET? (англ.)
- ↑ Synrc Io Language CLR. Введение (рус.)
- ↑ Билл Ивьен, Джейсон Берес Visual Basic .NET. Библия пользователя = Visual Basic .NET. Bible / Под редакцией А. В. Ковалевского. — М.: Вильямс, 2002. — 1024 с. — ISBN 5-8459-0395-5
- ↑ APLNow LLC and Cognos Announce Asset Purchase (англ.)
- ↑ What is Visual APL? (англ.)
Ссылки
- .NET Powered: List of .NET languages (англ.)
- .NET Language Sites (англ.)
- Programmiersprachen für das .NET Framework (нем.)
- Создание компилятора языка для .NET Framework (рус.)
Категории:- Языки программирования платформы .NET
- Списки языков программирования
Wikimedia Foundation. 2010.