LINUX.ORG.RU

20 лет вместе с Java

 dear, , ,


0

3

23 мая 1995 года Sun Microsystems анонсировала выход Java. Сейчас Java исполняется 20 лет.

Поднимем бокалы за лучшую в мире платформу для программирования! На которой работают наши сайты, банки, микроволновки, самолёты, спутники, SIM-карты, сверхскоростные гоночные роботы и остальная половина мира!

Появившись в виде дуба, ты росла, развивалась и наконец стала взрослой. Созданная как «язык будущего», ты не только в это будущее попала, но и стала его основой.

С днем рождения, любимая Java! Всё еще только начинается!

Кстати, по этому поводу ребята из Jetbrains нарисовали комиксы вот здесь.

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

★★★★☆

Проверено: anonymous_incognito ()
Последнее исправление: unfo (всего исправлений: 1)
Ответ на: комментарий от anonymous

Это приложения, для которых нужен чисто браузер.

Такие веб-приложения называются автономными. Любое реальное онлайновое приложение состоит ещё и из бэкэнда, где Java вполне сгодится. Хотя там будут унылые jsp, но сгодится же!!!11

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

и все эти веб-приложения написаны именно на жабе

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

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

да чо уж там брейнфуск цепепе и то может быть.

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

Слишком толсто. Выбери любой нравящийся тебе язык и попробуй перепиши firefox или другое приложение подобного размера. Там человеколет работы больше чем ты проживёшь.

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

зачем тебе в объектом языке нужны примитивные типы? хочешь примитивности - добро пожаловать в сишечку

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

Как в Java запилить строки в виде примитивных типов?

Проще запилить свой язык программирования и запилить в нём виде примитивных типов всё, что захочется.

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

хочешь примитивности - добро пожаловать в сишечку

В сишечке нельзя запилить примитивные (базовые) типы.

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

Но кстати браузеры на джаве есть. М.б. firefox для Андроида тоже на ней. Там он жрёт скорее аккумулятор, чем память.

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

На Java есть JavaFX WebView/WebEngine на основе Webkit, который кстати GPL, так что всё в порядке.

А на Андрюше, которое конечно не джава а просто к слову пришлось, тоже есть свой WebView на Webkit.

stevejobs ★★★★☆
() автор топика
Последнее исправление: stevejobs (всего исправлений: 2)
Ответ на: комментарий от KUser

Это которые умеют статическую страничку HTML4 кое-как отрендерить и при этом сожрать тонну памяти?

anonymous
()

лучшую в мире платформу для программирования!

что за вбросы желтизны

и не говори

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

kto_tama ★★★★★
()
Последнее исправление: kto_tama (всего исправлений: 1)
Ответ на: комментарий от kto_tama

В этом месте спектакля kto_tama достанёт труп-чучело OCaml, размахивает им, кричит что за верблюдами будущее, и в гордом одиночестве удаляется в направлении края света

stevejobs ★★★★☆
() автор топика
Ответ на: комментарий от anonymous

Firefox на Андроиде врядли жрёт памяти больше чем на PC, уже хотя бы потому, что там памяти меньше. Сейчас у меня запущен firefox под офтопиком, отожрано 415 Мб памяти, несколько активных вкладок. Под Андроидом такого нет. Да ещё на PC firefox умудряется падать несколько раз в день.

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

а union тебе зачем дан?

union мне дан для того, чтобы содержать объекты различных /типов/ и/или размеров, а не для того, чтобы определять примитивы. Как бы, матчасть надо учить сначала :-)

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

При чем тут Firefox на Андроиде? Firefox написан на C++.

На цепепе можно и для Андроида писать/компилять.

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

Можно ли изучать Scala без знания Java?

Пропустили важное слово «успешно» или «эффективно». Ответ: конечно можно, получиться, правда, менее эффективно. Вот только в будущем оказалась именно JVM, а Java туда влезла за счет того что на нем 2-3 полезных приложения, например, Jenkins

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

У крестов база устаревшая - С.
Отсюда все их проблемы. Какие высокоуровневые фичи не прикручивай отовсюду уши С торчат.
Даже gc есть, но нормально не сделать его, т.к. его не все объекты поддерживают, и он теряет смысл.
В джаве хорошо уже то, что не стали тащить древнее г и сделали заново довольно удобный язык.

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

У крестов база устаревшая - С.

Это Ц устаревший? :-) Ц не устаревший, Ц - низкоуровневый. Ему замены то как раз и нет, в отлиции от цепепе.

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

в отлиции от цепепе

А что замена c++? Я понимаю, конечно, что при прямых руках и современных процессорах «intel», даже руби будет заменой, но ты же не это имел в виду?

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

А что замена c++?

Всё, что не предполагает на освоение 10 лет практики по т.н. «стандартам программирования» Саттера, Александреску, Майерса, Страуструпа, банды четырёх, дабы наконец осилить написание кода в бесконечном задротстве и в муках :-)

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

