LINUX.ORG.RU
ФорумTalks

Оказывается люди могут ущемиться от наличия лигатур

 ,


0

1

https://practicaltypography.com/ligatures-in-programming-fonts-hell-no.html

Прочитал статью и немного не понял.

Человек возмущается, что в шрифтах для программирования символы типа != могут визуально отображаться как . Аргумент: "А вот в unicode есть символ , и он не является частью языка, поэтому надо смотреть на != и не бухтеть!

P.S. Сам я уже много лет использую FiraCode с лигатурами и их наличие позволяет очень быстро понимать, что происходит в коде, не обращая внимание на синтаксические условности.

★★★★★
Ответ на: комментарий от unDEFER

Что в этом проблематичного?

Это почти по дефолту везде: Compose + «=» + «/».

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

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

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

вбить реальный не лигатурный «не равно» весьма проблематично в современных системах

Копипаст из учебника. Или другой справочной литературы.

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

Предлагаю пойти дальше и набирать операторы капителью. Вот тогда-то всем станет проще!

В смысле в верхнем регистре? Или специальным шрифтом, где строчные буквы выглядят как заглавные? Или как?

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

Представь, что ты на улице нашел миллион долларов, после чего к тебе подошли люди в форме и оказалось, что это миллион фальшивых денег. И тут тебе нужно объясняться, что же пошло не так.

«Нашёл на улице, несу сдавать в полицию» :)

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

В смысле, small caps. Это не обязательно достигается специальным шрифтом, можно костылями. Костылями даже лучше, в данном контексте.

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

И вот в учебнике специально оформят код с «!=» лигатурой вместо повсеместно принятых двух символов?

В таком случае, лучше не читайте таких авторов.

unDEFER ★★★★★
()

А шрифт поменять религия не позволяет, если уж обнаружили лигатуры? В конце концов, кому-то шашечки, а кому-то - ехать.

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

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

Если это твой никому не нужный пет-прожект, о котором знает только твой кот, и тот давно уже забыл, то ок.

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

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

операторы капителью

Наркомания.

Вот тогда-то всем станет проще!

И наверное совсем не надо будет умирать!

Были нормальные, логичные вещи в APL, но вводились очень всрато, потому и не прижились. )=

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

И весь топик сплошная вкусовщина и натягивание на глобус

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

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

Обычная вкусовщина.

Что касается моего мнения, мне лично такие лигатуры тоже не нравятся, например, хотя я ничего не имею против лигатур в целом. Но в программировании лигатура не должна переиначивать смысл написанного, причём посимвольно — если написано !=, я хочу видеть !=. Это != может быть с каким-то особо стильным, ласкающим взор, межсимвольным расстоянием, или каким-нибудь там удлиннённым или укороченным знаком равенства — это ок, но я должен видеть, что это грёбаный восклицательный знак и грёбаный знак равенства, а не какая-то там вундервайля, будь то , или что-то другое. А что если у меня где-то в тексте != что-то другое означает? В строковой константе, например! Ну там, не знаю, 5!=120, например? Ну вот так решил где-то в GUI написать, чему равен факториал пяти, и из контекста понятно, что это не «не равно», с помощью только ASCII и без пробелов. Получится в итоге 5≠120, что, конечно, тоже истинно, но смысл-то другой. Пример может и малость вымученный, но тем не менее, мало ли в какие ещё ситуациях эти символы могут оказаться один после другого.

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

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

У меня на клавиатуре он тоже не выгравирован. Как в Линуксе и Маке его набирать я написал.

Я не спрашивал как его набирать в Линуксе или Маке, я спросил как его найти на клавиатуре.

Ты же как-то узнал о существовании и такого символа, и клавиатурной комбинации для его ввода.

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

windows10 ★★★★★
()

Исправил

Оказывается люди могут ущемиться

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

я спросил как его найти на клавиатуре

Не знаешь где у тебя какие кнопочки на клавиатуре?

Хотя чего я удивляюсь… До сих пор существуют люди, которые искренне верят, что если переставить кейкапы (пластиковые колпачки на клавиатуре), то и буквы местами поменяются. 🤦‍♂️

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

если переставить кейкапы

В 90х эдак пошутил - переставил кнопки F1 и ESC. Мой тогдашний сис.админ сел за эту клавиатуру и искренне жал в F1 со словами «ох, уж этот Compaq, извращенцы».

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

В Линуксе можно сделать

less /usr/share/X11/locale/en_US.UTF-8/Compose

На маке можно зайти в настройки раскладок клавиатуры и там увидеть символы для клавиш без модификаторов, при нажатых Shift и Option. Дополнительные символы там тоже меняются в зависимости от раскладки.

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

В Линуксе можно сделать

Ты так и не понял к чему я веду, хотя я уже объяснил.

На маке можно зайти

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

Если человек пишет !=Z56:)35#14 - то хочет чтобы оно отображалось именно так, а не ≠Z56😀35#14 !

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

Если я нажимаю на клавиатуре Compose = /, я хочу, чтобы у меня вывелось ≠, даже если у меня механическая клавиатура без символов вообще.

Если кто-то ставит себе шрифт с лигатурами, чтобы у него != автоматически выглядело как , значит он тоже сам это захотел. Шрифт (по сути программа) не считает себя умнее пользователя — это его задокументированное поведение. IDE, которая отображает этот шрифт с лигатурами, тоже не считает себя умнее пользователя, а просто следует спецификациям OpenType, то есть поддерживает лигатуры.

Не нужно нигде никуда заходить.

Можно посмотреть где на клавиатуре (можно экранной) этот символ?

Ты задал вопрос (притом не самый очевидный) на специализированном форуме, тебе на него ответили. Чего ж ты недоволен тогда?

static_lab ★★★★★
()

Поддерживаю этого чувака, все эти украшательства от лукавого, они не являются часть яп.

anc ★★★★★
()

Я тоже считаю эту фичу дичью. Хотя, конечно, окружающие делают много разной дичи и это явно не самое плохое. Но у себя я такое всегда отключаю.

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

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

less /usr/share/X11/locale/en_US.UTF-8/Compose

Какой же типичный linux-way. Напихать сотни мозголомных хоткеев в которые надо каждый раз подсматривать в файле.

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

Юникод это уже перезрелый стандарт

*Fixed FTGJ*

thunar ★★★★★
()

Лигатуры - зло. Особенно, если нет выбора.

особо упоротые шрифтописатели даже умудряются fl залигатуривать.

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

Особенно, если нет выбора

Коварные разработчики шрифтов с револьвером у виска насильно заставляют пользоваться лигатурами.

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

Угу. Особенно когда IDE радостно видит шрифт с лигатурами и их юзает без спросу.

ALiEN175
()

!= могут визуально отображаться как ≠

и с какой стати? это си-подобное грамматическое правило, в другом языке такое сочетание или бессмысленно или имеет не тот смысл.

если в языке есть лексема ! и лексема =, то выражение вида

a!=0

это не неравенство, а что-то совсем другое.

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

alysnix ★★★
()

Это даже не дотягивает до уровня «пробелы vs табы». Эта фигня не улетит в систему контроля версий, исключительно визуал, который можно использовать/не использовать по своему личному усмотрению. Кг/ам, в общем.

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

для лексического набора некоего языка(приспособленного для использования человеком) желательно чтобы лексемы без проблем набирались на стандартной клавиатуре. иначе беда.

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

Во-первых, это должно мочь отключаться.

Имхо это «должно мочь» по дефолту не включаться.

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

Тебе нужно в лог вывести ‘x ≠ y’.

Зачем?

Что делать будешь?

Пойду проверюсь у психиатора.

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


Кстати на экране телефона, если спецом не приглядываться, читается как #

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

А если это интерпретатор? И ругнется он только когда зайдет в эту ветку условия.

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

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

Предлагаю пойти дальше и набирать операторы капителью. Вот тогда-то всем станет проще!

В более чем одном ЯП это вполне норм робить будет, например в васике.

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

Я всё-таки отвечу.
С кодом - работаю много, ежедневно. И пишу и рефакторю и ревью делаю. Лигатуры не использую, даже мысли такой не возникало, но если бы использовал - это не повлияло бы буквально ни на что. Как визуальная тема может повлиять на что-то в принципе? Вопрос исключительно удобства и привычек.

Настройка использования/не использования лигатур находится где-то на уровне настройки темы оформления.

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

Лигатуры не использую, даже мысли такой не возникало, но если бы использовал - это не повлияло бы буквально ни на что.

А я попробовал. И да, повлияло.

ALiEN175
()

Оказывается люди могут ущемиться от наличия лигатур

оказывается, вводные слова выделяются запятыми. об этом, кажется, рассказывали в школе. впрочем, не все осилили.
по теме - все правильно возмущается! человек пишет ровно то, что хочет написать, и ожидает увидеть на экране именно это, что вполне логично. не должно какое-то ведро с болтами микросхемами за него решать, что он имел в виду.
не знаю, что там с погромированием, но если я пишу "!=", значит, я именно это хочу видеть в тексте, а если мне нужно "≠", то я так и скажу, compose мне в помощь. аналогично у народа бомбит от дурацкой автозамены кавычек на елочки и дефиса на тире - ровно то же самое, опять какой-то шибко умный робот за нас решает

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

Всё равно в блокноте никто не пишет уже

Ну я пишу в vim/mcedit, хоть и редко по причине того, что кодингом не занимаюсь в пром масштабах, но когда пишу то использую их.

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

все эти украшательства от лукавого

а подсветка синтаксиса?

Удобно и таки это другое. Однако если подсветки по какой-то причине нет, это не смертельно.

anc ★★★★★
()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)