LINUX.ORG.RU

Кто пишет gui на яве?

 ,


1

5

Правда, что одно и тоже приложение javaFX можно запустить на десктопе, в браузере и на мобильном устройстве? Насколько это хорошо работает?

Хотя ни одной такой программы не встречала, интересно кто их пишет и для кого?

PS Встретила здесь скептическое отношение к ява, но мне она нравится больше чем питон или перл. Возникает ощущение какой-то фундаментальности языка и делает его очень солидная компания.


Ответ на: комментарий от Stanson

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

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

Более того, жаба успешно убивает перспективные технологии

Каким образом примитивные жабомакаки могут помешать творить гениальным сверхсичеловекам?

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

Во-первых, не «гениальным сверхсичеловекам», а нормальным инженерам.

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

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

у пользователя всё огонь, он доволен, продукт качественный

oxo
()

Окромя того, что один болезный тут прыгает с «не показали гуя на джаве» когда ему привели их более чем десяток, мне очень странно, что никто не вспомнил про i2p. Особенно с темой цензур.

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

Нормальным людям не нужны среды и языки программирования. Как только ИИ сможет понимать человеческий язык и переводить текстовые спецификации в код, вся софтописательская индустрия схлопнется как пузырь.

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

Так же все нужные программы уже написаны и доступны в опенсорсе. За пределами энтерпрайзов денег для разработчиков нет. Шароварщики вымерли в 90е. Пользователи конечно не откажутся от новых программ, но только платить за них не хотят. Эппл, пожалуй, единственный успешный пример экосистемы, где почти все приложения ставятся через магазин. Но и там при желании можно много чего собрать портированного из *nix-ов.

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

Во-первых, не «гениальным сверхсичеловекам», а нормальным инженерам.

В ситуации, кога задачу можно решить двумя методами, один стоит Х ресурса, а другой 10Х, нормальному инженеру не составит труда сделать правильный выбор. А вот «я художник, я так вижу» может поступать крайне нерационально, такова уж природа этого искусства.

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

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

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

Известная тяжеловесность и медленный запуск ява-программ — это конечно же недостаток и существенный. Но в ряде случаяв (я бы сказал в большинстве) вполне терпимый. Так как в реальной жизни у разработчика/-ов всегда стоит выбор на чём концентрироваться, то они должны либо пилить фичи/править ошибки, либо заниматься оптимизациями.

Если начинающий программист выделяет значительное время на оптимизацию/рефакторинг, то через некоторое время он начинает сразу писать код почти не требующий оптимизации/рефакторинга. Это называется «вырабатывается стиль». Проблема в том, что бизнес заинтересован не в написании хороших программ и повышении квалификации своих сотрудников, а в максимизации прибыли.

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

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

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

Были приведены лишь узко специализированные программные продукты. Из того, что могло бы служить примером я привёл jedit, spark, hits, но что-то я не видел чтобы кто-то ими пользовался. Наверняка есть те, кто пользуется, но по сравнению с теми, кто выбрал аналогичное ПО, написанное на других языках, видно, что перечисленных продуктами на яве никто не пользуется.

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

Джава как бы ближе всего приблизилась к выполнению этого требования

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

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

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

Всё это замечательно, конечно, но я хочу остановиться на следующих моментах:

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

В остальном согласен.

, либо позже быструю

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

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

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

Где вы супер профи С++, АСМа и прочего Хакеля, рынок вас ждет, а вас нет. А если есть вы хотите тонну денег, при этом ваша продуктивность ниже 2 тупоголовых кодеров с Джава, поэтому расслабтесь и отдыхайте с надутыми щеками.

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

Где вы супер профи С++, АСМа и прочего Хакеля

Сипиписька — это C++, то есть еще хуже чем Java.

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

Сипиписька — это C++, то есть еще хуже чем Java.

Да пофиг, имелось ввиду ТРУ языков. Мне вообще все языки нравятся когда они позволяют решать быстро мои задачи и дают приемлемую производительность.

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

Да пофиг, имелось ввиду ТРУ языков.

Речь же про нормальных людей разных профессий. Java тут не подходит, так как проектировалась специально для немытого программисткого пролетариата.

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

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

рефакторинг — это процесс приведения говнокода, написанного в спешке, к виду понятному для других и возможности поддержки в дальнейшем. А «процесс адаптации программ к меняющемуся внешнему миру» - это переделка в соответствии с изменившемся ТЗ.

Юношеский максимализм присущ лицам пубертатного периода. Я про гибкость вообще не упоминал и не понимаю почему на продумывание архитектуры необходимо тратить не менее полугода. о_О

Чтобы оптимизировать что-либо, надо овладеть методиками оптимизации, На обучение требуется время, которое бизнес обычно не готов выделять, так как это противоречит целям бизнеса.

Если ты выпадешь из самолета, то от жабафилов ты получишь «яркий-нарядный-замечательный» парашют. Только не сшитый, а слегка наметанный, и не с 30ю стропами, а с тремя красивыми, но, увы, непрочными веревочками и обещанием в следующей версии учесть все твои замечания.

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

не понимаю почему на продумывание архитектуры необходимо тратить не менее полугода.

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

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

и не понимаю почему на продумывание архитектуры необходимо тратить не менее полугода. о_О

Потому, что заказчик — идиот, который сам не знает чему ему нужно. И вместо ТЗ он может выдать только невнятное мычание. А если ему показать прототип из говна и палок, политых жабьей кровью, его речь станет чуть более осмысленной. Ergo, оптимальная стратегия — делать быстрые итерации с костылями на костылях и переписыванием костылей для улучшения совместимомсти с костылями. Ну а года через 3, когда всё устаканится, можно и переделать всё с нуля (заодно написав классную статью «как мы переписали монстроподелие из 1М LoC на $EnterpriseLang на 10к LoC на $YourLang»).

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

Если начинающий программист выделяет значительное время на оптимизацию

Есть такие люди, они не знают про сетевой раундтрип, даже не задумываются что все упирается в i/o, не знаю что такое collective code overship и начинают оптимизировать кусок кода превращая его в не читаемый текстовый блоб. Но на любой галере им руки вправят. А сишники вообще смешные люди, когда им кто-то говорит, что в стандартной библиотеке не читаемый код и где же там хорошие практики, сишники отвечают, что она сделана не для того, чтобы её читать.

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

Потому, что ...

... а года через 3, когда всё устаканится, можно и переделать всё с нуля (заодно написав классную статью «как мы переписали монстроподелие из 1М LoC на $EnterpriseLang на 10к LoC на $YourLang»).

Ты сам выдвинул тезис что архитектурой или вообще не нужно заниматься, или тратить не менее полугода. Я удивился такой дихотомии. А теперь споришь со своим же утверждением, да еще выдвигая новый минимальный срок в 3 года. о_О

Ergo, оптимальная стратегия — делать быстрые итерации с костылями на костылях и переписыванием костылей для улучшения совместимомсти с костылями.

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

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

Если думаешь, что базворды скроют твою глупость, то ты ошибаешься. Сишники (если чё, я не сишник) абсолютно правы - к стандартной библиотеке неприменимы требования предъявляемые к обычным программам.

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

Возьми, например, тот же Common Lisp, который создавался лучшими >>умами планеты для намного более благородных целей.

О господи, опять Лишп!!! И шо досаздовались? Он серебрянная пуля? Он делает ровно тоже самое что и другие языки, я понимаю там семейство ML языков(они с научной точки зрения дали и дают гораздо больше Лишпа) назвали, а что дал Лишп, вот что дал программированию Лишп?

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

а что дал Лишп, вот что дал программированию Лишп?

Кучку нытиков, которые ничего не родили значимого на лиспе, работают кодерами на С++, С# и пр., но при этом имеют непомерное ЧСВ.

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

вот что дал программированию Лишп?

Так же как Java язык более выского уровня чем C++, позволяющий не думать про всякие бинарные сдвиги, Common Lisp язык еще более выского уровня, позволяющий не думать про всякие дебильные фабрики фабрик.

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

Common Lisp язык еще более выского уровня, позволяющий не думать про всякие дебильные фабрики фабрик.

Даже слишком высокого, где еще можно найти набор функций вроде:

car
cdr
caar
cadr
cdar
cddr
caaar
caadr
cadar
caddr
cdaar
cdadr
cddar
cdddr
caaaar
caaadr
caadar
caaddr
cadaar
cadadr
caddar
cadddr
cdaaar
cdaadr
cdadar
cdaddr
cddaar
cddadr
cdddar
cddddr

Убогим языкам это просто недоступно.

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

Так же как Java язык более выского уровня чем C++, позволяющий >>не думать про всякие бинарные сдвиги, Common Lisp язык еще более >>выского уровня, позволяющий не думать про всякие дебильные >>фабрики фабрик.

Джава не более высокоуровневый язык чем С++(в нем тоже особенно сейчас можно вообще про ботву с битами не думать, а вот если смотреть шаблоны то С++ гораздо более высокоуровневый язык чем остальные), и Лишп тоже. Джава только отрубила прямую работу с памятью и слегка типа подравняла ООП(то что она собирает мусор это не переводит ее в разряд более высокоуровневости), главное достижение Джава, это наконец более чем менее нормальная модульность и все.

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

Common Lisp язык еще более выского уровня, позволяющий не думать >>про всякие дебильные фабрики фабрик.
Даже слишком высокого, где еще можно найти набор функций вроде:

А потом спрашивают почему Лишп не пошел в народ :) Потому что наследие ограничений на длину имени тянут до сих пор с собой. Да и это считается достижением века.

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

HTML+JS тоже нужно изучать, разве нет?

Это можно писать на спинномозговых рефлексах. Скопировал - забыл.

а потом эти же люди скулят: вебмакаки наговнокодили и всё тормозит. со свиным рылом в калашный ряд вобщем

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

Потому что наследие ограничений на длину имени тянут до сих пор с собой.

Не мог бы ты озвучить это ограничение? С другими языками я сам сравню.

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

О! Старый жирный педофил подтянулся.

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

Ты уже доказал свою феноменальную тупость. Ты думаешь, кому-то есть дело до твоего хрюка из-за угла?

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

Не мог бы ты озвучить это ограничение? С другими языками я сам >>сравню.

IBM 704 car -> Contents of the Address part of Register cdr -> Contents of the Decrement part of Register Что это, почему это тянется до сих пор? Производные от этого?

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

Джава не более высокоуровневый язык чем С++

У Java как минимум есть сборка мусора, пакеты, юникод, многопоточность. В сипипиське до сих пор нужно дублировать код в заголовочных файлах! Шел 2017 год, лол!

и Лишп тоже

На лиспах, например, реализованы кучи разных объектных систем. В сипипиське только одна встроенная.

На Лиспе можно запилить вообще все, что угодно.

Потому что наследие ограничений на длину имени тянут до сих пор с собой.

Нет никого ограничения. Тот анонимус пошутил просто.

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

Джава не более высокоуровневый язык чем С++

У Java как минимум есть сборка мусора, пакеты, юникод,> >многопоточность. В сипипиське до сих пор нужно дублировать код в >заголовочных файлах! Шел 2017 год, лол!

Это все не делает Джава более высокоуровневым языком.

и Лишп тоже

На лиспах, например, реализованы кучи разных объектных систем. В >сипипиське только одна встроенная.
На Лиспе можно запилить вообще все, что угодно.

58 лет прошло, никак ничего, что то не запилино, но вот хотя-бы тулкит запилили бы уровня Qt или Gtk(Да есть LispWorks, но как бы за деньги). Пока из всего, что угодно нет почти ничего имеющего поддержку и устойчивое развитие, кроме самих компиляторов Лишп.

Потому что наследие ограничений на длину имени тянут до сих пор >>с собой.

Нет никого ограничения. Тот анонимус пошутил просто.

Вы читаете плохо и понимаете car и cdr именно наследие 59 года, традиция которую тащат в 21 век непонятно зачем. Как минимум читаемости это хрень не добавляет, или вот такая CADDDR, называется давайте посчитаем сколько D в слове :)))))

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

и Лишп тоже

На лиспах, например, реализованы кучи разных объектных систем. В >сипипиське только одна встроенная.
На Лиспе можно запилить вообще все, что угодно.

Я кстати не против Лишпа, вот Clojure не плохая попытка сделать его лучше.

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

У Java как минимум есть сборка мусора, пакеты, юникод, многопоточность.

Сборка мусора - это в том числе минус. Юникод и многопоточность в С++ уже завезли (в отличие от общелиспа), есть неймспейсы, на С++20 запланированы модули (которые и в Java только-только завезли).

В сипипиське до сих пор нужно дублировать код в заголовочных файлах! Шел 2017 год, лол!

Скоро подвезут модули, и уж не сторонникам общелиспа с их отсталым стандартом рассуждать про «2017 год».

