Есть такой брокер сообщений Apache Kafka. Используется в интерпрайзе в том числе highload приложениях. Написано это чудо на Java и Scala. Но Java это же тормозной язык. А Scala еще тормозней Явы в 2-3 раза. Почему это используют для highload ? А не С++ и ASM ??? Просто на многих собесах спрашивают про это чудо ....
Я уже не раз говорил здесь, что в принципе все задачи можно разделить на cpu-bound и io-bound. Cpu-bound задачи решаются на таких языках, как Це, Плюсы, Раст или Джулия. Io-bound задачи привязаны не к скорости вычисления на проце, их в основном тормозят операции ввода вывода (не важно, что это будет жесткий диск или сеть). Поэтому их можно решать на любом языке, который, например, может осуществлять асинхронный ввод-вывод. Так уж сложилось, что большинство задач в энтерпрафзе io-bound и в частности задачи, которые решает господин Kafka. За еще одним примером ходить далеко не нужно: BEAM - виртуальная машина Erlang, очень медленная в плане намбер кранчинга, но это не мешает ей обрабатывать миллионы запросов в секунду на сервере какого-нить Вотсаппа. Да и потом, Джава не такая уж и медленная (как Петон, например), там все таки есть хороший JIT-компилятор.
Посмотрите байт код джавы, он ложиться в опкоды достаточно ровно. То, что все переменные на стеке у нее, так тоже это не очень долго раскидывается по регистам. Это про джит, если коротко. Неоткуда там быть сильным тормозам, если добавить, что свой ГЦ средний прогер сделает очень медленным, а тут десятилетия вылизывания. Вы просто пойтимте, что роль синтаксиса языка до компиляции - это ни о чем. Откомпелирован код всегда с нехилыми оптимизациями, и вот тут, после этого шага, эта скорость только рождается. Правильно подобраная под задачу структура данных и алгоритм ее обхода для обсуждаемой скорости больше решает, чем что-либо еще. Некоторые языки имеют эти структуры данных и функции работы с ними из коробки, что сильно упрощает жизнь.
Ну некоторые тормоза будут только на старте, пока все методы не заджитились. Я бы сказал, что у JVM скорее есть проблема с потреблением памяти, а не с производительностью.
Ну у JetBrains все IDE написанны на Яве ....тот же PyCharm и пр. Но они такие тормозные .... пока загрузится пока раздуплится. Невыносимо. Потом вроде ничего .... и ОЗУ дофига 32 Гига (DDR4) и проц 4 ядра 3 Ггц + SSD Но все равно тормозит. Поэтому не люблю Яву ....
Как будто та же Visual Studio не тормознутая ни разу, хоть и написана на плюсах вроде. --- Сообщение объединено, Apr 29, 2021 --- Ну дело в непрогретом джите, поэтому для десктопных приложений джаву мало кто использует, хотя концептуально джавафх неплохой фреймворк. На серверах, которые работают постоянно, джит прогреется и код будет быстро работать. И кстати я использовал Rider для С# - отличная иде.
Ну у JetBrains все IDE очень неплохого качества. Во многих конторах по сути стандарт разработки. PyCharm PhpStorm Rider Явисты почти поголовно сидят на IntelliJ IDEA даже в крупных западных конторах. Но насколько я понял ядро там одно и то же ..просто идет сегментация под разные языки.
Да, само собой ядро одно и тоже. Есть интересный проект на базе дсл воркбенча JetBrains MPS для современных цешников: http://mbeddr.com/ - олдскульным адептам це лучше даже не пытаться это смотреть, а то вас изнутри желчь разорвет, я вас предупредил.
Это именно то, каким должно быть программирование вообще. Не говно-петоны, плюсы и срасты и асмы, а человеческие предметно-ориентированные языки.
Нет, я с этим не спорю, DSLи это очень полезно. Там в MPS еще проекционный редактор, а не текстовый, поэтому позволяет там делать не только код, но и таблицы, схемы и тд. Это очень клевая штуковина, но да, жалко, что на джаве написана. Подтормаживает на старте. Я про то, что настоящим спецам цешникам эти все плюшки чужды и вызывают подрывы пуканов. Что же вам еще нужно кроме рассово верного православного це, так ведь?