OberonCore https://forum.oberoncore.ru/ |
|
Euphoria - "Есть ишшо такая Ява.." https://forum.oberoncore.ru/viewtopic.php?f=26&t=781 |
Страница 1 из 1 |
Автор: | Клоп Говорун [ Пятница, 14 Декабрь, 2007 04:42 ] |
Заголовок сообщения: | Euphoria - "Есть ишшо такая Ява.." |
Есть еще такое - Euphoria, язык позиционируемый под множество платформ : Linux-ы,FreeBSD,Windows-ы,DOS-ы компилятор e2c и еще много чего, прост до безобразия узучается за день-современный QBasic. Однако хвастаются производительностью, есть GUI какое-никакое. Вот типы данных у него мне понравились, эстетически приятно видеть такое -sequence. гы.. Люблю писать под дос всякую всячину поетому взял на вооружение http://www.rapideuphoria.com/ есть там и русское зеркало... ________________________________________________________________________ Чубайс-наша грозная слава |
Автор: | Vlad [ Пятница, 14 Декабрь, 2007 08:49 ] |
Заголовок сообщения: | Re: Есть ишшо такая Ява.. |
cbsc писал(а): Есть еще такое - Euphoria Судя по описанию это больше похоже на перл, чем на яву. Только в перле "все есть хеш-массив", а тут "все есть список". Ничего интересного. Или есть что-то уникальное? |
Автор: | Илья Ермаков [ Пятница, 14 Декабрь, 2007 09:11 ] |
Заголовок сообщения: | Re: Есть ишшо такая Ява.. |
А вот как это выглядит - вроде ничего, особо деструктивного для психиики, нет, хотя на страничке пугали сравнением с Басиком... Однако, если тянет на интерпретируемое с сиквенсами всякими, то уж Питон - более распространённый язык... Хотя этот вроде статически типизирован, что в лишний +... Код: sequence list, sorted_list
function merge_sort(sequence x) -- put x into ascending order using a recursive merge sort integer n, mid sequence merged, a, b n = length(x) if n = 0 or n = 1 then return x -- trivial case end if mid = floor(n/2) a = merge_sort(x[1..mid]) -- sort first half of x b = merge_sort(x[mid+1..n]) -- sort second half of x -- merge the two sorted halves into one merged = {} while length(a) > 0 and length(b) > 0 do if compare(a[1], b[1]) < 0 then merged = append(merged, a[1]) a = a[2..length(a)] else merged = append(merged, b[1]) b = b[2..length(b)] end if end while return merged & a & b -- merged data plus leftovers end function procedure print_sorted_list() -- generate sorted_list from list list = {9, 10, 3, 1, 4, 5, 8, 7, 6, 2} sorted_list = merge_sort(list) ? sorted_list end procedure print_sorted_list() -- this command starts the program |
Автор: | Vlad [ Пятница, 14 Декабрь, 2007 10:20 ] |
Заголовок сообщения: | Re: Есть ишшо такая Ява.. |
Илья Ермаков писал(а): Хотя этот вроде статически типизирован, что в лишний +... В каком месте он статически типизирован? Базовые типы можно указывать? А чуть более сложные структуры сразу превращаются в динамический список Питон в этом смысле более последователен, все динамическое, но при этом полноценные структуры данных. |
Автор: | Илья Ермаков [ Пятница, 14 Декабрь, 2007 14:44 ] |
Заголовок сообщения: | Re: Euphoria - "Есть ишшо такая Ява.." |
Согласен, уж лучше последовательность - либо строгая статическая (с RTTI), либо полная динамическая (но строгая - Smalltalk, Python). А JavaScript масдай |
Автор: | Клоп Говорун [ Пятница, 14 Декабрь, 2007 19:43 ] |
Заголовок сообщения: | Re: Euphoria - "Есть ишшо такая Ява.." |
Ну да конечно так все и есть.Язык со слабой статической типизацией переменные объявляются но есть еще и Object Русское зеркало http://www.private.peterlink.ru/kinz/2002/indexe.htm Списки эти вообще общее место, в J например это boxes , вообщем помоему тут собрали много чего интересного из разных концепций,sequence-это хорошо (где ето в JavaScript) но спору нет это не Lisp и не APL ориентированные на обработку подобных конструкций...Собственно чего это я тут развел , аааа.... просто по ассоциации. Заранее скажу что ассоциация совершенно поверхностная конечно. 1.Сборщик мусора есть-есть 2.Многоплатформенность есть-есть 3.Низкоуровневые операции выделены в отдельный модуль Machine Level Interface machine.e 4. Модули с поддержкой синтаксиса ModuleName.NameName 5.Такое вот есть type hour(integer x) return x >= 0 and x <= 23 end type что-то ето мне напоминает. Но не это главное! СЕАНС ЧЕРНОЙ МАГИИ А-ЛЯ др. Никлаус Вирт Есть такая Feature : +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Dynamic Calls These routines let you call Euphoria procedures and functions using a unique integer known as a routine identifier, rather than by specifying the name of the routine. routine_id - get a unique identifying number for a Euphoria routine call_proc - call a Euphoria procedure using a routine id call_func - call a Euphoria function using a routine id +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Вслед за уважаемым Виртом делаем заключение , -этого (вобщем наличия глобальной таблицы функций) вполне достаточно для того чтобы : Процедурный язык -превращается....преврящается... в ОО-язык. примером тому библиотека Quartz и не надо никакого class. Прошу не запинывать ногами. Гм.. а воспринимать сей пост исключительно как шутку. Дааа... Oberon это конечно грозная слава...Оставляет после себя ощущение очень ГРАМОТНОЙ конструкции что-б там не говорили.Немцы-однако Вот вопрос много ли пишут на нем..изучение то идет,а вот не получилось ли бы как с J у меня. Внедрить то у себя в конторе я его внедрил и все довольны. А не дай бог работу сменить прийдется. Вы что на ето скажете товарищъ? |
Автор: | Илья Ермаков [ Пятница, 14 Декабрь, 2007 20:32 ] |
Заголовок сообщения: | Re: Euphoria - "Есть ишшо такая Ява.." |
cbsc писал(а): Внедрить то у себя в конторе я его внедрил и все довольны. А не дай бог работу сменить прийдется. Вы что на ето скажете товарищъ? Ну так будет поле для новых социальных экспериментов по внедрению в новом коллективе |
Автор: | Клоп Говорун [ Пятница, 14 Декабрь, 2007 21:08 ] |
Заголовок сообщения: | Re: Euphoria - "Есть ишшо такая Ява.." |
Собственно вопрос по существу: имеет ли место быть подобная "эмуляция" OOП т.е. наличия в языке некоторых воможностей позволяющих вводить в язык синтаксис OOП через черный ход. Не напоминает ли ето Виртовский подход. Т.е. ООП как концепция удобным образом поддерживаемая языком, а не жесткий набор тегов Class {} и т.п. Я не имею ввиду вышеупомянутый пример. Не будет ли полезно самостоятельно модифицировать базовые конструкции поддержки ООП если это будет сравнительно легко сделать. Понятно что OO-стиль программирования использовался и до его изобретения я не об этом. Кстати в той же Euphoria обнаруживается еще и такое O4 т.е. пишешь как на Ява и переводишь все енто в процедурный код,ООП вне языка. Каким должен быть язык что-бы максимально удовлетворять подобным запросам... Глупо наверное..... |
Автор: | Илья Ермаков [ Пятница, 14 Декабрь, 2007 21:20 ] |
Заголовок сообщения: | Re: Euphoria - "Есть ишшо такая Ява.." |
"Эмуляция ООП" в конечном счёте и оказывается "настоящим ООП". Потому что ООП - это набор конкретных механизмов: абстрактная типизация (сокрытие устройства типа данных) (в Обероне и до него в Модуле - на базе модулей), расширение типов данных, полиморфизм параметров процедур и указателей, виртуализация вызова. Эти механизмы надо видеть и понимать по раздельности, и по раздельности же, дозированно употреблять. |
Автор: | Клоп Говорун [ Пятница, 14 Декабрь, 2007 21:37 ] |
Заголовок сообщения: | Re: Euphoria - "Есть ишшо такая Ява.." |
Последний вопрос. Прочитав манифест банды четырех и сравнив с той же документацией по BlackBox - мы в восхищении, на примере той же подсистемы Text. Сравнив с тем как все ето реализуется в Delphi например Но вот одна весчь - перекрытие операторов ,гм... как? Идет вразрез с принципами надежного программирования? |
Автор: | Илья Ермаков [ Пятница, 14 Декабрь, 2007 22:49 ] |
Заголовок сообщения: | Re: Euphoria - "Есть ишшо такая Ява.." |
cbsc писал(а): Но вот одна весчь - перекрытие операторов ,гм... как? Идет вразрез с принципами надежного программирования? Перегрузка операций, в смысле? Просто это средство с очень трудно просчитываемыми побочными последствиями для языка и компилятора. Тянет за собой много всего. Известно на примере Ады. Например, явное префиксование модуля - Вы же не будете писать a ComplexNum."+" b. Придётся вводить неявное "прописывание" операций при импорте. А это ведёт ещё к цепным последствиям (как разруливать, если "прописалось" несколько подходящих и т.п.). Ну и т.п. Итого - проблем имеем больше, чем получаем преимуществ. Дисбаланс языка. Сегодня читал "Вокруг света" - про системы радиосвязи с космическими аппратами. Там говорилось о том, что спутник или косм. аппарат настолько сбалансированная вещь, что нельзя тронуть ни один параметр, чтобы не "поплыли" другие. Увеличили скорость передачи данных - надо для надёжности увеличить мощность передатчика - требуется более мощное питание - "поплыла" масса + габариты и т.п. В итоге пересчитывается и "раздувается" всё. Так и с языком программирования. Оберон - это вот такой идеально сбалансированный спутник, который при введении каждого средства приходится "пересчитывать". |
Автор: | Geniepro [ Суббота, 15 Декабрь, 2007 01:32 ] |
Заголовок сообщения: | Re: Euphoria - "Есть ишшо такая Ява.." |
Илья Ермаков писал(а): Оберон - это вот такой идеально сбалансированный спутник, который при введении каждого средства приходится "пересчитывать". :о)))Тем не менее, идеальных языков нет... Кстати, В Оберон-Компаньон в ETH-Oberon ведь была перегрузка операций, и ничего страшного вроде не случилось... :о) |
Автор: | Клоп Говорун [ Суббота, 15 Декабрь, 2007 02:12 ] |
Заголовок сообщения: | Re: Euphoria - "Есть ишшо такая Ява.." |
Варуююююттттт Has anyone here looked at Juice? http://caesar.ics.uci.edu/juice/ The C++ sources of the netscape & IE plugin are available, and the authoring tool sources which are in Oberon which bears a vague similarity to Pascal. I wonder if there is anything in that dll which could usefully be wrapped for Euphoria? Pete |
Автор: | CheshireCat [ Среда, 16 Январь, 2008 12:09 ] |
Заголовок сообщения: | Re: Euphoria - "Есть ишшо такая Ява.." |
да еще много чего в природе похожего есть, например LUA... |
Автор: | slava [ Среда, 16 Январь, 2008 12:20 ] |
Заголовок сообщения: | Re: Euphoria - "Есть ишшо такая Ява.." |
CheshireCat писал(а): да еще много чего в природе похожего есть, например LUA... Глянул на LUA: с синтаксис простой, но язык мощный. Чем то на Oberon смахивает.
|
Автор: | Александр Ильин [ Среда, 16 Январь, 2008 12:38 ] |
Заголовок сообщения: | Re: Euphoria - "Есть ишшо такая Ява.." |
CheshireCat писал(а): да еще много чего в природе похожего есть, например LUA... http://www.lua.org/about.html#name писал(а): Please do not write it as "LUA", which is both ugly and confusing, because then it becomes an acronym with different meanings for different people. So, please, write "Lua" right!
|
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |