The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Компания JetBrains представила IDE RustRover и прекратила разработку плагина intellij-rust, opennews (??), 14-Сен-23, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


2. "Компания JetBrains представила IDE RustRover и прекратила ра..."  +6 +/
Сообщение от Аноним (2), 14-Сен-23, 09:56 
Теперь вы довольны, опеннетовцы?
Ответить | Правка | Наверх | Cообщить модератору

15. "Компания JetBrains представила IDE RustRover и прекратила ра..."  +4 +/
Сообщение от Аноним (15), 14-Сен-23, 10:34 
Все, кому нужно, давно используют rust-analyzer вместе с любым LSP-клиентом. Проблема только в том, что связка LSP-сервер и LSP-клиент нерационально использует память, не говоря уже об оверхедах на сериализацию и работу с диском. В этом виноваты:

* Microsoft, придумавшие неудачное решение с разделением по процессам и общению по сети
* создатели LSP-клиентов и серверов, поддержавшие неудачный протокол вместо создания консорциума, который оптимизирует LSP, устранив оверхеды. Такой LSP будет несовместим с оригинальным LSP, ибо потребует другой модели взаимодействия клиента и сервера.

Ответить | Правка | Наверх | Cообщить модератору

36. "Компания JetBrains представила IDE RustRover и прекратила ра..."  +3 +/
Сообщение от YetAnotherOnanym (ok), 14-Сен-23, 11:32 
> неудачный протокол вместо создания консорциума, который оптимизирует

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

Ответить | Правка | Наверх | Cообщить модератору

60. "Компания JetBrains представила IDE RustRover и прекратила ра..."  +1 +/
Сообщение от Аноним (60), 14-Сен-23, 13:19 
LSP-протокол неудачен в принципе. Он появился только по одной причине: M$ - богатая корпорация, которая имеет свои деньги не за счёт IDE, IDE вообще побочный продукт, и которая может себе позволить инвестировать в разрушительные инновации. Обычные разработчики IDE LSP придумать и реализовать по своей инициативе не могли в принципе. Потому что инвестиции в LSP - это инвестиции в продукты КОНКУРЕНТОВ, а разработчикам IDE нужно развивать СВОЙ IDE и вырываться вперёд конкурентов. Мало спроектировать протокол LSP, нужно сделать ещё несколько серверов для него. Более того, спроектировать протокол в отрыве от проектирования сервера и клиента невозможно. Зачем разработчикам IDE тратить свои деньги на то, что конкуренты просто возьмут готовым?

А вот M$ прямая выгода есть. При сетевой модели LSP-сервера можно сделать проприетарными, разместить в СВОЁМ облаке Azure и продавать доступ к ним по подписке, и вообще не раскрывать ни исходников, ни бинарников, при этом наоборот получив доступ ко всем исходникам проектов пользователей облачного LSP. Жор же памяти - это плюс: тем меньше людей смогут хостить их опенсорсные аналоги локально. При этом наличие LSP стирает различия между IDE к GUI и в то же время создаёт им необходимость вкладываться в реализацию неудобного в реализации протокола. То есть провайдеры облачных LSP в выигрыше, а создатели локальных LSP - в убытке, но вынуждены участвовать во внедрении LSP.

По хорошему создателям IDE нужно бы собрать консорциум и сделать новую мажорную версию LSP вокруг ООП и shared-библиотек. То есть утвердить набор интерфейсов для каждого языка. Сишка, плюсы, джава, шарп, питон и остальные языки. Все интерфейсы должны иметь соответствие 1-1 и иметься набор адаптеров. А также адаптер в предыдущие версии LSP. Клиенты должны иметь прямой доступ к модели кода LSP и иметь возможность её использоватт непосредственно в своей программе и для этого расширять.

Но тут опять всплывают коммерческие интересы: своя IDE ближе к телу, зачем вендору писать код, который будет использован в IDE конкурентов?

Ответить | Правка | Наверх | Cообщить модератору

67. "Компания JetBrains представила IDE RustRover и прекратила ра..."  +/
Сообщение от Замглавы администрации (?), 14-Сен-23, 13:53 
Ну давай разберём тобою написанное.

1. Начинаешь с «LSP-протокол неудачен в принципе» — дальше должны бы следоавать какие-то доказательства или объяснения, чтобы не было просто твоим мнением, но вместо этого меткие жизненные наблюдения («M$ - богатая корпорация, которая имеет свои деньги не за счёт IDE», «разработчикам IDE нужно развивать СВОЙ IDE и вырываться вперёд конкурентов») и тезиса из разряда «просто поверьте мне на слово» («Обычные разработчики IDE LSP придумать и реализовать по своей инициативе не могли в принципе», «спроектировать протокол в отрыве от проектирования сервера и клиента невозможно»).

2. «При сетевой модели LSP-сервера можно сделать проприетарными, разместить в СВОЁМ облаке Azure и продавать доступ к ним по подписке» — ну можно. Но ведь можно и не сделать? И как это делает протокол плохим? Можно сделать HTTP-сервер проприетарным — всё, HTTP выбрасываем?

3. «вкладываться в реализацию неудобного в реализации протокола» — «дядя, я не обманываю, правда-правда неудобный»

4. «нужно бы собрать консорциум и сделать новую мажорную версию LSP» — такие сервера тоже можно будет сделать проприетарными и разместить в облаке Azure. В чём смысл, учитывая, что протокол уже открытый?

Итого: дальше $ в «M$» можно было не читать.

Ответить | Правка | Наверх | Cообщить модератору

69. "Компания JetBrains представила IDE RustRover и прекратила ра..."  +/
Сообщение от Аноним (69), 14-Сен-23, 14:16 
1. >M$ - богатая корпорация, которая имеет свои деньги не за счёт IDE
>Microsoft's revenue is generated by three segments: Intelligent Cloud, More Personal Computing, and Productivity and Business Processes. In 2022, Microsoft generated $63.4 billion from its Productivity and Business Processes segment. It also made more than $75.3 billion through its Intelligent Cloud segment.

Большая часть выручки - за счёт облаков.

2. >разработчикам IDE нужно развивать СВОЙ IDE и вырываться вперёд конкурентов

Результат теоретико-игрового анализа: для сторонных ситуация похожа на игры "Дилемма заключенного" и "Охота на оленя".

3. Очень неудобный, если ты это не понимаешь - ты просто не пробовал сделать LSP-клиент. Вместо вызова функций из dllки прихозится в добавок иметь дело с управлением процессами, их падениями, их завершением при падении IDE (чтобы не было так, что IDE упала - а процесс остался и жрёт память, ты перезапустил IDE, она опять упала, и ещё один сервер сидит и жрёт память, повторять до исчерпания памяти и 12309), IPC/сетью, сериализацией, десериализацией во внутренние структуры программы и туевой хучей boilerplate-кода. При этом неудобства и на сервере, и на клиенте.

4. В облаке можно будет разместить сервера только протокола, основанного на сети. Для протокола, основанного на shared библиотеках, тоже можно (и нужно) сделать адаптер, как и в обратную сторону. А смысл в том, что LSP-клиент - это по сути основная часть IDE. Её движок. Без него IDE бесполезна. Поэтому архитектура IDE должна быть максимально заточена на взаимодействие с этим движком, а не ехать за ним прицепом. Движок должен втраиваться в машину, а машина должна быть сделана так, чтобы в неё встраивался движок. В настоящее время IDE приходится дублировать кучу вещей на своей стороне и синхронизировать их по сети - это как если бы буксировали машину со своим двигателем и трансмиссией, установленной не в нейтраль. Вместо того, чтобы доверить LSP манипуляцию своими структурами данных напрямую.

Ответить | Правка | Наверх | Cообщить модератору

97. "Компания JetBrains представила IDE RustRover и прекратила ра..."  +/
Сообщение от Менеджер Антона Алексеевича (?), 14-Сен-23, 16:57 
Хочу запускать IDE с гуем на своём лаптопе под управлением OpenBSD, а кодить под мейнфрейм на z/OS. Можешь мне кратенько накидать тут схемку без сетевого взаимодействия, чисто на вызовах общих библиотек? А то у меня чёт не получается никак, спотыкаюсь об разноконечность процессоров.
Ответить | Правка | Наверх | Cообщить модератору

107. "Компания JetBrains представила IDE RustRover и прекратила ра..."  –1 +/
Сообщение от Аноним (107), 14-Сен-23, 18:22 
Накидываю: используешь сервер-адаптер, который на вызовы функций генерит команды, которые пишутся в очередь, и далее в отдельном потоке уже пересылаются по сети. В сети их ловит сервер-адаптер, который преобразует их в вызовы методов сервера-библиотеки. Результаты пишутся в очередь, которые опять же пересылажтся по сети. В результате двойной оверхэд - только у тебя, и он размазан по 2 физическим машинам, а не как сейчас, когда двойной оверхэд у всех, даже у кого 1 физическая машина, + куча проблем корректно реализовать клиент. Но сеть - это асинхронно, так что интерфейс между сервером-библиотекой и клиентом должен проектироваться полностью асинхронным. При этом учти, подобные объектно-ориентированные асинхронные интерфейсы и так приходится использовать в клиентах, но у каждого свой и является прокладкой между грёбанной моделью, как в LSP, и тем, что можно в редакторе юзать - вызов методов и т.д., и каждому создателю редакторов приходится геморроиться, и выдернуть этот слой из конкретного редактора и оформить в переиспользуемую библиотеку - непростая задача. Так же, как и в серверах. В ЯП вдь нет понятия RPC, в ЯП есть понятие "вызвать функцию". И все эти вызовы RPC должны быть превращены в вызовы функций, чтобы их можно было использовать в програмаах. То есть первичны именно вызовы функций, а не способы их сериализации и отправки по сети - реализация RPC как раз любой может быть. Но M$ ради своих коммерческих интересов поставили телегу впереди лошади.
Ответить | Правка | Наверх | Cообщить модератору

96. "Компания JetBrains представила IDE RustRover и прекратила ра..."  +/
Сообщение от Роман (??), 14-Сен-23, 16:51 
> Обычные разработчики

звучит как обычные разработчики ничего и не потеряли

Ответить | Правка | К родителю #60 | Наверх | Cообщить модератору

106. "Компания JetBrains представила IDE RustRover и прекратила ра..."  +/
Сообщение от Аноним (106), 14-Сен-23, 18:01 
Не вырывайте из контекста. Полное предложение:

>Обычные разработчики IDE LSP придумать и реализовать по своей инициативе не могли в принципе.

Скажем так. Я перестал пользоваться текстовыми редакторами без LSP. Больно тоже, в принципе, так как в тех, что с ним, нет кое-каких нужных функций. Но без них в принципе пользоваться редактором можно, а без поддержки твоего ЯП, если этот ЯП делался в предположении, что в современном мире есть IDE с автодополнением, подсветкой и рефакторингом - нет. Это сишку можно в редакторе просто с подсветкой относительно комфортно писать. Но не современный C++ и не Rust, в которых нужно знать, как распаковывается возвращённое значение. Всплывающие подсказки и переходы по ctrl-click существенно облегчают написание кода.

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

Ответить | Правка | Наверх | Cообщить модератору

102. "Компания JetBrains представила IDE RustRover и прекратила ра..."  +/
Сообщение от anonymous (??), 14-Сен-23, 17:22 
> Обычные разработчики IDE LSP придумать и реализовать по своей инициативе не могли в принципе.

Всё уже придумали до нас. SWANK протокол для IDE языка lisp существует как минимум с 2001 года. Т.е. разработчики IDE придумали language server protocol (но другой) по собственной инициативе. Разработчики LISP вообще придумали много чего, что потом подавалось разработчиками других языков как великий прорыв.

Ответить | Правка | К родителю #60 | Наверх | Cообщить модератору

108. "Компания JetBrains представила IDE RustRover и прекратила ра..."  +/
Сообщение от Аноним (107), 14-Сен-23, 18:26 
>LISP

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

Ответить | Правка | Наверх | Cообщить модератору

37. "Компания JetBrains представила IDE RustRover и прекратила ра..."  +12 +/
Сообщение от Аноним (1), 14-Сен-23, 11:35 
Этот оверхед по памяти у LSP ничто по сравнению с любым продуктом джетбрейнсов.
Ответить | Правка | К родителю #15 | Наверх | Cообщить модератору

52. "Компания JetBrains представила IDE RustRover и прекратила ра..."  –5 +/
Сообщение от Аноним (52), 14-Сен-23, 12:50 
Я полностью согласен с этим утверждением. Но тем не менее от этого оверхэда у LSP мне с 2 гигами памяти (на которых Visual Studio 2013 с Resharper летала, Qt Creator без LSP еле ползал, а Qt Creator с clangd LSP вообще не работает даже на 8гиговой рабочей машине, не говоря уже о моей личной 2хгиговой) очень больно. Сам rust-analyser на 8 гиговой машине компилировался довольно долго и жрал кучу памяти, зачастую краша сесию XOrg и сам жрал дофига памяти и жутко тормозил. Но это уже претензии к rust analyzer во многом и к расту - его бинарник сам занимал, если верно помню, около 200 мегабайт, с огромным деревом зависимостей из всякого говна, которое LSP-серверу вообще ни к чему, но прописано в зависимостях какой-нибудь зависимости.
Ответить | Правка | Наверх | Cообщить модератору

95. "Компания JetBrains представила IDE RustRover и прекратила ра..."  +/
Сообщение от Роман (??), 14-Сен-23, 16:50 
> зачастую краша сесию XOrg

забавная стабильность, продуманная архитектура системы - не знал про такое, спасибо

Ответить | Правка | Наверх | Cообщить модератору

105. "Компания JetBrains представила IDE RustRover и прекратила ра..."  +/
Сообщение от Аноним (105), 14-Сен-23, 17:46 
Любая программа упадёт по bad alloc, когда mmap вернёт -1. Другой вопрос - зачем XOrg постоянно выделять память? Если бы вся необходимая память выделялась 1 раз, а не выделялась и освобождалась несколько раз в секунду, то упала бы не вся сессия, а скорее всего только сама жрущая программа.
Ответить | Правка | Наверх | Cообщить модератору

128. "Компания JetBrains представила IDE RustRover и прекратила ра..."  –1 +/
Сообщение от С (?), 15-Сен-23, 05:40 
Зачем вы программируте на машине с 2 гигабайтами памяти? Сейчас даже 8 мало. Браузер ведь не хочится закрывать во время написания кода)
Ответить | Правка | К родителю #52 | Наверх | Cообщить модератору

139. "Компания JetBrains представила IDE RustRover и прекратила ра..."  +/
Сообщение от BeLord (ok), 15-Сен-23, 09:26 
Если я пишу кода на Java или С++, зачем мне браузер?
Ответить | Правка | Наверх | Cообщить модератору

151. "Компания JetBrains представила IDE RustRover и прекратила ра..."  +/
Сообщение от Проходил мимо (?), 15-Сен-23, 12:31 
В браузере может открыта куча вкладок со справкой по разным возможностям, которые вы, в данный момент, используете. Например про STL можно почитать тут:
https://cplusplus.com/reference/
https://en.cppreference.com/w/cpp
Ответить | Правка | Наверх | Cообщить модератору

143. "Компания JetBrains представила IDE RustRover и прекратила ра..."  +1 +/
Сообщение от Аноним (143), 15-Сен-23, 10:15 
1. Не хочется. Но это браузер - говно. Как и неустановленный комонент в экосистеме Linux, ответственный за выделерие памяти (firefox на винде и на линуксе имеет разные требования к памяти). И Qt Creator хоть и жрал больше Студии (притом, что Студия - на C#, а Creator - на C++) и работал намрого хуже, но тогда ещё им в голову не приходило перейти на ущербный LSP полностью. В общем пользоваться Creatorом тогда хоть было и больно, но не невыносимо.
2. Ещё раз: 8 мало по большому раздолбайству долбоящеров. Прогибаться под долбоящеров и покупать всякий TEE-DRM-ME-PSP-TrustZone-backdoor-хлам с пониженной надёжностью за свои кровные я не буду. Единственное, в каком случае я буду готов купить новый комп - это возможность хостить настоящий сильный ИИ (такой, чтобы мог быть првктически полезен, чтобы окупиться) на своей машине. И только в том случае, если отдистиллированная модель не будет нормально работать на моей текущей машине.
3. Поэтому я теперь Creatorом вообще не пользуюсь, только Kate без всяких LSP и только малюсенькие проектики, где можно обойтись без автодополнения и навигации по коду.
4. Насчёт "браузер не закрывать". Это говно даже от 4 вкладок начинает глючить, если в одной из них видео - то вообще тушите свет. То есть вот есть 3 вкладки. Открываешь 4ю - она сразу падает. Перезапускаешь её - после нескольких попыток она таки загружается, но падают другие вкладки. А потом глючит вообще процесс интерфейса, перестают открываться новые вкладки и перезагружаться. Иногда весь браузер просто падаетэ Если отключить выделенные карго-культовые процессы для обработки видео, сети и т.д - то та подсистема перестаёт работать напрочь - видимо долбоящеры уже выпилили код для однопроцессного варианта. Так и живём.
5. "зачем прогреммируете с 2 гигами" - я как-то подумывал о том, чтобы нарастить до 8. Но память принципиально всегда очень дорогая. Никогда такого не было, чтобы память была дешёвая. На неё всегда есть огромный спрос. Даже если бы софт не разбухал - потребности в обработке данных бы никуда ни делись, потребности в дисковом кеше бы никуда ни делись. А тут ещё софт жрёт как не в себя из-за карго культовых практик растаскивания по процессам и статической линковки. Когда память новая - она дорога из-за повышенного спроса на память в общем, и повышенного спроса на новую память в частности, как на что-то новое, превосходящее старое. Когда память старая - она снята с производства, а спрос хоть и пониже, но есть.

Ответить | Правка | К родителю #128 | Наверх | Cообщить модератору

58. "Компания JetBrains представила IDE RustRover и прекратила ра..."  +/
Сообщение от User (??), 14-Сен-23, 13:08 
Ну вообще "да" - на "настоящий" язык похож стал, даже вот IDE появилась...
Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру