OberonCore https://forum.oberoncore.ru/ |
|
Ключевые слова в нижнем регистре [BB LowerCase Edition] https://forum.oberoncore.ru/viewtopic.php?f=114&t=6240 |
Страница 4 из 4 |
Автор: | Иван Денисов [ Суббота, 02 Февраль, 2019 19:27 ] |
Заголовок сообщения: | Re: Ключевые слова в нижнем регистре [BB LowerCase Edition] |
Спасибо за разъяснение, а я ломал голову. Элегантное решение! |
Автор: | Trurl [ Суббота, 02 Февраль, 2019 19:53 ] |
Заголовок сообщения: | Re: Ключевые слова в нижнем регистре [BB LowerCase Edition] |
Кстати, можно сделать, чтобы реагировало на "модуль". |
Автор: | Иван Денисов [ Суббота, 02 Февраль, 2019 20:16 ] |
Заголовок сообщения: | Re: Ключевые слова в нижнем регистре [BB LowerCase Edition] |
Trurl писал(а): Кстати, можно сделать, чтобы реагировало на "модуль". Было бы классно сделать расширяемый интерфейс сканера. Чтобы через hook можно было свои ключевые слова также подставлять. тогда и "модуль" и "МОДУЛЬ" и другие языки потом пользователи допишут себе. И тогда возможно будет не включать все опции в базовую сборку, а распространять в виде расширений. Это будет склонять к единому стилю для распространения. Ну а для внутренних проектов будет выбор. |
Автор: | D_S__ [ Пятница, 19 Апрель, 2019 05:16 ] |
Заголовок сообщения: | Re: Ключевые слова в нижнем регистре [BB LowerCase Edition] |
За капс в коде меня сразу уволят - на полном серьезе и без шуток. Это пишу для тех, кто не работает в частных компаниях (работающих в основном на мейнстримовых языках) - те кто работает, и так знают, как к этому отнесутся коллеги, вынужденные читать Ваш код. Большой баг на продакшене простят - все ошибаются. Но за капс кранты сразу. Даже в тех компаниях, где не принят официальный гайд про стиль кода, это подразумевается. Т.е. даже если кто-то в крупных фирмах захочет использовать КП или Оберон - его за один капс выкинут - даже слушать вряд ли будут. Ну и месяц как минимум коллеги поприкалываются. В таких компаниях на многих языках пишут - но капс сразу будет всех выбешивать. Так что если хотите поддержать таких людей в организациях, которые идут против мейнстрима - сделайте режим без капса. Тут весь вопрос в том нужны ли Оберон сообществу люди с мейнстрима. Если нет - то и не надо ничего менять. Если нужны - то вариантов нет - пусть эта "галочка" (или ключ) будут глубоко спрятаны чтобы студенты сразу ее не нажимали, но она должна быть. |
Автор: | vvmtutby [ Пятница, 19 Апрель, 2019 10:09 ] |
Заголовок сообщения: | Re: Ключевые слова в нижнем регистре [BB LowerCase Edition] |
Эти ( без кавычек) истерики "работников частных компаний" меня попросту изумляют ( и заставляют серьезно задуматься). ( P.S. "работников частных компаний" read as "работников частных компаний раздраженных" ALLCAPS-ом Т.е. данное подмножество не стоит отождествлять с работающими в частных компаниях вообще) Буду краток: 1) 08 Сентябрь, 2007 11:40 Руслан Богатырев : https://forum.oberoncore.ru/viewtopic.php?p=8584#p8584 Цитата: зарезервированные слова в языке играют роль разделителей. И они должны выделяться. . . . Так что подход Вирта был вполне обоснован. Более того, он действительно удобен. Только, чтобы осознать это удобство, надо с ним поработать. Зарезервированные слова в верхнем регистре формируют очень наглядный каркас исходного текста. И в нем лично мне крайне комфортно ориентироваться. Я не проводил полноценных социологических опросов, но среди тех, кто работал с Модулой-2 . . . мне не встречались отрицательные мнения на этот счет. 1b) После Modulа-2 воспроизводил данный стиль и в TP. Z) Контрольный вопрос: "капс" будет "выбешивать" "коллег" и в проектах на Clarion? Modula-3 ? |
Автор: | Info21 [ Пятница, 19 Апрель, 2019 10:43 ] |
Заголовок сообщения: | Re: Ключевые слова в нижнем регистре [BB LowerCase Edition] |
D_S__ писал(а): если хотите поддержать таких людей в организациях, которые идут против мейнстрима - сделайте режим без капса. Тут весь вопрос в том нужны ли Оберон сообществу люди с мейнстрима. Вопрос в другом: нужен ли Оберон людям с мейнстрима. Плотно общаюсь сейчас с молчелом "с мейнстрима". Всё, как Вы описали. Но. Но молчел (1) реально толковый, (2) грамотный, (3) прослушал, хотя и не проработал, как в своё время другие, мой с/к, правда зато (4) имеет "горячую линию" для консультаций. Демонстрирует производительность на ББ-Обероне без пресловутых "библиотек" на порядок выше, чем ихнее среднее по больнице (свежий пример: больше работающего кода за 3 дня, чем вдвоём за две недели, из которых вторая была полностью посвящена агонии отладки -- это прямо по разряду "серебряная пуля"). Прямо сейчас делает на ББ некое стат. моделирование (для фин. рынков), которое они там вообще не потянули. Погоду сделают вот такие кейсы, а вовсе не lowercase. Стадным организмам нужен вожак, а не lowercase. В отсутствие вожака или большого стада lowercase -- просто оправдание для того, чтобы не покидать своего стада, пребывание в котором даёт тёплое чувство безопасности. Наоборот, отношение к ALLCAPS будет работать как способ повышения доминантности: против ALLCAPS в ключевых словах вякают только стадные организмы. *** Более того, есть фундаментальный принцип, который когда-то звучал как DIVIDE ET IMPERA. Принцип приложим в IT на каждом шагу, но в силу специфики IT, где так трудна часть IMPERA, требует переформулировки: Цитата: Современная IT-версия DIVIDE ET IMPERA от Информатики-21 Иногда хорошенько разделить -- трудно, но ключевые слова явно не тот случай, наоборот.По умолчанию разделяем. Доказывать и обосновывать нужно отказ от разделения. Оберон пронизан этим Принципом -- хотя въявь он там не сформулирован. В частности, Принцип прямо применим к ключевым словам. И если ты не следуешь этому Принципу на подсознании, на уровне базовой техники -- то ты недоучка и рукосуй, а не тру эксперт. Знание всей лажи мира (Мiра) не делает тру экспертом; тру экспертом делает способность различения лажи и нелажи. И тру эксперт стыдится ссылок просто на "всех", просто на "мейнстрим" (и в частности в отношении ключевых слов), т.к. такие ссылки выдают интеллектус стадного организма, а не эксперта. Кстати, сей архифундаментальный принцип публично формулировался. А тот факт, что никто его не заметил и тем более не вспомнил в этом диспуте, доказывает вышесказанное про стадных организмов. |
Автор: | Info21 [ Пятница, 19 Апрель, 2019 11:17 ] |
Заголовок сообщения: | Re: Ключевые слова в нижнем регистре [BB LowerCase Edition] |
Для профилактики обид: Интеллект начинается с интеллектуса стадного организма, эксперт достраивается сверху, при этом основа никуда не девается и время от времени проявляет себя, даже у тру эксперта. Удержание в узде стадного организма внутри своего мозга -- это такая постоянная забота тру эксперта. |
Автор: | D_S__ [ Пятница, 19 Апрель, 2019 12:07 ] |
Заголовок сообщения: | Re: Ключевые слова в нижнем регистре [BB LowerCase Edition] |
Да обид никаких нет (как и истерик). Просто обсуждаем моменты - для этого же форум? Понятно, что в одиночку никто не мешает писать как хочешь. Но для внедрения, например, КП в какой-то существующий большой рабочий проект в качестве составной части (есть одна идея, где бы Блекбокс имел определенные преимущества) - нужно показывать программу и делать так, чтобы с ней работали другие, "заражаясь" простотой языка. Но первым делом все видят капс Комментарий Руслана Богатырева прочитал тоже - спасибо за ссылку. Не знал, что вопрос имеет такой глубокий исторический контекст. |
Автор: | Info21 [ Пятница, 19 Апрель, 2019 12:31 ] |
Заголовок сообщения: | Re: Ключевые слова в нижнем регистре [BB LowerCase Edition] |
Предложена линия аргументации, которую содержательно опровергать практически невозможно -- как и вслух с ней спорить (потому что сразу обозначишь себя "стадным организмом"). В мейнстриме есть немало индивидов, которые "просто не слышали". Грубо говоря, на каждую шавку, громко тявкнувшую в ответ на Мессидж, приходится некто, кто молча, с тихим любопытством запомнит и при случае воспроизведёт. Вот для этих вторых Мессидж должен быть сформулирован предельно чётко, кратко и определённо. Чёткий краткий Мессидж будет воспроизводиться автоматом (повторяю: автоматом) -- сначала в частном порядке, потом и публично. |
Автор: | Rifat [ Пятница, 19 Апрель, 2019 12:49 ] |
Заголовок сообщения: | Re: Ключевые слова в нижнем регистре [BB LowerCase Edition] |
D_S__ писал(а): За капс в коде меня сразу уволят - на полном серьезе и без шуток. ... Большой баг на продакшене простят - все ошибаются. Но за капс кранты сразу... Хорошо, что в апреле. Жалко, что не первого. Мне кажется, вас могут уволить даже за то, что вы общаетесь на форуме, где сидят люди, программирующие на языке программирования с капсом. И простят даже, если вы удалите всю систему контроля версий со всеми исходниками, все ошибаются. |
Автор: | D_S__ [ Пятница, 19 Апрель, 2019 13:40 ] |
Заголовок сообщения: | Re: Ключевые слова в нижнем регистре [BB LowerCase Edition] |
Цитата: И простят даже, если вы удалите всю систему контроля версий со всеми исходниками, все ошибаются. у нас git слава богу, многократное дублирование и разграничение доступа. Ни у кого нет прав сразу все удалить. А у Вас?
|
Автор: | vvmtutby [ Пятница, 19 Апрель, 2019 14:43 ] |
Заголовок сообщения: | Re: Ключевые слова в нижнем регистре [BB LowerCase Edition] |
D_S__ писал(а): Цитата: И простят даже, если вы удалите всю систему контроля версий со всеми исходниками, все ошибаются. у нас git слава богу, многократное дублирование и разграничение доступа. Ни у кого нет прав сразу все удалить. А у Вас? Ж-)Но это ремарка ( о том, что в реальной жизни не всё так просто, как "в теории"). Всё же, хотелось бы услышать, что будет происходить в фирме, чьи работники привыкли существовать в "режиме без капса", которой "досталась" кодовая база проекта на языке с ALLCAPS-ом ключевых слов? Пусть это будет Clarion: реалистичный бизнес сценарий и интересный технологический момент с .app/.dct P.S. Новая вводная: вы докладываете начальству о решении переписать всё на "модный и прогрессивный", но другой язык и слышите в ответ -- "мы субподрядчики" и все изменения "будем возвращать наверх". |
Автор: | D_S__ [ Пятница, 19 Апрель, 2019 15:15 ] |
Заголовок сообщения: | Re: Ключевые слова в нижнем регистре [BB LowerCase Edition] |
Перепишут полностью или частично на другой язык за дополнительные плюшки от руководства. Или есть другие варианты? Проблема ведь не в том что нельзя привыкнуть к капсу или скобкам Лиспа. Речь о первом впечатлении только. |
Автор: | D_S__ [ Среда, 24 Апрель, 2019 01:28 ] |
Заголовок сообщения: | Re: Ключевые слова в нижнем регистре [BB LowerCase Edition] |
Еще вопрос возник по использованию национальных букв в идентификаторах. Может опять буду неправ, но если говорим о надежности, то нужно запрещать совместное использование латиницы и кириллицы в них. С полгода назад словили баг - на бд код выполняется, а внешняя программа доступа не имеет. Что только не проверяли. Оказалось что те, кто до нас, в начале идентификаторов написали русскую "с". Стали проверять проект - нашли еще много таких случаев. Мало того, бывало что русские буквы были в середине идентификаторов, неотличимые внешне от латиницы. Кстати, специально посмотрел - в сообщении об Обероне 07 только латиница. Сейчас конечно проверяю исходники на такие случаи анализатором. Но в критической ситуации уйдет много времени на поиск бага |
Автор: | Иван Денисов [ Среда, 24 Апрель, 2019 16:11 ] |
Заголовок сообщения: | Re: Ключевые слова в нижнем регистре [BB LowerCase Edition] |
D_S__ писал(а): Еще вопрос возник по использованию национальных букв в идентификаторах. Может опять буду неправ, но если говорим о надежности, то нужно запрещать совместное использование латиницы и кириллицы в них. С полгода назад словили баг - на бд код выполняется, а внешняя программа доступа не имеет. Что только не проверяли. Оказалось что те, кто до нас, в начале идентификаторов написали русскую "с". Стали проверять проект - нашли еще много таких случаев. Мало того, бывало что русские буквы были в середине идентификаторов, неотличимые внешне от латиницы. Кстати, специально посмотрел - в сообщении об Обероне 07 только латиница. Сейчас конечно проверяю исходники на такие случаи анализатором. Но в критической ситуации уйдет много времени на поиск бага Так как в Блэкбоксе статическая типизация, то вероятность такого бага стремится к нулю. А идентификаторы не только на кириллице, некоторые используют и математические символы. |
Автор: | Ярослав Романченко [ Среда, 24 Апрель, 2019 16:23 ] |
Заголовок сообщения: | Re: Ключевые слова в нижнем регистре [BB LowerCase Edition] |
Иван Денисов писал(а): Так как в Блэкбоксе статическая типизация, то вероятность такого бага стремится к нулю. А идентификаторы не только на кириллице, некоторые используют и математические символы. В Delphi со статической типизацией тоже с таким сталкивался. Необходима и краткость синтаксиса языка и краткость словаря допустимых символов.
|
Автор: | Иван Денисов [ Среда, 24 Апрель, 2019 17:00 ] |
Заголовок сообщения: | Re: Ключевые слова в нижнем регистре [BB LowerCase Edition] |
Ярослав Романченко писал(а): Иван Денисов писал(а): Так как в Блэкбоксе статическая типизация, то вероятность такого бага стремится к нулю. А идентификаторы не только на кириллице, некоторые используют и математические символы. В Delphi со статической типизацией тоже с таким сталкивался. Необходима и краткость синтаксиса языка и краткость словаря допустимых символов.Ну если кому-то будет это необходимо, то найдете как это в Блэкбоксе залочить. Это совсем не сложно. Вот эти две процедуры в Strings, которые задают паттерны для сканера. Код: (* ----------------------------- Component Pascal character classes --------------------------- *) PROCEDURE IsIdentStart* (ch: CHAR): BOOLEAN; BEGIN CASE ch OF "a".."z", "A".."Z", "_": RETURN TRUE ELSE IF ch > 7FX THEN RETURN Kernel.IsAlpha(ch) ELSE RETURN FALSE END END END IsIdentStart; PROCEDURE IsIdent* (ch: CHAR): BOOLEAN; BEGIN (* returns IsIdentStart(ch) OR IsNumeric(ch); optimized because heavily used in the compiler *) CASE ch OF "a".."z", "A".."Z", "_", "0".."9": RETURN TRUE ELSE IF ch > 7FX THEN RETURN Kernel.IsAlpha(ch) ELSE RETURN FALSE END END END IsIdent; Или используйте версию 1.6, которая не поддерживает юникодные идентификаторы |
Страница 4 из 4 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |