Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Java Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Котлин не может написать простейший запрос с JSON  [new]
private
Member

Откуда:
Сообщений: 1707
Решил сравнить Kotlin с TypeScript, решил в виде пример глянуть что-то практичное, например работу с базой, MongoDB

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

Картинка с другого сайта.

Либо в виде ДСЛ, который внешне имеет очень мало общего с тем как выглядит оригинальный Монго-запрос.

Картинка с другого сайта.

Неспособность работать с жсоном в 2019 году смотрится довольно странно. А неспособность моделировать боль-менее похожий на монгу запрос через ДСЛ смотрится как отсутствие гибкости языка. Дальше сравнивать не стал.

К слову, этот-же запрос на TypeScript , типо-безопасный как по документу, так и по запросу (в большинстве случаев).

Картинка с другого сайта.

Сравнение не совсем честное, поскольку монго сделана для JS а не для Java. Но все-таки, от современного языка ожидаешь что такие вещи он должен решать.
27 мар 19, 19:52    [21845406]     Ответить | Цитировать Сообщить модератору
 Re: Котлин не может написать простейший запрос с JSON  [new]
private
Member

Откуда:
Сообщений: 1707
Решил сравнить Kotlin с TypeScript, решил в виде пример глянуть что-то практичное, например работу с базой, MongoDB

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

Картинка с другого сайта.

Либо в виде ДСЛ, который внешне имеет очень мало общего с тем как выглядит оригинальный Монго-запрос.

Картинка с другого сайта.

Неспособность работать с жсоном в 2019 году смотрится довольно странно. А неспособность моделировать боль-менее похожий на монгу запрос через ДСЛ смотрится как отсутствие гибкости языка. Дальше сравнивать не стал.

К слову, этот-же запрос на TypeScript , типо-безопасный как по документу, так и по запросу (в большинстве случаев).

Картинка с другого сайта.

Сравнение не совсем честное, поскольку монго сделана для JS а не для Java. Но все-таки, от современного языка ожидаешь что такие вещи он должен решать.
27 мар 19, 19:54    [21845408]     Ответить | Цитировать Сообщить модератору
 Re: Котлин не может написать простейший запрос с JSON  [new]
Alexey Tomin
Member

Откуда: Самара
Сообщений: 1665
private
Решил сравнить Kotlin с TypeScript, решил в виде пример глянуть что-то практичное, например работу с базой, MongoDB

С трудом верится, но Kotlin не может написать простейший запрос в монгу.


С трудом верится, что кто-то верит, что язык должен поддерживать все БД.
В хороших языках всё делается библиотеками.
Возьми morphia, а лучше kmongo.
28 мар 19, 09:06    [21845706]     Ответить | Цитировать Сообщить модератору
 Re: Котлин не может написать простейший запрос с JSON  [new]
private
Member

Откуда:
Сообщений: 1707
Вообще, щас еще посмотрел - DSL запрос в принципе близок к монго и боль-менее ниче.

автор
С трудом верится, что кто-то верит, что язык должен поддерживать все БД.


Да при чем тут БД, мне собственно монга и не нужна, просто нужен был какой-нить простая задачка практическая, например ОРМ, в монге он как-раз простой должен быть в отличии от всяких хибернейтов.

автор
Возьми morphia, а лучше kmongo.


Так это он и есть кмонго, там прям по ссылке - первый пример - жсон в строках :).
Это как вообще? Ладно там DSL - я зря критиковал, боль-менее ниче. НО ЖСОН в строках - это уровень жквери девелоперов которые два числа складывают с помошью гугла. А тут это в документации идет

Картинка с другого сайта.
28 мар 19, 10:37    [21845819]     Ответить | Цитировать Сообщить модератору
 Re: Котлин не может написать простейший запрос с JSON  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 37971
private
Да при чем тут БД, мне собственно монга и не нужна, просто нужен был какой-нить простая задачка практическая, например ОРМ, в монге он как-раз простой должен быть в отличии от всяких хибернейтов.
у ОРМ есть требования, функционал и обязательства.
Простой он не может быть.
28 мар 19, 11:02    [21845852]     Ответить | Цитировать Сообщить модератору
 Re: Котлин не может написать простейший запрос с JSON  [new]
mad_nazgul
Member

Откуда:
Сообщений: 4642
private,
Сравнил жопу с пальцем.
Статически типизированный ЯП с динамически типизированным ЯП.
Естественно в данном кейсе (получи фиг пойми что, не понятно откуда) динамически типизированный ЯП удобнее.
<:o)
28 мар 19, 11:30    [21845894]     Ответить | Цитировать Сообщить модератору
 Re: Котлин не может написать простейший запрос с JSON  [new]
Partisan M
Member

Откуда:
Сообщений: 1330
private
С трудом верится, но Kotlin не может написать простейший запрос в монгу.


Мне вообще не верится. Kotlin не знаю и исключаю возможность его применения. Но он на платформе Java и позволяет вызывать Java-классы. А в Java в драйвере для MongoDB есть возможность конструирования запросов. Так что и в Kotlin она должна быть, вам только надо будет приспособить программные примеры на Java к синтаксису Kotlin.

автор
В документации предлагается писать запросы как строки


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

Сравнение Kotlin с TypeScript лишено какого-либо смысла, так как эти языки имеют разные области применения.
28 мар 19, 11:45    [21845916]     Ответить | Цитировать Сообщить модератору
 Re: Котлин не может написать простейший запрос с JSON  [new]
mayton
Member

Откуда: loopback
Сообщений: 39868
private
Неспособность работать с жсоном в 2019 году смотрится довольно странно. А неспособность моделировать боль-менее похожий на монгу запрос через ДСЛ смотрится как отсутствие гибкости языка. Дальше сравнивать не стал.

Лет десяток назад поляки писали язык Nemerle. Если мне не изменяет память на базе дотнета.
Вобщем суть кажется была в том что синтаксис языка был расширяемый. И можно было на ходу
вводить новые строительные конструкции. Известно было также что этот экспериментальный
и очень мощный язык не нашел практического применения.

К чему это я.

Не трудно добавить в поддержку Котлина универсальный JSON-DSL. Трудно будет обосновать это так
чтобы все пользователи Котлина это поняли и прониклись с необходимостью усложнения синтаксиса.

Вот в Scala добавляли нативный XML и что? И кому он нужен?

Трудно также его потом (лет через 5) выкосить когда окажется что JSON морально устарел и все
перешли на YAML. А в наш век инфо-технологий старение ускоряется по эскпоненте. Посмотрите
как быстро рождаются и дохнут фреймворки.

Тоесть где проходит граница пользы DSL - никто не знает. И вам для ваших задач возможно Котлин не нужен.
28 мар 19, 12:42    [21845993]     Ответить | Цитировать Сообщить модератору
 Re: Котлин не может написать простейший запрос с JSON  [new]
private
Member

Откуда:
Сообщений: 1707
автор
Статически типизированный ЯП с динамически типизированным ЯП.


Статический/динамический - все это размазанные понятия. С практической точки зрения есть типо-безопасность.
TypeScript - такой-же безопасный как ява и котлин, можно его считать статически типизированным.

автор
Сравнение Kotlin с TypeScript лишено какого-либо смысла, так как эти языки имеют разные области применения.


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

автор
Вот в Scala добавляли нативный XML и что? И кому он нужен?


Я не стал скалу упоминать, участвовал в проекте на скале, я занимался клиентом, а сервер был на скале, и иногда приходилось смотреть там тип запроса какой или еще что. Там тоже JSON писали как строки. Так что я не знаю что там в Скалу добавили и расширили, но видимо что-то не совсем то.
28 мар 19, 15:28    [21846225]     Ответить | Цитировать Сообщить модератору
 Re: Котлин не может написать простейший запрос с JSON  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 37971
private
автор
Сравнение Kotlin с TypeScript лишено какого-либо смысла, так как эти языки имеют разные области применения.


В обшем случае может быть. В моем конкретном случае - смысл сравнивать имеется, и то и другое используется для создания веб приложений.
одно на клиенте, другой ЯП на сервере.
Смешали мух с котлетами.
28 мар 19, 16:14    [21846299]     Ответить | Цитировать Сообщить модератору
 Re: Котлин не может написать простейший запрос с JSON  [new]
private
Member

Откуда:
Сообщений: 1707
typescript на node.js на сервере
28 мар 19, 16:15    [21846303]     Ответить | Цитировать Сообщить модератору
 Re: Котлин не может написать простейший запрос с JSON  [new]
mayton
Member

Откуда: loopback
Сообщений: 39868
private
Я не стал скалу упоминать, участвовал в проекте на скале, я занимался клиентом, а сервер был на скале, и иногда приходилось смотреть там тип запроса какой или еще что. Там тоже JSON писали как строки. Так что я не знаю что там в Скалу добавили и расширили, но видимо что-то не совсем то.

Вот типа такого
val book: scala.xml.Elem = <book id="b20234">Magic of scala-xml</book>

Со ссылкой на гитхаб https://github.com/scala/scala-xml/wiki/Getting-started
28 мар 19, 17:17    [21846389]     Ответить | Цитировать Сообщить модератору
 Re: Котлин не может написать простейший запрос с JSON  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 37971
private
typescript на node.js на сервере
понятно.
Так мало тут таких решений, что забывать стал о данной фиче).
28 мар 19, 17:20    [21846402]     Ответить | Цитировать Сообщить модератору
 Re: Котлин не может написать простейший запрос с JSON  [new]
private
Member

Откуда:
Сообщений: 1707
Про скалу, на мой личный взгляд - скала это энтерпрайз физ-баз созданный фантазией космических архитекторов.
То что скала добавила какие-то расширения, но так и не смогла нормально работать с такой простой и нужной вешью как жсон (и работал с ним как строки) только лишь доказывает это. Не хочу обсуждать скалу, какая разница что они там делали со скалой, это их скальные проблемы.
28 мар 19, 17:36    [21846429]     Ответить | Цитировать Сообщить модератору
 Re: Котлин не может написать простейший запрос с JSON  [new]
mayton
Member

Откуда: loopback
Сообщений: 39868
private
Про скалу, на мой личный взгляд - скала это энтерпрайз физ-баз созданный фантазией космических архитекторов.
То что скала добавила какие-то расширения, но так и не смогла нормально работать с такой простой и нужной вешью как жсон (и работал с ним как строки) только лишь доказывает это. Не хочу обсуждать скалу, какая разница что они там делали со скалой, это их скальные проблемы.

Я вообще не следил за скалой с 2013 года. Но возможно поддержка JSON у них уже есть.
28 мар 19, 18:14    [21846484]     Ответить | Цитировать Сообщить модератору
 Re: Котлин не может написать простейший запрос с JSON  [new]
Partisan M
Member

Откуда:
Сообщений: 1330
private
То что скала добавила какие-то расширения, но так и не смогла нормально работать с такой простой и нужной вешью как жсон

Не Scala и Kotlin не могут, а вы не можете. Я со своей стороны пытался помочь, но нельзя помочь тому, кто не желает знать.
Scala может использовать классы Java. Следовательно, для Scala (и Kotlin) можно использовать драйвер MongoDB для Java, а в нём есть конструктор запросов. Примеры вы нашли бы, если бы соизволили поискать. В общем, см. org.bson.Document и com.mongodb.BasicDBObject.

Если же под работой с JSON имеется ввиду превращение JSON в объекты и обратно, то для Java есть несколько библиотек, позволяющих это делать. Я использую Jackson, которая мне нравится тем, что позволяет единообразно работать с JSON и XML.
Но есть ещё несколько заслуживающих внимания библиотек для Java, которые очевидно можно использовать и в Kotlin и Scala.
Возможно, любители этих языков создали и свои библиотеки (легко ищется в google по словам вроде kotlin json, чего я не делал - мне не нужно).

Примечание.
Учили бы один из обычных языков. Мечта, что вы найдёте редкий язык, который чудесным образом будет уметь программировать за вас, не осуществится.
29 мар 19, 10:05    [21846814]     Ответить | Цитировать Сообщить модератору
 Re: Котлин не может написать простейший запрос с JSON  [new]
Partisan M
Member

Откуда:
Сообщений: 1330
private,


А, понял. Вы не знаете Java и хотите изучать Kotlin как продвиную версию Java , минуя изучение Java.

Не выйдет. В Kotlin (и Scala) надо использовать разнообразные библиотеки на Java, так что некоторое предварительное знание Java нужно. Аналогично, TypeScript надо изучать после ознакомления с JavaScript . То есть, сам TypeScript можно изучить и так, но будет трудно понять, как им пользоваться.
29 мар 19, 11:39    [21846908]     Ответить | Цитировать Сообщить модератору
 Re: Котлин не может написать простейший запрос с JSON  [new]
Лысый дядька
Member

Откуда:
Сообщений: 356
Partisan M
То есть, сам TypeScript можно изучить и так, но будет трудно понять, как им пользоваться.


главное, трудно будет понять зачем им пользоваться.
29 мар 19, 11:54    [21846926]     Ответить | Цитировать Сообщить модератору
 Re: Котлин не может написать простейший запрос с JSON  [new]
alex55555
Member

Откуда:
Сообщений: 1966
private
Решил сравнить Kotlin с TypeScript, решил в виде пример глянуть что-то практичное, например работу с базой, MongoDB

Kotlin не браузерный язык, TypeScript - браузерный. В браузере есть необходимость обмена с сервером и эта необходимость очень часто реализуется через JSON, на столько часто, что особенность JS в данном случае сыграла роль засады, которую ты не заметил. То есть JS реализует некие конструкции, которые и есть по сути JSON, поэтому использовать JSON в JS - очевидно и просто, ну и поэтому оно так часто используется. По другому - JS породил JSON, поэтому в JS есть поддержка JSON. А котлины и прочая херь никаких JSON-ов не порождали, поэтому там нет нативной поддержки JSON. Но есть поддержка в виде библиотек. И вот из-за непонимания этого всего ты тут выступаешь с обвинениями.

В твоём случае надо либо взять библиотеку, либо вернуться на JS или на язык, основанный на JS (TypeScript). Но ты этого не понимаешь и хочешь, что бы кто-то для тебя нативно вставил именно в какой-то пошлый котлин поддержку JSON. А те, кто понимает, давно юзают блиотеки или вообще другие форматы обмена. Вот с таким концептом и тебе надо быстренько познакомиться.
29 мар 19, 13:46    [21847020]     Ответить | Цитировать Сообщить модератору
 Re: Котлин не может написать простейший запрос с JSON  [new]
private
Member

Откуда:
Сообщений: 1707
автор
Учили бы один из обычных языков. Мечта, что вы найдёте редкий язык, который чудесным образом будет уметь программировать за вас, не осуществится.
Вы не знаете Java и хотите изучать Kotlin как продвиную версию Java , минуя изучение Java.

Я профессионально знаю: Java, Ruby (+Ruby on Rails), JavaScript, TypeScript, Elixir (+Phoenix)

Жава - на мой взгляд слабый, неэффективный (в плане продуктивности и скорости создания продукта) и устаревший язык. Но вобщем он не плох, и на нем понаписана тма-тмущая софта. Работать с ней скучно и не интересно и имеет смысл только в случае когда некий энтерпрайз готов платить в разы больше чем за другие технологии.

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

И выбрал одну из задач с которой часто встречаюсть - разработку веб/мобильных приложений, серверную часть, работу с моделями данных. Ну и по тому что там увидел - не особо обрадовало, на мой взгляд TypeScript лучше, проще, компактней, понятней. При той-же самой типо-безопасности.
29 мар 19, 13:47    [21847023]     Ответить | Цитировать Сообщить модератору
 Re: Котлин не может написать простейший запрос с JSON  [new]
mayton
Member

Откуда: loopback
Сообщений: 39868
private
Я профессионально знаю: Java, Ruby (+Ruby on Rails), JavaScript, TypeScript, Elixir (+Phoenix)

Про Элисксир интересно. Расскажите plz. Что за проект. И что за заказчик.
29 мар 19, 13:51    [21847029]     Ответить | Цитировать Сообщить модератору
 Re: Котлин не может написать простейший запрос с JSON  [new]
mayton
Member

Откуда: loopback
Сообщений: 39868
private
Жава - на мой взгляд слабый, неэффективный (в плане продуктивности и скорости создания продукта) и устаревший язык. Но вобщем он не плох, и на нем понаписана тма-тмущая софта. Работать с ней скучно и не интересно и имеет смысл только в случае когда некий энтерпрайз готов платить в разы больше чем за другие технологии.

Java-language отображается в JVM как 1:1. По сути это больше инженерное решение чем языковое.

С другой стороны Scala например это вообще очень далеко от Java и многие уровни строгости
Scala заставляют вообще пересмотреть подходы к разработке. Тоесть там где в Java можно
смухлевать через рефлексию, Скала на уровне парадигмы попросит тебя быть более точным.
Многим это кажется "ремнями безопасности". Тоесть... имеется сильная потеря соответствия
уже на шаге перехода от отдного языка к другому. Да и вообще Одерскому изначально
надо было строить native компиллятор.
29 мар 19, 13:54    [21847035]     Ответить | Цитировать Сообщить модератору
 Re: Котлин не может написать простейший запрос с JSON  [new]
mayton
Member

Откуда: loopback
Сообщений: 39868
private
И выбрал одну из задач с которой часто встречаюсть - разработку веб/мобильных приложений, серверную часть, работу с моделями данных. Ну и по тому что там увидел - не особо обрадовало, на мой взгляд TypeScript лучше, проще, компактней, понятней. При той-же самой типо-безопасности.

В веб-разработке есть набор стеков типа MEAN(Mongo/Angular/NodeJs) которые изначально созданы
чтобы "убить" Java. И хотя банки пока еще неохотно потребляют эту новизну но их время близится.

Вообще классический быстрый старт микросервиса на Java, красив только в туториалах. Под капотом
там будут 500-страничные стектрейсы ошибок и очень старые фреймворки обёрнутые в красивую
целофановую оболочку. И там тоже шаг-влево или шаг-вправо для новичка чреват архитектурными
фейлами которые в том-же MEAN к примеру и допустить нельзя ибо всё проще. Деревяннее.
А вообще все что проще - надежнее с точки зрения теорий надёжности.
29 мар 19, 13:59    [21847042]     Ответить | Цитировать Сообщить модератору
 Re: Котлин не может написать простейший запрос с JSON  [new]
private
Member

Откуда:
Сообщений: 1707
автор
Про Элисксир интересно. Расскажите plz. Что за проект. И что за заказчик.


Небольшой сторонний проект, связанное с е-комерс / обработкой данных. Мне было интересно посмотреть знаменитую супер производительную и надежную модель акторов эрланга.
Я его смотрел еще раньше, но он довольно уродливый и старый, неохото с ним было детально разбираться. И тут как-раз вышел Феникс, клон Рельсов на Эликсире. Поскольку я знаю рельсы - там все почти 1 в 1, было очень просто освоить.

Плюсы:

- высокая скорость разработки, наверно лишь на 20% медленнее чем в рельсах, медленнее потому-что все-таки иммутабилити и чистая функциональность на простых задачах получить/сохранить в базу и т.п. - они чуть сложнее и кода чуть больше чем например на обычных языках или руби.
- сам феникс, по большому счету отлично продуман и очень удобен
- концепции акторов также гораздо удобнее понимать и осваивать в практическом ключе и реальных задачах, чем на какой-то абстрактных надуманных примерах.
- революционная работа с ошибками, возможность убить/перегрузить полностью кусок компонентного дерева реально круто.

Минусы

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

Итог - еликсир, феникс - классная штука, интересно познакомится, концепциая акторов/иммутабельности/обработки ошибок - реально революционные. Но для всего этого сложно найти задачи где все это нужно.
29 мар 19, 14:07    [21847055]     Ответить | Цитировать Сообщить модератору
 Re: Котлин не может написать простейший запрос с JSON  [new]
Озверин
Member

Откуда: Ростов-на-Дону
Сообщений: 5044
mayton, с появлением spring 5 webflux появились надежды на легковесный фреймворк микросервис. Пока еще такой же "магический" как и весь спринг, но...
29 мар 19, 14:19    [21847079]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Java Ответить