1.3, Iv945n (ok), 21:24, 17/09/2009 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
> Noop не реализует: статические методы, наследование и примитивы.
Ну жизнь без статических методов ещё можно себе как-то представить, но без наследования - мягко говоря с трудом. А что такое примитивы?
| |
|
2.13, rimidal (ok), 22:45, 17/09/2009 [^] [^^] [^^^] [ответить]
| +/– |
+1
Примитивы - это элементарные типы (int, float, double и т.п.). Да уж счетчик в форе это теперь экземпляр класа. Просто жесть. И флажок теперь это уже роскошь.
P.S. Noop - полный бред. Даже смотреть на него как-то не хочется.
| |
|
3.18, Поросеночек (?), 23:33, 17/09/2009 [^] [^^] [^^^] [ответить]
| +1 +/– |
>Да уж счетчик в форе это теперь экземпляр класа.
А стандартные итераторы C++ и итераторы в общем - это уже не экземпляры классов?
| |
3.27, аноним (?), 00:48, 18/09/2009 [^] [^^] [^^^] [ответить]
| +1 +/– |
>счетчик в форе это теперь экземпляр класа. Просто жесть.
И что? А про итераторы забыли? И чем, по-вашему плох класс в качестве счетчика? Если там нет наследования и виртуальных функций, оверхеда не будет, скорость такая-же, как с интом, зато возможность методы и возможность наследования.
| |
|
4.31, СуперАноним (?), 06:30, 18/09/2009 [^] [^^] [^^^] [ответить]
| –2 +/– |
Извините, но объектно-ориентированные концепции и отсутствие наследования, это как сочетается?
| |
|
5.40, Arsenicum (?), 10:35, 18/09/2009 [^] [^^] [^^^] [ответить]
| +4 +/– |
"Внедрение зависимостей" полная замена наследования. Вопрос в том как привыкнуть к такому и насколько это удобно. Time will tell.
| |
|
4.54, Warhead Wardick (?), 18:25, 18/09/2009 [^] [^^] [^^^] [ответить]
| +/– |
>Если там нет наследования и виртуальных функций, оверхеда не будет, скорость такая-же, как с интом, зато возможность методы и возможность наследования.
Да-да-да :) Там весь класс итератора святым духом упакуется в какой нить EAX регистр проца _целиком_ ... и снова "жава быстрее процессора" :)
| |
|
|
|
1.5, IGX (?), 21:55, 17/09/2009 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
От разработчиков Гугла было бы больше пользы, если бы они решали реальные задачи. Раз уж им интересна работа с языками, то лучше бы пилили Java или развивали C++, помогая улучшать GCC или создавая/улучшая библиотеки C/C++/Java. Результаты их работы были бы намного более ценны. А создавать новый язык... которых и так наплодилось видимо-невидимо... Не скажу, что это плохо... но распылять драгоценные ресурсы на необязательные вещи на мой взгляд нерационально, тем более, что нормальных разработчиков в мире по пальцам пересчитать. А работы по программированию в мире, даже исходя из текущих задач, хватит еще на десятки лет вперед, не считая того, что всё постоянно движется, и постоянно появляются новые задачи.
| |
|
2.6, iZEN (ok), 22:07, 17/09/2009 [^] [^^] [^^^] [ответить]
| +2 +/– |
>Раз уж им интересна работа с языками, то лучше бы пилили Java или развивали C++, помогая улучшать GCC или создавая/улучшая библиотеки C/C++/Java.
GCC слишком перегружен. Хорошо, что появился LLVM. Вовремя, надо сказать, и под либеральной лицензией.
| |
|
3.14, FUKEDITOR (?), 22:56, 17/09/2009 [^] [^^] [^^^] [ответить]
| +1 +/– |
> GCC слишком перегружен. Хорошо, что появился LLVM.
Угу, а LLVM в свою очередь использует GCC в качестве backend-a :-D
| |
|
|
5.28, User294 (ok), 01:59, 18/09/2009 [^] [^^] [^^^] [ответить]
| –2 +/– |
"нет ничего более постоянного чем временное".
ЗЫ даже ваша жизнь - не более чем временное явление. Поэтому довольно слабое утешение если это временное означает "50 лет" например :)
| |
|
|
3.39, Йух (??), 10:21, 18/09/2009 [^] [^^] [^^^] [ответить]
| +/– |
Простите, чем это он перегружен? ЛЛВМ не быстрее гцц, а то и медленнее. :\
| |
|
4.45, vitek (??), 13:46, 18/09/2009 [^] [^^] [^^^] [ответить]
| –2 +/– |
он видимо имел ввиду, что он перегружен всякими бзд-системами, в которых им приходиться пользоваться...
а для таких либералов - это как серпом по ядрам.
| |
|
5.62, vitek (??), 21:38, 18/09/2009 [^] [^^] [^^^] [ответить]
| +/– |
столько показателей своей правоты я давно не получал. :-DDDDDDDDDDDDDD
| |
|
|
|
2.7, usr (?), 22:08, 17/09/2009 [^] [^^] [^^^] [ответить]
| +2 +/– |
Угу. Учитывая непонятки с Sun, могли бы сделать "Java 3", из которой бы выбросили весь legacy груз. По аналогии с Python. Тем более, применять есть где - свой же Android.
| |
|
3.34, Александр (??), 09:03, 18/09/2009 [^] [^^] [^^^] [ответить]
| +/– |
> могли бы сделать "Java 3", из которой бы выбросили весь legacy груз
И к чертям все стандарты в яве. Не, так дела не делаются. Можно, конечно, новую платформу замутить, и будет еще один J++/J#, уже от гугла :)
| |
3.47, vitek (??), 14:23, 18/09/2009 [^] [^^] [^^^] [ответить]
| +/– |
>Учитывая непонятки с Sun, могли бы сделать "Java 3",
т.е. sun, учитывая непонятки с самими собой, могла бы....
| |
|
2.12, Voviandr (??), 22:42, 17/09/2009 [^] [^^] [^^^] [ответить]
| –1 +/– |
>От разработчиков Гугла было бы больше пользы, если бы они решали реальные
>задачи. Раз уж им интересна работа с языками, то лучше бы
>пилили Java
добавили бы делегаты - цены тогда яве бы не было .
| |
|
|
4.44, Voviandr (??), 13:27, 18/09/2009 [^] [^^] [^^^] [ответить]
| +/– |
делегаты - это реализованный в языке паттерн проектирования "observer".
паттерны очень хороши для тех, кто умеет ими пользоваться и знает, как и где их применять.
а анонимный класс - это гемор. он неудобен.
также неплохо бы добавить properties в стиле c#.
опять-таки - реализация паттерна "proxy".
очень нужная и полезная.
| |
|
3.37, uZver (??), 10:06, 18/09/2009 [^] [^^] [^^^] [ответить]
| +/– |
> добавили бы делегаты - цены тогда яве бы не было .
first class property я еще понимаю зачем. Удобно, но можно прожить и без них. А вот нафига делегаты?
| |
|
|
1.8, Аноним (-), 22:11, 17/09/2009 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
в Android и так не обычная а специфическая реализация Java, не от Sun
| |
|
2.38, uZver (??), 10:07, 18/09/2009 [^] [^^] [^^^] [ответить]
| –2 +/– |
да ладно ;)
там обычная java только без swing, а со своим GUI-подходом. Остальное это дополнительные либы.
| |
|
3.43, Volodymyr Lisivka (?), 13:18, 18/09/2009 [^] [^^] [^^^] [ответить]
| +1 +/– |
>да ладно ;)
>
>там обычная java только без swing, а со своим GUI-подходом. Остальное это
>дополнительные либы.
Там регистровая виртуальная машина Dalvik, которая не совместима со стековой виртуальной машиной от Сан. jar-ки надо перекомпилировать сначала, прежде чем запускать под Dalvik-ом. Трудозатраты сравнимые с компиляцией в родной код при помоши gcj.
| |
|
4.69, uZver (??), 10:44, 19/09/2009 [^] [^^] [^^^] [ответить]
| +/– |
> Там регистровая виртуальная машина Dalvik, которая не совместима со стековой виртуальной машиной от Сан. jar-ки надо перекомпилировать сначала, прежде чем запускать под Dalvik-ом. Трудозатраты сравнимые с компиляцией в родной код при помоши gcj.
тип ВМ не задается спекой потому регистровая или стековая для приложения - пофигу. разница в байт-коде - да, есть. Но если перенести пред-компилер darvik на сам darvik, то Андроит сожет запускать и свой байт-код и стандартный java byte-code. Во втором случае добавится еще одна фаза, но сама ВМ дарвика не меняется.
gcj при всем поем уважении к OpenSource & FSF не JAVA. на этом все и заканчивается. таких глюко-багов как на gcj на РАБОТАЮЩИХ приложениях я не ловил больше нигде.
Как java dev рекомендую при первой возможности сносить gcj и ставить либо sun JDK либо OpenJDK либо IcedTed (RedHat)
| |
|
|
|
1.10, pro100master (ok), 22:31, 17/09/2009 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
>is a new language experiment that attempts to blend the best lessons of >languages old and new, while syntactically encouraging industry best-practices >and discouraging the worst offenses
Эксперимент? Так что вряд ли мы увидим серьёзное продолжение :)))
| |
1.11, rimidal (ok), 22:40, 17/09/2009 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Сколько уже можно плодить виртуальные машины и интерпритаторы? Может хватит? Java как язык довольно совершенен. Единственный на мой взгляд недостаток так это апетиты по памяти у JVM. Лучше бы саму виртуальную машину пилили.
| |
|
2.36, andr.mobi (??), 09:55, 18/09/2009 [^] [^^] [^^^] [ответить]
| –4 +/– |
> Java как язык довольно совершенен.
вы явно не знаете больше ничего кроме джавы и вообще о языках программирования имеете весьма поверхностное представление. IMHO джава - уродец, так же как и его "стековая" виртуальная машина. а люди всегда тратят свои ресурсы не оптимально - делают то, до чего мозги доросли, и всегда сетуют на "задним умом".
| |
|
3.42, Volodymyr Lisivka (?), 13:10, 18/09/2009 [^] [^^] [^^^] [ответить]
| +3 +/– |
> IMHO джава - уродец
Покажи что-то лучшее из универсальных языков. Ява вобрала в себя лучшее из Си и Обьектного Си, откинув в сторону проблематичные участки.
Да, со стековой виртуальной машиной они ошиблись (так же как и автора *апаратных* стековых машнин: MIPS, Z80, Intel 8080, etc.) - архитектура MIPS (которая почти один-в-один соответствует архитектуре JVM) плохо ложится на архитектуру CISC (и наоборот). Но на SUN JVM жизнь не заканчивается - есть регистровые виртуальные машины (Dalvik, LLVM, etc.), есть компиляция в родной код (gcj, etc.).
Основная проблема Явы не в этом, основная проблема в архитектуре програмирования вообше.
"Тормоза" - это выполнение никому не нужного кода. Этим страдают все програмы на сегодняшний день. Большие и сложные програмы этим страдают больше. Основные причины - инициализация кода и перестраховка.
Noop очень облегчает работу с инициализацией програмы - это конкретный шаг вперёд, но не в те двери.
Что нужно?
Нужен продвинутый аналог prelinking - запускать програму, делать дам памяти, скидывать дамп инициализованых областей памяти на диск и в следующий раз запускать с этого места, опуская процес сборки програмы. Желательно исполнять инициализиционный код ещё на этапе компиляции.
Нужны также "ленивые вычисления" - апаратная поддержка *невыполнения* кода, если от него ничего не зависит. Процесоры уже делают предсказание ветвлений и прочую фигню - нужно облегчить им эту задачу.
| |
|
4.48, IGX (?), 15:14, 18/09/2009 [^] [^^] [^^^] [ответить]
| +/– |
>Покажи что-то лучшее из универсальных языков.
C/C++, хотя сферы применения C/C++ и Java не пересекаются. Java не является универсальным языком. К тому же для него на порядки меньше библиотек, чем для Си и Си++. И даже относительно простая стыковка с C не особо спасает Java.
> Ява вобрала в себя лучшее из
>Си и Обьектного Си, откинув в сторону проблематичные участки.
"Откинув в сторону"? "Проблематичные участки"?
Если говорить о Java как об универсальном языке, то:
Никто ведь не заставляет начинающего пользоваться всеми возможностями Си++, которые он оценит только, став профессионалом. Sun порезали всё самое полезное в Си/Си++, выкинув шаблоны (и заодно стандартную библиотеку C++, в том числе std::vector и std::map [аналогов которых в Java не было до Java 6]), препроцессор, операции с указателями, множественное наследование и т.д., без которых создание больших систем становится значительно сложнее, а из-за усложнения алгоритма появляются неизбежные тормоза и излишний расход памяти. Лучше бы добавили что-то к Си/Си++. Вот это было бы круто. Страуструп (создатель Си++) ведь придумал очень... очень гибкую вещь. Фактически сам язык не изменялся более 10 лет, и тем не менее ни чуть не устарел.
> Процесоры уже делают предсказание ветвлений и прочую фигню - нужно облегчить им эту задачу.
Используй Си/Си++ (возможно, в горячих участках вместе с Ассемблером) и читай рекомендации по оптимизации. Если тебе нужно поднять производительность на порядки, то неизбежен пересмотр алгоритма.
| |
|
5.49, anonumous (?), 17:02, 18/09/2009 [^] [^^] [^^^] [ответить]
| +/– |
> td::vector и std::map [аналогов которых в Java не было до Java 6])
java.util.Vector Since: JDK1.0
java.util.Hashtable Since: JDK1.0
java.util.HashMap Since: JDK1.2
| |
|
6.50, IGX (?), 17:13, 18/09/2009 [^] [^^] [^^^] [ответить]
| +/– |
Анонимус, сравни расход памяти и скорость обращения к элементу вектора из миллиона элементов по одному байту. Всё тобой перечисленное совсем не то же самое, что std::vector и std::map.
| |
|
7.51, anonymous (??), 17:35, 18/09/2009 [^] [^^] [^^^] [ответить]
| +/– |
Начиная с jdk1.2 Vector переписали, к тому же методы в нем синхронизованы. От того и тормоза. Нужна скорость, пользуем ArrayList. Но он появился ну никак не в 6-й версии. Гораздо раньше.
| |
|
8.53, IGX (?), 18:10, 18/09/2009 [^] [^^] [^^^] [ответить] | +/– | В Java вектор хранит ссылки на _объекты_, а в C - сами объекты Т е накладные... текст свёрнут, показать | |
|
|
10.58, IGX (?), 19:00, 18/09/2009 [^] [^^] [^^^] [ответить] | +/– | ByteBuffer не поддерживает динамический размер, в отличие от std vector Произв... текст свёрнут, показать | |
|
|
12.61, IGX (?), 19:52, 18/09/2009 [^] [^^] [^^^] [ответить] | +/– | Пилите, пилите Тестирование - это твоё домашнее задание Слабое утешение... текст свёрнут, показать | |
|
13.65, iZEN (ok), 00:47, 19/09/2009 [^] [^^] [^^^] [ответить] | +/– | Для C есть что-либо подобное системе управления жизненным циклом приложения Ap... текст свёрнут, показать | |
|
|
15.70, iZEN (ok), 19:53, 19/09/2009 [^] [^^] [^^^] [ответить] | +/– | А что, позвольте спросить, у вас вызвало затруднение при интеграции Maven в сист... текст свёрнут, показать | |
|
|
|
|
|
10.59, IGX (?), 19:05, 18/09/2009 [^] [^^] [^^^] [ответить] | +/– | С помощью vector data можно получить указатель на внутренний буфер вектора, да... текст свёрнут, показать | |
|
|
|
|
|
|
6.56, IGX (?), 18:46, 18/09/2009 [^] [^^] [^^^] [ответить] | +/– | gt оверквотинг удален 1 Много ли вы знаете скомпилированных gcj программ боле... большой текст свёрнут, показать | |
|
7.64, iZEN (ok), 00:45, 19/09/2009 [^] [^^] [^^^] [ответить]
| +/– |
>Под мобильники крупные системы не пишут.
Да ну?
Java Platform SIP Support:
Java ME Platform
• JSR-180 (SIP API)
• JSR-281 (IMS API)
• Other useful JSR's on the client side
• JSR-135 (Mobile Media API)
Java EE Platform
• JSR-116 (Sip Servlet 1.0 API)
• JSR-289 (Sip Servlet 1.1)
• Other useful JSR's on the server
• JSR-141 (Session Description API)
• JSR-309 (Media Server Control API)
| |
|
|
5.63, iZEN (ok), 00:38, 19/09/2009 [^] [^^] [^^^] [ответить]
| +/– |
>C/C++, хотя сферы применения C/C++ и Java не пересекаются. Java не является универсальным языком. К тому же для него на порядки меньше библиотек, чем для Си и Си++. И даже относительно простая стыковка с C не особо спасает Java.
Тесты говорят об обратном: http://kano.net/javabench/data
Количество СТАНДАРТНЫХ библиотек Java описывается вот этими спецификациями: http://jcp.org/en/jsr/all
| |
|
|
|
|
1.72, ximaera (?), 15:25, 21/09/2009 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
С ума сойти. Язык ещё в альфа-версии, "You can't code anything interesting in Noop yet", но о нём уже раззвонили, как же, ведь это же Google!
Вот когда хотя бы релиз транслятора будет, тогда и стоило бы говорить о Noop.
| |
|