OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Четверг, 28 Март, 2024 13:17

Часовой пояс: UTC + 3 часа


Правила форума


Посмотреть правила форума



Начать новую тему Ответить на тему  [ Сообщений: 77 ]  На страницу Пред.  1, 2, 3, 4
Автор Сообщение
СообщениеДобавлено: Суббота, 02 Февраль, 2019 19:27 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
Спасибо за разъяснение, а я ломал голову. Элегантное решение!


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 02 Февраль, 2019 19:53 

Зарегистрирован: Понедельник, 28 Ноябрь, 2005 10:28
Сообщения: 1428
Кстати, можно сделать, чтобы реагировало на "модуль".


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 02 Февраль, 2019 20:16 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
Trurl писал(а):
Кстати, можно сделать, чтобы реагировало на "модуль".

Было бы классно сделать расширяемый интерфейс сканера. Чтобы через hook можно было свои ключевые слова также подставлять.
тогда и "модуль" и "МОДУЛЬ" и другие языки потом пользователи допишут себе.
И тогда возможно будет не включать все опции в базовую сборку, а распространять в виде расширений.
Это будет склонять к единому стилю для распространения. Ну а для внутренних проектов будет выбор.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 19 Апрель, 2019 05:16 

Зарегистрирован: Пятница, 22 Март, 2019 07:50
Сообщения: 62
За капс в коде меня сразу уволят - на полном серьезе и без шуток. Это пишу для тех, кто не работает в частных компаниях (работающих в основном на мейнстримовых языках) - те кто работает, и так знают, как к этому отнесутся коллеги, вынужденные читать Ваш код. Большой баг на продакшене простят - все ошибаются. Но за капс кранты сразу. Даже в тех компаниях, где не принят официальный гайд про стиль кода, это подразумевается. Т.е. даже если кто-то в крупных фирмах захочет использовать КП или Оберон - его за один капс выкинут - даже слушать вряд ли будут. Ну и месяц как минимум коллеги поприкалываются. В таких компаниях на многих языках пишут - но капс сразу будет всех выбешивать. Так что если хотите поддержать таких людей в организациях, которые идут против мейнстрима - сделайте режим без капса. Тут весь вопрос в том нужны ли Оберон сообществу люди с мейнстрима. Если нет - то и не надо ничего менять. Если нужны - то вариантов нет - пусть эта "галочка" (или ключ) будут глубоко спрятаны чтобы студенты сразу ее не нажимали, но она должна быть.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 19 Апрель, 2019 10:09 

Зарегистрирован: Пятница, 11 Январь, 2019 21:33
Сообщения: 88
Эти ( без кавычек) истерики "работников частных компаний" меня попросту изумляют ( и заставляют серьезно задуматься).

( 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 ?


Последний раз редактировалось vvmtutby Пятница, 19 Апрель, 2019 12:56, всего редактировалось 2 раз(а).

Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 19 Апрель, 2019 10:43 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
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:22, всего редактировалось 3 раз(а).

Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 19 Апрель, 2019 11:17 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Для профилактики обид:

Интеллект начинается с интеллектуса стадного организма, эксперт достраивается сверху, при этом основа никуда не девается и время от времени проявляет себя, даже у тру эксперта.

Удержание в узде стадного организма внутри своего мозга -- это такая постоянная забота тру эксперта.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 19 Апрель, 2019 12:07 

Зарегистрирован: Пятница, 22 Март, 2019 07:50
Сообщения: 62
Да обид никаких нет (как и истерик). Просто обсуждаем моменты - для этого же форум? Понятно, что в одиночку никто не мешает писать как хочешь. Но для внедрения, например, КП в какой-то существующий большой рабочий проект в качестве составной части (есть одна идея, где бы Блекбокс имел определенные преимущества) - нужно показывать программу и делать так, чтобы с ней работали другие, "заражаясь" простотой языка. Но первым делом все видят капс :) Комментарий Руслана Богатырева прочитал тоже - спасибо за ссылку. Не знал, что вопрос имеет такой глубокий исторический контекст.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 19 Апрель, 2019 12:31 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Предложена линия аргументации, которую содержательно опровергать практически невозможно -- как и вслух с ней спорить (потому что сразу обозначишь себя "стадным организмом").

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

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 19 Апрель, 2019 12:49 

Зарегистрирован: Пятница, 13 Март, 2009 16:36
Сообщения: 987
Откуда: Казань
D_S__ писал(а):
За капс в коде меня сразу уволят - на полном серьезе и без шуток. ... Большой баг на продакшене простят - все ошибаются. Но за капс кранты сразу...

Хорошо, что в апреле. Жалко, что не первого.

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 19 Апрель, 2019 13:40 

