avva: (Default)
[personal profile] avva
Джава - это не язык, а тенденция. На любом языке можно писать на Джаве. Можно писать на C++ на Джаве и даже на Питоне на Джаве.

Вот так, например, пишут на Джаваскрипте на Джаве. Это из библиотеки Closure Library, одно время главного фреймворка, в котором писали на джаваскрипте в Гугле (сейчас выбор намного больше: есть Angular, Polymer, используют и другие библиотеки, не написанные в Гугле).



Если вы пишете на Джаве, то довольно тяжело не писать на Джаве - сам язык это вроде бы и позволяет, но сложившаяся экосистема библиотек и культурных практик тянет в направлении писать на Джаве на Джаве. Но если вы пишете не на Джаве, то лучше не поддаваться соблазну писать на этом языке на Джаве.

Date: 2017-09-22 05:21 pm (UTC)
From: [identity profile] vmenshov.livejournal.com
Принципиально. Джава - это лысый скелет без мышц, нервов, глаз, мозга, без всего. К нему есть миллион практически идентичных по функционалу акессуаров, один другого глючнее. Любой выбор простейшей вещи начинается с поста где-нибудь "для решения этой простейшей задачи есть 82 фрейморка, вот наиболее популярные 15". Внутри ты узнаешь что каждый зависит еще от пары десятков других. А еще чтобы это все собрать, почитай мануал на 500 страниц про градл, мэйвен и ансибл.

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

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

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

Он проще, понятнее и безгеморройнее в миллион раз. И синтаксис там как в лучших отелях Мальдив, а не фашистском концлагере.

Date: 2017-09-22 05:23 pm (UTC)
From: [identity profile] redis.livejournal.com
Точно, точно... согласен по всем пунктам. Кстати, вот таблеточка, говорят, помогает

Date: 2017-09-22 05:27 pm (UTC)
From: [identity profile] vmenshov.livejournal.com
Ну окей. Спасибо, помогло. У джавы есть и плюсы.
Енамы там функциональнее.
И String.format там удобнее по синтаксису.

На этом преимущества, правда, заканчиваются.

Date: 2017-09-22 05:29 pm (UTC)
From: [identity profile] redis.livejournal.com
Без сомнения, без сомнения. Бывалыча, захожу это я в Линукс, запускаю программу на си-шарпе и понимаю, что у Джавы кроме енумов никаких плюсов нет, вообще

Date: 2017-09-22 05:31 pm (UTC)
From: [identity profile] vmenshov.livejournal.com
Как будто линукс хоть чем-то круче Windows Server.

Date: 2017-09-22 05:31 pm (UTC)
From: [identity profile] redis.livejournal.com
Абсолютно ничем. Разве что енумы в нем красимше

Date: 2017-09-22 05:32 pm (UTC)
From: [identity profile] vmenshov.livejournal.com
Договорились.

Date: 2017-09-22 09:04 pm (UTC)
From: [identity profile] pigmeich.livejournal.com
И чем enum функциональнее, а формат удобнее?

Date: 2017-09-22 09:19 pm (UTC)
From: [identity profile] vmenshov.livejournal.com
Енам тем что можно задавать дополнительные поля. Типа айдишника, демкрипшена и прочего. На практике удобно.

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

Date: 2017-09-22 09:30 pm (UTC)
From: [identity profile] pigmeich.livejournal.com
Это поведение enum можно эмулировать через инкапсулированный тип и рефлекшн.

Сделано так для скорости потому, что enum по-умолчанию value type, из-за отсутсвия которых Жава безбожно тормозит.

Что касается формата, то можно написать приложение-хелпер, которое расставляет номера, либо писать через конкатенацию.

Сделано так для i18n: при переводе некоторые параметры в форматной строке могут менятся местами. Кстати, то, что параметры форматирования передаются в соответсвующую функцию форматируемого типа, а пишутся в форматной строке,— для того же.

Date: 2017-09-22 09:47 pm (UTC)
From: [identity profile] vmenshov.livejournal.com
Ничего особенного без вэлью типов не тормозит, да не об этом разговор :)

Подобные объяснения всегда понятны и всегда ни о чем. Потому что неудобно часто используемое и нужное мне "а", а сделали так потому, что имели в виду "б" и "с", которое используется раз в 5 лет 1% разработчиков.

А если хотите обойти то вот вам наизнанку вывернутая жопа, которая поможет. Это как раз психология джавы. Там все так. Тонны мудрых и правильных объяснений, зачем так криворуко и неудобно. А дотнет он по духу другой. Там так как надо сразу и интуитивно. Но вот на практике в енамах и формате строки джава удобнее. Что тут же невилируется, например, тем, что string в джаве надо писать с большой буквы. Это ад мама дорогая. Сломаешь шифт и пальцы.

Date: 2017-09-22 10:16 pm (UTC)
From: [identity profile] pigmeich.livejournal.com
> Ничего особенного без вэлью типов не тормозит, да не об этом разговор :)

После наверчивания Мавенов и расставления хелперов, как у ОП, не тормозит, да.

> Подобные объяснения всегда понятны и всегда ни о чем. Потому что неудобно часто используемое и нужное мне "а", а сделали так потому, что имели в виду "б" и "с", которое используется раз в 5 лет 1% разработчиков.

Ну не надо, i18n используется далеко не 1% разработчиков раз в пять лет.

> А дотнет он по духу другой. Там так как надо сразу и интуитивно. Но вот на практике в енамах и формате строки джава удобнее. Что тут же невилируется, например, тем, что string в джаве надо писать с большой буквы. Это ад мама дорогая. Сломаешь шифт и пальцы.

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

На String в Java тоже есть объяснение: изначально это был не класс встроенной библиотеки, поэтому писался с прописной.

Вообще, для того, чтобы писать сразу и интуитивно, и на практике удобней, и чтоб не тормозило, есть DDRoller. Может его, а не Яву?

Date: 2017-09-23 12:45 am (UTC)
From: [identity profile] occam-aga.livejournal.com
"А формат тем, что в дотнете надо указывать номер позиции и две скобки вместо процента."

Уже нет

int a = 1;
string x = $"{a}";

Date: 2017-09-23 02:25 am (UTC)
From: [identity profile] ak-47.livejournal.com
в дотнете надо указывать номер позиции и две скобки вместо процента

Это, в принципе, решено с помощью interpolated strings (https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/interpolated-strings). Хотя требует C# v6.

January 2026

S M T W T F S
    1 23
45678910
11121314151617
18192021222324
25262728293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 2nd, 2026 03:35 pm
Powered by Dreamwidth Studios