OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Вторник, 16 Апрель, 2024 17:27

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 16 ] 
Автор Сообщение
 Заголовок сообщения: Euphoria - "Есть ишшо такая Ява.."
СообщениеДобавлено: Пятница, 14 Декабрь, 2007 04:42 

Зарегистрирован: Среда, 14 Ноябрь, 2007 19:03
Сообщения: 1314
Есть еще такое - Euphoria,
язык позиционируемый под множество платформ : Linux-ы,FreeBSD,Windows-ы,DOS-ы
компилятор e2c и еще много чего, прост до безобразия узучается за день-современный
QBasic. Однако хвастаются производительностью, есть GUI какое-никакое. Вот типы данных у него мне понравились, эстетически приятно видеть такое -sequence. гы..
Люблю писать под дос всякую всячину поетому взял на вооружение :)
http://www.rapideuphoria.com/ есть там и русское зеркало...
________________________________________________________________________
Чубайс-наша грозная слава :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Есть ишшо такая Ява..
СообщениеДобавлено: Пятница, 14 Декабрь, 2007 08:49 

Зарегистрирован: Суббота, 26 Ноябрь, 2005 18:38
Сообщения: 1857
cbsc писал(а):
Есть еще такое - Euphoria


Судя по описанию это больше похоже на перл, чем на яву. Только в перле "все есть хеш-массив", а тут "все есть список". Ничего интересного. Или есть что-то уникальное?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Есть ишшо такая Ява..
СообщениеДобавлено: Пятница, 14 Декабрь, 2007 09:11 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
А вот как это выглядит - вроде ничего, особо деструктивного для психиики, нет, хотя на страничке пугали сравнением с Басиком...
Однако, если тянет на интерпретируемое с сиквенсами всякими, то уж Питон - более распространённый язык...
Хотя этот вроде статически типизирован, что в лишний +...

Код:
 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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Есть ишшо такая Ява..
СообщениеДобавлено: Пятница, 14 Декабрь, 2007 10:20 

Зарегистрирован: Суббота, 26 Ноябрь, 2005 18:38
Сообщения: 1857
Илья Ермаков писал(а):
Хотя этот вроде статически типизирован, что в лишний +...


В каком месте он статически типизирован? Базовые типы можно указывать? :) А чуть более сложные структуры сразу превращаются в динамический список :) Питон в этом смысле более последователен, все динамическое, но при этом полноценные структуры данных.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Euphoria - "Есть ишшо такая Ява.."
СообщениеДобавлено: Пятница, 14 Декабрь, 2007 14:44 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
Согласен, уж лучше последовательность - либо строгая статическая (с RTTI), либо полная динамическая (но строгая - Smalltalk, Python). А JavaScript масдай :-)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Euphoria - "Есть ишшо такая Ява.."
СообщениеДобавлено: Пятница, 14 Декабрь, 2007 19:43 

Зарегистрирован: Среда, 14 Ноябрь, 2007 19:03
Сообщения: 1314
Ну да конечно так все и есть.Язык со слабой статической типизацией переменные объявляются но есть еще и 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 у меня. Внедрить то у себя в конторе я его внедрил и все довольны. А не дай бог работу сменить прийдется.
Вы что на ето скажете товарищъ? :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Euphoria - "Есть ишшо такая Ява.."
СообщениеДобавлено: Пятница, 14 Декабрь, 2007 20:32 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
cbsc писал(а):
Внедрить то у себя в конторе я его внедрил и все довольны. А не дай бог работу сменить прийдется.
Вы что на ето скажете товарищъ? :)

Ну так будет поле для новых социальных экспериментов по внедрению в новом коллективе :-) :-) :-)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Euphoria - "Есть ишшо такая Ява.."
СообщениеДобавлено: Пятница, 14 Декабрь, 2007 21:08 

Зарегистрирован: Среда, 14 Ноябрь, 2007 19:03
Сообщения: 1314
Собственно вопрос по существу: имеет ли место быть подобная "эмуляция" OOП
т.е. наличия в языке некоторых воможностей позволяющих вводить в язык синтаксис OOП через
черный ход. Не напоминает ли ето Виртовский подход. Т.е. ООП как концепция удобным образом поддерживаемая языком, а не жесткий набор тегов Class {} и т.п.
Я не имею ввиду вышеупомянутый пример. Не будет ли полезно самостоятельно модифицировать базовые конструкции поддержки ООП если это будет сравнительно легко сделать. Понятно что OO-стиль программирования использовался и до его изобретения :) я не об этом. Кстати в той же Euphoria обнаруживается еще и такое O4 т.е. пишешь как на Ява и переводишь все енто в процедурный код,ООП вне языка.
Каким должен быть язык что-бы максимально удовлетворять подобным запросам...
Глупо наверное..... :(


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Euphoria - "Есть ишшо такая Ява.."
СообщениеДобавлено: Пятница, 14 Декабрь, 2007 21:20 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
"Эмуляция ООП" в конечном счёте и оказывается "настоящим ООП". Потому что ООП - это набор конкретных механизмов: абстрактная типизация (сокрытие устройства типа данных) (в Обероне и до него в Модуле - на базе модулей), расширение типов данных, полиморфизм параметров процедур и указателей, виртуализация вызова.
Эти механизмы надо видеть и понимать по раздельности, и по раздельности же, дозированно употреблять.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Euphoria - "Есть ишшо такая Ява.."
СообщениеДобавлено: Пятница, 14 Декабрь, 2007 21:37 

Зарегистрирован: Среда, 14 Ноябрь, 2007 19:03
Сообщения: 1314
Последний вопрос. Прочитав манифест банды четырех и сравнив с той же документацией
по BlackBox - мы в восхищении, на примере той же подсистемы Text. Сравнив с тем как все ето реализуется в Delphi например :)
Но вот одна весчь - перекрытие операторов ,гм... как? Идет вразрез с принципами надежного программирования?


Последний раз редактировалось Клоп Говорун Пятница, 14 Декабрь, 2007 22:01, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Euphoria - "Есть ишшо такая Ява.."
СообщениеДобавлено: Пятница, 14 Декабрь, 2007 22:49 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
cbsc писал(а):
Но вот одна весчь - перекрытие операторов ,гм... как? Идет вразрез с принципами надежного программирования?


Перегрузка операций, в смысле?
Просто это средство с очень трудно просчитываемыми побочными последствиями для языка и компилятора. Тянет за собой много всего. Известно на примере Ады. Например, явное префиксование модуля - Вы же не будете писать a ComplexNum."+" b. Придётся вводить неявное "прописывание" операций при импорте. А это ведёт ещё к цепным последствиям (как разруливать, если "прописалось" несколько подходящих и т.п.). Ну и т.п. Итого - проблем имеем больше, чем получаем преимуществ. Дисбаланс языка.

Сегодня читал "Вокруг света" - про системы радиосвязи с космическими аппратами. Там говорилось о том, что спутник или косм. аппарат настолько сбалансированная вещь, что нельзя тронуть ни один параметр, чтобы не "поплыли" другие. Увеличили скорость передачи данных - надо для надёжности увеличить мощность передатчика - требуется более мощное питание - "поплыла" масса + габариты и т.п. В итоге пересчитывается и "раздувается" всё. Так и с языком программирования. Оберон - это вот такой идеально сбалансированный спутник, который при введении каждого средства приходится "пересчитывать".


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Euphoria - "Есть ишшо такая Ява.."
СообщениеДобавлено: Суббота, 15 Декабрь, 2007 01:32 

Зарегистрирован: Четверг, 12 Июль, 2007 23:18
Сообщения: 1982
Откуда: Узбекистан, Чирчик
Илья Ермаков писал(а):
Оберон - это вот такой идеально сбалансированный спутник, который при введении каждого средства приходится "пересчитывать".
:о)))
Тем не менее, идеальных языков нет...

Кстати, В Оберон-Компаньон в ETH-Oberon ведь была перегрузка операций, и ничего страшного вроде не случилось... :о)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Euphoria - "Есть ишшо такая Ява.."
СообщениеДобавлено: Суббота, 15 Декабрь, 2007 02:12 

Зарегистрирован: Среда, 14 Ноябрь, 2007 19:03
Сообщения: 1314
Варуююююттттт :) :)

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Euphoria - "Есть ишшо такая Ява.."
СообщениеДобавлено: Среда, 16 Январь, 2008 12:09 

Зарегистрирован: Вторник, 04 Июль, 2006 13:04
Сообщения: 88
Откуда: Novosibirsk
да еще много чего в природе похожего есть, например LUA...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Euphoria - "Есть ишшо такая Ява.."
СообщениеДобавлено: Среда, 16 Январь, 2008 12:20 

Зарегистрирован: Понедельник, 19 Март, 2007 09:40
Сообщения: 142
Откуда: USA, Israel, Belarus
CheshireCat писал(а):
да еще много чего в природе похожего есть, например LUA...
Глянул на LUA: с синтаксис простой, но язык мощный. Чем то на Oberon смахивает.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Euphoria - "Есть ишшо такая Ява.."
СообщениеДобавлено: Среда, 16 Январь, 2008 12:38 
Аватара пользователя

Зарегистрирован: Вторник, 19 Сентябрь, 2006 21:54
Сообщения: 2449
Откуда: Россия, Томск
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!


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 16 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2024, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB