Существуют ли они, вот в чем вопрос? Что я имею в виду под удобными инструментами. Примем, что основные языки работы - python и SQL. Соответственно, что нужно от инструмента. Банально 1. Естественно, интерактивность. По этому пункту все в принципе неплохо, jupyter notebooks со своей задачей справляются. Но вот дальше начинается ад. 2. Удобная работа с кодом - подсказки, help, автодополнения (как для python, так и для встроенного SQL кода), дебаг. 3. Контроль версий, возможность проводить ревью изменений блокнотов. 4. Работа с разнообразными базами данных, просмотр, быстрые запросы. 5. Ну и конечно же хочется, чтобы все это не просто было, но ещё и работало. И желательно - с минимумом приседаний с настройками. И вот если посмотреть на существующие инструменты, то оказывается что все они убоги и не проходят даже по этим 5 самым базовым пунктам.
Допустим jupyter notebook/lab. Это база. Автодополнение убого, даже с плагином LSP - он не умеет даже подтягивать кастомные ядра. Дебаг - убог. Контроль версий - ну ок, есть плагин, который более менее работает. По 4 пункту - пустота. И тем не менее, это самый вменяемый вариант, которые хотя бы работает более-менее стабильно. Все остальное ещё хуже.
VSCode. Ну начнем с того, что по удобству это ад, чтобы его заставить походить на нормальный инструмент, надо потратить неделю, обвешать плагинами с ног до головы, разобраться в их кофигах джейсон-портянках и тд и тп. К тому же они ещё и забагованные по самые помидоры. Плагин для jupyter notebook мне однажды похерил несколько часов работы, потому что интернет лаганул и он не смог после этого приконнектиться снова к серверу и сохранить блокнот. С тех пор и я им не пользовался.
Но фиг с ними с jupyter и vscode, это бесплатный опенсорс, чего я от него хочу. Но есть вот например платный pycharm, который, казалось бы, проходит по всем пунктам. Это полноценная IDE, там и продвинутая работа с кодом, и дебаг, и клиенты к любым БД. Но это в теории. На практике же работа с блокнотами ещё хуже, чем в vscode. Там этот плагин хоть заработал. А в pycharm он при попытке подключения к серверу jupyter тупо виснет на несколько минут, потом кое как открывает блокнот. Можно даже в нем успеть что то сделать - перед очередный зависанием. Короче, в принципе не юзабельно.
Потому и возник вопрос. А есть ли в природе какой инструмент, пусть и платный, но чтобы хоть эти 5 самых базовых пунктов умел. Не говоря уж о чем то более сложном.
|