All streams
Search
Write a publication
Pull to refresh
-1
0

Пользователь

Send message
Ну во FreePascal это возможно, но только вроде как для пользовательских типов.
Так не пишите простыни, со скобками тоже не сразу понятно в каком блоке находишся, например:
            }
          }
        }
        doSomething();
      }
    }
  }
  return x;
}

Тут помогает только подсветка скобочек в редакторе или свёртка блоков кода, что и с питонокодом работает. Так что проблема надуманная.
Раз вы так любите спецсимволы и смыслоёмкие конструкции, ни в коем случае не учите J, а то без работы останетесь ;)
dict.get не для проверки наличия ключа, значение по-умолчанию позволяет в некоторых случаях делать меньше проверок, например:
print(key, myDict.get(key, "N/A"), sep = ': ')
Попробуйте перейти с ed (или что у вас там?) на какую-нибудь современную иде. Они делают отступы автоматически. Вам понравится, я гарантирую!
Что-то вспомнился баян:
#define true false

Видимо, тоже военными придуман ;D
С динамической типизацией тип параметров заранее может быть не известен же.
Просвятите, какая необходимость иметь в вашем языке оператор ==?
Это позволяет избежать лишних проверок типов руками. Обычное дело для функций, принимающих параметры различного типа.
Из программы на питоне можно получить .pyc файл. И при этом ни строчки из этой программы не исполнить.
Во-первых, компилятор не обязательно генерирует объектный файл, он может генерировать и файл с байт-кодом, или сразу исполняемый файл, или вообще простой бинарный файл являющийся сырым образом программы и её данных (ещё возможен вариант генерации программы на другом языке, но это принято называть транспилером).
Во-вторых, компилятор может вообще не генерировать никаких файлов, а компилировать программу в памяти, снаружи он будет подобен интерпретатору, но компилятором от этого быть не перестанет.

если вы запакуете виртуальную машину и байт-код в один файл, то это все равно не будет скомпилированной программой

Здрасьте, а байткод откуда взялся, если не был скомпилирован?

Я бы называл питон компилируемым в байт-код. Но да, сам байткод при этом интерпретируется (как и машинный код).
А это чьи слова:
Байт-код все равно исполняется виртуальной машиной.

И это в ответ на утверждение, что питон компилируется. Из контекста я понял, что вы считаете его интерпретируемым. Или я ошибаюсь?
Ваше === — это костыль для замены == с его глупым поведением.
аннотаций для функционального программирования

Вы мне лучше скажите, какая аннотация должна быть у функции, принимающей совпадение по регулярке (тип _sre.SRE_Match)?
Потому что это осмысленная операция, и, в отличие от всяких JS и PHP, питон не будет пытаться привести их к одному типу, т.е. для разных типов всегда будет False.
Не называется, но если следовать логике lorc (при которой если язык компилируется в нечто, что далее интерпретируется, то сам язык считается интерпретируемым), все языки можно назвать интерпретируемыми.
статическую проверку типов в рантайм

Статическая проверка не может быть в рантайме, она выполняется на этапе компиляции, проверки в рантайме называются динамическими.

Если нужна строгая типизация можно просто взять другой язык

Типизация в питоне, кстати, строже чем в большинстве скриптовых. Хоть функции и принимают любые объекты, но вольностей, типа складывания строки с числом он не позволяет, и неявных приведений типов (как в js — лишь бы что-то выполнить) он не делает.
С такой логикой любой язык можно назвать интерпретируемым, ведь в конечном итоге всё интерпретируется процессором.
Ну хоть не NaN и то хорошо. В смысле, я имел ввиду undefined. То есть [object Object].

Да что ж такое!

Information

Rating
Does not participate
Location
Улан-Удэ, Бурятия, Россия
Registered
Activity