Я как жабокодер соглашусь что это полезная штука, особенно для математики. В kotlin есть перезагрузка операторов, мне нравится этот язык, использую но т.к. в нем я числодробилки не писал то и перезагрузку операторов не встречал.
На Java больше пишут энтерпрайз, а там только перекладывание байтов из одного места в другое с очень простой бизнес логикой. И единственное место где там бы пригодилась перезагрузка операторов это операции с деньгами.
Тык что перезагрузка операторов это круто, но объективно погоды не делает.
А для математики и числодробилок в Java есть более приоритетные вещи которые нужно сделать, например финализация Vector API, и/или какой-нибудь эквивалент ffast-math в сишных компиллерах.
всю эту галиматью мог вывалить только человек ни дня не разгребавший какой-нибудь богатый креатив в чужом крестовом коде.
Именно такой человек, а именно: разгребавший сотни тонн галиматьи С++ кода перед Вами. Скорее всего, вы не поняли иронию и вырвали мое сообщение из контекста, а надо было читать одно сообщение за другим, особенно важно сначала читать сообщения, расположенные выше, а потом сообщения, расположенные ниже и пытаться связать их причинно-следственными связями.
нет и не было ни у кого никогда никаких проблем с перегруженными функциями.
В том-то и дело, Кэп! Этих проблем нет, не было, и не будет, ровно как и нет, не было и не будет проблем с перегрузкой операторов - концепцией, знакомой даже каждому первокласснику! Можно сомневаться в том, что человек способен правильно назвать функцию, но гораздо сложнее сомневаться в том, что человек будет создавать перегрузку для оператора «+», которая будет делать умножение вместо сложения!
как это реализовано в крестах - расстрелять.
Дело в том, что мы не обсуждаем здесь кресты. Они убогие и масдай, как говорится (говорит вам человек, истративший 15 лет на кресты, далеко и глубоко разобравшийся в этом дерьмище)
Тык что перезагрузка операторов это круто, но объективно погоды не делает.
Ну если не ходить на улицу, то никогда не промокнешь под дождем.
А если пишешь код, в котором математические формулы такие длинные и сложные, и ты видишь их в форме
a.minus(b).dot(n).div(n.dot(n))
то хочется блевать. А ведь формулы бывают посложнее.
А для математики и числодробилок в Java есть более приоритетные вещи которые нужно сделать, например финализация Vector API, и/или какой-нибудь эквивалент ffast-math в сишных компиллерах.
Сначала надо сделать эту математику, чтобы ее писать можно было, а если ее не пишут, то зачем им заморачиваться на поддержку вышеуказанных фич? Проблема курицы и яйца. Надо сразу добавить и то, и другое.
пардон муа, читал по диагонали, с ч.ю. с утра проблемы
человек будет создавать перегрузку для оператора «+», которая будет делать умножение вместо сложения!
и не такое видеть приходилось. например + строки к соединению с бд выполнял соотв запрос. а если вам вдруг кажется, что это контринтуитивно это неважно, ибо аффтар был уверен в обратном. и такая дребедь повсеместно.
Сначала надо сделать эту математику, чтобы ее писать можно было, а если ее не пишут, то зачем им заморачиваться на поддержку вышеуказанных фич? Проблема курицы и яйца. Надо сразу добавить и то, и другое.
Не согласен. Язык должен меняться в последнюю очередь, потому как любые изменения языка уже не отыграть. А внутреннюю реализацию можно менять как угодно, главное ничего не сломать.
Посмотри как ужасно некрасиво написана работа с SIMD в сях и плюсах, никаких красивостей, все на макросах (Я сужу по коду на computer language benchmark).
для формул есть ЯП Wolfram, выразительный по самые гланды.
Ну так и для всякого, которое пишут на Java, есть Пухон, например. Зачем полумеры? Java вообще не нужен. Надо либо трусы надеть, либо крест снять. Нет логики в том, чтобы не добавить перегрузку операторов в Java. Либо тогда есть логика в том, чтобы писать на Cи-4-плюса, он же лучше, и не только потому, что там есть перегрузка операторов. Там есть LINQ, меняющий мировоззрение. Да много чего там нормально устроено, чай не C++, в котором даже reflection не могут осилить который год. Да что уж там, хоть бы enum в строку без простыней сконвертить!
Нет логики в том, чтобы не добавить перегрузку операторов в Java.
без перегрузки операторов жаба живет прекрасно.
облегчатель же написания формул можно вынести в отдельный и особый DSL, реализовать его при помощи Truffel на платформе GraalVM и все дела.
как и любой другой облегчатель написания.
во всяком случае такой подход выглядит более перспективным, чем запихивать в ЯП модификаторы самого ЯП реализуя чрезвычайную гибкость, плавно переходящую в бесформенную аморфность, из которой получается практически все, но по свойствам примерно как из навоза пуля.
свинг, я слышал, не умеет сам строить форму из XML. нет XML-дизайнера в комплекте самого свинга, следовательно нет возможности совмещать ручное редактирование XML с дизайнером. вроде бы как нет из коробки связывания состояния полей объектов с состоянием контролов.
то есть свинг это допотопный тулкит.
у меня было стойкое чувство, что это продукт скрещивания плюсов и жабы
Было так - d 1996 M$ сделал IDE Visual J++ под руководством Хейлсберга (создателя Delphi). Visual J++ 6 была лучшая на тот момент IDE и Run-time для Java. Visual J++ позиционировали как среднее между Visual C++ и Visual Basic - то есть быстрое графическое создание приложений (формошлепство) и создание компонентов на языке более высокого уровня чем VB. Однако M$ по своему тогдашнему обычаю стал натягивать одеяло на себя, плюя на стандарты. M$ добавил в реализацию Visual J++ свою графическую библиотеку WFC (Windows Foundation Classes) как замену AWT/Swing на Windows, а также интегрировал в J++ (java) поддержку COM модели M$. Sun подало на M$ в суд за нарушение стандарта и выиграло дело. Тогда M$ создало на базе наработок VJ++ и Delphi свой продукт - платформу .Net, язык C# для программистов на Java и С++, а для разработчиков на VB - язык Visual Basic.Net, который был намного круче чем VB и в принципе повторял C#, но с синтаксисом Basic.