На лиспах, например, реализованы кучи разных объектных систем. В сипипиське только одна встроенная.

И этим С++ явно лучше.

На Лиспе можно запилить вообще все, что угодно.

Запили полноценную статическую типизацию.

Тот анонимус пошутил просто.

Только лишь отметил убогость языка, построенного на списках.

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

Это все не делает Джава более высокоуровневым языком.

Более делает, но таки да, ненамного. Если смотреть с вершины Лиспа, то оба прозябают где-то глубоко на дне.

58 лет прошло, никак ничего, что то не запилино

Да только один Emacs чего только стоит.

Вы читаете плохо и понимаете car и cdr именно наследие 59 года, традиция которую тащат в 21 век непонятно зачем.

Пара - фундаментальная структура данных. А названия функций - просто традиция. car - первый елемент пары, cdr - второй.

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

Что это, почему это тянется до сих пор?

Две причины:
это удобно

Понятие относительное, для меня не очень, и судя по популярности Лишп, со мной много солидарных.

это привычно

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

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

это удобно
это привычно

Т.е. такое вот:

(defconstant OPERATORS '((#\^ . 4) (#\* . 3) (#\/ . 3) (#\+ . 2) (#\- . 2)))
(> (cdr (assoc opp OPERATORS)) (cdr (assoc opc OPERATORS))

Удобнее и привычнее чем:

OPERATORS = {'^': 1, '*': 3, '/': 3, '+': 2, '-': 2}
OPERATORS[opp] > OPERATORS[opc]

?

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

Это все не делает Джава более высокоуровневым языком.

Более делает, но таки да, ненамного. Если смотреть с вершины >Лиспа, то оба прозябают где-то глубоко на дне.

Приведите пример более высокоуровневости Лишпа, код в студию.

58 лет прошло, никак ничего, что то не запилино

Да только один Emacs чего только стоит.

Ну вопервых он запилин не на CL. Ну да ладно. Давайте продолжайте список.... Мне нравится когда спрашивают про то что запилино на Лишп, всегда вспоминают его, а дальше мысли останавливаются :)))) Так как на Лишпе, единственно удачное поделие это он, плюс сами компиляторы Лишпа!!!!

Вы читаете плохо и понимаете car и cdr именно наследие 59 года, >>традиция которую тащат в 21 век непонятно зачем.

Пара - фундаментальная структура данных. А названия функций - >просто традиция. car - первый елемент пары, cdr - второй.

Это не фундаментальные структуры данных, это наследи IBM 704. К фундаментальным структурам никакого отношения. cdr - это хвост списка, а не второй элемент, вот о чем я и говорил, никакой логики и отношения к структурам данных.

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

Приведите пример более высокоуровневости Лишпа, код в студию.

Те же объектные системы. CLOS.

Мне нравится когда спрашивают про то что запилино на Лишп, всегда вспоминают его, а дальше мысли останавливаются :))))

Потому что Emacs — лисп-машина, и под эту машину понаписаны мегатонны прикладного софта.

Так как на Лишпе, единственно удачное поделие это он, плюс сами компиляторы Лишпа!!!!

Не все у нас Полы Грэмы из Гарварда, которые пишут художественные произведения о своих успехах. И не каждый день появляются популярные проекты на Лиспе вроде Hackers News или Reddit. И редко кто пустит слух, что Google скупает у лисперов ITA Software. И не так уж часто Cisco открывает исходники реализации своего Лиспа.

Большинство людей просто живут в реальном мире и не бегают каждый день на Хабр разводить хайп про свои утренние покакухи.

Лисп живет и развивается. У него есть две коммерческие реализации. И да, он элитарный.

cdr - это хвост списка

RTFM, нуб.

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

Те же объектные системы. CLOS.

Покажи как ты будешь использовать объекты CLOS, например, в качестве ключей hash-table.

под эту машину понаписаны мегатонны прикладного софта

Под PL/I тоже писали, и он тоже где-то еще остался.

И да, он элитарный.

Потому-что практически ненужный. Даже у пэхэпэшников громких историй успеха на порядки больше.

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

Понятие относительное, для меня не очень,

для Вас не очень, а лисперам удобно.

для тех кто только в начале пути или просто читает лиспопрограмму

Если кто-то читаем код на лиспе и ему обидно, что он не похож, на код на С, питоне или фортране, то мы имеем ярко выраженный приступ синдрома утёнка.

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