powered by simpleCommunicator - 2.0.37     © 2025 Programmizd 02
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Правила хорошего COSa
25 сообщений из 55, страница 2 из 3
Правила хорошего COSa
    #39129421
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
doublefintЧто слышно насчет нового языка ( js )?Самим нужно делать, иначе никак
...
Рейтинг: 0 / 0
Правила хорошего COSa
    #39129605
Шваров Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Timur SafinЯ не понял чем чревато? (Пример был дан с if-ом старой формации, тогда как Женя говорил про ненужность ключевого слова if и do для парсинга присвоения и вызова функции при LL(n) грамматике)

Только я говорил не об if и do, а про set и do. Что, без if тоже можно обойтись? )
...
Рейтинг: 0 / 0
Правила хорошего COSa
    #39129674
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Помнится, была в M-Computing статья Винфреда Герума, известного в 90-е мампсиста, о том, что для написания кода достаточно одной команды Quit . С примерами.
Надо будет поискать, может, оригинал сохранился.
...
Рейтинг: 0 / 0
Правила хорошего COSa
    #39129816
Шваров Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
doublefintПолные имена команд в mandatory... Кто-то будет икать. Долго :)

Вместо лаконичного и стремительного М - многословный COS с вшитым UpperCase

UpperCase-то зачем? )

Вообще, по большому счету это вопрос бьютифаера перед коммитом. И симметричного "обфускатора" при чекауте ;)
...
Рейтинг: 0 / 0
Правила хорошего COSa
    #39129820
Шваров Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
doublefintTimur SafinЯ не понял чем чревато?Тем, что если упразднить set, надо будет как-то разделять оператор присваивания от оператора сравнения
Код: plaintext
1.
2.
if ( var = ..someMethod() ){ ;Присвоили и проверили, или сравнили
 // 
}


== вместо =
?
...
Рейтинг: 0 / 0
Правила хорошего COSa
    #39129835
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что-то обсуждения правил написания кода, начинает скатываться в изобретение нового языка, а иначе это не назовешь, ну точно не развитие M
...
Рейтинг: 0 / 0
Правила хорошего COSa
    #39129860
doublefint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тимур Сафинлюбому новичку со средним бекграундом с ... другой язык тогда еще и скобки в математических выражениях x + y * z

Шваров ЕвгенийЧто, без if тоже можно обойтись? )постусловия же ;)

Шваров ЕвгенийUpperCase-то зачем? ) %UnitTest , %Zen , ZenMojo

Шваров ЕвгенийВообще, по большому счету это вопрос бьютифаера перед коммитом.Полностью согласен, но беглым поиском по пакету %Studio ничего похожего не нашел.
...
Рейтинг: 0 / 0
Правила хорошего COSa
    #39129865
doublefint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Шваров Евгений== вместо = ? Совместимость? ИнтерСистемс известна своим бережным отношением к старым мампсерам и стандартам программному коду, написанному десятилетия тому назад :)
...
Рейтинг: 0 / 0
Правила хорошего COSa
    #39129874
doublefint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Шваров Евгений== вместо =
И потом, как в соседней вселенной JS, надо будет вводить тождественность
if ( 3 == "3" ){ /* some code */ }
...
Рейтинг: 0 / 0
Правила хорошего COSa
    #39129896
Шваров Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
doublefintШваров Евгений== вместо =
И потом, как в соседней вселенной JS, надо будет вводить тождественность
if ( 3 == "3" ){ /* some code */ }
Как сказал Daimor уже - это обсуждение чего-то нового и не факт, что осуществимого ;)

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

Предложения принимаются (и подаются чуть-ли не каждый день).
...
Рейтинг: 0 / 0
Правила хорошего COSa
    #39129921
doublefint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Шваров Евгений, так нет возражений, стандарты это хорошо ( всячески поддерживаю, давно пора ... )

Только дайте API не обязывайте соблюдать их в ручном режиме ради маловероятных сценариев

ничего не подозревающий программист на любом другом языке окажется в нашей вселенной и мозг у него взорвется именно от s,d,Q,w,k,m,h, а не от ##class, #define, $$$, %New, %, ^, "множественного" хранимого наследования, и т.д. .
...
Рейтинг: 0 / 0
Правила хорошего COSa
    #39130750
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Правила хорошего COSa
    #39136340
Шваров Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот в том же репозитории появился на мой взгляд весьма полезный документ.
Cheat sheet (шпаргалка) по COS командам.
...
Рейтинг: 0 / 0
Правила хорошего COSa
    #39136551
Шваров Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey MaslovПомнится, была в M-Computing статья Винфреда Герума, известного в 90-е мампсиста, о том, что для написания кода достаточно одной команды Quit . С примерами.
Надо будет поискать, может, оригинал сохранился.
Я еще помню был пример строки на COS, где используются все буквы алфавита по очереди. И эта строка работает.
...
Рейтинг: 0 / 0
Правила хорошего COSa
    #39136577
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Шваров ЕвгенийЯ еще помню был пример строки на COS, где используются все буквы алфавита по очереди. И эта строка работает.
Код: plaintext
1.
A  B:C  D E F G=H:I:J K:L M N O,P Q:R  S T=UVW X YZ
E
...
Рейтинг: 0 / 0
Правила хорошего COSa
    #39136592
