Size: a a a

2020 February 20

P

Pavel in rust_offtopic
Kirill Bulatov
Поэтому твои аргументы про то, что в Java не легаси, потому что в ней пилят новые фичи чутка странны.

Во-первых, потому что предыдущее сообщение, а, во-вторых, потому что фичи пилят куцые (по сравнению с новыми языками) и медленно.
... сохраняя совместимость
источник

P

Pavel in rust_offtopic
Даже модули отломали в основном только хитровыебанные хаки
источник
2020 February 21

P

Pavel in rust_offtopic
где было в доках сказано, что так не делай, просто не энфорсилось
источник

а

а это кто in rust_offtopic
Stanislav Popov
и озарение кстати не просто так. мне кажется финтехе поняли давно. там стабильно нанимают пару питонистов отдавать жсоны и одного скалиста писать логику
Круто
источник

KB

Kirill Bulatov in rust_offtopic
Pavel
Даже модули отломали в основном только хитровыебанные хаки
Тут не спорю, может и использовали, забавно только, что с выходом 9 сломалась бОльшая часть базовых плагинов maven, mockito и, по-моему, spring тоже.

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


> Старые классы для дат депрекейтед

Да нет, только часть методов

https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Date.html

> но если тебе сильно надо, то вот они есть.

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

> Ты сравниваешь URL, или URN?

Я привожу пример легаси проектирования в Java, который в stdlib, из самой Джавы, как языка, а не из VM.

Вообще, все мои примеры из того сообщения как раз про то, что  вот так говорить неверно:

> Легаси проектирования остаётся в вм, не в самой джаве как языке.

В stdlib java есть косяки проектирования, живут с нами и никто их не выбросит.
Тот же URL не задепрекейтили и не будут.

Вот ещё пример:
https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html#hashCode()

Чёрт дёрнул описать чёткое поведение вычисления hashCode для строки — всё, теперь это контракт и никто это менять не может.
Шипилёв, помню, жаловался.
Это не в JVM, это в самом сердце stdlib.

> И нет, на EE сервера не завязываются так. Они жуткие по другим причинам.

Можешь развить мысль, я не очень понял, как "так"? Мне просто интересно.
Моя мысль про ЕЕ была скорее про то, что EE меняется ещё медленнее, часть вещей там вообще было до недавнего времени обфусцировано и с закрытыми исходниками (привет, IBM) и что внутри за хтонический ад никто не знал.
И стопудов там использование всего набора Java легаси в полный рост.

> Раст без стд остаётся растом, джава без стд — тоже.

Вот это я не понимаю, видимо (и, соответственно, тебя), поэтому мы так долго из пустого в порожнее перекладываем одни и те же мысли.
Что это вообще значит?
источник

а

а это кто in rust_offtopic
Gymmasssorla
Наверное вместо Хаскелля поучу
В Idris без хаскеля не как xD
источник

G

Gymmasssorla in rust_offtopic
а это кто
В Idris без хаскеля не как xD
Почему?
источник

а

а это кто in rust_offtopic
Gymmasssorla
Почему?
Потому что оба это чистые фп языки хз. Есть только отличие в стратегии вычисления (ленивая против строгой)
источник

G

Gymmasssorla in rust_offtopic
а это кто
Потому что оба это чистые фп языки хз. Есть только отличие в стратегии вычисления (ленивая против строгой)
Как это приводит к тому, что в Idris без Хаскелля нельзя?
источник

KB

Kirill Bulatov in rust_offtopic
Kirill Bulatov
Тут не спорю, может и использовали, забавно только, что с выходом 9 сломалась бОльшая часть базовых плагинов maven, mockito и, по-моему, spring тоже.

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


> Старые классы для дат депрекейтед

Да нет, только часть методов

https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Date.html

> но если тебе сильно надо, то вот они есть.

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

> Ты сравниваешь URL, или URN?

Я привожу пример легаси проектирования в Java, который в stdlib, из самой Джавы, как языка, а не из VM.

Вообще, все мои примеры из того сообщения как раз про то, что  вот так говорить неверно:

> Легаси проектирования остаётся в вм, не в самой джаве как языке.

В stdlib java есть косяки проектирования, живут с нами и никто их не выбросит.
Тот же URL не задепрекейтили и не будут.

Вот ещё пример:
https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html#hashCode()

Чёрт дёрнул описать чёткое поведение вычисления hashCode для строки — всё, теперь это контракт и никто это менять не может.
Шипилёв, помню, жаловался.
Это не в JVM, это в самом сердце stdlib.

> И нет, на EE сервера не завязываются так. Они жуткие по другим причинам.

Можешь развить мысль, я не очень понял, как "так"? Мне просто интересно.
Моя мысль про ЕЕ была скорее про то, что EE меняется ещё медленнее, часть вещей там вообще было до недавнего времени обфусцировано и с закрытыми исходниками (привет, IBM) и что внутри за хтонический ад никто не знал.
И стопудов там использование всего набора Java легаси в полный рост.

> Раст без стд остаётся растом, джава без стд — тоже.

Вот это я не понимаю, видимо (и, соответственно, тебя), поэтому мы так долго из пустого в порожнее перекладываем одни и те же мысли.
Что это вообще значит?
Просто для меня "java как язык" включает в себя и stdlib, потому без неё на Java кодит ну совсем уж маргинальное число людей, разве нет?
Что там без stdlib-то остаётся?
источник

KB

Kirill Bulatov in rust_offtopic
Если "java.lang.*", то даже там подосрать умудрились, см. выше про hashCode.

Легаси же? Не в VM, а в языке.
источник

KB

Kirill Bulatov in rust_offtopic
Но если рассматривать чисто как язык (тогда твои аргументы про то, что Java не легаси, потому что там пилятся гринтреды ещё более странноваты, не? Это же явно не в язык запилят), то там легаси мало, если не смотреть на это с хипстерской точки зрения, что, мол, "языковых возможностей мало, одни классы и операторы".
источник

а

а это кто in rust_offtopic
Gymmasssorla
Как это приводит к тому, что в Idris без Хаскелля нельзя?
В первом абзаце туториала написано, что требуется базовое понимание ФП языков. Можешь попробовать со своим уровнем пройти туториал :-)
источник

а

а это кто in rust_offtopic
источник

G

Gymmasssorla in rust_offtopic
а это кто
В первом абзаце туториала написано, что требуется базовое понимание ФП языков. Можешь попробовать со своим уровнем пройти туториал :-)
Ну сам фамилиарити у меня вроде есть
источник

G

Gymmasssorla in rust_offtopic
так книга же есть
источник

G

Gymmasssorla in rust_offtopic
там разжевано всё
источник

P

Pavel in rust_offtopic
Kirill Bulatov
Тут не спорю, может и использовали, забавно только, что с выходом 9 сломалась бОльшая часть базовых плагинов maven, mockito и, по-моему, spring тоже.

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


> Старые классы для дат депрекейтед

Да нет, только часть методов

https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Date.html

> но если тебе сильно надо, то вот они есть.

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

> Ты сравниваешь URL, или URN?

Я привожу пример легаси проектирования в Java, который в stdlib, из самой Джавы, как языка, а не из VM.

Вообще, все мои примеры из того сообщения как раз про то, что  вот так говорить неверно:

> Легаси проектирования остаётся в вм, не в самой джаве как языке.

В stdlib java есть косяки проектирования, живут с нами и никто их не выбросит.
Тот же URL не задепрекейтили и не будут.

Вот ещё пример:
https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html#hashCode()

Чёрт дёрнул описать чёткое поведение вычисления hashCode для строки — всё, теперь это контракт и никто это менять не может.
Шипилёв, помню, жаловался.
Это не в JVM, это в самом сердце stdlib.

> И нет, на EE сервера не завязываются так. Они жуткие по другим причинам.

Можешь развить мысль, я не очень понял, как "так"? Мне просто интересно.
Моя мысль про ЕЕ была скорее про то, что EE меняется ещё медленнее, часть вещей там вообще было до недавнего времени обфусцировано и с закрытыми исходниками (привет, IBM) и что внутри за хтонический ад никто не знал.
И стопудов там использование всего набора Java легаси в полный рост.

> Раст без стд остаётся растом, джава без стд — тоже.

Вот это я не понимаю, видимо (и, соответственно, тебя), поэтому мы так долго из пустого в порожнее перекладываем одни и те же мысли.
Что это вообще значит?
Странно, потому, что мы перешли в течении месяца на 11ю джаву после выхода, с 8й и у нас мавен, мокито и спринг бут на проекте — не сломалось абсолютно ничего.

Ещё раз, классы для дат это не язык, это энвайронмент/эдишен и к самому языку не имеет абсолютно никакого отношения. Даже если а один день весь синтаксис джавы заменится на скалу/котлин/кложуру, то эти классы останутсяв среде исполнения. Это не про язык, в спеке языка о них ничего не сказано. Даже про то, что должна быть ВМ не сказано.

Чтоб чемтно сравнить два URL (не URI/URN) надо ресолвить имена, это основы интернетов.

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

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

> Что это вообще значит?

Это значит, что ты приписываешь рантайм к свойствам самого языка. В Java ME в телефона, ещё в эру до смартфонов, было много рантаймов у разных телефонов и собственно набор доступных апишек определялся через CLDC/CDC + MIDP разных версий. Язык один и тот же — Java 1.3, а наборы апишек разные. Более того, разные телефоны ещё имели свои апишки, конкретно их и стандартные приложения из этих телефонов не работали на других, потому, что там не было этих вендоровых апишек, например, у кого-то это расширенные апишки камеры, или блютуса, или мультимедии, или HID, т.д. Есть конкретные общие апишки для конкретного профиля устройства, но может быть своё. И это Та же самая джава, что была на десктопе, но многого там не было, java.net/java.io былои сильно порезанными в отличии от SE собрата. В JavaCard многих таких апишек просто нет, как и реалтаймовой джаве. Язык один и тот же, разные среды исполнения, разные апишки, которые провайдятся рантаймом. Это всё про рантайм, не про язык.
источник

а

а это кто in rust_offtopic
Gymmasssorla
так книга же есть
Аа, точно
источник

а

а это кто in rust_offtopic
Pavel
Странно, потому, что мы перешли в течении месяца на 11ю джаву после выхода, с 8й и у нас мавен, мокито и спринг бут на проекте — не сломалось абсолютно ничего.

Ещё раз, классы для дат это не язык, это энвайронмент/эдишен и к самому языку не имеет абсолютно никакого отношения. Даже если а один день весь синтаксис джавы заменится на скалу/котлин/кложуру, то эти классы останутсяв среде исполнения. Это не про язык, в спеке языка о них ничего не сказано. Даже про то, что должна быть ВМ не сказано.

Чтоб чемтно сравнить два URL (не URI/URN) надо ресолвить имена, это основы интернетов.

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

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

> Что это вообще значит?

Это значит, что ты приписываешь рантайм к свойствам самого языка. В Java ME в телефона, ещё в эру до смартфонов, было много рантаймов у разных телефонов и собственно набор доступных апишек определялся через CLDC/CDC + MIDP разных версий. Язык один и тот же — Java 1.3, а наборы апишек разные. Более того, разные телефоны ещё имели свои апишки, конкретно их и стандартные приложения из этих телефонов не работали на других, потому, что там не было этих вендоровых апишек, например, у кого-то это расширенные апишки камеры, или блютуса, или мультимедии, или HID, т.д. Есть конкретные общие апишки для конкретного профиля устройства, но может быть своё. И это Та же самая джава, что была на десктопе, но многого там не было, java.net/java.io былои сильно порезанными в отличии от SE собрата. В JavaCard многих таких апишек просто нет, как и реалтаймовой джаве. Язык один и тот же, разные среды исполнения, разные апишки, которые провайдятся рантаймом. Это всё про рантайм, не про язык.
Страшнее питона в расточате только Java :)
источник