Pull to refresh

Comments 45

В мире полно нормальных языков для написания утилит. С нормальной типизацией, ООП и прочим-прочим. Нет, нужно взять запараллеленый С, который вообще тут ни к селу ни к городу.

Я не фанат Go и у меня тоже есть мнение "как надо". Но какая разница на чём эти ребята делают свой тул?

UFO just landed and posted this here
В мире полно нормальных языков для написания утилит.

Pascal, C, Rust, Go и Python. Ну и C++ ещё в виде исключения для фанатов
этого языка. Возможно, Vala. Не так уж и полно.

По какому критерию отбирали? Почему нет C# и Java, если уж есть питон, которому тоже нужен рантайм? Или даже Ruby? Или JS?

C# — это значит, что вы хотите заставить тех, что хочет использовать вашу утилитку, ставить рантайм только ради неё одной. С Python такой проблемы нет: без python так и так не обойтись. Java в этом плане где-то посередине, на границе между "годится" и "не годится".


Ruby, насколько мне известно, в принципе умер окончательно и бесповоротно. Но тоже, конечно, можно добавить в список, вместе с Perl.


JS… боюсь, не могу ничего сказать по этому поводу без мата и не рискуя никого оскорбить.


А ещё я забыл про Ada. (Хотя кому нужна Ada при, пусть не живом, но всё же шевелящемся Rust? Но, почему бы и нет...)

Тогда если вы всё-таки напишете вторую утилиту, то каждая будет тащить рантайм с собой. Тоже не годится.


И потом, там всё это дело распаковывается на диск — то есть по сути программа получается вообще нерабочей (когда некуда распаковаться).

JAVA вполне неплохо компилируется в нативные бинарники.
Если решите тянуть рантайм то на джаве он добавляет порядка десятка — другого мегабайт- все вся джава сейчас модульная, ненужные модули рантайма не тянутся.
UFO just landed and posted this here

Не обратил внимания, когда читал. Прямо полностью? Кто-то из знающих может подтвердить?

Да я шучу. Смешно просто "полностью на Go".

Go очень хорош для инструментов командной строки, возможно это его лучшая ниша. Показательный пример — утилиты для хакинга пентестинга, в последнее время новые пишутся преимущественно на Go. Даже в metasploit изначально написанном на Ruby (с ООП и всем, что Вам хотелось) появилась возможность писать модули на Go.

Лучшая, всё-таки, сетевые сервисы (ну и клиенты к ним) — там, где реально есть чем занять тысячи и миллионы горутин. Но утилиты, да, где-то вторая ниша Go, наверное.

UFO just landed and posted this here

Быстрая компиляция, богатая стандартная библиотека, кроссплатформенность, кросскомпиляция, отсутствие зависимостей и рантайма, сборка мусора, горутины — это приходит в голову в первую очередь. Ну и наверное философия — язык от праотцов, много чего почерпнул из идей unix.

git — это git, а gh — это если вам через броузер на гитхаб ходить западло.

Я ей сегодня весь день пользовался, чтобы составить впечатление — и пока оно крайне положительное. Открывать pr-ы, ждать пока пройдёт CI, и мержить их вполне удобно, я бы даже сказал — удобнее и быстрее, чем на сайте. README в консоли рендерит весьма неплохо при просмотре разных репо. В целом, вполне достойно, и старую hub можно выбрасывать.

Вы может ещё и vim используете?

Мышку уже давно изобрели, может, стоит смириться?

Я люблю мышку… но Вы пробовали набирать мышкой текст? Мне не понравилось… :)

Ну что вы, в 5 классе что ли. Текст редактируется с клавиатуры. Фотошоп рисуется мышкой или графическим планшетом. Порнхаб нажимается мышкой.


Не все задачи сводятся к редактированию текста, даже если ограничиться программированием. Моя подколка не столько про сам vim, сколько про непонимание — нахрена в гитхаб ходить из консоли, если ты сам не скрипт на баше.

Элементарно: это быстрее и удобнее.


~ add-dal-mysql✘ git commit -m 'feat: add DAL for MySQL'
~ add-dal-mysql gh pr create -f
(тут надо ещё раз нажать <Enter> чтобы он сделал push)
~ add-dal-mysql gh pr checks
Some checks are still pending
0 failing, 5 successful, and 1 pending checks

✓  build-and-release         https://github.com/powerman/go-serv...
✓  generate-TOC       6s     https://github.com/powerman/go-serv...
✓  lint-PR-name       18s    https://github.com/powerman/go-serv...
✓  test               1m12s  https://github.com/powerman/go-serv...
-  LGTM analysis: Go         https://lgtm.com/projects/g/powerma...
✓  default            1m0s   https://circleci.com/workflow-run/3...
~ add-dal-mysql gh pr merge -s
 Squashed and merged pull request #62 (feat: add DAL for MySQL)
 Deleted branch add-dal-mysql and switched to branch master
~ master

Учитывая, что в консоли много способов быстро повторить любую из этих команд не набирая её целиком, для создания и мержа PR теперь надо нажать буквально несколько кнопок, и это действительно намного быстрее, чем тыкать мышкой по кнопкам. При этом наглядность вполне сохраняется (я про вывод checks пока CI проверяет PR).

Это экономия на спичках. Если делать PRы по 2 строчки, наверное получится показать, что через консоль быстрее. Но в этом вашем примере >1000 строчек правок (16 минут если 1 строчка в секунду), поэтому потратите вы 1 секунду на gh pr create или 10 секунд на тык-тык-тык в броузере на вашу продуктивность объективно не повлияет.

А я ничего о продуктивности и не говорил. Продуктивность эта утилита не увеличит, это правда. (Вот сам гитхаб, по сравнению с некоторыми реально тормознутыми альтернативами, продуктивность действительно увеличивает, но речь не об этом.)


Но помимо продуктивности есть вопрос комфорта. Я люблю гитхаб потому, что его юзабилити мне нравится намного больше, чем у других аналогичных сервисов. И данная утилита юзабилити гитхаба ещё немного улучшила, что меня радует. Бывают разные состояния, иногда хочется потыкать мышкой в браузер, а иногда не хочется отвлекаться от работы и переключаться куда-то из консоли и ждать, пока CI вынесет вердикт для нажатия ещё пары кнопок. Эта утилита отлично и в браузер помогает переключиться когда этого хочется, и обойтись без переключения когда этого не хочется.

Ну так и пишите: "прикололо". Кчему громкие "быстрее" и "удобнее"? :-)

Потому что объективно это быстрее, и лично мне так — удобнее.

UFO just landed and posted this here
Немного оффтоп, но не подумываете ли часом создать плагин vim-gh?
Было бы удобно
Состоялся релиз консольной утилиты GitHub CLI 1.0

Учимся у профессионалов манипуляции фактами ("ловкость рук — и никакого мошенства" ©).
То, что это очередной (а именно — 23-й) релиз — неважно.
То, что перый релиз был 14.01.2020 — тоже неважно.
Релиз же? Релиз. То есть в заголовке — чистая правда.

И что, все 22 предыдущих релиза тоже носили номер версии 1.0?

Заголовок не звучит "Состоялся релиз 1.0 консольной утилиты GitHub CLI" (что на статью никак не тянет).
А согласно заголовку 1.0 — это и не номер релиза, а часть названия (типа "Windows 10").
В таком случае это да, событие — утилита GitHub CLI 1.0 никогда еще не релизилась.

Оу, а так можно было?
То есть прямо сейчас можно пройтись по всему гитхабу, насобирать первых мажорных релизов всего подряд и забабахать 100500 "статей"?

Вы вроде год уже на хабре — неужели первый раз обратили внимание?

А как вы узнаёте о появлении подобных пргорамм? Я, например, если бы не эта новость, не узнал бы о существовании этой полезной утилиты. Для меня новость вполне полезная.

Новость отличная. С пулл реквестами гораздо удобнее прям в pycharm работать, а в остальном надо попробовать
Sign up to leave a comment.

Other news