Шваров Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DAiMorШваров ЕвгенийЯ еще помню был пример строки на COS, где используются все буквы алфавита по очереди. И эта строка работает.
Код: plaintext
1.
A  B:C  D E F G=H:I:J K:L M N O,P Q:R  S T=UVW X YZ
E

Вот да! :)
...
Рейтинг: 0 / 0
Правила хорошего COSa
    #39165104
doublefint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Шваров ЕвгенийUpperCase-то зачем? )
Хм. Из статьи про JSON в 2016.1 - "системные" методы:
Код: plaintext
1.
2.
3.
4.
 set object = ##class(%Object).$new()
 ...
 do ##class(%AbstractObject).$fromJSON( jsonstr )
 ...
 write oJSON.$size()
Консистентненько. Вангую шквал эмоций от новичков COS и не только :)
...
Рейтинг: 0 / 0
Правила хорошего COSa
    #39165642
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
doublefint ,

Можно и покороче:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
set object = ##class(%Object).$new()
set object = {}

set object = ##class(%Array).$new()
set object = []

s jsonstr="[1,2,3,{""a"":1}]"
s oJSON = ##class(%AbstractObject).$fromJSON(jsonstr)
s oJSON = ({}).$fromJSON(jsonstr)
w oJSON.$size()
                    
...
Рейтинг: 0 / 0
Правила хорошего COSa
    #39166157
Timur Safin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
doublefint,

Если cчитать $ как "Uppercase S" то вполне CamelCase получается! :)
...
Рейтинг: 0 / 0
Правила хорошего COSa
    #39169559
doublefint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
servitМожно и покороче:
s jsonstr="[1,2,3,{""a"":1}]"
s oJSON = ({}).$fromJSON(jsonstr) что, легко превращается в
Код: plaintext
1.
2.
#define json(%jsonstr) ({}).$fromJSON(%jsonstr)

 s obj = $$$json("[1,2,3,{""a"":1}]") ; еще бы избавиться от четверных и т.д. кавычек
Timur SafinЕсли cчитать $ как "Uppercase S"Обычно основной упрек к наше-всё-COSу звучит как - "слишком много спец-символов" - %#$^@.
Но ведь $ много не бывает, они даже лучше чем % :)
...
Рейтинг: 0 / 0
Правила хорошего COSa
    #39169580
AlexKB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
doublefintНо ведь $ много не бываетМУДРЫЕ СЛОВА!!!
...
Рейтинг: 0 / 0
Правила хорошего COSa
    #39170204
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
doublefint,

у меня к $$$ отвращение, $$ воспринимаю как необходимое зло, $ - нормально.
Как-то странно для множества различных конструкций использовать один и тот же символ.
Давайте продолжим и заменим
+ на $$$$
- на $$$$$
* на $$$$$$
/ на $$$$$$$
= $$$$$$$$
и получим не 1+1*2=4, а 1 $$$$ 1 $$$$$$ 2 $$$$$$$$ 4
...
Рейтинг: 0 / 0
Правила хорошего COSa
    #39170638
doublefint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блок А.Н., я надеялся на то, что в моем сообщении явно читается сарказм и раздражение.
Имхо, символ $ хуже визуально отделяется от текста, чем %.
Добавление к пафосно-многословному obj.%CamelCaseStyle js-подобного obj.$lowerCase, можно было бы заменить указанием какого-нибудь параметра к методу, например [ System = 1 ].
А так получается какой-то 1337 язык программирования.

P.S.
Вот интересно, динамические объекты у нас уже есть
Код: plaintext
s obj = $$$json("{ ""name"": ""COS"" }")
, сколько осталось ждать функций высшего порядка? ;)
...
Рейтинг: 0 / 0
Правила хорошего COSa
    #39170746
Шваров Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
doublefintБлок А.Н., я надеялся на то, что в моем сообщении явно читается сарказм и раздражение.
Имхо, символ $ хуже визуально отделяется от текста, чем %.
Добавление к пафосно-многословному obj.%CamelCaseStyle js-подобного obj.$lowerCase, можно было бы заменить указанием какого-нибудь параметра к методу, например [ System = 1 ].
А так получается какой-то 1337 язык программирования.

P.S.
Вот интересно, динамические объекты у нас уже есть
Код: plaintext
s obj = $$$json("{ ""name"": ""COS"" }")
, сколько осталось ждать функций высшего порядка? ;)Эх, эти бы комментарии вот сюда ?
Задать вопрос непосредственно автору нововведения?
...
Рейтинг: 0 / 0
Правила хорошего COSa
    #39171146
doublefint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Шваров Евгений, там царит благожелательная и добродушная атмосфера.
Не хочется портить людям праздник некорректным поведением:
быстрый JSON?! только в 2016.2?! Да еще так мля, через ж... неудобно?
Ну если смогли внедрить конструкцию вида
Код: plaintext
({}).$fromJSON("{""name"":""COS""}")
, что же не доделать до
Код: plaintext
s obj = ({"name":"COS"})
без этих сладких двойных двойных кавычек и .$lowerCase
;)
...
Рейтинг: 0 / 0
25 сообщений из 55, страница 2 из 3
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Правила хорошего COSa
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]