LINUX.ORG.RU

Поступило предложение добавить поддержку динамических языков в OpenJVM


0

0
Джон Роуз (Sun Microsystems), предложил "Многоязыковую Виртуальную Машину" (MLWM), как часть проекта OpenJDK. Такая машина, не теряя совместимости с существующей JVM, добавит поддержку следующих функций:
* Tail Recursion (так любимую анонимусами на лоре :)
* Continuations
* Closures
* Tulpes
* Value-Oriented Types
* И многое другое

>>> Подробности

Очень хотелось бы верить, что всё это будет реализовано... Java рулит!
eveel ★★
()
Ответ на: комментарий от defmacro
Новость нормальная, а кто не поймет, значит тому оно и не надо.
defmacro
()
Ответ на: комментарий от bobrik
re:А давайте целиком сделаем новости на английском?

+1
Чем коряво переводить(к автору новости не относится), лучше давать оригинальный заголовок новости.
Yilativs ★★★★
()
Правильной дорогой идете, товарищи!
sv75 ★★★★★
()
Вот и классно. Будем писать на пэхапэ.
schakal
()
Ответ на: комментарий от anonymous
>Жаба не нужна.

скормил мысль анонимус jsp - скрипту

Absurd ★★★
()
Луговский должен это оценить.
Oceanborn
()
Ответ на: комментарий от zort
Зорт который отрицает отсутствие полезности жабы не нужен
AiFiLTr0 ★★★★★
()
Ответ на: комментарий от xTERM
> Поступило предложение добавить java в корзину.

Поступило предложение добавить в корзину латентных вантузов.

ps рекурсию оценили? :)

defmacro
()
Ответ на: комментарий от defmacro
>рекурсию оценили? :)

В Си не хватает. Притом позарез. Приходится избавляться от функций и использовать goto :(

xTERM ★★
()
Ответ на: комментарий от xTERM
Ты вообще чтоли совсем? Еще в функциях пишешь?! Программа это последовательность действий. Понимаешь?! ПОСЛЕДОВАТЕЛЬНОСТЬ! от n к n+1. какие к Черчу функции?!
m57
()
Главное, какой ценой? Если ценой 1000 кратного падения производительности, читай торможения, то см. Groovy, Rhino, это уже все есть. А если грамотно, то это уже есть в Scala, только асилить программирование на таком уровне доступно не каждому выпускнику школы, а выпускники ВУЗов простыми программистами работать уже теперь не будут, сейчас не 90-е годы на дворе.

Почему все хотят взять хорошую вещь, отлаженную и оптимизированную годами виртуальную машину и сделать гавно? Только чтобы пропеарить себя? И без Closures люди анонимными классами годами программировали и ничего, и нах этот синтаксический сахар не сдался. Приведите примеры, для чего он нужен?

anonymous
()
Ответ на: комментарий от Pi
> foo(n) = foo(n+1)

> так шоле?

фоо-формализьм избыточен, вот что сказать хочу я!!1

m57
()
Ответ на: комментарий от xTERM
>рекурсию оценили? :)

> В Си не хватает. Притом позарез. Приходится избавляться от функций и использовать goto :(

Я вообщето про мою фразу.

defmacro
()
Ответ на: комментарий от anonymous
> Почему все хотят взять хорошую вещь, отлаженную и оптимизированную годами виртуальную машину и сделать гавно? Только чтобы пропеарить себя? И без Closures люди анонимными классами годами программировали и ничего, и нах этот синтаксический сахар не сдался. Приведите примеры, для чего он нужен?

+1

Спецификация JVM должна оставаться максимально простой. Те, кто не понимает KISS-принцип и хочет иметь большое количество лишних возможностей, пусть используют .NET с C#.
Fice ★★
()
поправьте пожалуйста Tulpes на Tuples
lester_dev ★★★★★
()
Ответ на: комментарий от Yilativs
>Closures - в jdk 1.7 будет. Ждем 2008 года.

Пропосал прочитал - а где написано что будет? Все бы ничего (ну учитывая что жаба) но вот последний sugar call - явно рубиновский бред.

r ★★★★★
()
Ответ на: комментарий от anonymous
>И без Closures люди анонимными классами годами программировали и ничего, и нах этот синтаксический сахар не сдался. Приведите примеры, для чего он нужен?

Чтобы 48 классов не наследовать когда хочешь отсортировать чета. Как минимум. Параметризация алгоритмами и тд. Я сейчас для этого jexl использую.

r ★★★★★
()
Ответ на: комментарий от Fice
Есть 2 расшифровки KISS. Keep it simple stupid. И Keep it stupid stupid. В смысле отсутсвия замыканий jvm в расшифровке номер 2. Их добавление ведет к первой расшифровке.
r ★★★★★
()
Ответ на: комментарий от anonymous
> Tuples - кортежи.

Я всегда думал - tuples это непереводимо. Два тупля, три тупля, один тупель ??

Ky6uk-Py6uk
()
Ответ на: комментарий от r
> Есть 2 расшифровки KISS. Keep it simple stupid. И Keep it stupid stupid. В смысле отсутсвия замыканий jvm в расшифровке номер 2. Их добавление ведет к первой расшифровке.

Во первых, не понимаю почему использование анонимных классов - это "stupid". Во вторых, если очень хочется - есть scala.

Анонимные классы уже есть, а замыкания будут дополнительным лишним решением. Здесь будет очень кстати вспомнить "бритву Оккама".
Fice ★★
()
Ответ на: комментарий от Fice
> Анонимные классы уже есть, а замыкания будут дополнительным лишним решением.

Неверно. Если мне нужно _замыкание_, то я должен создавать _замыкание_, а не анонимный _класс_. У классов другое предназначение. Данное их использование -- не более чем грязный хак. К тому же анонимные классы не являются настоящими замыканиями -- они не имеют доступа к не-final bindings в родительском окружении. Синтаксический и семантический мусор в Java не имеет оснований.

grob ★★★★★
()
Ответ на: комментарий от Fice
>Во вторых, если очень хочется - есть scala.

Если б мне нужен был нормальный язык я бы писал на окамле. Где поискать совсем другое я знаю. Есть вещи которых реально не хватает в жабе по причине существования класса задач, который очень распространен и решается этими вещами. Как пример - есть самописная объектная база данных. Нужно реализовать индексы для быстрого поиска. Индекс описывается key-function - которая производит ключ в индексе из объекта и match-function которая производит сравнение параметров запроса с ключем в индексе. С замыканиями (сейчас для этого я пользую jexl) это пишется в одну строку. С анонимными классами мне надо будет наплодить тучу типов, и анонимных реализаций с жутким оверхедом в синтаксисе. ЗАвтра запосчу сюда кусок кода из индекса работающий с коллекциями - попробуешь представить приведенный кусок с анонимными классами. Оверхед будет такой что весь смысл потеряется.

>Здесь будет очень кстати вспомнить "бритву Оккама".

От-тож. Она и сделает по простому - отсечет все мутные решения с жутким синтаксисом простым путем - поддержкой замыканий в машине. И все станет просто.

r ★★★★★
()
Ответ на: комментарий от r
>производит сравнение параметров запроса с ключем в индексе.

запрост тоже к стати jexl-выражение - как появятся замыкания перепишу на них.

r ★★★★★
()
Ответ на: комментарий от anonymous
> выпускники ВУЗов простыми программистами работать уже теперь не будут, сейчас не 90-е годы на дворе.

А куда вся эта орава денется?

> Почему все хотят взять хорошую вещь, отлаженную и оптимизированную годами виртуальную машину и сделать гавно? Только чтобы пропеарить себя? И без Closures люди анонимными классами годами программировали и ничего, и нах этот синтаксический сахар не сдался. Приведите примеры, для чего он нужен?

Да ни для чего. Ява - идеальный язык, а всякие недоумки с замыканиями, от C# до ерланга - придурки, однозначно!

sv75 ★★★★★
()
Ответ на: комментарий от sv75
>Да ни для чего. Ява - идеальный язык, а всякие недоумки с замыканиями, от C# до ерланга - придурки, однозначно!

ППКС. Тупизма какого-то напридумывали, хрен разберешься, нефига не понятно. Нет бы взяли и писали что нибудь полезное.

r ★★★★★
()
Ответ на: комментарий от Fice
>Анонимные классы уже есть, а замыкания будут дополнительным лишним решением. Здесь будет очень кстати вспомнить "бритву Оккама".

Есть мнение что каждый класс, включая анонимный класс который при компиляции становится явным и приобретает имя вида EmbracingClass$1, EmbracingClass$2 ... EmbracingClass$N, отжирает 3 кб на метаинформацию в jvm. В результате на каждый хандлер события в swing требуется 3 кб. Или это FUD?

Absurd ★★★
()
После рализации первых четырёх из пяти пунктов ООП в Java станет ненужным, а из Жабы начнут делать велосипет^Wвторой Erlang (зачем-то).
Led ★★★☆☆
()
Ответ на: комментарий от Led
> После рализации первых четырёх из пяти пунктов ООП в Java станет ненужным, а из Жабы начнут делать велосипет^Wвторой Erlang (зачем-то).

Здесь речь не о языке программирования Java, а о JVM.
Fice ★★
()
Ответ на: комментарий от Absurd
> Есть мнение что каждый класс, включая анонимный класс который при компиляции становится явным и приобретает имя вида EmbracingClass$1, EmbracingClass$2 ... EmbracingClass$N, отжирает 3 кб на метаинформацию в jvm. В результате на каждый хандлер события в swing требуется 3 кб. Или это FUD?

Даже если это так, проблему можно решить создав более эффективную реализацию анонимных классов в JVM. Замыкания тоже будут что-то весить.
Fice ★★
()
Ответ на: комментарий от r
> С анонимными классами мне надо будет наплодить тучу типов, и анонимных реализаций с жутким оверхедом в синтаксисе. ЗАвтра запосчу сюда кусок кода из индекса работающий с коллекциями - попробуешь представить приведенный кусок с анонимными классами. Оверхед будет такой что весь смысл потеряется.

Возможно, неудачная архитектура. У меня таких проблем не возникало.
Fice ★★
()
Ответ на: комментарий от Fice
>Здесь речь не о языке программирования Java, а о JVM.

Я говрил и о VM в том числе.

Led ★★★☆☆
()
Всё замечательно, но можно предложение? Давайте сделаем так, чтобы JVM не складывалась нештатно при старте тяжелых приложений (а это не редкость), а уж потом будем прикручивать новые фичи.
localstorm
()
Пилят, и почему мне это напоминает .NET с его CLR-ом???
zurtax
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.