![]() |
|
![]() ![]() ![]() |
|
Sun |
|
|||
Account removed ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1611 Регистрация: 14.8.2002 Репутация: нет Всего: 48 |
В книге Гради Буча видел примеры программ на Ада. Говорят что это самый надежный язык программирования (не зря его использует МО США). Хотелось бы услышать сравнительные характеристики с такими языками как C++ и Java.
![]() -------------------- Account removed |
|||
|
||||
SetQ |
|
|||
Unregistered |
может здесь найдёшь: http://faqs.org.ru/progr/other_l/adafaq.htm
а вообще, Строуструп говорит, что С++ много из неё взял: обработка исключений, перегрузка операций... да и классы, собственно. Встречный вопрос ТУ ЭВРИБАДИ - что значит, по-вашему, "надёжный"? что должно быть в таком языке? |
|||
|
||||
cosmic |
|
|||
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 28.9.2002 Репутация: нет Всего: нет |
а хто цэ - Гради Буч? про Ada'у ничего не знаю.
|
|||
|
||||
desyatnik |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 161 Регистрация: 13.8.2002 Где: Мичуринск Репутация: нет Всего: нет |
Классы Страуструп ну никак не мог из Ады взять: 1) в то время их там просто не было, 2) ОО-модель Ada-95 несколько ![]() А к вопросу о надежности... В первую очередь - четко определенная семантика. Т.е. на 100% знать, что именно будет происходить при выполнении данного куска программы. Можно поискать в Google на тему C++ vs Ada и Java vs Ada - очень много говорится как раз по поводу надежности Ады по сравнению с этими языками. --------------------
WBR, Dejrgris |
|||
|
||||
desyatnik |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 161 Регистрация: 13.8.2002 Где: Мичуринск Репутация: нет Всего: нет |
Язык действительно классный. Продумано в нем ВСЁ. По возможностям - нечто среднее между Си++ и Явой: 1) статический полиморфизм aka templates 2) мощнейшая иерархическая система модулей (то, что в Яве - жалкое подобие) 3) мощнейшая система типов, особенно числовых; можно накладывать доп. ограничения наподобие subtype Bounded_Float is Float range -1.0 .. 1.0; 4) очень хорошо работает с массивами: a(4..10) := b(200..206); -- и это еще не все! ![]() 5) частично поддерживает сборку мусора (т.е. стандарт не требует ее наличия, но и не мешает; GNAT сборки мусора НЕ имеет, а вот jGNAT - использует стандартные Явские механизмы)) Ну и много чего еще... Хорошие сайты знает Google (каталог Computers->Programming->Languages->Ada) --------------------
WBR, Dejrgris |
|||
|
||||
Vex |
|
|||
![]() кацапосрачмученiкъ ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3103 Регистрация: 28.3.2002 Где: strawberry fields Репутация: нет Всего: 88 |
Если Ада такой классный язык, то почему он не такой популярный, как С++, например? Может просто нет хорошей среды разработки?
-------------------- Слава Україні. |
|||
|
||||
Sun |
|
|||
Account removed ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1611 Регистрация: 14.8.2002 Репутация: нет Всего: 48 |
Думаю Пентагон приложил некоторые усилия, чтобы не делать его популярным ![]() А среда разработки, по моему мнению, вещь не главная хотя и способствующая популяризации языка. В конце концов никто не мешает модернизировать существующие IDE и адаптировать их под Ada. -------------------- Account removed |
|||
|
||||
Fantasist |
|
|||
![]() Лентяй ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1517 Регистрация: 24.3.2002 Репутация: нет Всего: 41 |
А классы были всзяты из SmallTalk. Из него еще кое-что было взято, только не помню что.Уж не перегрузки ли операторов? ![]() -------------------- Волны гасят ветер... |
|||
|
||||
SetQ |
|
|||
Unregistered |
||||
|
||||
desyatnik |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 161 Регистрация: 13.8.2002 Где: Мичуринск Репутация: нет Всего: нет |
Во-первых, Си++ заметно старше Ады-95 (хотя ANSI C++ и был принят позднее). Ада-83 же имеет довольно много недостатков. Во-вторых, с точки зрения компиляции Ада значительно сложнее Си++, поэтому хорошие (и недорогие) компиляторы появились не так давно. В-третьих, что думает "средний" программер о Си++? "Это развитие Си -> если Си быстр почти как ассемблер, то и Си++ такой же, но еще круче" (хотя на самом деле все далеко не так просто). А об Аде? "Ааа, это тот монстр, которого все кул хацкеры так ругают!" Многие уважаемые люди (фамилий сейчас не припомню) оччень нехорошо об Аде отзывались. А вот про то, что это (хотя и правда) относится даже не к Аде-83, а к предварительным версиям языка, никто и не вспоминает... В-четвертых, кто сказал, что Ада непопулярна? ![]() Си++ и Java, но умные люди рекламу не слушают. Хотя Яву тоже есть за что похвалить. --------------------
WBR, Dejrgris |
|||
|
||||
desyatnik |
|
||||
Бывалый ![]() Профиль Группа: Участник Сообщений: 161 Регистрация: 13.8.2002 Где: Мичуринск Репутация: нет Всего: нет |
Классы не из Smalltalk были взяты. Ада ближе скандинавской школе объектно-ориентированного программирования. Simula, BETA... C++... ![]() ![]() Smalltalk же ближе к Лиспу стоит. Ruby, Python, Perl... Это всё одна семейка ![]() --------------------
WBR, Dejrgris |
||||
|
|||||
Sun |
|
|||
Account removed ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1611 Регистрация: 14.8.2002 Репутация: нет Всего: 48 |
Я и не подозревал, что у народа такой интерес к этому замечательному языку
![]() -------------------- Account removed |
|||
|
||||
desyatnik |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 161 Регистрация: 13.8.2002 Где: Мичуринск Репутация: нет Всего: нет |
Интерес был бы еще больше, если бы имелись толковые доки на русском. Интерфейс к другим языкам у Ады на уровне, так что как минимум все Сишные, Фортрановые и Коболовые библиотеки использовать можно. GNAT может и к C++ подцепляться, и к Java (довольно криво, правда). Так что всё решает недостаток информации. --------------------
WBR, Dejrgris |
|||
|
||||
orion_sdo |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 12.11.2002 Где: Санкт-Петербург Репутация: нет Всего: нет |
[quote=desyatnik,08.11.2002,14
![]() 2 desyatnik: а ты для какой платформы на Ada кодишь? |
|||
|
||||
desyatnik |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 161 Регистрация: 13.8.2002 Где: Мичуринск Репутация: нет Всего: нет |
Win32, Linux, JVM. "Кодишь" - сильно сказано. Скорее "пробую силы", всерьёз Аду (пока?) не использую. --------------------
WBR, Dejrgris |
|||
|
||||
orion_sdo |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 12.11.2002 Где: Санкт-Петербург Репутация: нет Всего: нет |
Хм... ![]() ![]() ![]() |
||||
|
|||||
desyatnik |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 161 Регистрация: 13.8.2002 Где: Мичуринск Репутация: нет Всего: нет |
Ну как же так? Из бесплатно распространяемых - GNAT; не особо дорогая
также ObjectAda. В IDE a'la C++Builder особой необходимости я никогда не видел, но у ObjectAda и это есть. IMHO jEdit - лучший друг программиста ![]() И где, кстати, отличные среды разработки для C++ или Delphi? Сам Delphi? После jEdit и Emacs иначе как уродством ЭТО я назвать не могу. Конечно, визуально компоненты по форме кидать удобно... Но это - НЕ программирование. По крайней мере не то программирование, где выбор языка играет хоть какую-то роль (наглядный пример - Visual Basic). А Аду изучать надо. Хотя бы - чтобы знать, какой кривизной на самом деле являются Object Pascal и C++. Да и Java по большому счёту, хотя с ней ещё не всё потеряно ![]() --------------------
WBR, Dejrgris |
|||
|
||||
Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: нет Всего: 207 |
Заинтересовали вы меня, скачал ObjectADA, поставил себе, попробовал (до этого никогда её в глаза не видел). Впечатления следующие:
1) ничего не могу сказать о самом языке, так как я его не знаю, и не чего не писал. По внешнему виду ощущается большое сходство с Паскалем, причём различия скорее в лучшую сторону, на мой непосвященный взгляд читабельность кода даже несколько выше чем Паскаля. 2) Среда разработки напоминает среды от MS или Борланда 4х-5ти летней давности, но в принципе вполне терпимые (естественно, что я за 5 минут не смог оценить все возможности - это лишь беглая оценка инструментария и того что на виду) 3) Потрясающая скорость компилляции заставила вспомнить аналогичный процесс на компьютере типа ДВК выпуска 1985 года: 17ти килобайтный исходный код проекта (около 400 строк кода) на PII-230/512RAM компиллировался никак не меньше минуты 4) Объём полученного EXE файла тоже впечатлил - около 650 килобайт Для тестирования брался прилагавшийся Sample - keylook - девственно чистое виндовое окно выводятся (почти как в терминале) сообщения о нажатых клавишах. Другой Samle - демонстрирующий рисование разных фигур в трёх окнах тоже был крут - компиллировался ещё раза в 3 дольше, а размер exe получился уже более полутора метров... -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
desyatnik |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 161 Регистрация: 13.8.2002 Где: Мичуринск Репутация: нет Всего: нет |
1) читабельность Ады действительно лучше, чем у Паскаля (который считается одним из предков ![]() 3) ObjectAda не пользовался, поэтому сказать ничего не могу. GNAT работает несколько шустрее GCC (2.9 или 2.8, точно не помню). 4) возможно, это отладочная информация. Или runtime. GNAT опять-таки даёт вполне пристойные результаты (хотя и хуже, чем GCC). --------------------
WBR, Dejrgris |
|||
|
||||
COLOMBO |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 26.11.2004 Репутация: нет Всего: нет |
А я не слышал про ADA!
![]() |
|||
|
||||
stab |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1839 Регистрация: 1.1.2003 Репутация: нет Всего: 48 |
Вот в одном ФАКе нашел такие строки:
Как я понял до версии 95 ООП не было, т.е. был строгий процедурный язык. Что такое п.1, п.3, п.4, п.5 понятно, а вот что такое п.2? И может кто-нибудь объянисть в чем собственно премимущества Ada перед, скажем, C# или C++? Просмотрев примеры для начинающих, увидел только раздутый синтаксис обычного Pascal. Я понимаю, что на таких примерах всего сразу не покажешь, но эти примеры мне напомнили следующее: Asm: mov EAX, 0 AdaAsm: move integer value 0 into register named EAX located in the central processing unit Мне кажется это не ведет к бОльшей надежности. ![]() В чем же революционные идеи? Чесслово очень хочу это понять... -------------------- 6, 6, 6 - the number of the beast. |
|||
|
||||
manu |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 39 Регистрация: 14.10.2004 Репутация: нет Всего: 3 |
[из предисловия к книге Ал. Стивенса "ТЕХНИКА ПРОГРАММИРОВАНИЯ НА ТУРБО СИ"]
В данной книге вы столкнетесь с программами, написанными на языке Си. Это замечательный язык, и хотя некоторым он не нравится, но все же большинство программистов его любят. На Си вы можете создавать программы, которые делают все, что вы пожелаете. Нет другого такого языка, который бы так же стимулировал к программированию. Создается впечатление, что остальные языки программирования воздвигают искусственные препятствия для творчества, а Си - нет. Использование этого языка позволяет сократить затраты времени на создание работающих программ. Си позволяет программировать быстро, эффективно и предсказуемо. Еще одно преимущество Си заключается в том, что он позволяет использовать все возможности вашей ЭВМ. Этот язык создан программистом для использования другими программистами, чего о других языках программирования сказать нельзя ............ ................................................................. ................................................................. ...создан таким, чтобы менеджеры могли разбираться в написанных этом языке программах; Бэйсик был создан для непрограммистов; Фортран - для научных работников; Ада вообще был создан прямо-таки правительственным комитетом; Пайлот создан для учителей; Паскаль - для студентов; Лого - для детей; АПЛ - для марсиан; Форт, Лисп и Пролог - специализированные языки. Один Си - это язык для программистов. |
|||
|
||||
Гость_Витя |
|
|||
Unregistered |
здраствуйте а где скачать Аду и как ее поставить попробівать хочу
|
|||
|
||||
SPrograMMer |
|
|||
![]() Спамер :) ![]() ![]() Профиль Группа: Участник Сообщений: 442 Регистрация: 5.11.2004 Где: Краснодар Репутация: нет Всего: 6 |
Тута ада лежит
Если быть точнее, папочка 3.15p там кажись все что надо. Это сообщение отредактировал(а) SPrograMMer - 8.4.2005, 20:36 -------------------- животное = зверь законченный гентушник |
|||
|
||||
Denis-delphist |
|
|||
Unregistered |
Дело в том, что нельзя сравнивать ADA с JAVA и C++, так как ADA это язык программирования для электронных машин на заводах, где к примеру производят автомобили!!! Типа на нём записано, когда и куда какой красской красить!!!
![]() |
|||
|
||||
Гость_Evgeniy |
|
||||||
Unregistered |
Привет, вот читаю я ваши дискуссии..., ну отчасти приятно. Я в настоящее время учусь в Швейцарии в Высшей инженерной школе (инженера компьютерных систем и спутниковой навигации) так мы от корки до корки изучаем... правильно - АДА. И многие университеты Европы и США тоже.... |
||||||
|
|||||||
Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: нет Всего: 317 |
VHDL, тот что для проектировки железа используеться (FPGA, процы и другая логика) похож на ADA по моему. Как вывод, язык нужно знать если работать придёться с железом, доступней сразу будут *HDL языки.
-------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
svg |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 53 Регистрация: 13.4.2005 Репутация: 1 Всего: 18 |
Ada очень популярный язык, просто многие не знают, что пишут именно на нем. Кто не верит - сравните описания PL/SQL от Oracle и описание Ada. За исключением SQL-специфичных операторов первый есть весьма точное подмножество второго. |
|||
|
||||
OCTAGRAM |
|
||||||||||||||||||||||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 17.12.2007 Где: Новосибирск Репутация: нет Всего: нет |
На эту тему был длинный тред на comp.lang.ada : How come Ada isn't more popular? А ещё вот : Why Ada isn't Popular От себя соглашусь с desyatnik. Популярность с достоинствами слабо коррелирует. Если вы в мире IT достаточно долго, то должны себе отдавать отчёт в этом. Чтобы там ни говорили окружающие, есть своя голова на плечах. А то получается, что, когда, большинство равняется на большинство, это попросту положительная обратная связь. Любая нелепость становится обыденностью.
По сравнению с C++ в Аде нет некоторых дебилизмов. Например, в C++ не гарантируется порядок инициализации глобальных переменных между «модулями». И глобальных переменных с конструкторами поэтому C++ программисты избегают. И я, когда пишу, тоже избегаю. Если конструктор будет использовать модуль, который ещё не инициализировался, могут быть траблы. Причём траблы могут быть, а могут и не быть. А если сейчас нет, то могут появиться позже. Или, например, есть в C99 пара фич: агрегаты и массивы с размером, не определённым на этапе компиляции. А вот C++ этого "не досталось". Нужны агрегаты — пиши конструктор для каждой структуры. Нужны массивы с размером, не определённым на этапе компиляции — используй vector. Когда я пишу на Аде, мне, слава Богу, не приходится волноваться, кому там чего "не досталось", чем заменить недостающий функционал, каких скрытых граблей надо избегать, и о прочих тупостях сяшного семейства. Если хорошо знатъ Аду, то писать на C/C++ просто не захочется. Для меня C и C++ — так же, как и ассемблер. Знать — надо. Но всерьёз что–то делать — ни в коем разе. Что касается Delphi, я находил на Quality Central штук двадцать пожеланий фич, которые есть в Аде. Это и иерархия пакетов, и RAII, и инициализация переменных там, где хочешь (блок var в некоторых исходниках порой превращается в мусорку) (declare-begin-end в Аде), и цикл for, чтоб не надо было объявлять главную переменную (и так всё понятно, какого она типа), и обобщённое программирование. Если вы Delphi программист, я уверен, вы обязательно найдёте для себя что–то, что давно хотели иметь в Delphi. Собственно, вот таким вот образом я три года назад и ушёл с Delphi. После Ады он кажется ну до того скудным и тесным. За прошедшие годы гиперссылки поменялись. Много, чего случилось. AdaCore теперь единая компания, стандарт Ada 2005 (или Ada 2007, если по дате завершения стандартизации) вышел. Где искать софт: ftp://ftp.mipt.ru/ FTP сайт ФизТеха (он же МФТИ). Там прям в корне лежит зеркало дистрибов GNAT 2007. Правда, не совсем последнее. Сейчас последнее обновление GNAT 2007-2 поддерживает Windows Vista; и ещё GNATBench, плагин для Eclipse, выложен в свободный доступ. Плюс, x86_64-linux версия доступна для скачивания. С оригинального сайта http://libre.adacore.com/ не каждый россиянин сможет скачать, там докачки нет. Ну, если что, могу любую версию GNAT 2006/2007 из тех, что на libre, через Jabber передать. ObjectAda 7.2 (если вдруг интересно) для Windows есть на http://ftp.chg.ru/pub/lang/ada/ObjectAda/ Поскольку стандарт 2005 она пока не держит, да и на Windows я давно не был, меня она не интересует.
При проектировании в язык намеренно были заложены ловушки для ошибок. Например, классика жанра:
Случайно написать подобную вещь на Аде невозможно. В C и его потомках правильную программу от ошибочной отделяет всего один–два знака! Или, например, если я пишу код, то я могу написать где–нибудь { }, а код потом позже добавить, перейти редактировать другой кусок. Или забыть добавить и так и скомпилировать. И это, вполне возможно, с виду будет работать. Потом этот кусок потеряется в глубинах проекта, и станет трудно диагностируемой ошибкой. И, когда смотришь исходники, не вспомнишь же, хотел ты дописать туда что–то или нет. Особенно, если это был не ты. А в Аде так не получится. Там между begin и end в случаях, если имелся в виду именно пустой блок, должен быть null. Поэтому можно спокойно писать код в таком порядке, в котором легче думается. Процедуры с пустыми телами пишутся просто is null; вместо is begin null; end;, так что раздутости нет. Те, кто говорит, что Ада раздутая, видимо, перед этим недостаточно думали. Для сравнения можно посмотреть на язык Cyclone. По сравнению с ним Аду очень легко читать, даже неподготовленному. А в Cyclone нужно продираться сквозь заклинания из вопросов, звёздочек, доларов, собак и т. п. Зато кратко, спору нет. Лично мне удобнее выражаться словами, чем спецсимволами. Конечно, сенсеи вроде как всегда пишут как надо, не допускают таких ошибок. Казалось бы. В действительности такие люди, если они есть, могут по праву носить синюю футболку с большой буквой S на груди. Я человек. Я осознаю, что мне свойственно делать ошибки. Поэтому от помощи компилятора отказываться не буду. На эту тему есть хорошие цитаты: Dirk's Quote Collection
Как видите, Ада — это не только язык. Это часть технологии раннего обнаружения ошибок. Чем раньше обнаружишь ошибку, тем меньше она будет стоить.
Ну и, с другой стороны, всё про ту же надёжность. Ада надёжна в том смысле, что обеспечивает run-time encapsulation. Вот C++ не обеспечивает. И производители ПО не перестают радовать нас критическими обновлениями. Java обеспечивает, но на уровне виртуальной машины. Понятно, что runtime encapsulation на уровне компилятора будет эффективнее. Что касается надёжности, в Java свои тараканы. Безопасность–то там есть, а вот приколы с синтаксисом те же самые, что у C. Что удивительно, в Java в порядке вещей кольцевой характер примитивных целочисленных типов. Если это называется надёжность, то я Папа Римский.
Why Ada isn't Popular
И для сравнения : Evolving a language in and for the real world: C++ 1991-2006
Ну и какой из языков после этого был разработан комитетом? К слову, EDG (согласно comp.lang.ada) — единственные, кто делают компиляторы, полностью соответствующие C99 и C++2003.
LOL кг/ам Автор элементарно не шарит. Чтобы Лисп был специализированным? Wiki:Lisp
Используйте эту книжонку не по назначению! Топите ею печку, ну ещё там какие возникнут потребности! Не читайте её. |
||||||||||||||||||||||
|
|||||||||||||||||||||||
Nashev |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 6.1.2008 Репутация: нет Всего: нет |
Подтверждаю, PL/SQL - очень приятная реализация АДы от Оракла, хоть и не достаточно полноценная в силу своей специализированности на тесную и высокоинтегрированную работу в контексте конкретной СУБД.
|
|||
|
||||
programador |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 65 Регистрация: 12.4.2006 Репутация: нет Всего: нет |
OCTAGRAM - пожалуй, единственный человек, способный написать книгу по АДА на языке понятному рунету
![]() ![]() ![]() Единственное меня беспокоит - насколько актуально учить этот язык. Найду ли я достойно оплачиваемую работу на постсоветском пространстве или буду добровольным популяризатором? P.S.: и на Винграде этому языку практически не уделено внимания - его нет даже в "Красной книге"!!! |
|||
|
||||
source777 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1878 Регистрация: 12.3.2007 Репутация: 2 Всего: 56 |
![]() -------------------- Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте |
|||
|
||||
programador |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 65 Регистрация: 12.4.2006 Репутация: нет Всего: нет |
![]() ![]() ![]() OCTAGRAM Что про программирование на мобильных устройствах скажешь (КПК с виндой интересуют)? Если скажешь что классно и, главное, как - ряды ацких программеров пополнятся ![]() |
|||
|
||||
cube |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 291 Регистрация: 11.4.2007 Репутация: нет Всего: 3 |
Я никогда не буду на нем писать, потому что мне не платят денег за то что я пишу на нем, я не видел ни одной программы реализованной на нем, я не накопил еще денег на запуск боеголовки в космос. А про удоства, корявость и прочее можете сколь угодно писать. Это узкий язык, для узких специалистов.
|
|||
|
||||
Бонифаций |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 827 Регистрация: 15.9.2005 Где: Brisbane Репутация: 2 Всего: 40 |
"мне не платят деньги за то что я буду пользоваться отверткой. поэтому я буду все забивать молотком" -------------------- Бонифаций. |
|||
|
||||
kemiisto |
|
|||
![]() Дикий Кот. =^.^= ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Участник Клуба Сообщений: 3292 Регистрация: 29.7.2007 Репутация: 1 Всего: 160 |
OCTAGRAM, хорошо излагаете. Но, думаю, чтоб "уровнять шансы", стоит упомянуть, что многие "классики" программирования критикуют Ada - критика Ada.
P.S. В поисках современного паскаля остановил свой выбор на Component Pascal. -------------------- |
|||
|
||||
cube |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 291 Регистрация: 11.4.2007 Репутация: нет Всего: 3 |
Даже когда нет молотка? А есть только отвертки? (согласись редко когда пишут в вакансиях на работу - приглашается отличный программист, чаще пишут приглашается специалист в области разработок на С++, далее пишут про технологии, с навыками работы на которых должен обладать претендент, опыт работы в данной области, про умение ясно и четко выражаться и т.п.) Дома ты можешь писать на чем хочешь и делать что хочешь)) |
|||
|
||||
OCTAGRAM |
|
||||||||||||||||||||||||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 17.12.2007 Где: Новосибирск Репутация: нет Всего: нет |
Ада
До систематичности "Адского программирования" мне далеко. Хотя я бы мог иногда писать заметки в блоге.
ИМХО Real-Time Java — это как в анекдоте про морскую свинку.
Сейчас это возможно либо через .NET, либо через Java. AdaCore делает технологии доступными в GNAT Pro раньше, чем в GNAT GPL. Порт Ada 2005 под .NET был ещё год назад. Начиналось всё с того, что AdaCore давным–давно выпустила JGNAT для Ada 95. Потом Martin Carlisle начал использовать JGNAT вместе с JBIMP, чтобы конвертировать java в .net, и то, что получилось, назвали MGNAT. Потом код самого mgnat модифицировался, ему уже больше не нужен был JBIMP, а потом и сам J#. И язык входной был немного изменён. К Аде 95 была добавлена конструкция Объект.Метод, и ещё там была прозрачная конвертация между Адскими строками и .NET, и то, что получилось, нарекли A#. Сейчас, когда уже есть Ада 2005, A# не актуален. (Иногда GNAT for .NET называют A#, но это больше для понту) Объект.Операция в Аде 2005 и так есть, а что касается конвертации одних строк в другие, программисты для удобства давно уже перегружают оператор плюс. В Аде во–перых, перегрузка методов не является чем–то особенным. Не надо писать overloaded, даже слова такого зарезервированного нет. Во–вторых, если use'ать модули, в которых есть процедуры/методы с одинаковыми именами, они не затеняют друг друга, как в Delphi, а перегружают. В третьих, перегрузка в Аде есть не только по типу аргументов, но и по типу результата. Вот и получается, что пишешь +"Hello, World!", а компилятор сам определяет, во что конвертировать, в кутишную строку или тиклевскую, или ещё какую. Rob Veenker уже отрапортовал в comp.lang.ada успешный запуск.
Боюсь, я далёк от этих дел. Windows Mobile я себе не хочу, мне хватает Philips Xenium 9@9u. Он поддерживает только J2ME, а для Java компилятор, наверное, ещё один год ждать. У AdaCore он готов, они на днях хвастались тем, что Ada/Java можно совмещать, компилируя Аду хоть в натив, хоть в Java bytecode. А так, в принципе, непаханное поле для любителей дзена. Вот, например, уже сейчас можно экспериментировать с Silverlight. А как JGNAT для публики зарелизят, можно будет компилировать и в Silverlight, и в Java applet. Меня сейчас больше интересуют GNAT-SWIG и GNAT-COM. gnat-swig — это модификация SWIG, которая позволяет делать Адские привязки. SWIG — это мощная утилита для создания обёрток вокруг сишных и C++ библиотек. SWIG понимает C99, SWIG понимает C++, если только сильно не извращаться. SWIG даже может инстанциировать C++ шаблоны и конвертировать исключения между языками. Конечно, такой функционал пошёл бы на пользу программистам Ада. Надёжность снижается, зато нивелируется начальный порог для внедрения Ады, когда нет привязок к необходимым библиотекам. И вот эта важная утилита пылится в недрах SVN какого–то другого проекта. Я не помню адрес gnat-swig, но если кому интересно, нужно зайти на irc.gnu.org#ada и написать в чате "!gnat-swig". Бот Allegra должен ответить точным адресом. В репозиторий собственно SWIG'а gnat-swig пока не вошёл. Чего–то там не доделано. Сейчас на gnat-swig сделаны привязки для GNU Scientific Library и wxWidgets. В wxWidgets я разочаровался после того, как портировал на Mac OS X XML Copy Editor. Наглядно увидел, что там и как. wxWidgets перед отображением меню программы редактирует его, переносит пункты меню "О программе", "Выход", "Настройки..." в то место, где они ожидаются на Mac OS X. Вот только локализировать их ни в какую. Меню Windows через интерфейс wxWidgets вообще недоступно, меню Help, самое забавное, с точки зрения wxWidgets API называется по–русски "Справка", а отображается по–английски. И докинг косячит нереально. Зато с выходом FireFox 3 я обратил внимание на Gecko 1.9. Gecko 1.9 — это первый марсианский движок, который более–менее нормально воспроизводит Mac OS X. Почему марсианский? Цитата:
Gecko базируется на XPCOM, и это отличная возможность полноценно привязать его к Аде. В отличие от SWIG, который в некотором смысле сборник трюкачеств.
Хоар? Why Ada isn't Popular
Дейкстра критиковал вообще всё. В этом смысле его критику можно рассматривать как советы по улучшению. Я принимаю как данность, что there's no 42.
неплохо P. S. Мне кажется, из CP получился бы неплохой переносимый ассемблер №2. Он компилится не только в натив, но и в .net, и в java bytecode, только он под них лучше заточен, чем Ада. Если свой язык делать, пригодилось бы. |
||||||||||||||||||||||||
|
|||||||||||||||||||||||||
kemiisto |
|
|||
![]() Дикий Кот. =^.^= ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Участник Клуба Сообщений: 3292 Регистрация: 29.7.2007 Репутация: 1 Всего: 160 |
OCTAGRAM, насчёт критики понял. Устарела, да и по-сути, не по адресу. Стандарт был принят позже, как я понял.
Это верно. Но речь несколько не о том. Просто существуют языки с простым, очевидным и однозначным синтаксисом, а существуют С и иже с ним. (Кстати, в статье про 42 увидел. Плакал... ![]() Если Ada относится к первым - снимаю шляпу.
Согласен. Несколько иное применение, но в том же русле - Оберон как эсперанто программирования Это сообщение отредактировал(а) kemiisto - 16.9.2008, 22:16 -------------------- |
|||
|
||||
![]() ![]() ![]() |
Добро пожаловать в раздел "Другие языки" форума Vingrad! | |
|
Раздел посвящён различным языкам программирования, для которых (в силу невысокой популярности) нет отдельного раздела (GPSS, Lua, MATLAB, Ada, Forth, Smalltalk, Tcl, REXX, AWK и др.)
Приятного времяпрепровождения! С уважением, Void, kemiisto . |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Другие языки | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |