LINUX.ORG.RU

Книги про то как пишут текстовые редакторы (посоветуйте)

 , , ,


0

2

Я имею в виду графические текстовые редакторы, те, которые ещё не текстовые процессоры, но уже умеют изображать шрифты на экране (через X11).

По причинам неразвитости цифровых технологий, понятно, что по российским технологиям вроде редактора «Лексикон» таких книг нет.

Я даже не знаю, а существуют ли какие-то российские опенсорсные редакторы сейчас (как живые проекты).

Понятно, что софт в наше время продать нельзя (слишком много альтернатив, слишком мало российских магазинов, один только RuStore и есть).

Но можно было бы сделать веб-сервис. Хостинговые компании показывают, что в принципе на сайте принимать деньги можно.

★★★★

Последнее исправление: ilinsky (всего исправлений: 1)
Ответ на: комментарий от CrX

Книги о том, как писать конкретную программу, не нужны — более общие полностью покрывают эту задачу.

Не скажи. Я вот на днях прочитал книгу описывающую BFS (BeOS FS) — прямо очень интересно и сразу на примере. Подозреваю, про Postgres должна быть не хуже.

urxvt ★★★★★
()

Цель-то какая? Если денег заработать, то это явно не та точка приложения.

Но поскольку в теме присутствуют теги «свобода» и «творчество», предлагаю написать самому. Сначала редактор, а потом книгу.

Для затравки можно посмотреть исходники geany, scintilla, kate, TEA, xedit. Они на разных тулкитах, и возможно, один из них станет отправной точкой для создания редактора твоей мечты.

hobbit ★★★★★
()
Ответ на: комментарий от Shushundr

Пишут же монографии про соль. Хотя формула там всего 4 символа.

Не умею так писать! Вот хоть убей, не умею. Зато учебники по программированию давно уже 1000 страничный рекорд перевалили. Некоторые книги по своей специальности я вообще не могу читать, ибо умудряются из одного абзаца выстроить целую главу.

wonit
()
Ответ на: комментарий от Shushundr
[Midnight-Commander]
esc_mode_free=1

Откуда это взято?
В исходниках (4.8.32) такого параметра вообще нет, но есть old_esc_mode. В настройках это Esc key mode/[x] Single press.

dataman ★★★★★
()
Ответ на: комментарий от hobbit

Не знал. Будем считать, что я имел в виду русскоязычный.

P.S. Занятно, что эта моя ошибка неплохо иллюстрирует другой мой тезис из того же поста: пофиг всем на то, какое у авторов той или иной опенсорс-программы гражданство. Было бы не пофиг, эта информация была бы общеизвестной, я бы об этом волей-неволей узнал, и не ошибся бы, соответственно.

CrX ★★★★★
()
Последнее исправление: CrX (всего исправлений: 3)
Ответ на: комментарий от CrX

пофиг всем на то, какое у авторов той или иной опенсорс-программы гражданство.

События недавнего времени показывают, что совсем не пофиг.

ugoday ★★★★★
()
Ответ на: комментарий от ugoday

Корпорациям не пофиг. Да и не на авторов программы, а не контрибьюторов в их проект. Юзерам же обычно по барабану. Причём юзерам в широком смысле, включая тех, кто будет просто читать код или делать свой форк.

CrX ★★★★★
()
Ответ на: комментарий от CrX

У нас тут opensource, каждый пользователь — потенциальный участник проета, может закинуть PR или issue. А его закроют по причине: «иди в … ты … поганая». Обидно будет.

ugoday ★★★★★
()
Ответ на: комментарий от guyvernk

Дело в том, что в браузерах эта фича встроенная лет так 20, но ты как ява… неважно, мог бы знать, что если в хромоподобном нажать Ctrl-Shift-C, и навесить на элемент свойство contenteditable, то можно будет все из браузера редактировать https://gist.github.com/s3rgeym/007e434ddb239ec152df0d26da467b90

Собственно, поэтому электроны и популярны — там ничего реализовывать не надо для отрисовку различных красот, нужно лишь бизнес-логику запрограммировать. Мало того оно Chromium встроен в винду как WebView2. Те если кто-то решит создать свой редактор — то это буквально само собой напрашивающееся решение… Qt, Android, да и в маке много чего по факту в браузере отображается. Сбылся мой сон студента, когда я писал на PHP/jQuery и раз мне приснилось, что программы под винду можно на голом HTML/JS писать… Сон был вещим

rtxtxtrx ★★
()
Ответ на: комментарий от neumond

не было ни ctrl, ни alt, но был esc

Control, видимо, всё же был. Самый старый известный мне терминал ADM-3A имеет его. Возможно, вы имеете ввиду ещё более древние терминалы.

kaldeon
()
Ответ на: комментарий от kaldeon

Судя по всему таки да, control был чуть ли не с самого начала, а вот esc появился позже. Control был для символов 0x00-0x1F, а esc для 0x80-0xFF (C0 and C1 control codes). Сложно найти что-то про истоки, всё уже под сотней слоёв уже давно неактуальных легасей.

neumond
()
Ответ на: комментарий от Shushundr

Различие по таймаутам. Если пришёл ESC, и в течение, условно, 20мс ничего больше не пришло, то это именно нажатие ESC, а не стрелок.

neumond
()
Ответ на: комментарий от neumond

А могли бы указать терминалу, что нажатие клавиши ESC надо присылать специальной последовательностью, а символ-префикс оставить незаиспользованным ни одной клавишей. Тогда бы таймауты не понадобились.

Shushundr ★★★★
() автор топика

Учитывая высказывание топикстартера в апреле 2023:

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

Не думаю, что ему действительно интересно разобраться в вопросе.

Поэтому пусть берёт один из готовых и не страдает фигнёй.

mogwai ★★★★★
()
Ответ на: комментарий от Shushundr

Для этого нужно сделать новый терминал со своим протоколом и портировать под него все приложения. Будет как с вейлендом: вроде бы давно уже нужно, но народ будет вонять что всё без причины сломали.

neumond
()

Берёшь C# или Qt. Любой учебник. Там, как правило, первый пример - «как написать текстовый редактор». Данные фреймворки заточены на создание примитивного текстового редактора (но уже умеют изображать шрифты на экране) из коробки. Реально, надо написать 500 строчек, треть из которых - скобочки и комментарии

tiinn ★★★★★
()
Последнее исправление: tiinn (всего исправлений: 1)

Будь мужиком, открывай канву OpenGL, ручками переводи шревты в пиксели и шлёпай текстуры. И чтобы прокручивалось плавно, есть экраны на 144 герц

DumLemming ★★★
()

Я имею в виду графические текстовые редакторы

В любом более или менее нормальном графическом тулките есть строка меню и текстовое поле, далее не проблема отображать файл в это текстовое поле посредством выбора через меню. Задача минут на 5 по сути.

Ygor ★★★★★
()

Кнута с его техом и метафонтом и нелитературными программированием уже помянулу выше?

qulinxao3 ★★
()
Ответ на: комментарий от Ygor

Задача минут на 5 по сути

И получится ничем непримечательное ничто, которое нельзя продать.

Shushundr ★★★★
() автор топика
Ответ на: комментарий от Shushundr

которое нельзя продать.

/b/ратан, если ты собрался писать текстовой редактор на продажу, то лучше возьми себя в руки - это так же бесполезно, но хотя бы удовольствие получишь.

Ygor ★★★★★
()

графические текстовые редакторы, те, которые ещё не текстовые процессоры, но уже умеют изображать шрифты на экране (через X11).

Принципиальной разницы нет, изображать ли шрифты по протоколу X11, ECMA-48, Tektronix или прямыми манипуляциями с framebuffer. Меняются только внутренности Redisplay().

В остальном всё так, как описали классики:

https://web.mit.edu/~yandros/doc/craft-text-editing/Appendix-D.html

https://www.amazon.com/Craft-Text-Editing-Emacs-Modern/dp/1461278279/?asin=1461278279&revisionId=&format=4&depth=1

Для любителей ООА,ООД и ООП с наброском проекта редактора на глифах можно ознакомиться в известной книге Банды четырёх

https://ir-2.ozone.ru/s3/multimedia-c/wc1000/6277620060.jpg

vM ★★
()

У тебя лиюо каша в голове, либо лучше надо объяснять чего хочешь. Веб-сервис, книга, графический редактор, X11, продажи.

Это все очень разные ниши, тулкиты, фреймфорки, разные ЯП и навыки. Как это все связанно, вообще непонятно.

anonymous_sama ★★★★★
()
Ответ на: комментарий от anonymous_sama

либо лучше надо объяснять чего хочешь

А если я не знаю чего хочу, а поговорить хочется, но не с кем, то что делать?

Shushundr ★★★★
() автор топика

изучай исходный коды текстовее редакторов

enep ★★★★★
()
Ответ на: комментарий от CrX

Книги о том, как писать конкретную программу, не нужны

На мой взгляд слишком категоричное утверждение. Например книги по созданию игр вовсе не редкость. Причем даже не по играм «вообще»,а и по отдельным специальным вопросам тоже. https://www.ozon.ru/category/kniga-kak-sozdat-igru/

watchcat382
()
Ответ на: комментарий от Kolins

Но можно было бы сделать веб-сервис.

не взлетит, да и не нужно

У того кто ничего не делает - точно ничего не взлетит. Самое главное - наличие мотивации что-то создать. А вы своим утверждением её убиваете у человека. Не надо так делать.

watchcat382
()
Ответ на: комментарий от watchcat382

