LINUX.ORG.RU
ФорумTalks

Пробелы и другие спецсимволы в идентификаторах

 


0

1

Сферический пример:

https://github.com/slide-rs/specs/blob/master/examples/basic.rs#L52

Автор кода назвал систему «sys_a» но мог бы и назвать «sys a», мне кажется что страх пробелов какой-то нездоровый. Из-за длительного унижения линуксовыми шелами программисты и другие айтишники боятся пробелов в именах и это печально.

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

Жиром залил монитор мне тут... Фейри с тебя. А ты как думал?

mandala ★★★★★
()

Из-за длительного унижения линуксовыми шелами

Кроме линуксов *nix шеллов не видели? Ну ни чего, повзрослеют и нормально будет.

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

Ну почему только линуксами? Не линкусами единами.

mandala ★★★★★
()

Меня вообще очень интересует идея языков с разрешёнными пробелами. Их немного (кстати среди них BAT-файлы), но они есть. ЧестноГоворяCamelCaseЫМнеКажутсяЖуткимУродством. Хотя_подчёркивания_не_идеальны,_всё_же_они_куда_ближе_к_пробелам. Но идеальный вариант это пробелы.

Legioner ★★★★★
()

Не ссорьтесь, девочки.

ashot ★★★★
()

Когдато думал это Mandrake, но увы, такого нет.

Seifulla
()

что бы излечиться

Прописываю тебе лечение досом, чтобы не тащил больше в ФС всякую чушь. Если с досом ну ваще никак, винда или вайн с dir /X пойдут тоже. И почему у тебя юзернейм влезает в 8.3, хотя даже у меня — нет? Уж не лицемерничаешь ли ты?

bodqhrohro_promo
()

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

Другое дело что им Unicode придумали ☝🏿, а они...

sys◻️a

fornlr ★★★★★
()

Так напиши синтаксический анализатор для ЯП для которого переменные с пробелами будут нормой. Проблем то.

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

Технически вещь другая с точки зрения парсера баша и других шелов. В языках программирования (мне известных) пробелы запрещены в именах переменных, но все строки что не код могут их иметь. Но все равно в большинстве мест где они могут быть, их не ставят.

vlad9486
() автор топика

Просто у людей были маленькие экраны, а нужно было цитировать строки и составлять списки. Если запретить пробелы, то можно сэкономить на кавычках и разделителе списка. Хотя иногда бывает и так foo,bar,baz, запятая разделитель, все равно здесь пробел как-то странно смотрится, foo,first bar,second bar,baz нужны кавычки.

vlad9486
() автор топика

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

Предлагаю не усугублять ситуацию самолечением и сразу обратиться в здравоохранительное учреждение.

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

Да, погулял и понял в чем проблема. Ссылка на ту самую сущность может быть в разных языках. Возможно, когда-нибудь появится язык, в котором эти «sys_a» будут переменными (какая-то скриптота, геймвевы любят), и тогда пробелы там будут мешать. Потому для идентификаторов сразу нужны ограничения. Для этого есть неявный язык идентификаторов и это не так уже и печально, если смотреть с такой стороны.

vlad9486
() автор топика

Ну есть язык whitespace, там ваще все идентификаторы из пробелов состоят. Ключевые слова различаются только количеством пробелов.

DELIRIUM ☆☆☆☆☆
()
user@localhost:~$ foobar.sh
foo sys a bar

Что вывела командная строка?

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

Пробелы в именах переменных это так современно и толератно.

Как ты завуалированно его пидарасом назвал.

Black_Shadow ★★★★★
()

Из-за длительного унижения линуксовыми шелами

А в винде оно по-другому? Там ещё и не латиница в именах ломает половину прог.

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

Да какая разница-то, в любом случае ты хочешь фигню. Программисты и так срутся за камелкейс vs. снейккейс, а ты ещё спейскейс к этому прибавить хочешь?!

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

в винде оно по-другому? Там ещё и не латиница в именах ломает половину прог.

В линуксах как будто не так.

fornlr ★★★★★
()

Ну вот в языке Tcl есть возможность создавать переменные с пробелами:

tclsh % set variable\ with\ spaces SomeValue
SomeValue
tclsh % puts ${variable with spaces}
SomeValue
tclsh % puts $variable\ with\ spaces
can't read "variable": no such variable
while evaluating puts $variable\ with\ spaces

Но зачем это делать?

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

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

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

язык программирования менее выразителен чем тот, на котором думаешь

…и останется таковым до тех пор, пока не станет возможным программировать на естественном языке.

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

Это смешно. (Похоже что) из логики можно получить всю известную математику, попытка. Естественный язык точно менее выразителен, чем языки программирования, в которых можно выразить логику высшего порядка (известно что логика первого порядка полная, а значит, не катит).

vlad9486
() автор топика

Вот такой вот интересный вывод. Если у тебя в коде идентификатор состоит из больше чем одного слова, значит ты не до концы выразил свое понимание задачи в терминах языка, ну или языку не хватает zero-cost abstractions что-бы оптимизировать это, потому ты вынужден.

vlad9486
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.