LINUX.ORG.RU

Динамически типизированные языки в Java


0

0

На конференции Lang.NET 2006 представители Sun Microsystems заявили, что компания будет принимать активное участие в поддержке разработок динамически типизированных языков для JVM. До них наконец-то дошло, что многие разработчики хотят программировать не только на Java.

Sun планирует добавить "new byte-code Invokedynamic" и "hot swapping", чтобы было удобнее поддерживать динамически типизированные языки. Всё это запланированно в J2SE 7.

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



Проверено: Shaman007 ()
Ответ на: комментарий от e

>И что только люди не придумают, лишь бы С/С++ и техники писания изначально кроссплатфоменного кода не осваивать...

И чего только люди не придумают, чтобы не трахаться стоя в лыжах в гамаке на ветру

anonymous
()

а P E R L под J A V A будет??

anonymous
()
Ответ на: комментарий от svu

> Из того, что мне известно - это именно то, где _мне_ лично - комфортнее всего. С учетом того что мне не повезло родиться сыночком нефтяного шейха. А Вы знаете лучшую цивилизацию? Поделитесь знанием?

Западная-восточная, античная-средневековая-нового времени-современная... выдернуть лучшее и синтезировать новое никто не мешает, только вот почему-то воз и ныне там... )

e
()
Ответ на: комментарий от loki_

> а что насчет остальных 95%? с ними что делать? оставлять голодать?

А остальных, вестимо, использовать в качестве ресурса - знающие люди, живущие в хижинах на далеком и засушливом юге говорят, что шашлык из человечины неплохой выходит ;)

e
()
Ответ на: комментарий от anonymous

> И чего только люди не придумают, чтобы не трахаться стоя в лыжах в гамаке на ветру

Ниасилили даже такие примитивные извращения? ;)

e
()
Ответ на: комментарий от MOByte

> Вы уже два раза сказали про "повышение уровня абстракции". Где в джаве это "повышение"?

Ну здравствуйте. Приплыли. Сколько нужно телодвижений, что бы например скачать файлик по заданому URL, реализовывая это дело на С++/С. На Джаве это одна строка.

Сколько тратится времени на отладку утечек памяти в С++/С?

Сколько тратится телодвижений на поддержку кросплатформенности?

Дайте мне хоть один IDE для С++/С уровня IDEA/Eclipse? А это все время, а время - деньги. Абстракций весьма достаточно.

mutable
()
Ответ на: комментарий от mutable

>Сколько нужно телодвижений, что бы например скачать файлик по заданому URL, реализовывая это дело на С++/С. На Джаве это одна строка.

ты правда думаешь, что в С/С++ нельзя подключать библиотеки? :)

>Сколько тратится времени на отладку утечек памяти в С++/С?

при грамотном проектировании - мало

>Сколько тратится телодвижений на поддержку кросплатформенности?

posix? нисколько :)

>Дайте мне хоть один IDE для С++/С уровня IDEA/Eclipse?

хм. Eclipse? :)

geek ★★★
()
Ответ на: комментарий от geek

eclipse-cdt, к сожалению, не так шорошо работает как eclipse-jde

loki_ ★★
()
Ответ на: комментарий от mutable

>> Вы уже два раза сказали про "повышение уровня абстракции". Где в джаве это "повышение"?
> Ну здравствуйте. Приплыли. Сколько нужно телодвижений, что бы например скачать файлик по заданому URL, реализовывая это дело на С++/С. На Джаве это одна строка.
> Сколько тратится времени на отладку утечек памяти в С++/С?
> Сколько тратится телодвижений на поддержку кросплатформенности?
> Дайте мне хоть один IDE для С++/С уровня IDEA/Eclipse? А это все время, а время - деньги. Абстракций весьма достаточно.

Так можно любую библиотеку назвать "повышением уровня абстракции". А если написать библиотеку под с++ для однострочного "скачать файлик по заданому URL" и прочия, то "уровень абстракции" в С++ повысится? Глупости какие-то говорите.

MOByte
()
Ответ на: комментарий от geek

>>Сколько тратится времени на отладку утечек памяти в С++/С?

>при грамотном проектировании - мало

Но в жабе вообще нисколько - эта проблема там вообще устранена, что сильно экономит время.

KUser
()
Ответ на: комментарий от geek

