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
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.