Давайте попытаемся выбрать, какой же язык более сейчас подходит для веба (и для остального).Мы не будем брать мертвого динозавра - Java EE, иначе победа была очевидна.Правила просты: вкидываем в пост как плюсы одного так и минусы другого (что хейтерить сами решайте).Поехали:Java - богатый академический язык, но жрущий память, да и сама jvm не маленький.Go - специфичный и простой язык делающий местами тоже самое без чтение неделю мануалов и с честной компиляцией в бинарник.-----Java - удобнейшая экосистема. 100500 решений и фреймворков. Почти все работает отменно, вкидываешь только в maven зависимость (даже гит не надо ставить, достаточно только джавы)Go - местами мелкие детские-баги (или от недопонимания или просто так...), много писать самому. Все на уровне простоты, против гибкости. Нет де-факто пакетного менеджера (куча их). -----Java - нереальное сопровождать чужой код, особенно библиотек - тонны абстракций и каких-то паттернов. Чтобы вникнуть в простую вещь нужно потратить немало времени время.Go - код больше ориентируется на алгоритмы, за 2 минут можно добраться до бизнес-логики, конечно придется включить мозги, но чаще весь алгоритм как на ладони и все ясно. Честный опенсорс, а не 100500 слоев классов, на простую задачу (ООП-головного мозга).-----Java - у джавы есть - kotlin, засахаренная джава с экосистемой джавы.Go - у го беда как с сахаром как и с дизайном.-----Java - асинхронность через либыGo - асинхронность под капотом (как минус есть шедулер)
Java - де-факто в андройдеGo - есть ли он там??
пока существует ОС Андроид и пока оффициально приложения под него буду писаться на языке Джава, про Go можно даже не вспоминать и забить на него. Нужен он будет только тогда , когда ЛИЧНО гугл скажет разрабатывать приложухи под ведроид только на Го.
>>874092>Java - де-факто в андройдеУже не актуально, все барухи уже пишут на груви, а адекваты на котлине.Плюс на следующем GoogleIO будет интересный сюрприз от Google.
>java>академический языкЧота ору.>местами тоже самое без чтение Вот именно что местами. Тот же гуй на говне будет пострашнее такового даже не жявы выглядеть.>тонны абстракций и каких-то паттерновВот именно что все паттерны уже зажёваны за тебя, всё по шаблону. Макакену можно дать какой нибудь гоф, книжку по жяве и через 2 недельки смело сажать за код.>код больше ориентируется на алгоритмы, за 2 минут можно добраться до бизнес-логики,Ага, только вот большого проекта на го ещё никто не написал, чтобы сравнивать с 2000 классов в жяве. А за счёт его "модели ООП" это пиздец на уровне сишки будет (где буквально сотни хидеров включаются в один, потом включаются в каждый .c, это всё вымазывается макросами а го уже обрастает комментариями для компилятора из-за их отсутствия и любая иде просто начинает лагать и перестаёт навигировать по этому говну).Так же нельзя не упоминуть, что по этой же причине го не годится для коллобративной разработки от слова совсем, если у тебя не 4 человека в одной комнате.>kotlinНу у говна тоже есть Odin (хачкель на говне) и Have (котлин на говне - то же говно, но с женериками и сокращённое), в которых сахара хватает.>как минус есть шедулер)Я чото прям заорал. Всё же не зря гоферов гнобят вчерашними пхпшниками.
Короче.Хочешь работу, и больше денег в будующем - джява без вариантов.Хочешь аутировать в соло над своим маняговном, наслаждаться как микросервис быстро бегает на твоём хуёвеньком локалхосте и просто получать в лучшем случае на уровне питониста-пхпшника-1cника - го это твой выбор.
Ору с тех, кто пишет про андроид в посте где упор идет на веб.
Ёбаным жабоиндусам, напоминаю разницу. Зоопарк вопросов:- где замыкания?- где свойства?- где шаблоны? Разработчики Sun вынуждены только облизываться. Даже генерики, введённые в 5-й версии Java — не более, чем syntactic sugar. Дотнетовские генерики это реально поддерживаемые платформой типы, которые расширяются на лету при загрузке, котрые оптимизируются JIT-компилятором. Для Java генерики существуют только в коде и ни JIT, ни загрузчик классов их никогда не видит. Поэтому проблемы боксинга, преобразования типов в runtime просто скрыты от программиста.- где делегаты/евенты?- где partial-классы?- где детерминированное освобождение ресурсов (ключевое слово using + интерфейс IDisposable)?- где оптимизация JVM для расширений процессоров?- где аналог linq и в частности удобные мапперы?- где расширения методов класса?- где скрытая имплементация интерфейсов?- где перегрузка параметров функций?- где нормальное потребление памяти приложением?- где быстрая работа приложения?- где нормальные иде, с полноценными дизайнерами?- где пользовательские value types?- где методы у инстансов value types?- где var и анонимные типы- где перегрузка операторов?- где оптимизиции хвостовых вызовов? (в свете фунционального хайпа это должно вызывать некоторый батхёрт) - Где чёткое разделение домены и сборки? Это не учитывая, целый ворох технологий недоступный понимаю жабоиндусов, такие всякие сильверлайты/вин-веб/формочки, впф, XNA, список можно продолжать бесконечно, как впрочем и список ущербности жабы...Всего, чего нет в жабе, автоматически объявляется хуитой, как только это появляется в жабе, это автоматически становится нехуитой. При этом, требуется сделать вид, что хуитой это называл кто-то другой.
>>874090 (OP)>какой же язык более сейчас подходит для вебаГостевуховеб - пхпМелковеб и средневеб - руби, нода, эликсирКрупновеб - джава, скала, c# (прости господи)
>>874090 (OP)>Java>академическийТы серьезно? Ты видел лица срежнестатистических жавамакак? Да они ничего сложнее этикетки на освежителе не читали. Если повезет - какой-нибудь "спринг за два часа".
>>874104когда он будет
>>874112Люто двачую пояснившего за C# бога. Итого C# признан лучшим ЯП.Расход мужики
>>874112>>874116>>874152Вся суть шарпей-псин, только услышали слово "джава" сразу же начали тявкать.Алло, дауны! Тред java vs go!
C# ~= Java > говно > моча > гной > PHP > JS >Go
>>874183Два кофе адеквату
>>874183C# ~= Java > говно > моча > гной > PHP > JS >Go > python > C++ > C > erlang > lisp > haskell > rust > ruby
>>874183>C# ~= JavaТы поехавщий
>>874112Ты опять выходишь на связь, пиздоглазое мудило?На эту пасту тебе прошлый раз расписали положняк, и почему место шарпа у SOHO параши.
>>874230линкани? (мимо джавист)
>>874245Линканул тебе на рыломимо модный гофер
>>874090 (OP)>Java vs Go. Пришло время выбрать! Моча vs Goвно. Спасибо, ни того, ни другого не надо.
Итоги треда.Победил Го и неожиданно были слиты шарпейшики.
Итоги треда.Го-фанбой вместо вордпресса теперь будет писать микросервисы на Го, всем остальным похуй.
Пасаны, вот знаете, я жабамакака, а вроде и симпатизирую шарпу. Но у меня вопрос: все вот эти отсутствующие фичи, перечисленные тут >>874112 имеют одно объяснение: backward compatibility. То есть можно хоть писать на жабе 1.1, но сидеть на жабе 1.8 и она будет работать. Эта фича, собственно, и делает жабу такой популярной в бизнесе. А в решётке как с этим дела обстоят?
>>875673Там тоже самое, но оно не кроссплатформенное нихуя.
>>875693А хуле тогда жаба на столько консервативная?
>>875673>backward compatibility.Чтобы его поддерживать достаточно просто иметь возможность компилировать старый код, что простым наращиванием фич никак не ломается.>>875697>875693>А хуле тогда жаба на столько консервативная?Потому что:1) четверть этих фич вроде пропертей, замыканий, оптимизаций хвостовой рекурсии и пр так или иначе в виде костылей есть причём с древнейших времён;2) треть перечисленных тем аноном пунктов — чистый жирный высер;4) ещё треть разработчики жавы считают нинужным (вывод типов, перегрузка, linq, расширения методов класса и тд);4) и оставшаяся часть вроде нормальных женериков, value types хорошей работы именно на десктопе и тдне реализуема вообще — из-за старых решений времён кофеварок вроде "стэк нинужин"/"типы в рантайме нинужны"/"похуй что каждый раз будет житится заново" и тд, чтобы реализовать что-то такое нужно перехуярить жвм почти полностью.
>>875706>вроде нормальных женериков>не реализуема вообщеНу почему же, вот Брайан Гетц на каждом Java One показывает концепт value типов.Глядишь на 10 и появятся году к 2025
>>875716Концепт и реализация — разные вещи, но учитывая с какой болью в жяву впиливали стек — и правда не раньше 2025.
>>875706>не реализуема вообще — из-за старых решений времён кофеварок вроде "стэк нинужин"/"типы в рантайме нинужны"/"похуй что каждый раз будет житится заново" и тд, чтобы реализовать что-то такое нужно перехуярить жвм почти полностью.Ну а что делать? Скала же перехуяривает себя почти полностью. А такое-то большое комьюнити не может себе позволить улучшить себе язык? Или просто профит, полученный с этого и затраты на реализацию этих фич несопоставимы?Я по крайней мере только один раз за 3 месяца столкнулся с проблемой, что жаба не видит в рантайме реальные типы, а только те, что написаны в коде. Но эт лёгко обходится виситер патерном.или кастами
>>875731Скала вообще нихуя не переделывает в жвм — там всё работает на говне, рефлексии и палках.>Или просто профит, полученный с этого Не будет профита. Это язык чтобы посадить макаку после двухнедельных курсов и книжки с паттернами писать легкоподдерживаемый и производительный код без пары лет выдрачивания. Иначе все бы уже слезли на скалу.
>>875734Ну я имел ввиду, что скала перехуяривает свои внутренности из релиза в релиз. Да, несовместимость есть, но у них нет таких ресурсов, которые есть у жабы.Но всё-таки, по статистике, как минимум 60% программистов - макаки. Поэтому им (нам) как раз у нужен язык, который не так сильно наказывает за ошибки и в тоже самое время иметь достаточное количество фич, а не как какой-нибудь пхп.А чтобы начать хорошо писать на скале, надо, как минимум, знать ООП и ФП, а то в коде будет творится тотальный пиздец. А это уже дохуя опыта требуется и таких людей, которые готовы добровольно дрочить в своё свободное время программирование, никак не связанное с твоей текущей специализацией, ой как мало.
>>875697Инженерам, которые пилят сейчас стандарт, это нахуй не нужно.
>>875741> который не так сильно наказывает за ошибки и в тоже самое время иметь достаточное количество фичpython/ruby для такого есть уже давно.
>>874090 (OP)>много писать самому. Все на уровне простоты, против гибкости.Все давно написано за тебя в 100 вариантах, поиск по гитхабу юзать надо. С java все то-же самое.>нет де-факто пакетного менеджера (куча их)go get/install github.com/vasyapupkin/tool>Честный опенсорс, а не 100500 слоев классовязык тут не при чем, есть разные задачи, разные имплементации. Возможно у go изначально kiss в приоритете, но никто не мешает в java то-же самое юзать.>Java - у джавы есть - kotlinпочему тред называется не "java/kotlin/scala vs go/crystal"?или вообще давай про jQuery упомянишь? там j - тоже java значит>(как минус есть шедулер) для меня это плюсВ общем если выбирать между golang и java, то я выбрал бы dlang (перехожу на него, пока за некоторыми исключениями все устраивает). Месяц назад пришлось сесть обратно за java, так у меня руки сломались.
Проигрываю с долбаебов, которые думают, что если завезли простой и гибкий синтаксис - значит для макак.Дрочить на синтаксис удел школьников-студентов или диванов, которые ничего и не пишут.Причина тут проста, синтаксис занимает от силы 1-2% всех требуемых знаний при написание приложения, все остальное это знания стека-технологий (как библиотек, фреймворков, так и знания каких-то предметных областей).Именно на это сделан упор в джаве, в который даже есть внутренний стандарт всего этого.Так что гоните санными тряпками тех, кто демонстрирует превосходство того или иного языка не богатой экосистемой, а наличием какого-то сахарка в виде проперти или прочего говна.
>>876412> нинужнаВот это маня-внушение...Есть ведь куча JVM языков с java интеропом
>>876418>Есть ведь куча JVM языков с java интеропомГруви - тормозящая динкмикодрисня.Скала - омг оверинжинирд параша для любителей писать ванлайнеры.Котлин - ВНЕЗАПНО вин, но после восьмой явы количество его киллерфич значительно поуменьшилось.И всё это своими костылями дружит с той самой ЭКОСИСТЕМОЙ явы. Так себе куча.Ну и да, явы хватает для задач явы. Зашел в тред, чтобы вообще узнать: "Да где они яву с го сравнивают-то?!". Ответ: нигде. Ехал диван через диван.
>>876418Глупый и неопытный ребенок, услышал что всякие скалы и груви на JVM и теперь верит что там нормальная безболезненная совместимость с java?В любом случае это только в плюс, но прекращай дрочить на сахар, пора осваивать что-то серьезнее чем пустой синтаксис языков
>>876427>Котлин - ВНЕЗАПНО вин, но после восьмой явы количество его киллерфич значительно поуменьшилось.Язык-сахар, который пилили 6 лет (один лишь сахар)?Я бы побоялся, но если без троллинга, по ощущениям пишешь как на джаве, кроме некоторых вскриков WTF. Тупо язык-обертка с сомнительной судьбой
>>876430Так да. Много сахара, который был кстати в java6 (в которую он и компилируется). Но эти ваши стрим апи и лямбды сильно убиваили полезности его сахарка сведя его к nullable типам и другим всяким имплиситам. Чего мало.
>>876430>пишешь как на джавеТы и на Scala будешь писать как на яве, если не поймешь концепции идиоматичного кода.Хотя если ты "пишешь бизнес логику внутри корпорат. фреймворка", может тебе и не надо.>>876434> java6 (в которую он и компилируется)Он компилируется не в java, а в byte code для java6 или java8> эти ваши стрим апи и лямбды сильно убиваили полезности его сахаркаЕго основное преймущество - легкость выноса абстракий, любой повторяющийся код можно вынести в библиотеку и переиспользовать.Достигается это блягодоря extension methods и dsl, а inline functions выступаю некой заменой макросам.После kotlin даже c# уже не вставляет хотя может когда завезут primary constructors все и наладится.
>>874112Где реальные применения для всей этой хуйни? Сила нормального языка программирования, что там собраны все используемые постоянно при разработке фичи, а не свистелки и перделки на любой вкус. Причем набор собранных фич определяет культуру кода, и расширение его ненужной хуйней эту культуру рушит, потому что вместо нормальных стандартизированных решений начинают городить велосипеды.
>>874112> Это не учитывая, целый ворох технологий недоступный понимаю жабоиндусов, такие всякие сильверлайты/вин-веб/формочки, впф, XNA,Ха-ха-ха, это паста из 2010? Очень забавно выглядят в списке технологии от МС (тм), которые уже сдохли и протухли.
>>874090 (OP)>какой же язык более сейчас подходит для веба>js thread
>>876412Стоит добавить, что простой и гибкий синтаксис никак не коррелирует с силой абстракций предоставляемых языком. В Го она где-то на уровне Си, но если в ней это оправдано, то в первом смотрится просто убого, порождает кучу бойлерплейта и общий низкий уровень кода и макак.
>>874105> Ага, только вот большого проекта на го ещё никто не написалDocker
Го это такая параша, пиздец, как после скалы, котлина, да даже свифта или упаси господи C++ можно писать на этом вонючем паскалебейсике? Вы ебанулись что ли?
>>877423вот после дохуя переполненных всякой поеботой скал, котлина, джавы, шарпа и плюсов люди и переходят на golang, который как сишка, только современный (без современных фич, хахаха), как питон, только статика
>>877423Этого удваиваю, как половину мозга добровольно отдать-за то всё легко просто и понятно, только о еде и туалете надо думать.
>>875731>Скала же перехуяривает себя почти полностьюПоэтому бизнес на нее и не переползает, при всех ее плюсах. Потому что бизнесу нахуй не упало переписывать свое приложение заново при переползании с версии языка 2.11 на 2.12.Мне лично консервативность джавы скорее нравится. Сейчас в нее еще насыпали всякого давно желанного функционального сахара, и насыплют еще в следующем релизе, и вообще заебись все будет.
>>874090 (OP)>Моча vs Говно. Пришло время выбрать!мда удачи, дебс
>>874090 (OP)Сложно ли в жабу после php перекатиться?Есть ли фреймворк на подобии zend?Имеет ли смысл делать сайт на джаве? Что ещё следует знать?
>>877560>и насыплют еще в следующем релизе, и вообще заебись все будет.В 9 то уже известно что ничего полезного не завезут в язык (только библиотеки расширят).Если послушать Брайана, то ясно что они подзабили хуй на Java и во всю качают саму JVM (модули,panama,graal,valhalla,fast jni).Те хорошо будет всем JVM языками, а Java так и останется коболом 201X.
>>877656Берешь Spring Boot с обвязкой на веб (MVC) и все.
>>874090 (OP)Почему дети-неосиляторы постоянно называют языки академическими?Scala-бог
>>877560>переписывать свое приложение заново при переползании с версии языка 2.11 на 2.12.Но ведь они совместимы на уровне исходников.
>>877668Почти команду JDK Oracle бросила на Cloud Services. Так что раньше августа девятки не-бу-дет. Хотя клянутся к июлю выкатить...Но мне пофиг. Распределенный проект на JDK7 бьется за 3-годовой аптайм, работая везде, от blade-серваков, до старого десктопного говна с.. МСВС 3.0 на борту. Проблем с переносимостью 0..01 %Java - мой бог после всего этого.
>>880770джава - это лучшие что случалось в программирование!
>>881979Как там в 95-ом?
>>882634А что поменялось? Изобрели язык получше?
>>882683Да кучи их.
>>882685Что-то о них не слышно. Разве что ГО, но он как-то особо не блещет и вечные срачи вокруг него. Вот только сегодня посетил их тред, кстати, там похлеще чем в жс-треде.Скала? Ну уж слишком сложно для среднего кодера.Так какой язык заменит Джаву?
>>882780Ну так "хороший язык" != "популярный язык". Взять тот же пхп - кривейшая говнина с миллионом проблем в дизайне и тысячами опаснейших камней - а популярней некуда.
>>882780> Так какой язык заменит Джаву?ЖС же. Еще пару лет и его вполне доведут до уровня, когда не будет ощущаться боль от асинхронности
>>882780>Так какой язык заменит Джаву?Ceylon конечно же
>>882832Хуйлон. Ради интереса зашёл на сайт - никаких новостей, никакой движухи - вот этот план релиза порадовал https://ceylon-lang.org/documentation/1.3/roadmap/Единственная польза этого хуйлона, что отвлёк мудака, написавшего хибернейт от причинения ущерба java среде очередным подобным высером.КОТЛИН
>>882785Ну джава не пхп. Джава нормальный и очень популярный язык. А зачем менять нормальный язык, на котором пилят уже 20+ лет, вокруг которого построена значительная экосистема и который знают дохуища кодеров на новый язык, который не сильно лучше джавы?>>882787Как ЖС сожет это сделать? Насколько я знаю бекэнд на ЖС особо не жалуют.
"><script>alert("test")</script>
>>882937> Ну пхп не джава. Пых нормальный и очень популярный язык. А зачем менять нормальный язык, на котором пилят уже 20+ лет, вокруг которого построена значительная экосистема и который знают дохуища кодеров на новый язык, который не сильно лучше пхп?
>>882923 Хотел Котлин написать, но это было бы не так лузловомимо_котлинофаг
>>882941Пацаны, у нас тут хакер, возможно криминал, по коням!
>>883156опасно тут стало, Илюш, не надо...
>>874090 (OP)возможно бамп
>>874090 (OP)Из доводов ОП-поста становится очевидно, что жаба больше для крупных и стабильных сервисов, а го - для хуяк-хуяк и в продакшн.У жабы четкая высокоуровневая структура, куча абстракций, высокая стабильность структуры кода, дешевая долговременная поддержка.У го - возможность быстро накатать велосипед и поехать.Но в бизнесе важно и то и то: нужно накатать велосипед быстрее конкурента, и в то же время долго этот велосипед не продержится, и со временем придется выстраивать серьезную инфраструктуру и все переписывать "как надо".Так стартовали почти все сервисы вокруг, с уровня школоподелок до мегакорпораций с пугающе огромной инфраструктуры под капотом.Просто осмотрите на эволюцию поисковиков, соцсетей, и т.п.
>>890752а вывод то какой?
>>882937>А зачем менять нормальный язык, на котором пилят уже 20+ лет, вокруг которого построена значительная экосистема и который знают дохуища кодеров на новый язык, который не сильно лучше джавы?Лично я так считаю:Менять нужно, обязательно. Но потом.Дело в том, что такие языки, как ява, поддерживают высокую обратную совместимость.Это делает их надежными и популярными, незаменимыми для бизнеса.Но именно это же и ограничивает их развитие: на каждую правку нужно с нуля анализировать всю структуру языка, и убедится что правка ничего не ломает, иначе изобретать костыли, как сесть на два стула: и правку внедрить, и совместимость не поломать. В общем правки дорогие.Новые языки пилятся по новым концепциям, имеют новую архитектуру, с учетом всего опыта человечества на момент разработки. И т.к. пилятся они намного позднее явы - они свободны от костылей и совместимости, и могут изначально запилить намного более эффективную архитектуру языка.Без 20-ти летнего груза совместимости их разработка идет очень быстро, быстро внедряются удобные и правильные вещи, в общем вкуснота, на которую другие языки облизываются, но не могут себе позволить.Но в этот момент переползать на новый язык глупо - он еще толком не сформировался, еще не нарастил жирок совместимости, не сформировал экосистему.Со временем все это нарастет, как и у явы. Или язык остановится в развитии и станет никому не интересен.И вот когда язык достигнет уровня явы, тогда на него и нужно переползать: под рукой все те же инструменты, что и на яве, плюс множество новых, плюс доказанная стабильность, огромное сообщество, экосистема, библиотеки, все как у людей.Но такой язык будет более молодым, чем ява, более красивым и логичным, более удобным. Т.к. он основан на более свежем опыте человечества, т.е. является следующим поколением языков.Со временем и этот чудесный язык устареет под грузом совместимости, и на смену придет что-нибудь еще более красивое и удобное. Эволюция продолжится.
>>890762тут проблема в том, что го уродлив изначально, и вероятнее всего менять ничего не захотят (так как напилиненно много кода внутри одной известной компании и которая одним поведением (алиасами) показала, что клала на мнение всех)
>>890775Ну так на го свет клином не сошелся. Рано или поздно кто-то обгонит жабу - вот на него и нужно прыгать.Сейчас в мире по сути два языка: кресты и жаба.У PHP и JS свой отдельный манямирок.Остальные где-то на подсосе.
>>890756Как говорил один бородатый дядька,There's no "good" and no "bad", there's only "good for".
>>890822В общем, если бы ты не написал пост, ничего бы и не изменилось.
>>874090 (OP)что выбрал ОП?
>>891378java
>>874090 (OP)Бамп или джава победила?
>>874116Почти все правильно, тодько вместо "нода, руби и элекир" будет "пхп, пхп и пхп". Инерция, к сожалению, беспощадна.
>>892183это плохо?нахера всякие элексиры, рубанки, ноды?