Вот смотрю я на фичи java
очень много интересного и вкусного появилось за 15 лет с тех пор как была повешена на гвоздь.
взять теже строки в тройных кавычках, в java уже давно.
aot тоже раньше появился(правда из коробки как и нет не умеет кросскомпиляцию).
еще появился скриптинг(можно запускать исходник без компиляции).
функциональный интерфейс(можно присвоить лямбду если интерфейс состоит из единственной функции).
А ЯП?
Тут кто-то говорил про брекинг чэнжи? Говорят что в кложуре нет ни одного до сих пор.
+ groovy(до сих пор живой!)
+ всякая экзотика типа scala, kotlin.
+ количество родных(на чистой джаве библиотек) все еще кратно больше чем в дотнете. и разница вроде небольшая. всего пару лет.
ЗЫ по нативно компилируемым ЯП ощущение что еще долго будет доминировать c++.
взять тот же оберон, библиотек ноль(для БД в зачаточном состоянии например). Хотя компилятор мощный.
или раст, взял quick_xml промучался с владением полдня.
в итоге тэги типа <a /> не видит в упор. а мне он именно и нужен.
PPS Или кол-во IDE? Eclipse Idea Netbeans
внезапно с удивлением обнаружил на пк OpenJDK Runtime Environment Microsoft-25199 (build 11.0.12+7)
Точно не ставил!
rundll32 user32.dll,func arg кстати прямо указывает на корни dotnet core (для сравнения: dotnet app.dll arg)
Здравствуйте, vaa, Вы писали:
vaa>Вот смотрю я на фичи java
Сумбурно и мысль не очень понятна, но вот моё мнение: дотнет как язык С# и платформа лучше джавы, но никогда не догонит её по популярности, т.к. доверять бесплатным решениям Майкрософт дураков нет, и к платным тоже хватает вопросов.
Здравствуйте, scf, Вы писали:
scf>Сумбурно и мысль не очень понятна, но вот моё мнение: дотнет как язык С# и платформа лучше джавы, но никогда не догонит её по популярности, т.к. доверять бесплатным решениям Майкрософт дураков нет, и к платным тоже хватает вопросов.
Т.е. доверять бесплатным решениям Оракла или Гугла — дураки есть?
Здравствуйте, vaa, Вы писали:
vaa>rundll32 user32.dll,func arg кстати прямо указывает на корни dotnet core (для сравнения: dotnet app.dll arg)
Чот я не распарсил кто у тебя на ком стоял, но если чо — rundll32 заметно больше годочков чем дотнету в целом
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
scf>>Сумбурно и мысль не очень понятна, но вот моё мнение: дотнет как язык С# и платформа лучше джавы, но никогда не догонит её по популярности, т.к. доверять бесплатным решениям Майкрософт дураков нет, и к платным тоже хватает вопросов.
КБ>Т.е. доверять бесплатным решениям Оракла или Гугла — дураки есть?
дураков нету. потому они и заставили оракл отдать права консорциуму и выложить исходники в опен соурс, что бы свести риски от придури оакла к абсолютному нулю.
Здравствуйте, vsb, Вы писали:
vsb>В жаве в 2022 году нужно генерировать геттеры и сеттеры. vsb>Это всё, что надо знать про разработчиков языка.
Это мелочи. Тем более что легко решается на уровне IDE
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, CreatorCray, Вы писали:
vsb>>В жаве в 2022 году нужно генерировать геттеры и сеттеры. vsb>>Это всё, что надо знать про разработчиков языка. CC>Это мелочи. Тем более что легко решается на уровне IDE
Это не мелочи. В общем случае на уровне IDE не решается (к примеру из 40 методов 38 автосгенерированные, а 2 — нет и это хорошо бы видеть). И код часто смотрится не только в IDE.
Здравствуйте, vsb, Вы писали:
vsb>Здравствуйте, CreatorCray, Вы писали:
vsb>>>В жаве в 2022 году нужно генерировать геттеры и сеттеры. vsb>>>Это всё, что надо знать про разработчиков языка. CC>>Это мелочи. Тем более что легко решается на уровне IDE
vsb>Это не мелочи. В общем случае на уровне IDE не решается (к примеру из 40 методов 38 автосгенерированные, а 2 — нет и это хорошо бы видеть). И код часто смотрится не только в IDE.
Здравствуйте, vsb, Вы писали:
CC>>Это мелочи. Тем более что легко решается на уровне IDE vsb>Это не мелочи. В общем случае на уровне IDE не решается (к примеру из 40 методов 38 автосгенерированные, а 2 — нет и это хорошо бы видеть). И код часто смотрится не только в IDE.
Во-первых, неясно зачем их видеть?
Во-вторых, если поле приватное и никак не используется, то будет warning в idea.
Ну и вообще, есть record и даже всякие любительские штуки типа lombok.
Скорее проблема в том, что новое добавленное поле можно забыть прописать в hashcode или equals, но ведь его и не всегда нужно и прописывать... неясно как такое решить, кроме как тестами.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Здравствуйте, Gt_, Вы писали:
Gt_>дураков нету. потому они и заставили оракл отдать права консорциуму и выложить исходники в опен соурс
Что только лишний раз доказывает, что опенсорс — тупое, бесполезное стадо. Неужели ИМЕЯ СОРСЫ они не могли "всем миром" обогнать каких-то индусов из MS?? Языки-то отличаются как небо и земля! Библиотеки — аналогично. Я когда писал элементарный сетевой обмен, о___ел насколько много ШЛАКА потребовалось для тривиальной задачи.
Здравствуйте, vaa, Вы писали:
vsb>>>>В жаве в 2022 году нужно генерировать геттеры и сеттеры. vsb>>>>Это всё, что надо знать про разработчиков языка. CC>>>Это мелочи. Тем более что легко решается на уровне IDE
vsb>>Это не мелочи. В общем случае на уровне IDE не решается (к примеру из 40 методов 38 автосгенерированные, а 2 — нет и это хорошо бы видеть). И код часто смотрится не только в IDE.
vaa>в groovy не надо, она на 100% совместима с java. https://docs.groovy-lang.org/latest/html/documentation/#properties
Здравствуйте, ·, Вы писали:
CC>>>Это мелочи. Тем более что легко решается на уровне IDE vsb>>Это не мелочи. В общем случае на уровне IDE не решается (к примеру из 40 методов 38 автосгенерированные, а 2 — нет и это хорошо бы видеть). И код часто смотрится не только в IDE. ·>Во-первых, неясно зачем их видеть?
Что значит "зачем их видеть"? Глаза закрывать? У меня есть файл, описывающий АПИ. В нём 5 строк кода, вызывающего что-то. В запросе/ответе по 30 полей, к примеру. Итого 65 строк осмысленного кода. И к этим 65 строкам прилагается 480 строк геттеров-сеттеров. И таких запросов, скажем, 20 штук. Лёгким движением руки из 1200 строк получаем 10 000.
·>Во-вторых, если поле приватное и никак не используется, то будет warning в idea.
Не понял, при чём тут приватное поле.
·>Ну и вообще, есть record и даже всякие любительские штуки типа lombok.
record пока не готов, хотя я тоже жду, пока они добавят withers. Для Hibernate он вряд ли когда-нибудь будет готов, поэтому полностью он проблему не решит, но ничего другого от разработчиков языка мы видимо не дождёмся.
lombok это да, это единственное, что хоть как-то спасает. Но надо понимать, что lombok это ещё один язык, похожий на Java. Я бы предпочёл писать на Java, а не на lombok.
·>Скорее проблема в том, что новое добавленное поле можно забыть прописать в hashcode или equals, но ведь его и не всегда нужно и прописывать... неясно как такое решить, кроме как тестами.
Такой проблемы у меня нет, я не использую эти поля в hashcode/equals и вообще не понимаю, кому это может быть надо.
Здравствуйте, Baiker, Вы писали:
vsb>>В жаве в 2022 году нужно генерировать геттеры и сеттеры.
vsb>>Это всё, что надо знать про разработчиков языка.
B>Ты имеешь ввиду, что там нет приятного сахарка типа
B>
Gt_>>дураков нету. потому они и заставили оракл отдать права консорциуму и выложить исходники в опен соурс
B>Что только лишний раз доказывает, что опенсорс — тупое, бесполезное стадо. Неужели ИМЕЯ СОРСЫ они не могли "всем миром" обогнать каких-то индусов из MS?? Языки-то отличаются как небо и земля! Библиотеки — аналогично. Я когда писал элементарный сетевой обмен, о___ел насколько много ШЛАКА потребовалось для тривиальной задачи.
нет, это лишний раз показывает что есть достаточно большой процент индюшатины, встречавшийся лишь с тривиальными задачами, которые они и не могли решить. но слава яйцам индустрию не интересуют индюшачьи сложности, они ориентируется на профессионалов. потому мы и получали созданные "всем миром" опенсоурсные кафки, хадупы, касандры и прочие серьезные тулы, что нет и уже не будет в мире .net
Здравствуйте, vsb, Вы писали:
vsb>>>Это не мелочи. В общем случае на уровне IDE не решается (к примеру из 40 методов 38 автосгенерированные, а 2 — нет и это хорошо бы видеть). И код часто смотрится не только в IDE. vsb>·>Во-первых, неясно зачем их видеть? vsb>Что значит "зачем их видеть"?
"2 — нет и это хорошо бы видеть" — зачем видеть отсутствующий геттер-сеттер?
vsb>Глаза закрывать? У меня есть файл, описывающий АПИ. В нём 5 строк кода, вызывающего что-то. В запросе/ответе по 30 полей, к примеру. Итого 65 строк осмысленного кода. И к этим 65 строкам прилагается 480 строк геттеров-сеттеров. И таких запросов, скажем, 20 штук. Лёгким движением руки из 1200 строк получаем 10 000.
Обычно получается так, что API описывается каким-то внешним способом (FIX, swagger, avro, protobuf, етс) и код таких классов генерируется.
vsb>·>Во-вторых, если поле приватное и никак не используется, то будет warning в idea. vsb>Не понял, при чём тут приватное поле.
Ну обычно объявляется приватное поле и публичные геттер-сеттер для него.
vsb>·>Ну и вообще, есть record и даже всякие любительские штуки типа lombok. vsb>record пока не готов, хотя я тоже жду, пока они добавят withers. Для Hibernate он вряд ли когда-нибудь будет готов, поэтому полностью он проблему не решит, но ничего другого от разработчиков языка мы видимо не дождёмся.
Не, record вполне готов. Туда пихать ничего лучше не надо. Если что-то добавлять для билдеров, то это пусть лучше будет какая-то другая фича.
В c# {get;set;} — это встроенная фича языка, а в java это реализуется библиотечно с помощью Annotation Processor, как частный случай. Поэтому нет смысла пихать какой-то новый синтаксис.
vsb>lombok это да, это единственное, что хоть как-то спасает. Но надо понимать, что lombok это ещё один язык, похожий на Java. Я бы предпочёл писать на Java, а не на lombok.
Согласен. Впрочем создать dto+builder+withers+toString можно при отсутствии альтернатив.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай