LINUX.ORG.RU
 
Bsd-un

JVM не будет поддерживать Python


0

0

Гослинг заявил что в планы развития платформы Java не входит
реализация поддержки каких-либо скриптовых языков виртуальной
машиной (JVM), несмотря на то что необходимость подобного шага
давно назрела. В качестве основного довода в поддержку этой
позиции Гослинг называет нежелание вызвать недовольство одних,
оказав поддержку другим кандидатам, основными среди которых
являются Python и Groovy. Стоит отметить, что в случае выпуска
исходных кодов JVM под свободной лицензией подобная проблема
возникнуть не смогла бы.

>>> Gosling on JVM Scripting


[#] Ответ на: Re: JVM не будет поддерживать Python от mst_72 07.02.2005 22:05:31  
obp

Re: JVM не будет поддерживать Python

>>Страуструпа за template никто не уволил. И бездарью лишь немногие >>называют.
>>Кстати, нечто схожее легко и красиво на python делается, что даже >>как-то на мысль навело (мимолетную), что сам python с шаблонами >>работает. Типа сделал алгоритм, и главное, чтобы используемый в >>алгоритме класс нужные методы поддерживал.
На самом деле python решает эту проблему с другой стороны-
классы имеюют динамическую природу и специальнsq API для итераторов, например.
На самом деле современный код особенно с GUI лучше всего описывается
клеточными автоматами.К сожалению java создавалась как некое упрощение с++, при этом за снижения сложности языка появились трудности с реализацией этих самых клеточных автоматов, теперь предлагается вводить параметризованные типы,и это в общем только усложняет язык и приводит к менее ясному коду и прямо противоречит первоначальной концепции.
С++ за счет своей универсальности позволяет описывать автоматы достаточно элегантно. Проблема только в том, что очень долго отсутствовали практические реализации многих возможностей(в том числе и параметризованные типы) в компиляторах и кроме того все-таки сложность понятий в с++ чрезмерна,что провоцирует отказ от многих возможностией из за непонимания концепций кодерами, плюс слишком низкий уровень языка и долбанная совместимость с C--.
STL-Это замечательная реализация двух наборов(семейств) клеточных автоматов-контейнеров и итераторов.
Подобные автоматы в Python обеспечиваются встроенными API классов,
а динамическая типизация позволяет наводить довольно абстрактные интерфейсы между автоматами-классами.
В общем для полноценной жизни в python не хватает только понятия триггера-переключателя и триггера фильтра.И вроде такие конструкции регулярно обсуждаются, но они органично не вписываются в существующую архитектуру языка.
Хотя exceptions -этакий специальный триггер всё-таки есть.
Ближе всех к идеалу подошёл Effel, но я практического опыта с ним не имею, хотя концепт очень привлекателен.Но библиотеки и прочая обвязка очень слабы.
Поэтому python это всего лишь вторая (на мой взгляд после Effel), контрукция, которая практически более пригодна(чем Effel) к реальному применению и при этом имеет некоторую нишу.










* ()
[#] Ответ на: Re: JVM не будет поддерживать Python от int19h 07.02.2005 21:40:54  

Re: JVM не будет поддерживать Python

Boost ацтой - всё это заворачивается в очень убогий, и не поддающийся улучшениям синтаксис.

# ()
[#] Ответ на: Re: JVM не будет поддерживать Python от obp 07.02.2005 23:31:23  

Re: JVM не будет поддерживать Python

С клеточными автоматами - к крэнку Стиву Вольфраму. ;)

А для GUI есть более интересная модель - google: Fudgets.

# ()
[#] Ответ на: Re: JVM не будет поддерживать Python от obp 07.02.2005 23:31:23  

Re: JVM не будет поддерживать Python

> На самом деле современный код особенно с GUI лучше всего описывается клеточными автоматами.

Уточните, плз. Именно "клеточными", не "конечными"? ЕМНИС, клеточные автоматы это игрушка Life. Как они привязываются к реализации GUI?

--

SVK

anonymous ()
[#] Ответ на: Re: JVM не будет поддерживать Python от anonymous 08.02.2005 1:38:02  
obp

Re: JVM не будет поддерживать Python

>>точните, плз. Именно "клеточными", не "конечными"? ЕМНИС, клеточные >>автоматы это игрушка Life. Как они привязываются к реализации GUI
Конечно конечные автоматы , меня вчера слегка переклинило после работы.

* ()
[#] Ответ на: Re: JVM не будет поддерживать Python от anonymous 07.02.2005 22:45:47  

Re: JVM не будет поддерживать Python

А ты видел сколько памяти отжирает WSAD? После него IDEA просто летает

* ()
[#] Ответ на: Re: JVM не будет поддерживать Python от CruZ 07.02.2005 22:21:58  
int19h

Re: JVM не будет поддерживать Python

> Разве Ruby не от perl'a пошел?

От перла и Smalltalk, но неуловимых дух питона там витает =)

**** ()
[#] Ответ на: Re: JVM не будет поддерживать Python от anonymous 07.02.2005 22:48:36  
int19h

Re: JVM не будет поддерживать Python

> Ткните в простое объяснение, что есть боксинг/анбоксинг?

// боксинг
Integer a = new Integer(123);

// анбоксинг
int b = a.intValue();

> Ткните в простое объяснение, что есть женерикс?

List<Integer> list_of_ints;
...
Integer i = list_of_ints.get(0);

**** ()
[#] Ответ на: Re: JVM не будет поддерживать Python от Mauhuur 08.02.2005 1:29:16  
int19h

Re: JVM не будет поддерживать Python

> Boost ацтой - всё это заворачивается в очень убогий, и не поддающийся улучшениям синтаксис.

Про кривость синтаксиса - согласен. Но это имхо все же не так важно, главное, что эта фича при необходимости есть. В отличие от той же жабки или C#...

**** ()
[#] Ответ на: Re: JVM не будет поддерживать Python от int19h 08.02.2005 10:17:01  

Re: JVM не будет поддерживать Python

Ну дык. Всё же, C++, хоть и плохонький, но метаязык. Так что он - расширяемый, и, следовательно, хотя бы некоторое право на существование имеет.

# ()
[#] Ответ на: Re: JVM не будет поддерживать Python от Mauhuur 08.02.2005 14:07:42  
obp

Re: JVM не будет поддерживать Python

>> раз расклинило, тем более посмотри на Fudgets
спасибо уже смотрю

* ()
[#] Ответ на: Re: JVM не будет поддерживать Python от Mauhuur 08.02.2005 14:07:42  
obp

Re: JVM не будет поддерживать Python

>> раз расклинило, тем более посмотри на Fudgets.
Занятная декларативная игрушка
практической пользы-0
Если конечно не ставить перед собой цель быть единственным владельцем кода.
и я думаю что никто не занимается автоматической оптимизацией выполнения декларативных языков.(Кроме SQL)
И к тому же плохо читабельный синтаквис-с лиспом похоже

* ()
[#] Ответ на: Re: JVM не будет поддерживать Python от obp 08.02.2005 14:57:06  

Re: JVM не будет поддерживать Python

Ну почему же 0? Аналогичная мат. модель железячниками-ембеддщиками используется.

Про синтаксис - не догнал. Чем тебе Haskell не нравится?

# ()
[#] Ответ на: Re: JVM не будет поддерживать Python от Mauhuur 08.02.2005 15:03:56  
obp

Re: JVM не будет поддерживать Python

>>Про синтаксис - не догнал. Чем тебе Haskell не нравится?
Пока ни сам не понял что не нравится, почитаю пока мануал
Но вложенные скобки это уже не очень читабельно.

* ()
[#] Ответ на: Re: JVM не будет поддерживать Python от Mauhuur 08.02.2005 15:03:56  
int19h

Re: JVM не будет поддерживать Python

> Про синтаксис - не догнал. Чем тебе Haskell не нравится?

Очевидно, тем же, что и питон - значащими отступами =)

**** ()
[#] Ответ на: Re: JVM не будет поддерживать Python от Mauhuur 08.02.2005 14:07:05  
int19h

Re: JVM не будет поддерживать Python

> Ну дык. Всё же, C++, хоть и плохонький, но метаязык. Так что он - расширяемый, и, следовательно, хотя бы некоторое право на существование имеет.

А ты вот, помнится, говорил, что дескать жабка - это прогресс по сравнению с плюсами. Значит ли сие высказывание, что она имеет еще более веское право на существование? ;)

**** ()
[#] Ответ на: Re: JVM не будет поддерживать Python от Mauhuur 08.02.2005 15:03:56  
WFrag

Re: JVM не будет поддерживать Python

Мне не понравилось смешивание поведения и внешнего вида интерфейса. Как-то это не кузяво.

**** ()
[#] Ответ на: Re: JVM не будет поддерживать Python от obp 07.02.2005 23:31:23  
int19h

Re: JVM не будет поддерживать Python

> Ближе всех к идеалу подошёл Effel, но я практического опыта с ним не имею, хотя концепт очень привлекателен. Но библиотеки и прочая обвязка очень слабы.

А ты версию для .NET не щупал? Там с этим по понятным причинам намного получше...

> Поэтому python это всего лишь вторая (на мой взгляд после Effel), контрукция, которая практически более пригодна(чем Effel) к реальному применению и при этом имеет некоторую нишу.

Погляди лучше на Ruby. Полноценные closures - святое дело, про итераторы забываешь, как про страшный сон =)

**** ()
[#] Ответ на: Re: JVM не будет поддерживать Python от int19h 08.02.2005 10:02:52  
pitekantrop

Re: JVM не будет поддерживать Python

>> Ткните в простое объяснение, что есть боксинг/анбоксинг?

> // боксинг > Integer a = new Integer(123);

> // анбоксинг > int b = a.intValue();

Не, это до(ан)боксинговый код. С убогсингом надо так:

Integer a = 123; int b = a;

Только в бетах 1.5 была лажа с боксингом и ==, даже на ЛОРе по-моему обсуждалась. В релизе они с ней что-нибудь сделали или так и осталось?

*** ()
[#] Ответ на: Re: JVM не будет поддерживать Python от anonymous 06.02.2005 17:06:32  

Re: JVM не будет поддерживать Python

Может раскажеш как зовут то тебя, о человек написавший столько, что в даже в самом JetBrains не знают ктоже это мог быть... потому как треть идеи не написал ни один из них...

Имя в студию, страна желает знать своих героев! :)

-- Alexey Efimov

anonymous ()
[#] Ответ на: Re: JVM не будет поддерживать Python от pitekantrop 08.02.2005 15:46:35  
int19h

Re: JVM не будет поддерживать Python

> Не, это до(ан)боксинговый код. С убогсингом надо так:

> Integer a = 123; int b = a;

Боксинг - это мой код. Твой - это _авто_боксинг.

**** ()
[#] Ответ на: Re: JVM не будет поддерживать Python от int19h 08.02.2005 15:14:08  

Re: JVM не будет поддерживать Python

Жабка - прогресс только в плане runtime. Но не как язык. И лучше бы жабки не было вообще.

# ()
[#] Ответ на: Re: JVM не будет поддерживать Python от int19h 08.02.2005 16:52:13  
pitekantrop

Re: JVM не будет поддерживать Python

> Боксинг - это мой код. Твой - это _авто_боксинг.

Да, сорри :) хотя если пользоваться общепринятой терминологией, то твой код это wrapping

Чего-то про OCaml никто не вспоминает.

*** ()
[#] Ответ на: Re: JVM не будет поддерживать Python от pitekantrop 08.02.2005 17:59:30  

Re: JVM не будет поддерживать Python

А что про него вспоминать? На JVM не компилится практически - в силу ровно в точности тех же причин, которые ранее были озвучены.

# ()
[#] Ответ на: Re: JVM не будет поддерживать Python от Mauhuur 08.02.2005 17:22:26  
int19h

Re: JVM не будет поддерживать Python

> Жабка - прогресс только в плане runtime. Но не как язык. И лучше бы жабки не было вообще.

Ты имеешь в виду наличие таких вещей, как проверка обращений по null, выходов за границы массива, GC и reflection? Так первые три вещи в плюсах есть, просто они опциональны. Или речь о стандартных библиотеках?

**** ()
[#] Ответ на: Re: JVM не будет поддерживать Python от pitekantrop 08.02.2005 17:59:30  
int19h

Re: JVM не будет поддерживать Python

> Да, сорри :) хотя если пользоваться общепринятой терминологией, то твой код это wrapping

Возможно. В доках по 1.5 используется именно термин "boxing", похоже,передранный с C# (я с последним по долгу службы больше знаком).

> Чего-то про OCaml никто не вспоминает.

А никто и не забывал =)

Хотя у хаскелля синтаксис получше продуман...

**** ()
[#] Ответ на: Re: JVM не будет поддерживать Python от int19h 08.02.2005 10:02:52  

Re: JVM не будет поддерживать Python

>// боксинг >Integer a = new Integer(123);

>// анбоксинг >int b = a.intValue();

Пасиба. Просто и понятно! GOOD

И типа что, это оченно тормозит программу или из-за чего такие все недовольные?

anonymous ()
[#] Ответ на: Re: JVM не будет поддерживать Python от anonymous 08.02.2005 20:26:22  
int19h

Re: JVM не будет поддерживать Python

> И типа что, это оченно тормозит программу или из-за чего такие все недовольные?

Теоретически - тормозит. Зачем пихать на кучу то, что прекрасно живет на стеке? В случае запихивания в коллекшены (скажем, ArrayList) наблюдается совершенно избыточная фрагментация памяти - вместо 100-байтного сплошного массива из 25-и int'ов имеем массив из 25 ссылок на 16-байтные объекты Integer. Количество мусора можешь посчитать сам.

Практически же - тот же питон по жизни гоняет все то, что в жабке называется primitive types, т.е. всякие там int и float, именно в виде указателей, и вроде никто не жалуется =)

**** ()
[#] Ответ на: Re: JVM не будет поддерживать Python от int19h 08.02.2005 20:42:34  
pitekantrop

Re: JVM не будет поддерживать Python

Теоретически в связи с отсутствием адресной арифметики в Жаве можно реализовать очень эффективные алгоритмы выделения памяти в куче и сборки мусора, что мы и наблюдаем в последних бенчмарках практически :)

*** ()
[#]  

Re: JVM не будет поддерживать Python

>Почему всегда хамят ананимусы? >Не неинтерсен тебе этот тред ну и не пиши сюда, >а про то что трава зеленая а небо голубое мы и сами догодаемся.

Почему всегда анонимусы пишут неадекватные ответы? Где ты увидел хамство в моем ответе? Пишу в тред как раз потому, что тред интересен.

>2) не читать книжек никиих, кроме как про java

А ты хоть одну книжку ПРО java прочитал? Я ничего хорошего в книжках по питону и руби не почерпнул.

>Слышь, гнида, тебе же сказано было - заткни свою блядовую пасть своим калом, и не воняй, выродок. Хули разпизделся, гадёнышь?

Ну если нет аргументов нормальных, то... Я то думал, почерпну реально толковых мыслей от толкового программиста. А Mauhuur оказывается может только про нерастяжимые нити, упругие шары и сверических коней в вакууме речи толкать.

anonymous ()