The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Дрю ДеВолт представил язык системного программирования Hare"
Отправлено keydon, 28-Апр-22 03:36 
> Потому что людям свойственно ошибаться и вон то - легко посадить при
> кодинге случайно, не имея на самом деле в виду. Явная маркировка
> начала-конца логического блока позволяет ловить немало дурных случаев такого плана, когда
> оно вдруг бай и не совпадает. Ну как, если например я
> пробел тапнул на выделении - и там даже улетел какой-то кусок
> блока, шансы что в выделении идеально убьется по парным скобкам и
> ошибки не будет - мизерный. Значит я буду тут же послан
> компилером, пойму что все испортил и пойду разбираться.

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

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

Кидай ошибку при форматировании и нет никаких проблем с пробелами. Я уже в очередной раз тебе об этом пишу, но ты упорно не читаешь.

> А при чем тут тремор рук, если в редакторе селекшн был, я
> про него забыл и что-то тапнул? Ну и получил что-то unspecified
> вместо того чего на самом деле хотел. И таки очень кстати
> если автоматика поймает подозрительное место и сообщит что я сделал фигню.

Если говорить про одинарный пробел, то также как и с кавычками. Если говорить про любой символ, то вы так и [10] в [1] можете превратить и Get в Set, так что не вижу смысла расусоливать на эту тему.

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

Вот именно. И тем более компьютер мешать не должен. Блоки кавычками мешают.

> Смотри, в сях например указатели это кусок проблем если быть невнимательным. И
> там проблемы в том числе и с анонсом намерений дла анализа/компилера.
> Но кроме минусов есть плюсы. Это дико эффективная технология. Избегающая лишних
> копирований - что актуально, особенно на больших объемах данных или если
> скорость критична. Поэтому tradeoff: мы теряем в надежности, но получаем быстрый
> компактный код. А у тебя - не tradeoff. Оно только делает
> мозг, ставит в стойло, но ничего не привносит. Значит нафиг.

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

> При том эта строгость ничего кроме эстетики не привносит. Я не вебмакака
> чтобы в стойло становиться ради декоративно-эстетических целей. Если там будет что-то
> системное, крутое, можно подумать.

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

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

Точно так же и с пробелами.

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

Фактически в сях можно выкинуть пробелы в начале строк и жить только со скобками. Но вы же так делать не будете? Вы же все равно используете пробелы. Так зачем вам две одинаковые вещи? Вы итак отделяете блок двумя разделителями.

> Вы вообще на сях программировали?

Да.


> Я стараюсь не писать большие скрипты, предпочитая *никсвэйный подход. То есть небольшие
> эффективные качественные программы, при нужде объединяемые небольшими скриптами по месту.
> Модуляризация. Конечно это не всегда катит. Но мудрость в идеях древних
> есть. В отличие от вебмакак и питоняш, от которых если мне
> что и надо - чтобы они перестали замусоривать поиск своими поделиями.

Тогда тем более вам должен нравиться этот подход потому что в однострочниках вам не нужны блоки и никакие пробелы и скобочки тоже. А там где нужны, там 4 пробела.

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

Так и шансы что вы именно 4 пробела случайно влепите крайне низкая.

> Обычно прогерские редакторы втыкают сразу эн пробелов, для разгона эффективности прогера,
> так что ну так себе аргумент. Не буду же я 4
> раза на уровень форматирования пробел сам жать, право? Я что, обезьяна?

Тогда определитесь каким редактором вы пользуетесь и опишите как он работает с кавычками и автодополнением и я покажу что в худшем случае он может работать точно также при использовании пробелов не теряя в эффективности и "безопасности".

> 1) Ну ващет за мена это компилер посчитает.

Это не вы 5 минут назад не хотели "мозг в стойло ставить"? Вы уж определитесь как-нибудь. С пробелами я и без компилятора сразу все увижу (и вы тоже, если захотите).

>[оверквотинг удален]
>

 
> {
>     abcd();
>     cdef();
>     {
>         efgh();
>         jklm();
>     }
> }
>

То же самое:

 
    abcd();
    cdef();
        efgh();
        jklm();

Читается лучше, строк меньше, символов меньше, набирать быстрее, сразу видно где какой блок.

> 3) Если мне чей-то синтаксис не нравится, я могу ему reflow в
> автоматическом режиме сделать при желании. И от дурно поставленых скобок голова
> будет болеть у компилера или парсера.

То же самое и с пробелами.

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

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

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

Не встречающимся в других случаях? Три раза ха-ха. Вы все равно вставляете пробелы в начале строки, парсить 5 различных символов менее эффективно чем 4 символа. А если еще и добавить парность скобок то еще тяжелее.

> Только вот требования попарности нет, а пробелы встречаются при нормальном курсе событий,
> поэтому сломать это нечаянно - куда проще.

Пробел да, 4 пробела в начале строки - нет.

> Вообще, получить warning при подозрительном форматировании кода - почему бы и нет?
> На самом деле нормальный фичреквест.

Ну вот, я же говорил.

> Для меня выделение логических блоков отдельными символами как-то лучше схватывается. Алсо
> хайлайт парных скобок - штука в редакторах весьма типовая, мне так
> нравится.

Пфф..есть даже плагин на разноцветную подсветку разных блоков. Работает с пробелами.

> А вон ту задачу я вообще могу более 9000 способов решить. Это,
> типа, плохо?

Попытка увести разговор в сторону не засчитана.

> Я могу с этим жить. И если им так больше нравится -
> ну, я не парюсь особо, прогерские редакторы все равно культурно это
> все сделают.

Это не вы недавно писали про "эффективность" и "мозг в стойле"?

> Это чисто эстетическая проблема, сама по себе к факапам не ведет.

Располагает к разгильдяйству.

> Но отъезд логики на ошибке редактирования оно не поймает, от оригинала намерений
> ничего не осталось, и в целом удачи понять как оно было
> задумано. Сломать так curly bracket все же сложно и маловероятно.

Уже неоднократно писал об этом.

> Ващет гнать такого ревьюера надо. Гит на такие вещи например дико кислотные
> цвета рисует в консоли в git log -p и прочих git
> diff. Я не знаю как это можно не увидеть, от этого
> глаза сразу вытекают.

Что-то подсветит, а что-то нет. И ревьювера и тех кто решил скобки использовать.

> Более того - если у ревьюера не вызвал вопрос пустой блок/строки -
> это как минимум странно. А, да, я еще так то код
> немного ревьюю другим. Это для тебя ревьюеры божества, ставящие таких как
> ты в стойло. А для меня одни из равных.

Так блок не пустой, там в начале что-нибудь безобидное. Или пустой, но как вы любите отделяющий логический блок.

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

А с пробелами и вовсе невозможен.

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

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

> Чего бы? А в прогерском редакторе скорее 1 кнопой, не буду же
> я 4 пробела мануально, право?

Так в прогерском и скобки одной кнопкой. Не будете же вы мануально, право?

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

Также и с пробелами.

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

И у меня не получалось. Но вы отчаянно этого боитесь.

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

В Африке акулы,
В Африке гориллы,
В Африке большие
Злые крокодилы
Будут вас кусать,
Бить и обижать,-
Не ходите, дети,
В Африку гулять.

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру