Список .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.
Список языков
Представленный ниже список языков упорядочен относительно алфавитного написания названий языков в их латинографическом написании.
| Язык | Предок | IDE/ компилятор | Поддержка .NET Framework | Mono | DotGNU | Интеграция с VS.NET | Поддержка ASP.NET | Источники | |||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1.0 | 1.1 | 2.0 | 3.0 | 3.5 | 4.0 | 4.5 | 4.6 | ||||||||
| 80386 Assembler scripting Language | Язык ассемблера 80386 | - | Да | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | Да | Да | [сп. 1][1][2] |
| A# | Ада 95/Ада 2005 | Да | Да | Да | N/A | N/A | N/A | N/A | N/A | Нет | N/A | Да | N/A | [сп. 2][сп. 3][3][4][5][6] | |
| Active Oberon for .Net | Oberon X, Active Oberon | Да | N/A | N/A | N/A | N/A | N/A | N/A | N/A | Да | N/A | Нет | Нет | [сп. 2][сп. 3][7][8][9] | |
| AsmL | AsmL for Microsoft .NET Compiler | Да | Да | Да | [сп. 2][10][11][12][13] | ||||||||||
| Spec Explorer | [сп. 2][14] | ||||||||||||||
| AVR (ASNA Visual RPG for .Net) | RPG/Caviar | [сп. 2] | |||||||||||||
| BETA.Net | BETA | [сп. 2] | |||||||||||||
| BF.NET | BF | [сп. 1] | |||||||||||||
| Bigloo | Scheme | [сп. 1] | |||||||||||||
| BlueDragon | CFML | [сп. 1] | |||||||||||||
| bmcs | Visual Basic | [сп. 2] | |||||||||||||
| boo | Python | [сп. 2][сп. 3] | |||||||||||||
| C++/CLI | C++ | [сп. 2] | |||||||||||||
| CAT | CAT | [сп. 1] | |||||||||||||
| Clarion# (Clarion.NET) | Clarion | [сп. 1] | |||||||||||||
| clisp | LISP | [сп. 1] | |||||||||||||
| C# (CSharp) | Java и др. | [сп. 2] | |||||||||||||
| Cobra | [сп. 1][сп. 3] | ||||||||||||||
| Cω (Comega) | [сп. 2] | ||||||||||||||
| Common Larceny | Scheme | [сп. 1] | |||||||||||||
| Component Pascal .Net | Оберон-2 | [сп. 2][сп. 3] | |||||||||||||
| CordScript | Spec Explorer | ||||||||||||||
| cscc | [сп. 2] | ||||||||||||||
| csswf | [сп. 1] | ||||||||||||||
| CULE.Net | Visual Objects/XBase | [сп. 2] | |||||||||||||
| Delphi | [сп. 1] | ||||||||||||||
| Delphi.Net | Delphi | [сп. 2] | |||||||||||||
| Delta Forth .Net | Forth | [сп. 2][сп. 3] | |||||||||||||
| Dot-Scheme | Scheme | [сп. 1] | |||||||||||||
| DotGnu JScript | JScript | [сп. 1] | |||||||||||||
| DotLisp | Lisp | [сп. 2][сп. 3] | |||||||||||||
| Dyalog.Net | APL | [сп. 2] | |||||||||||||
| Eiffel .Net | Eiffel | [сп. 2] | |||||||||||||
| Eiffel ENViSioN! | Eiffel | [сп. 1] | |||||||||||||
| E# (ESharp) | [сп. 1] | ||||||||||||||
| eXtensible C# | XC# | [сп. 2] | |||||||||||||
| F# (Fsharp) | OCaml | [сп. 2][сп. 3] | |||||||||||||
| FOIL | LISP | [сп. 1] | |||||||||||||
| Fortran for .Net | Fortran 95 | [сп. 2] | |||||||||||||
| FoxPro | xBase | [сп. 2] | |||||||||||||
| FTN95 for Microsoft .Net | Fortran 95 | [сп. 2] | |||||||||||||
| Gardens Point Ruby.Net | [сп. 2] | ||||||||||||||
| GPM/CLR | Modula-2 | [сп. 2] | |||||||||||||
| G# (GSharp) | [сп. 1] | ||||||||||||||
| Haskell.Net | Haskell | [сп. 2] | |||||||||||||
| Haskell for .Net | Haskell | [сп. 1] | |||||||||||||
| Hotdog | Scheme | [сп. 1] | |||||||||||||
| Hugs98 for .Net | Haskell 98 | [сп. 2] | |||||||||||||
| IKVM.NET | [сп. 1] | ||||||||||||||
| ilasm | [сп. 1] | ||||||||||||||
| IronJS | JavaScript | [сп. 3] | |||||||||||||
| IronLisp | LISP | [сп. 1] | |||||||||||||
| IronPHP | PHP | [сп. 1] | |||||||||||||
| IronPython | Python | [сп. 2][сп. 3] | |||||||||||||
| IronRuby | Ruby | [сп. 2][сп. 3] | |||||||||||||
| IronScheme | Scheme | [сп. 1] | |||||||||||||
| Jacl.Net | Tcl/Tk | [сп. 1] | |||||||||||||
| JANET | [сп. 1] | ||||||||||||||
| Java | [сп. 3] | ||||||||||||||
| J# (JSharp) | Java | [сп. 2] | |||||||||||||
| JScript.Net | JScript | [сп. 2] | |||||||||||||
| KICKS for .NET | COBOL | [сп. 1] | |||||||||||||
| Knowledge.Net | [сп. 1] | ||||||||||||||
| KOBRA | Python | [сп. 1] | |||||||||||||
| KPL | [сп. 1] | ||||||||||||||
| L# (L Sharp .Net) | LISP | [сп. 2] | |||||||||||||
| lcc.Net | Си | [сп. 2][сп. 3] | |||||||||||||
| Lexico | [сп. 1] | ||||||||||||||
| LSWVST.NET | Smalltalk | [сп. 1] | |||||||||||||
| Lua.Net | Lua | [сп. 2] | |||||||||||||
| mbas | [сп. 1] | ||||||||||||||
| MBase | [сп. 1] | ||||||||||||||
| MC# (Multiprocessor C#) | [сп. 2] | ||||||||||||||
| mcs/gmcs/smcs | C# | [сп. 2][сп. 3] | |||||||||||||
| Mercury.Net | Mercury | [сп. 2] | |||||||||||||
| Metaphor | [сп. 2] | ||||||||||||||
| MixNet | Mixal | [сп. 2] | |||||||||||||
| mjs | JavaScript | [сп. 3] | |||||||||||||
| Mondrian for .Net | Mondrian | [сп. 2] | |||||||||||||
| Mono Assembler | [сп. 1] | ||||||||||||||
| Mono Ruby.NET | Ruby | [сп. 1] | |||||||||||||
| MrLoose.Forth | Forth | [сп. 1] | |||||||||||||
| MSIL | [сп. 1] | ||||||||||||||
| Nemerle | [сп. 2][сп. 3] | ||||||||||||||
| NeoKicks | COBOL | [сп. 1] | |||||||||||||
| NetCOBOL | COBOL | [сп. 2] | |||||||||||||
| Net Express | COBOL | [сп. 2] | |||||||||||||
| NetRuby | Ruby | [сп. 2] | |||||||||||||
| NLua | Lua | [сп. 3] | |||||||||||||
| OCamIL | OCaml | [сп. 1] | |||||||||||||
| Oxygene | Object Pascal | [сп. 2][сп. 3] | |||||||||||||
| Pan# | Pan | [сп. 1] | |||||||||||||
| Parallel C# | C# | [сп. 1] | |||||||||||||
| paxScript.NET | [сп. 1] | ||||||||||||||
| P# (PSharp) | Prolog | [сп. 2] | |||||||||||||
| Перфолента.Net | Да | Да | |||||||||||||
| PerlNet | Perl | [сп. 2] | |||||||||||||
| PerlSharp | Perl | [сп. 2] | |||||||||||||
| Phalanger | PHP | [сп. 2] | |||||||||||||
| PHP_Sharp | PHP | [сп. 2] | |||||||||||||
| PHP4Apps | PHP | [сп. 1] | |||||||||||||
| PHP4Mono | PHP | [сп. 2][сп. 3] | |||||||||||||
| PHP Mono Extensions | PHP | [сп. 1] | |||||||||||||
| Polyphonic C# | [сп. 2] | ||||||||||||||
| Portable.NET Assembler | [сп. 1] | ||||||||||||||
| Processing.NET | Processing | [сп. 1] | |||||||||||||
| Prolog.Net | Prolog | [сп. 2] | |||||||||||||
| Python for .Net | Python | [сп. 2][сп. 3] | |||||||||||||
| Python for .Net compiler | Python | [сп. 1] | |||||||||||||
| RDNZL | LISP | [сп. 2] | |||||||||||||
| Rook | Ruby | [сп. 1] | |||||||||||||
| Ruby.NET | Ruby | [сп. 2][сп. 3] | |||||||||||||
| Ruby/.NET Bridge | Ruby | [сп. 1] | |||||||||||||
| RubyCLR | Ruby | [сп. 1] | |||||||||||||
| S# | Smalltalk | [сп. 1] | |||||||||||||
| S#.Net (SmallScript.NET) | [сп. 2] | ||||||||||||||
| Scala on Microsoft.NET | Scala | [сп. 1][сп. 3] | |||||||||||||
| Scheme.NET | Lisp/Scheme | [сп. 2] | |||||||||||||
| Sharp Smalltalk (#Smalltalk) | Smalltalk | [сп. 2][сп. 3] | |||||||||||||
| CSI (Simple C# Interpreter) | [сп. 2] | ||||||||||||||
| SML.Net | SML | [сп. 2] | |||||||||||||
| Spec# | AsmL, C# | Spec Explorer | [сп. 2] | ||||||||||||
| Spry | [сп. 1] | ||||||||||||||
| Squeak .NET | Squeak | [сп. 2] | |||||||||||||
| Synergy | [сп. 1] | ||||||||||||||
| Tachy | Scheme | [сп. 1] | |||||||||||||
| TCL / JACL for .Net | Tcl/Tk | [сп. 2] | |||||||||||||
| TickleSharp | Tcl/Tk | [сп. 2] | |||||||||||||
| TMT .NET | Pascal | [сп. 1] | |||||||||||||
| TurtleTracks.net Logo | LOGO | [сп. 1] | |||||||||||||
| Vista Smalltalk | Smalltalk | [сп. 2] | |||||||||||||
| VB.Net | Visual Basic | [сп. 2][сп. 3] | |||||||||||||
| Vbnc (Visual Basic .Net for Mono) | Visual Basic | [сп. 2] | |||||||||||||
| VMX Smalltalk | Smalltalk | [сп. 1] | |||||||||||||
| Vulcan.Net | Visual Objects/XBase | [сп. 2] | |||||||||||||
| Zonnon | Zoon | [сп. 1] | |||||||||||||
| Ада | Ада 2005 | GNAT Pro for .NET | |||||||||||||
Примечания
Источники-списки
- Brian Ritchie. .NET Languages (англ.). Bitbucket (25 августа 2013). Дата обращения: 15 октября 2014.
- Holger Schwichtenberg. Marktübersicht: .Net-Programmiersprachen. Babylonische Vielfalt (нем.) // «iX» : журнал. — Hannover: Heise Zeitschriften Verlag GmbH, 2007. — Nr. 10. — S. 102-108. — ISSN 0935-9680.
- Alexander Köplinger, Matthias Mailänder. Languages (англ.). mono-project.com (5 октября 2014). Дата обращения: 30 октября 2014.
Прочие источники
- Bjarke Viksoe. ASP.NET: ASM to IL compiler (англ.). viksoe.dk (25 августа 2001). — (Указана совместимость с .NET Framework 1.0 SP1). Дата обращения: 8 декабря 2014.
- Bjarke Viksoe. Source code (англ.). viksoe.dk (2002). — (Архив содержит проект для Visual Studio .NET (2002)). Дата обращения: 8 декабря 2014.
- Martin C. Carlisle, Ricky Sward, Jeff Humphries. A# home page (англ.). SIGAda (5 декабря 2002). — (Указана совместимость с .NET Framework 1.0.3705). Дата обращения: 12 ноября 2014.
- Martin C. Carlisle. A#: Multilanguage Programming with Ada in .NET (англ.). SIGAda (8 декабря 2003). — (Указана совместимость с .NET Framework 1.1.4322). Дата обращения: 12 ноября 2014.
- Martin C. Carlisle, Ricky Sward, Jeff Humphries. A# home page (англ.). asharp.martincarlisle.com (6 июня 2006). — (Указана совместимость с .NET Framework 2.0.50727). Дата обращения: 12 ноября 2014.
- Martin C. Carlisle. A# Integration into Visual Studio 2005 (англ.). asharp.martincarlisle.com (9 мая 2006). Дата обращения: 12 ноября 2014.
- Oberon Language Genealogy Tree (англ.) (недоступная ссылка). ethoberon.ethz.ch (8 июня 2000). Дата обращения: 13 ноября 2014. Архивировано 29 мая 2013 года.
- Oberon Language Genealogy Tree (англ.) (недоступная ссылка). oberon.ethz.ch (8 июня 2000). Дата обращения: 13 ноября 2014. Архивировано 13 ноября 2014 года.
- Active Oberon for .net Download (англ.). ethoberon.ethz.ch (12 февраля 2002). — (Указана совместимость с .NET Framework 1.0.3705). Дата обращения: 13 ноября 2014.
- Working from the command line (англ.). Microsoft Research (июнь 2002). — (Указана совместимость с версией .NET Framework 1.0.3705). Дата обращения: 21 декабря 2014. Архивировано 19 сентября 2002 года.
- Microsoft .NET Framework (англ.). Microsoft Research (июнь 2002). — (Указано требование Microsoft .NET Framework Service Pack 1). Дата обращения: 21 декабря 2014. Архивировано 19 сентября 2002 года.
- AsmL AddIn for Visual Studio .NET (англ.). Microsoft Research (июнь 2002). — (Указана совместимость с Visual Studio .NET). Дата обращения: 21 декабря 2014. Архивировано 18 сентября 2002 года.
- AsmL Frequently Asked Questions (англ.). Microsoft Research (2003). — (Указана совместимость с версией .NET Framework 1.1). Дата обращения: 21 декабря 2014. Архивировано 6 декабря 2003 года.
- AsmL: Abstract State Machine Language (англ.). Microsoft Research. — (Указано, что Spec Explorer содержит AsmL-компилятор для платформы .NET). Дата обращения: 11 декабря 2014.
См. также
Ссылки
- .NET Language Sites (англ.)