Зарегистрирован: Пятница, 22 Март, 2019 07:50
Сообщения: 62
Цитата:
И простят даже, если вы удалите всю систему контроля версий со всеми исходниками, все ошибаются.
у нас git слава богу, многократное дублирование и разграничение доступа. Ни у кого нет прав сразу все удалить. А у Вас? :)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 19 Апрель, 2019 14:43 

Зарегистрирован: Пятница, 11 Январь, 2019 21:33
Сообщения: 88
D_S__ писал(а):
Цитата:
И простят даже, если вы удалите всю систему контроля версий со всеми исходниками, все ошибаются.
у нас git слава богу, многократное дублирование и разграничение доступа. Ни у кого нет прав сразу все удалить. А у Вас? Ж-)
у "Petya" тоже не было доступа ( конкретно у этого вируса -- "сперва" не было).
Но это ремарка ( о том, что в реальной жизни не всё так просто, как "в теории").

Всё же, хотелось бы услышать, что будет происходить в фирме,
чьи работники привыкли существовать в "режиме без капса",
которой "досталась" кодовая база проекта на языке с ALLCAPS-ом ключевых слов?

Пусть это будет Clarion: реалистичный бизнес сценарий и интересный технологический момент с .app/.dct

P.S. Новая вводная: вы докладываете начальству о решении переписать всё на "модный и прогрессивный",
но другой язык и слышите в ответ -- "мы субподрядчики" и все изменения "будем возвращать наверх".


Последний раз редактировалось vvmtutby Пятница, 19 Апрель, 2019 15:38, всего редактировалось 3 раз(а).

Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 19 Апрель, 2019 15:15 

Зарегистрирован: Пятница, 22 Март, 2019 07:50
Сообщения: 62
Перепишут полностью или частично на другой язык за дополнительные плюшки от руководства. Или есть другие варианты? Проблема ведь не в том что нельзя привыкнуть к капсу или скобкам Лиспа. Речь о первом впечатлении только.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 24 Апрель, 2019 01:28 

Зарегистрирован: Пятница, 22 Март, 2019 07:50
Сообщения: 62
Еще вопрос возник по использованию национальных букв в идентификаторах. Может опять буду неправ, но если говорим о надежности, то нужно запрещать совместное использование латиницы и кириллицы в них. С полгода назад словили баг - на бд код выполняется, а внешняя программа доступа не имеет. Что только не проверяли. Оказалось что те, кто до нас, в начале идентификаторов написали русскую "с". Стали проверять проект - нашли еще много таких случаев. Мало того, бывало что русские буквы были в середине идентификаторов, неотличимые внешне от латиницы. Кстати, специально посмотрел - в сообщении об Обероне 07 только латиница. Сейчас конечно проверяю исходники на такие случаи анализатором. Но в критической ситуации уйдет много времени на поиск бага


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 24 Апрель, 2019 16:11 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
D_S__ писал(а):
Еще вопрос возник по использованию национальных букв в идентификаторах. Может опять буду неправ, но если говорим о надежности, то нужно запрещать совместное использование латиницы и кириллицы в них. С полгода назад словили баг - на бд код выполняется, а внешняя программа доступа не имеет. Что только не проверяли. Оказалось что те, кто до нас, в начале идентификаторов написали русскую "с". Стали проверять проект - нашли еще много таких случаев. Мало того, бывало что русские буквы были в середине идентификаторов, неотличимые внешне от латиницы. Кстати, специально посмотрел - в сообщении об Обероне 07 только латиница. Сейчас конечно проверяю исходники на такие случаи анализатором. Но в критической ситуации уйдет много времени на поиск бага

Так как в Блэкбоксе статическая типизация, то вероятность такого бага стремится к нулю. А идентификаторы не только на кириллице, некоторые используют и математические символы.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 24 Апрель, 2019 16:23 
Аватара пользователя

Зарегистрирован: Пятница, 11 Май, 2007 21:57
Сообщения: 1488
Откуда: Украина, Киев
Иван Денисов писал(а):
Так как в Блэкбоксе статическая типизация, то вероятность такого бага стремится к нулю. А идентификаторы не только на кириллице, некоторые используют и математические символы.
В Delphi со статической типизацией тоже с таким сталкивался. Необходима и краткость синтаксиса языка и краткость словаря допустимых символов.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 24 Апрель, 2019 17:00 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
Ярослав Романченко писал(а):
Иван Денисов писал(а):
Так как в Блэкбоксе статическая типизация, то вероятность такого бага стремится к нулю. А идентификаторы не только на кириллице, некоторые используют и математические символы.
В 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, которая не поддерживает юникодные идентификаторы :)


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 77 ]  На страницу Пред.  1, 2, 3, 4

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2024, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB