vak: (Default)
[personal profile] vak
github.com/antirez/kilo

К вопросу об искусстве красиво программировать. Чувак сваял шедевр: законченный текстовый редактор, в том числе с подсветкой синтаксиса, всего в 1000 строк кода, не используя никаких сторонних библиотек. Даже без curses. Может быть, функционально редактор умеет немного, но тем не менее.

В мою молодость (конец 80-х) всякий уважающий себя программист считал должным написать свой текстовый редактор. Или существенно переделать существующий. И это была хорошая школа. Просто пользоваться редактором VI было слишком скучно. Вадик Антонов сделала свой собственный RED (если не ошибаюсь). У Андрея Чернова (ache) был редактор LE. Лёша Руднев сваял могучий RE на базе примитивного RAND Editor. Я тоже приобщился: переиначил тот же RE на более емаксовский/турбосишный стиль. У Сергея Рыжкова был "рыжактор" - но это ещё на БЭСМ-6.

Если кто желает набить руку и углубить владение языком Си, рекомендую челлендж: взять этот kilo за жабры и сделать из него редактор вашей мечты.

Date: 2023-12-02 23:56 (UTC)
juan_gandhi: (Default)
From: [personal profile] juan_gandhi

Красиво. Мне кажется. не так-то это просто; мечта должна быть реализуемой и консистентной. Где стрелки, где буквы, и нельзя ли макросы, и чтобы макросы потом не удивляли. И что с мышью (с курсором) делать. И что делать с UTF-8, а также со стеком undo/redo...

Не, мне нынче исключительно лень. Только если очень попросят.

Date: 2023-12-03 00:21 (UTC)
juan_gandhi: (Default)
From: [personal profile] juan_gandhi

Хм, интересно. В принципе, меня почти устраивает и mc, и nano. Главное, они везде легко устанавливаются. Так-то по жизни я в ide все редактирую (кроме байтов, тогда mc).

Тут один знакомый (бывший коллега и при этом сын хорошего знакомого) поделился своими слайдами, нарисованными очень странным образом - https://github.com/blast-hardcheese/talks - вот это я и перевариваю сейчас.

Date: 2023-12-03 07:25 (UTC)
From: [personal profile] ivanrubilo
VSCode умеет с локальной машины редактировать на удалённой.

Date: 2023-12-04 22:38 (UTC)
kondybas: (Default)
From: [personal profile] kondybas
Кстати, полезная фича LE - возможность хранить до сотни предідущих версий каждого редактируемого файла. С гитом єто не слишком актуально, но до массового распространения гита єто біло иногда оооочень удобно.