Comments 41
Eclipse вообще очень странная IDE. Насчет глючности даже не знаю, мне хватило странности чтобы очень быстро отказаться от нее.
Т.е. да бывают какие-то «заезды» но если я встретил 3-4 bug'a eclipse Java compiler'a за 10+ лет с ним, то со Scala IDE/SBT… Ну, вы читали…
Она и сейчас такая (2017 Community Edition, C#). Элементарных же вещей нету. Хоткеи явно какой-то псих придумал. Скажите, кому вообще взбрело в голову делать их «многоступенчатыми»? Для такой часто используемой операции, как комментирование/раскомментирование кода? Да ещё и разные?! Почему нет хоткея для копирования/дублирования строк? Чёрт возьми, почему элементарно нельзя перейти к методу базового класса, переопределённому в текущем классе? Посмотреть список реализаций интерфейса? Почему поиск по файлу такой убогий? И ещё вагон и маленькая тележка подобных несуразностей.
То ли привык к глюкам, то ли мне после Visual Studio .Net он раем казался :)
Насчет хоткеев — дело привычки. Community, да, линз не хватает, да обрезан еще какой функционал, про Starter вообще не стоит говорить. Но на Community можно поставить Resharper и все выше перечисленное как-то уходит.
Чистая студия — за последние несколько лет — ни одного вылета. А за последний год даже с Resharper'ом. Глюков, таких, как даже в IDEA я не встречал. Даже Rider не может похвастаться стабильностью, хотя вроде как уже полностью от Jetbrains. В последнее время пишу исключительно на Scala, использую IDEA и Pro и Community. Всё устраивает, но привык к функционалу VS+R#, и к стабильности, которой, как мне кажется у продуктов MS больше.
Насчет хоткеев — дело привычки.
К сожалению, нет. Без сторонних плагинов нельзя сделать включение/выключение комментария по хоткею. А именно это чаще всего и нужно: закомментировать одно и раскомментировать другое. По дефолту же нужно ставить пальцы в раскоряку и одной рукой это точно не сделать (ну, если вы не осьминог).
Но на Community можно поставить Resharper
Resharper тоже не бесплатный вообще-то и через 30 дней превращается в тыкву. Хотя не спорю, с ним удобнее на порядок. Но в основном за счёт всяческой кодогенерации и рефакторинга типа вытащить метод там, перенести поле туда, а тут поменять порядок и тип аргументов. Пока выстраивал архитектуру приложения, он сильно мне помог. И то, всё равно всех потребностей он не закрывает (навигация по коду, например).
Что касается стабильности: на днях буквально столкнулся с багом «mscorlib recursive resource lookup bug», пришлось переставлять студию с потерей всех плагинов и настроек. Конечно, подозреваю, это какое-то кривое взаимодействие с плагинами (стек трейc проходил через кишки Codinion, да и пока экспериентировал с плагинами, много их ставил и удалял, пока не остановился на достаточном для себя минимуме), но как бы название намекает. Соль в том, что в сообщении об ошибке так и пишется — «обнаружил баг бесконечной рекурсии». Ну так, блин, ну отключи ты тогда этот плагин, зачем рушишь всю систему без возможности восстановления (только переустановка)?
Это же не баг вида «что-то произошло, но что — хрен знает». Чётко обозначена проблема в самом заголовке окна информационного сообщения: «баг с рекурсией». То есть, худо-бедно, но ошибка обрабатывается. Только почему после этого нельзя штатно (пусть и принудительно) закрыть студию? Вместо этого «Программа не отвечает и Windows её закроет, бла-бла». Triple Fault что ли? Вот тебе и стабильность.
Так вот, эклипс каким-то образом кэширует исходники! То есть когда вы редактируете код, вы редактируете файлы не там где они у вас на диске лежат, а где-то в другом месте, известном одному эклипсу! Поскольку у меня кроме эклипса было еще несколько инструментов, работающих с исходным кодом, я очень быстро удивился: как же так, вот оно изменение, вот сохраняю файл — а в моих исходниках на диске остался старый код.
Этого оказалось достаточно чтобы распрощаться с этой средой разработки навсегда.
А как там? Все хорошо?
а для работы IDEA не применим пока
Мда, сочувствую, а в чем проблема-то? Если что есть бесплатная Community версия IDEA, где плагин для Скалы работает
Почему такие мысли? Язык очень приятный, для него написаны библиотеки высочайшего класса для работы с сетью, в Java такого пока нет. И все это активно развивается.
… для него написаны библиотеки высочайшего класса для работы с сетью, в Java такого пока нет
Интересное заключение. Вы не могли бы привести пример этих самых библиотек, для которых которых, как вы говорите, нет аналогов в Java?
Akka и Twitter Finagle. Конечно, у них есть java api, но из Java их использовать значительно неудобнее.
И обе основаны на Netty.
Akka как-то трудно назвать "библиотекой для работы с сетью", это огромный набор инструментов. Но да, Lightbend сейчас гарантирует что api для Java будет не хуже чем для Scala, поэтому вполне можно работать и из Java.
На счет Twitter Finagle сложно что-то сказать, с ней не работал, но она не выглядит с виду чем-то невероятным, чего нельзя найти в Java. Тот же Armeria вполне может быть аналогом.
Akka отказались от Netty, но не суть. Важные инновации, которые есть в технологиях Scala — асинхронность, ретраи, таймауты, отмена запросов, мультиплексирование, умные балансеры.
И еще один немаловажный момент — многие популярные библиотеки разваливаются под нагрузкой в 2-3 сотни запросов в секунду — из-за неэффективных алгоритмов, непродуманного использования памяти, неудачного логгирования. Эти нет.
А у людей она слыхала,
Что это зло еще не так большой руки:
Лишь стоит завести Очки.
Очков с полдюжины себе она достала;
Вертит Очками так и сяк:
То к темю их прижмет, то их на хвост нанижет,
То их понюхает, то их полижет;
Очки не действуют никак.
…
Dotty IDE будет судя по всему на Visual Studio Code
Мы, силою обстоятельств, плотно (и навечно?) прикованы к Eclipse IDE.
похоже вас всё устраивает, иначе, я думаю, вы нашли бы другую работу, без привязки к Eclipse IDE и с Scala.
так а о чем статья то вообще?
Недостаточно вы Скалу любите :)
Я видел энтузиастов, которые вообще текстовым редактором (Sublime, например) пользуются. В том числе люди, непосредсвенно причастные к разработке хардкорных Scala библиотек (cats, например).
Я лично (и большинство коллег) пользуюсь IDEA. Там своих глюков хватает. Иногда не может правильно определить возвращаемый тип, например. Такое случается при использовании сторонних библиотек со сложными типами и кучей implicits (тот же cats). Но мне Intellij как платформа очень нравится. Плюсов куда больше, чем минусов. Да и на Scala я и сам в текстовом редакторе готов писать, если б с IDE совсем дела были плохи.
Eclipse Scala IDE — от мертвого осла уши…