> ты правда думаешь, что в С/С++ нельзя подключать библиотеки? :)

И сколько их, этих библиотек? Где на них стандарты? Какую именно библиотеку ты применишь? ПРАВИЛЬНО, ту с которой уже работал или тебе кто-то посоветовал. Тебе посоветовали одну, а мне другую. И у нас в одном и том же проекте развелась туча граблей и глупого непереисполуемого кода. Почему? Потому что std для С++ устарел этак лет на 10. В Жабе похожие проблемы возникают с уже намного более высокоуровневыми вещами. В С++ HashMap - 200 раз реализованная фича, а в Java WEB Framework. Чуешь разницу? Framework VS структура данных. Неужели это не очевидно?

mutable
()
Ответ на: комментарий от KUser

>Но в жабе вообще нисколько - эта проблема там вообще устранена, что сильно экономит время.

да. Зато на жабе кучу времени отнимает рефакторинг, чтобы пользовательские сессии кучу памяти не жрали =)

geek ★★★
()
Ответ на: комментарий от mutable

>Тебе посоветовали одну, а мне другую. И у нас в одном и том же проекте развелась туча граблей и глупого непереисполуемого кода.

вот только не надо звездеть про мегареюзабельность жабского кода. Учитывая, что он практически весь закрыт - каждый жабакодер вынужден изобретать кучу велосипедов заново =)

geek ★★★
()
Ответ на: комментарий от V0ID

Это все про "удешевление". Но вместе с тем, от примитивнейших траблов типа переполнения буферов, обращения куда попало в памяти и пр. и пр. - таки люди научились спасаться, хотя и ценой некоторых потерь. Хотя бы это Вы признаете? Т.е. инкрустированный паравоз хотя бы не сходит с рельс, если на рельсы подложили веточку;)

svu ★★★★★
()
Ответ на: комментарий от geek

> Учитывая, что он практически весь закрыт - каждый жабакодер вынужден изобретать кучу велосипедов заново =)

????? Вы это о чем? Используя открытый жабский код с jakarta.apache.org и пр. злачных мест - можно ваять довольно мощные приложения размером в несколько строк.

svu ★★★★★
()
Ответ на: комментарий от mutable

... А уж если мы начнем считать библиотеки уровня JDBC в C/C++... Или уровня Swing (кстати, в этом смысле SWT подложил некоторую маленькую свинью;)

svu ★★★★★
()
Ответ на: комментарий от svu

>Но вместе с тем, от примитивнейших траблов типа переполнения буферов, обращения куда попало в памяти и пр. и пр. - таки люди научились спасаться, хотя и ценой некоторых потерь.

Ручной труд сапожника канул в лету с появлением обувных фабрик. Производство стало дешевле, среднее качество (учитывая тот факт, что хорошие сапожники всегда были в дефиците) - повысилось, только вот фабричная обувь частенько жмет, и натирает ноги, но это фигня по сравнению с тем фактом, что обувь себе теперь может позволить каждый.

geek ★★★
()
Ответ на: комментарий от svu

>????? Вы это о чем? Используя открытый жабский код с jakarta.apache.org и пр. злачных мест - можно ваять довольно мощные приложения размером в несколько строк.

о том, что OSS лучше :)

geek ★★★
()
Ответ на: комментарий от e

> Западная-восточная, античная-средневековая-нового времени-современная... выдернуть лучшее и синтезировать новое никто не мешает, только вот почему-то воз и ныне там... )

20-й век привил ширнармассам стойкое отвращение к революциям, так что этот путь реально закрыт. Придумаете эволюционный план с использованиет текущих механизмов - возможно, за вами пойдут люди. Только при этом помните - те, кто рулит процессом и у кого деньги - должны остаться на том же месте, иначе ничего не получится. ;)

Да, и извините, я не очень понял Ваш ответ. Хотелось бы поконкретнее;)

svu ★★★★★
()
Ответ на: комментарий от geek

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

Золотые слова!

svu ★★★★★
()
Ответ на: комментарий от svu

>... А уж если мы начнем считать библиотеки уровня JDBC в C/C++... Или уровня Swing (кстати, в этом смысле SWT подложил некоторую маленькую свинью;)

Объяснения "повышения уровня абстракции" так и нет 8(

MOByte
()
Ответ на: комментарий от geek

> вот только не надо звездеть про мегареюзабельность жабского кода. Учитывая, что он практически весь закрыт - каждый жабакодер вынужден изобретать кучу велосипедов заново =)

Зачем же? Это же БИБЛИОТЕКА! Сорцы ее тебе зачем? ООП позволяет переиспользование не изменяя исходного кода. К тому же некоторые библиотеки решают настолько сложные задачи, что сорцы их никому не помогут, кроме авторов (и то не факт, что через пол года они смогут его понять). Пример? - Mozilla.

mutable
()
Ответ на: комментарий от MOByte

Тебе же сказали: Java - это платформа. C++ - это язык. Мало для повышения абстракции?

mutable
()
Ответ на: комментарий от svu

>20-й век привил ширнармассам ...
Ширнармассы - это в каком смысле? :)

KUser
()
Ответ на: комментарий от mutable

>Зачем же? Это же БИБЛИОТЕКА! Сорцы ее тебе зачем? ООП позволяет переиспользование не изменяя исходного кода.

а если эта библиотека работает не так, как мне надо? :)

geek ★★★
()
Ответ на: комментарий от MOByte

Соббсно я отвечал гику. На Ваш вопрос отвечено выше, вроде? Впрочем, если хотите, мой ответ: повышение уровня абстракций - в максимальном применении ОО, в стремлении (довольно успешном) спрятать такие "детали" как ОС, железо, сетку и пр. - за единым универсальным интерфейсом.

svu ★★★★★
()
Ответ на: комментарий от svu

>На Ваш вопрос отвечено выше, вроде? Впрочем, если хотите, мой ответ: повышение уровня абстракций - в максимальном применении ОО, в стремлении (довольно успешном) спрятать такие "детали" как ОС, железо, сетку и пр. - за единым универсальным интерфейсом.

финальный уровень абстракции - телепатический интерфейс + компьютер low-end производительностью в 500Петафлопс, способный предугадать желания пользователя и способный выполнять любые задачи. Правда медленно, но зато программисты вообще будут не нужны

geek ★★★
()
Ответ на: комментарий от svu

> Это все про "удешевление". Но вместе с тем, от примитивнейших траблов типа переполнения буферов, обращения куда попало в памяти и пр. и пр. - таки люди научились спасаться, хотя и ценой некоторых потерь. Хотя бы это Вы признаете? Т.е. инкрустированный паравоз хотя бы не сходит с рельс, если на рельсы подложили веточку;)

Армейский бронепоезд типа "C"+"asm" при грамотном управлении эти веточки сносит походя, а при желании может и в вековом лесу новую трассу проложить.

Вообще, веселая тема про "примитивнейшие траблы", можно применить аналогию с падонками: имеется непонимание оного диалекта нормальными людьми (а при желании понять этот бред - необходимость ломать собственную голову - так же точно как и для программера использовать всякие думающие за него приблуды с привыканием к оным), необходимость "поддержки" корявого словаря (аналогия - сохранять совместимость с различным кодом) и т.п. А в основе - банальное желание упростить жизнь и нежелание следить за грамотностью... вот как-то так...

e
()
Ответ на: комментарий от geek

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

+1, но добавить приверженность традициям ;)

e
()
Ответ на: комментарий от svu

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

Не 20й век, а направленная промывка мозгов, война и революция возможна без проблем - было бы оружие, идеи сейчас витают в воздухе, хоть те же арабы с китайцами, а под шумок и свои бонзы. Проще говоря - "свиньи не думают о полетах", картинку видел хорошую :)

> Придумаете эволюционный план с использованиет текущих механизмов - возможно, за вами пойдут люди. Только при этом помните - те, кто рулит процессом и у кого деньги - должны остаться на том же месте, иначе ничего не получится. ;)

Кажется я уже говорил где-то, что только массовые расстрелы с установлением диктатуры спасут мир. "Деньги не защищают от пули" (С) скорее наоборот...

> Да, и извините, я не очень понял Ваш ответ. Хотелось бы поконкретнее ;)

На работе я трезв и суров, вернемся домой - продолжим ;)

e
()
Ответ на: комментарий от geek

> > Зачем же? Это же БИБЛИОТЕКА! Сорцы ее тебе зачем? ООП позволяет переиспользование не изменяя исходного кода. > а если эта библиотека работает не так, как мне надо? :)

Типа т.н. "повторное использование кода" как "козырь" ООПшников - выливается в отстройку и платную поддержку мега-боянов, -compat'ов и прочих костылей, пока сия башня не оПизанится окончательно. Реальное воплощение сего можно увидеть при установке 9-го Оракела на SLES10 :)

e
()
Ответ на: комментарий от geek

> логично, блин.

Товарищ geek, скажите, в каком дистре самый правильный Гнум? Задрал меня LFS, нужно переходить на чистое и светлое :)

e
()
Ответ на: комментарий от geek

> финальный уровень абстракции - телепатический интерфейс + компьютер low-end производительностью в 500Петафлопс, способный предугадать желания пользователя и способный выполнять любые задачи. Правда медленно, но зато программисты вообще будут не нужны

Маловато будет, к тому времени жеж Жаба-2 выйдет. Разве что для тостеров и мобильных телефонов... А энд-юзерам будут параллельно жилому массиву строить второй - аки дата/вычислительный центр.

e
()
Ответ на: комментарий от e

> Товарищ geek, скажите, в каком дистре самый правильный Гнум? Задрал меня LFS, нужно переходить на чистое и светлое :)

Я не гик, но скажу - в fedora core. И еще весьма хорош (но имхо хуже) в юбунте.

anonymous
()
Ответ на: комментарий от e

>Товарищ geek, скажите, в каком дистре самый правильный Гнум? Задрал меня LFS, нужно переходить на чистое и светлое :)

самый правильный гном - в генте и убунте :) В федорке все таки гном какой-то неправильный :-\

geek ★★★
()
Ответ на: комментарий от e

> при грамотном управлении

Стоимость кода - это важно. Вы же предлагаете платить машинистам как стоматологам.

> А в основе - банальное желание упростить жизнь и нежелание следить за грамотностью... вот как-то так...

Согласен. Только все это не на пустом месте, а на желании сделать код как можно дешевле, сохраняя _приемлемое_ качество. Сила великого good enough...

svu ★★★★★
()
Ответ на: комментарий от e

> Не 20й век, а направленная промывка мозгов

Спасибо за нее всем, кто мыл.

> а под шумок и свои бонзы

См. мое условие про сохранение власти и денег теми, у кого они есть.

> только массовые расстрелы с установлением диктатуры спасут мир

Тогда пусть лучше он останется неспасенным. "But when you talk about destruction don't you know that you can count me out" (c) J.Lennon

svu ★★★★★
()
Ответ на: комментарий от e

>Армейский бронепоезд типа "C"+"asm" при грамотном управлении

Который много сложнее в управлении, при этом большая часть усилий будет потрачена на управление внутренними механизмами, а не на решение задачи.
Если +asm , то можно забыть о кроссплатформенности.
Я не думаю что java падонковский язык: если управление памятью можно возложить на систему, то почему это не сделать? Тем более gc довольно простой механизм, а упрощает жизнь очень сильно

KUser
()
Ответ на: комментарий от svu

> Стоимость кода - это важно. Вы же предлагаете платить машинистам как стоматологам.

Кто такие "машинисты"? Знаю вот у Вадима Панова в Анклавах... ;) А те что в поездах - должны умереть, автоматика и удаленное управление рулят.

> Согласен. Только все это не на пустом месте, а на желании сделать код как можно дешевле, сохраняя _приемлемое_ качество. Сила великого good enough...

Да нет там никакого желания сохранить что-то на приемлемом уровне - это закон времен еще Маркса (про 300% прибыли и вероятность совершения преступления)! Куда ни плюнь в области более-менее массового потребления - везде так: бытовая электроника, акустика, теперь вот кодинг и т.п., рулят ранжирование по ценовым категорям, маркетинг (читай, промывка моска) и утаивание технической инфы от конечного потребителя.

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

Разве что еще в тяжелой машинерии не додумались бамбуковые каркасы делать, хотя возможно я просто не в курсе... И по аналогии - в написании time-critical сервисов, хотя бы тут еще на бразильских аутсорсеров не спихивают кодинг.

e
()
Ответ на: комментарий от geek

> самый правильный гном - в генте и убунте :) В федорке все таки гном какой-то неправильный :-\

Вот как всегда, скачал все, кроме нужного :) Думаю тогда Убунта на очереди, а с Гентой, даже после LFS-like, нужно погодить - задрало компилять :)

e
()
Ответ на: комментарий от svu

> Спасибо за нее всем, кто мыл.

Дык моющая жидкость оказалась сделана в том же стиле, что и прочие масс-товары - давала сбой через раз, вот за это спасибо ;)

> См. мое условие про сохранение власти и денег теми, у кого они есть.

Не нравится нам сия аксиома... "все отнять и поделить!" (С) :) шучу, разумеется, но подобный вашему выход явно не единственный.

> Тогда пусть лучше он останется неспасенным. "But when you talk about destruction don't you know that you can count me out" (c) J.Lennon

Введем тест на IQ и ЛОР не пострадает, тут, конечно, клоунов - тьма, но идиотов все же мало ;)

e
()
Ответ на: комментарий от svu

> повышение уровня абстракций - в максимальном применении ОО, в стремлении (довольно успешном) спрятать такие "детали" как ОС, железо, сетку и пр. - за единым универсальным интерфейсом.

Звучит красиво. Но при этом разве не появляется зависимость приложения от реализации такой, вот, абстракции (в лице джавы)? И все ли хорошо реализуемо в ОО. В дотнете и джаве одна общая проблема: упрощение кодинга ведет к внутреннему усложнению создаваемого монолитного ПО (bloatware). Частое создание большого количества лишних сущностей, лишних ОО слоев только для соблюдения ОО.

Я ждал от Вас такого ответа. К сожалению, такой "хокей"^W уровень абстракции имхо не нужен. По крайней мере, не везде.

Посмотреть на тот же remoting в дотнете - ужос какое "повышение" 8(

Повышение абстракции в программировании можно было видеть, например, в лиспе. В том же юникс вэйе (в контексте "Исскуства прог-ия.." Рэймонда). А в джаве имхо ничего нового нет.

А джава-дотнет-вэй - это повышение скорости разработки с использованием ОО-конструктора готовых блоков. В начале было, вроде, неплохо. Но чем дальше, тем хуже. Если быстро написать и продать, до может и хорошо. Но писать на таком для себя - брр.

MOByte
()
Ответ на: комментарий от svu

> Так вот, переход на managed языки, особенно языки использующий байткод - это необходимый этап эволюции

То, что программисты сейчас верят в эту ЧУШЬ - худшее из последствий Java.

История ЯП (которая не имеет сослагательного наклонения) в ~1995 повернула не туда. Тогда уже была технология обеспечения переносимости уровня Java, которая при этом обеспечивала производительность "родного" мащинного кода (то, на что Java несколько лет не могла даже претендовать, и до сих пор не добилась). В этой технологии не использовалась ВМ, а бинари были близки к внутреннему представлению компилятора после семантического анализа. Это представление было компактным и допускало применение корошо отработанных техник трансляции в оптимизированный машинный код (в отличие от JIT-компилятора, который пытается делать трансляцию из машинного кода JVM в родной машинный код, что гораздо труднее, медленнее, и дает худший результат).

Кстати, сами разработчики Java тихо и нехотя признали эту ошибку.

> Такой же необходимый как и переход с асма на С когда-то давно.

Переход с asm на ЯВУ не сопровождался таким ростом потребления ресурсов (см. "МЧМ", например - там от использования PL/I вместо Ассемблера получались даже более эффективные программы)

> Раз ничего даром не бывает - получается потеря производительности.

Это утверждение опровергается всем развитием вычислительной техники.

> но сделать реально ничего нельзя.

Согласен :(

tailgunner ★★★★★
()
Ответ на: комментарий от e

> С кодом - желание выпустить его в срок, при этом не сильно надурить заказчика, а функционал и качество - побоку, хоть на живую нитку клепай, лишь бы работало кое-как.

Дык я и не спорю. Просто для этого "кое-как" таки надо приложить некие усилия. Вот и хочется их минимизировать. Но "кое-как" никуда не девается. Потому как отвечать таки придется (особенно если софт не коробочный).

svu ★★★★★
()
Ответ на: комментарий от e

> Введем тест на IQ и ЛОР не пострадает, тут, конечно, клоунов - тьма, но идиотов все же мало ;)

В любом случае - "count me out", когда речь идет о фильтрации людей (с оргвыводами) по любому произвольно заданному критерию.

svu ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.