я могу вкрутить питону макросы, я только не понимаю что я буду сними делать?
Хотя бы для условной «компиляции». Да, всё это можно сделать и в динамике, но это ненужные тормоза. Да, я знаю что разрабы питона говорят что он «не для скорости». Это очень узкое и однобокое мышление. Тем более что есть pypy который как раз для скорости.
В данной вами последовательности нот, должна определенна тоника (переменная), за исключением какофонического приема. Как следствие вытекают и другие переменные. А где что образуется, это по усмотрению гармонической мысли автора. Нотная запись обязывает автора, знать нотную грамоту, не исключая музыкальную гармонию. Что само за себя говорит, о присутствии переменной.
Бред целиком. Музыкальная гармония в современном виде не является частью нотной записи. Нотная запись может быть использована и для других гармоний, в которых понятия субдоминанты, например, может не существовать вовсе. Это не переменные, это часть формы, авторской задумки.
Создателей питона за одно разделение на изменяемые/
неизменяемые объекты уже
прокляло 100500 кодеров.
По счастью, помимо кодеров еще есть и программисты, которым норм.
Всегда думал, что строки, например, неизменяемые для скорости операций с ними. Питон интерпретатор - итак априори не эталон экономичности, двадцать лет назад, наверное, над такими вопросами больше задумывались.
А кортежи и списки, к примеру.
Давеча в твиттере Дэвид Бизли, автор нескольких книг по питону, например, такое разделение привел: списки как правило гомогенны, то есть содержат однотипные объекты, которые удобно обрабатывать одним скопом или производить какие-то выборки, а кортежи это структуры данных, которые больше предназначены для хранения разнотипных объектов. По мне, вполне логично и здраво.
Семантически строка — последовательность любых символов. Можно научить компилятор смотреть на эту строку и ругаться, мол, зачем открывающую скобку перегружаете, но не лучше ли сразу этого не допускать?
В С++ ты сам решаешь что изменяемо а что нет, в питоне за тебя решает питон. В С++ ты получаешь ошибку при попытке изменить константный объект. В питоне как правило оно работает, просто по разному.
Добавьте сюда еще фигню с дефолтными значениями аргументов функцмй
Что это? Синтаксически допускается: в строке может быть что угодно. Но семантически не позволяется, поскольку это "что угодно" отдельным шагом валидируется. Это не большой грех, но нелогичность.
В haskell в этом смысле всё логично: как оператор используется, так и определяется.
Это слово «нет». Его значение можно посмотреть в словаре.
Синтаксически допускается:
Внезапно, в любом языке можно написать синтаксически корректную программу, которая будет отвергнута компилятором.
в строке может быть что угодно
Это не строка, а экранированная лексема оператора; в строке может быть не что угодно - транслятор имеет право проверять строковые литералы (и как минимум трансляторы Python и Си проверяют).
ну следующий шаг сделать все объекты мутабельными и все будет в шоколаде.
const a = 1 #константная ссылка
b = 1 # обычная сслыка, мутабельный объект
b := 2 # изменяем содержимое по ссылке b
c = const 1 # обычная сслыка, константный объект
да, я смотрел на него когда то... но мой следующий ЯП будет мой ЯП, который будет генерить код для крестов и питона. Если мне конечно будет свосем нечего делать;-)