Cobra (мова програмування)
Зовнішній вигляд
Cobra | |
---|---|
Парадигма | Багатопарадигмальна: об'єктно-орієнтована |
Дата появи | 2006 |
Творці | Чарльз Естербрук |
Розробник | Cobra Language LLC |
Останній реліз | 0.9.6 (23 грудня 2013 ) |
Система типізації | сильна, статична, динамічна, виведена |
Під впливом від | Python, Eiffel, C#, Objective-C |
Операційна система | Microsoft .NET, Mono |
Ліцензія | MIT |
Звичайні розширення файлів | .cobra |
Вебсайт | cobra-language.com |
Cobra — це припинена, об'єктно-орієнтована мова програмування загального призначення.[1] Cobra розроблена Чарльзом Естербруком, і запускається на платформах Microsoft .NET і Mono.[2] На неї сильно вплинули Python, C#, Eiffel, Objective-C й інші мови програмування.[3] Вона підтримує як статичну, так і динамічну типізацію.[4][5] Вона підтримує модульні тестування і контракти.[4] У ній є лямбда-вирази, закриття, спискові вирази, і генератори.[6]
Cobra — це проєкт з відкритим кодом; Його випущено під ліцензією MIT 29 лютого 2008 року.[7][8]
- Об'єктно-орієнтовані
-
- Простори імен
- Класи, інтерфейси, структури, розширення, переліки
- Методи, властивості, індексатори
- Домішки, методи розширення
- Узагальнення, атрибути
- Контроль якості
-
- Контракти, припущення
- Модульні тестування, документування
- Відстеження nil під час компіляції
- Виразність
-
- Статична та динамічна прив'язка
- Літерали списків, словників і множин
- Оператори
in
таimplies
- Вирази
for
- Зрізи
- Інтерпольовані рядки
- Вивід типів під час компіляції
- Лямбди і замикання
- Загальна продуктивність
-
- Обробка винятків
- Звіт про виняток після виконання
- Збирання сміття
- Зручності для скриптування
-
- Чистий синтаксис
- Динамічна прив'язка
- Однокроковий запуск
- Шебанг (
#!
)
- Інше
-
- Інструмент для документування (
cobra -doc
) - Інструмент підсвічування синтаксису (
cobra -highlight
)
- Інструмент для документування (
Наступні приклади можна запустити з файлу за допомогою cobra <назвафайлу>
.
class Hello
def main
print 'ПРИВІТ, СВІТЕ'
class Person
var _name as String
var _age as int
cue init(name as String, age as int)
_name, _age = name, age
def toString as String is override
return 'Мене звати [_name] і мені [_age] років.'
- ↑ The Cobra Programming Language. Cobra Language LLC. Процитовано 26 вересня 2012.
- ↑ Чарльз Естербрук (28 січня 2008). Lang.NET Symposium 2008 – The Cobra Programming Language. Microsoft. Архів оригіналу (wmv) за 26 березня 2009. Процитовано 31 серпня 2010.
- ↑ Бріджвотер, Едріан (5 березня 2008). Cobra takes a bite at open source. ZDNet UK. Процитовано 31 серпня 2010.
- ↑ а б Ньюард, Тед (Червень 2009). Reaping the Benefits of Cobra. MSDN Magazine.
- ↑ Еріксон, Джонатан (Квітень 2008). Was George Costanza a Computer Programmer?. Dr. Dobb's Journal.
- ↑ Морріс, Річард (Квітень 2010). Chuck Esterbrook: Geek of the Week. Simple-talk.
- ↑ Крілл, Пол (7 лютого 2008). Cobra language slithering to open source. InfoWorld. Процитовано 31 серпня 2010.
- ↑ The Cobra Programming Language. Cobra Language LLC. Процитовано 29 лютого 2008.
- Офіційний сайт
- The Cobra blog від Чарльза Естербрука
- Cobra News Index