Здравствуйте, F3V, Вы писали:
F3V>Для чистоты нужно заменить точку с запятой на точку, точку на запятую, запятую на точку с запятой и разрешить пробелы в идентификаторах.
Здравствуйте, Pzz, Вы писали:
Pzz>>>На Go есть смысл ссылаться потому, что это не какой-то там еще один язык программирования, а, в определенном смысле, работа над ошибками в языке Си.
M>>Точно? А мне казалось, что какая-то херота типа питона
Pzz>Ты ошибался. Go сделали те же люди, что сделали UNIX, C, Plan9, ...
И что? Что мешает гошке быть херотой типа питона, кроме громких имён основателей?
Pzz>И видно, что он сделан в том же комплексе идей.
Здравствуйте, Pzz, Вы писали:
Pzz>И восклицательные знаки там, где надо выругаться.
Если сильно перестраивать грамматику, то следует быть более радикальным:
нужно чтобы документация не расходилась с кодом,
а потому код должен быть на языке документации.
Здравствуйте, F3V, Вы писали:
F3V>Для чистоты нужно заменить точку с запятой на точку, точку на запятую, запятую на точку с запятой и разрешить пробелы в идентификаторах.
Также однозначно необходима полная поддержка юникода, особенно в части пробельных символов
Здравствуйте, Pzz, Вы писали:
F3V>>Для чистоты нужно заменить точку с запятой на точку, точку на запятую, запятую на точку с запятой и разрешить пробелы в идентификаторах.
Pzz>И восклицательные знаки там, где надо выругаться.
Ну, "!!!" для ошибки времени канпеляции нормас вполне
Здравствуйте, Marty, Вы писали:
F3V>>Для чистоты нужно заменить точку с запятой на точку, точку на запятую, запятую на точку с запятой и разрешить пробелы в идентификаторах.
M>Также однозначно необходима полная поддержка юникода, особенно в части пробельных символов
Конечно. Потом понадобятся ещё и полиморфные слова в идентификаторах.
Здравствуйте, F3V, Вы писали:
F3V>>>Для чистоты нужно заменить точку с запятой на точку, точку на запятую, запятую на точку с запятой и разрешить пробелы в идентификаторах.
M>>Также однозначно необходима полная поддержка юникода, особенно в части пробельных символов
F3V>Конечно. Потом понадобятся ещё и полиморфные слова в идентификаторах.
Здравствуйте, Marty, Вы писали:
M>>>Также однозначно необходима полная поддержка юникода, особенно в части пробельных символов
F3V>>Конечно. Потом понадобятся ещё и полиморфные слова в идентификаторах.
M>composed/precomposed символы, без них никак
Если лексерный уровень может делать тоже, что и синтаксический, ведь это может быть один и тот же движок с точностью до обрабатываемых сущностей, то то и другое получится сразу.
Здравствуйте, F3V, Вы писали:
F3V>>>Конечно. Потом понадобятся ещё и полиморфные слова в идентификаторах.
M>>composed/precomposed символы, без них никак
F3V>Если лексерный уровень может делать тоже, что и синтаксический, ведь это может быть один и тот же движок с точностью до обрабатываемых сущностей, то то и другое получится сразу.
Нет проблем. Ой, есть. Я хочу написать вызов my_cool_💩_func_с_пробелами. Я не знаю, какую говняшку вставить, говняшек же очень много сортов
Здравствуйте, Marty, Вы писали:
F3V>>>>Конечно. Потом понадобятся ещё и полиморфные слова в идентификаторах.
M>>>composed/precomposed символы, без них никак
F3V>>Если лексерный уровень может делать тоже, что и синтаксический, ведь это может быть один и тот же движок с точностью до обрабатываемых сущностей, то то и другое получится сразу.
M>Нет проблем. Ой, есть. ... очень много сортов
Здравствуйте, Marty, Вы писали:
Pzz>>Ты ошибался. Go сделали те же люди, что сделали UNIX, C, Plan9, ...
M>И что? Что мешает гошке быть херотой типа питона, кроме громких имён основателей?
Ну, гошка не очень похожа на питон. Некоторые вещи там, совершенно очевидные сишнику, я не уверен, что питонист их вообще поймёт.
Например, в Go очень популярная штука — слайс. Они там почти всегда используются вместо массивов. Слайс — это срез с массива, их можно субслайсить, дописывать им в хвост (что может привести или не привести к реаллокации, в зависимости от наличия места в конце) и т.п. По природе своей они reference (в Go, как и в C, параметры всегда передаются по значению, но само значение может иметь семантику указателя на объект).
Так вот, субслайсы с одного массива, у них память-то общая. Но если дописывать в хвост, может случиться realloc, и тогда память разделится.
Или, например, из слайса легко сделать очередь. Push — дописываем в хвост, Pop — берём первый элемент и субслайсим остаток без первого элемента. Но только если так делать, занимаемая такой очередью память будет расти до бесконечности. Pop не освобождает первый элемент.
Как сишнику, мне это понятно и комфортно. Но вот питонист, боюсь, на этом свихнётся, если наткнётся.
Кстати, говорят, про это любят спрашивать на собеседованиях. Вероятно, народ массово на этом расшибает себе нос.
Pzz>>И видно, что он сделан в том же комплексе идей.
M>идеи, кк говорится, ничто, реализация — всё
Пайк высказывался где-то, что Go задумывался с мыслью привлечь сишников и плюсовиков, но на удивление, набежало много питонистов.
Здравствуйте, F3V, Вы писали:
Pzz>>И восклицательные знаки там, где надо выругаться.
F3V>Если сильно перестраивать грамматику, то следует быть более радикальным: F3V>нужно чтобы документация не расходилась с кодом, F3V>а потому код должен быть на языке документации.
Здравствуйте, Pzz, Вы писали:
M>>И что? Что мешает гошке быть херотой типа питона, кроме громких имён основателей?
Pzz>Ну, гошка не очень похожа на питон. Некоторые вещи там, совершенно очевидные сишнику, я не уверен, что питонист их вообще поймёт.
Что видел — питон один в один
Pzz>Например, в Go очень популярная штука — слайс. Они там почти всегда используются вместо массивов. Слайс — это срез с массива, их можно субслайсить, дописывать им в хвост (что может привести или не привести к реаллокации, в зависимости от наличия места в конце) и т.п. По природе своей они reference (в Go, как и в C, параметры всегда передаются по значению, но само значение может иметь семантику указателя на объект).
Не очень понятно, в питоне слайсы норм вроде
Pzz>Так вот, субслайсы с одного массива, у них память-то общая. Но если дописывать в хвост, может случиться realloc, и тогда память разделится.
Бывает, и чо?
Pzz>Или, например, из слайса легко сделать очередь. Push — дописываем в хвост, Pop — берём первый элемент и субслайсим остаток без первого элемента. Но только если так делать, занимаемая такой очередью память будет расти до бесконечности. Pop не освобождает первый элемент.
Андерлай контейнер меняется или нет? Если не меняется, то что меняется от синт сахара? Если меняется, то сколько это стоит?
Pzz>Как сишнику, мне это понятно и комфортно. Но вот питонист, боюсь, на этом свихнётся, если наткнётся.
Синтаксис, приятный и удобный, но делающй что-то другое — зло
Pzz>Кстати, говорят, про это любят спрашивать на собеседованиях. Вероятно, народ массово на этом расшибает себе нос.
Pzz>>>И видно, что он сделан в том же комплексе идей.
M>>идеи, кк говорится, ничто, реализация — всё
Pzz>Пайк высказывался где-то, что Go задумывался с мыслью привлечь сишников и плюсовиков, но на удивление, набежало много питонистов.
Ну да, потому что нормального языка не получилось, и недоделанные понабежали с разных сторон
Здравствуйте, Pzz, Вы писали:
F3V>>нужно чтобы документация не расходилась с кодом, F3V>>а потому код должен быть на языке документации.
Pzz>Такой язык называется COBOL
Здравствуйте, F3V, Вы писали:
Pzz>>Такой язык называется COBOL
F3V>А должен быть великий и могучий.
КОБОЛ был и на великом и могучем. Но читать его было не так удобно, как оригинал. Из-за падежных окончаний. Деталей не помню, мне больше с оригинальным дело иметь пришлось.
Здравствуйте, Shmj, Вы писали:
S>Kotlin посягнули на святое — сделали ";" не обязательной и даже не рекомендуемой, кода и так понятно что там должна стоять ; Якобы для чистоты кода.
S>Т.е. можно так:
S>
S>val a = 5;
S>val b = 10;
S>println(a + b);
S>
S>А можно и так:
S>
S>val a = 5
S>val b = 10
S>println(a + b)
S>
S>- компилятор не будет ругаться.
S>А вот тут уже обязательно:
S>
S>val a = 5; val b = 10; println(a + b)
S>
S>Т.е. по идее то же самое можно сделать для большинства других языков без особых доработок компилятора. Но стало ли чище?
S>Как вам идея?
Здравствуйте, Qulac, Вы писали:
Q>Как без запяточки написать пустой оператор?
Так ее же не отменили — а просто там где компилятор и так может ее добавить — не нужно писать вручную. Там где компилятор не может достоверно определить — ; остается.