В твиттере оказалось, что не все знают про программу Dash, а значит, не знаете и вы. Да я и сам о ней узнал, может, всего год назад. И с тех пор она прям очень сильно изменила мою жизнь.
Концепция очень простая: это оффлайн-дока для всех языков программирования и многих фреймворков/библиотек. Не больше, но и не меньше.
Прежде, чем раскатывать губу: нет, они не привели все языки к единому формату документации, они просто качают и оборачивают официальные сайты.
Как оказалось, у людей возникают закономерные вопросы. Ну, во-первых, а чем это лучше сайта тогда? Отвечаем.
Лучше сайта это тем, что быстрее. Задумайтесь, сколько времени вам нужно, чтобы найти документацию по, скажем, std::unique_ptr::release. Обычным способом:
1. Переключаемся в браузер.
2. Открываем новую вкладку.
3. Вбиваем unique_ptr. Писать надо полностью, иначе он найдет чушь.
4. Ждем, пока загрузится поисковик.
5. Если вы пользуетесь гуглом, берем мышку??? чтобы жмакнуть на первый результат. Я пользуюсь DuckDuckGo, там, слава богу, есть стрелки вверх-вниз.
6. Ждем, пока загрузится cppreference.
7. Жмем cmd+f.
8. Вбиваем release. Жмем Enter.
Ура! Не забудьте потом вкладку закрыть, кстати.
Сравним с Dash:
1. Жмакаем общесистемный шорткат откуда угодно.
2. Вбиваем “unique_ptr release”. Enter.
There’s no step 3, как говорится. Никуда переключаться/фокусироваться не нужно, все уже где надо сфокусировано.
Это, в общем-то, основная продающая фишка. Но есть и вторичные, например:
- Единый интерфейс для всех языков. У меня, например, Java, C++, Clojure, Kotlin, Python 3, JavaScript и до кучи еще CMake. Не нужно помнить, что на каком сайте находится.
- Можно выбрать версию доки. Например, если вы загуглите «ArrayList java», то получите ссылки на Java 7 и Java 8 (сейчас актуальная версия 16, если что).
- Надежность. Одинаково хорошо ищутся и суперпопулярные/благозвучные классы-методы, так и всякая хтонь, которой никто не пользуюется и которой из-за этого не интересуются поисковики.
- Четкий фокус. Нужно подсмотреть порядок аргументов в методе? Прекрасно. Точное название класса? Тоже. Все, что покрывает официальная документация, и ничего, ни-че-го больше. Никакие сайты, блоги или стековерфлоу не путаются под ногами.
- Вкладки в браузере не копятся!
- Оффлайн. Не пригождалось, но в принципе почему нет?
- Мнгновенный отклик. Да, веб-страницы все еще грузятся ощутимое время. Да, даже Гугл.
- Не зависит от контекста, вызывается откуда удобно. Гораздо удобнее, чем искать в списке окон браузер. Но: обязательно ставьте общесистемный шорткат! Без него половина смысла как минимум теряется. У меня cmd+shift+e, но это не очень удачно (конфликтует с экспортом из графических редакторов).
Есть только для Мака. Говорят, есть альтернативы под Винду/Линукс, сам не пробовал.
Платная. $30. Для меня оно стоит вообще всех денег. Редко когда программа приходит и занимает настолько важное и ключевое место в твоей рутине.
Мне, например, она качественно поменяла способ взаимодействия с документацией. Теперь любую мелочь, которую я не помню сходу, действительно удобнее подсмотреть, не приходя в сознание и не прерывая flow, и это дело пары секунд.
Нет, с гуглом не так, с гуглом сильно хуже. В это не очень веришь «в теории», это надо попробовать. Попробуйте, только не выносите вердикт заочно. В худшем случае удалите еще одну ненужную программу. А в лучшем — она изменит вашу жизнь.