Игры — это синтез разработки и искусства. Куча книг по геймдизайну — не о том, как собственно программировать, а о том, как решать творческие задачи. Точно такие же можно найти по сценарному или режиссёрскому ремеслу, например. При этом в играх простор для творчества ещё шире: помимо всего того, что есть в кино (по крайней мере анимационном), вроде персонажей, характеров, сюжета, конфликтов, визуального и звукового оформления, там есть ещё и геймплей. В общем, игры особняком стоят, я бы их здесь не приплетал.

CrX ★★★★★
()
Ответ на: комментарий от CrX

делом заняться попробовать, а не какой-то странной фигнёй маяться

Осталось только разобраться что считать делом,а что странной фигней :) Вон до ненавнего времени строительство радиоуправляемых самолётиков и вертолётиков тоже странной фигней считали - типа взрослые мужики игрушками занимаются.

Впрочем, я помню как в 90е годы и Линукс какой-то странной фигней считали.

watchcat382
()
Ответ на: комментарий от Shushundr

а скрипты криворукского происхождения желательно не запускать в том же процессе (зависнут, или ещё что придумают).

Интерпретатор скриптового языка вполне может отслеживать выполнение скрипта и останавливать его в случае неправильного поведения. Многопроцессность тут не нужна.

watchcat382
()
Ответ на: комментарий от watchcat382

Дело в том, что ТС не занимается строительством радиоуправляемых самолётиков. Он занимается поиском странной фигни посредством ЛОРа. Потом находит, или (чаще) убеждается, что её нет… И ничего не делает. Достаточно просто посмотреть его предыдущие темы, и всё станет понятно. А в написании текстового редактора ничего плохого я не вижу, хоть их уже и тысячи. Да, он никому не будет нужен (дважды, учитывая, что ТС не знает сам, чего он хочет), но это неплохая практика… Только все остальные справляются без специальной книги, посвящённой этому конкретному вопросу. Умения применить свои general/generic знания по программированию к тому, чтобы быть способным задизайнить архитектуру того же редактора или чего-то ещё — это и есть по сути смысл подобных проектиков, нужных только автору. В этом и заключается практика, а не в том, чтобы переписать примеры из книжки, заменив имена переменных и потом считать, что ты написал текстовый редактор.

CrX ★★★★★
()
Ответ на: комментарий от watchcat382

А вы своим утверждением её убиваете у человека. Не надо так делать.

ТС - Шушундр, он сюда пофлудить заходит, а не за дельными советами.

Kolins ★★★★★
()
Последнее исправление: Kolins (всего исправлений: 1)
Ответ на: комментарий от watchcat382

Вон до ненавнего времени строительство радиоуправляемых самолётиков и вертолётиков тоже странной фигней считали - типа взрослые мужики игрушками занимаются.

Что, простите?


В 1952 году Министерством просвещения РСФСР и ДОСААФ СССР опубликована «Программа кружков внешкольных детских учреждений (авиамодельные кружки)».

НУЖНЫ ДЕЛА, КОНКРЕТНЫЕ ДЕЛА!

Под таким заголовком в «Крыльях Родины» № 6 за этот год (1983) помещен отчет о заседании «Круглого стола». его участники — представители предприятий и клубов ДОСААФ, спортивной общественности, внешкольных учреждений и ряда министерств — обсудили пути совершенствования и развития материально-технической базы авиамоделизма. За низкое качество микродвигателей МК-12В для авиамоделей критиковались и работники Московского авиаремонтного завода.

Что изменилось после мартовского совещания «Круглого стола»? С таким вопросом наш корреспондент обратился к директору предприятия И. Т. Суслову. Он рассказал:

— Журнальную публикацию обсудило партийное бюро, а также производственно-техническое совещание. Определили меры улучшения качества выпускаемой нами продукции. Усилиями рационализаторов и изобретателей: слесаря А. Кузнецова, слесаря-испытателя В. Диденко, мастера ОТК Н. Корнюшина, начальника цеха А. Воронцова, конструктора Е. Новикова и их помощников — за короткий срок было выполнено девять вариантов макетных образцов нового микродвигателя для кружковцев-авиамоделистов, его ориентировочное название М-1. С помощью специалистов Центрального авиамодельного клуба и управления производственных предприятий мы выбрали лучший вариант силовой установки, которую подвергли испытаниям.

Что они показали? Прежде всего, мощность выше, чем серийных МК-12В. Обеспечены технологичность изготовления, полная разбираемость поршневой и золотниковой групп. Это дает возможность проводить профилактический осмотр двигателя во время эксплуатации.

И. СУСЛОВ, директор Московского авиационно-ремонтного завода:

— На совещании участников за «круглым столом» в наш адрес были высказаны критические замечания за выпуск микродвигателей невысокого качества. На партийном и профсоюзном собраниях и в коллективе цеха-изготовителя мы обсудили журнальную публикацию «Нужны дела, конкретные дела!» (№ 6 за 1983 год). Были намечены конкретные меры по устранению недостатков.

LamerOk ★★★★★
()
Последнее исправление: LamerOk (всего исправлений: 1)
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.