Ц не устаревший, Ц - низкоуровневый. Ему замены то как раз и нет, в отлиции от цепепе.

У С есть своя ниша, в которой он хорош. Но архаизмы у него есть: например, препроцессор. Нет возможности включить определения, кроме как их впечатать (#include). Выбрать вариант кода, кроме как порезав текст (#if, #ifdef). Это говорит о недостатках архитектуры языка: получается что на нём писать неудобно, нужно ещё стороннее средство, которое перед компиляцией текст перелопатит, а потом скормит его компилятору. Есть и другие недостатки. Его стоило бы перепроектировать сейчас. Но лепить C++ было конечно глупостью на такой основе.

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

У С есть своя ниша, в которой он хорош. Но архаизмы у него есть: например, препроцессор.

В жабе и этого нет, а макры, хотя они в Ц убоги на фоне макр Lisp, всё же, рулят.

Выбрать вариант кода, кроме как порезав текст (#if, #ifdef).

В жабе как условно генерировать код?

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

Тому, кто давно использует Ц, на нём писать удобно. И макры этому помогают. В цепепе же использование макросов осуждается и называется «макромагией», типа, шаблоны рулят!!!11 (Хотя даже для того, чтобы писать под венду и линукс без макросов не обойтись из-за dll export.)

Но лепить C++ было конечно глупостью на такой основе.

Да, но Страуструп захотел программировать на Си как на Симуле :-)

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

Я нашёл вот такое

И что там написано? Когда ты научишься читать, тогда и вопросы задавай :-) А то что толку отвечать, если ты всё равно читать не умеешь :-)

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

А еще выше ты утверждал, что переписать Firefox непосильная задача. Жрет Firefox внезапно меньше своих аналогов.

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

Ему замены то как раз и нет

Вот это и плохо. Борьба с дырами от переполнения буферов уже превратилась в сизифов труд, конца не видно.

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

Самый лучший C#. Это джава, которой она должна была стать, если бы у ее создателей были мозги.

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

Самый лучший C#. Это джава, которой она должна была стать, если бы у ее создателей были мозги.

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

php-coder ★★★★★
()
Ответ на: комментарий от anonymous

В жабе и этого нет, а макры, хотя они в Ц убоги на фоне макр Lisp, всё же, рулят.

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

В жабе как условно генерировать код?

К сожалению никак, да, недостаток. В D придумали конструкцию version, м.б.в джаве сделают. Но в джаве и потребность в этой конструкции меньше, т.к. JVM стандартизирована.

Тому, кто давно использует Ц, на нём писать удобно.

Удобство и неудобство вещь субъективная, но могу сказать что разбирать чужой java-код много легче чем код на С. А вот то, что при изменении ключей компиляции придётся повторить все шаги компиляции на С заново - минус. Если бы не это, то можно было бы программы в исходниках поставлять прекомпилированными, оставалось бы только кодогенерацию произвести и всё. Но такую фичу на С не сделать. Шаблоны в C++ чуть лучше макросов, но имеют похожие недостатки: работают только на стадии компиляции и создают кучу кода, который, правда, не приходится писать самому (отлаживать однако посложнее будет).

Да, но Страуструп захотел программировать на Си как на Симуле :-)

Лучше бы и писал на Симуле, наверно икалось бы меньше :)

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

что переписать Firefox непосильная задача

Смотря во сколько рук :)
Вряд ли его портированием занимался один человек.

KUser
()

Долгих лет же и дальнейшего развития.

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

То что в жабе нет препроцессора это плюс, а не минус. А макросы в С - чисто текстовое средство. Проверки типов там не работают например.

Да и хрен с ней с типовой безопасностью. В Си её итак нет по определению. А вот макры в Си очень важны, и без них было бы вообще безнадёжно всё уныло. В жабе же нет даже макросов препроцессора, и это уныло.

Удобство и неудобство вещь субъективная, но могу сказать что разбирать чужой java-код много легче чем код на С.

Разбор кода - способность субъективная. Чужой код на Java читать, тоже, не сахар жевать.

Шаблоны в C++ чуть лучше макросов, но имеют похожие недостатки: работают только на стадии компиляции и создают кучу кода

Вообще-то, шаблоны и предназначены для кодогенерации на стадии компиляции. Просто их язык убог, это да.

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

В Си её итак нет по определению.

Верно, кстати типизация в джаве строже: есть проверка типа на этапе исполнения. Впрочем тут к С никаких претензий, учитывая его низкоуровневость.

А вот макры в Си очень важны, и без них было бы вообще безнадёжно всё уныло. В жабе же нет даже макросов препроцессора, и это уныло.

Может они и были бы полезны, но не в таком виде как в С: они должны быть встроены в синтаксис языка как его часть, а не как подстановка текста. Например в D большую часть функций препроцессора удалось заменить.

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