Эти ПРЕОБРАЗОВЫВАЮТ () , функция может сделать это также, в зависимости от того, какой стиль Вы используете.
Cython на самом деле не является языком в общепринятом смысле этого слова. Это препроцессор для создания расширений Python, который использует синтаксис, подобный Python (на самом деле они стремятся к полной совместимости с Python) и создает код C (с использованием Python C API). При этом они могут включать некоторые оптимизации для особых случаев, но настоящие преимущества приходят, когда вы добавляете информацию статического типа, специфичную для Cython, которая включается в код C, минуя среду выполнения Python для этих операций и приводя к высокой скорости.
Go - это скомпилированный язык программирования. Первое, что можно сделать в Go, - это создать исполняемый файл, который не включает среду выполнения Python / запустить интерпретатор Python - в Cython это невозможно. (Может быть технически невозможно - но на самом деле нет смысла использовать Cython, если вы не работаете с Python). Поскольку Cython просто создает C, большинство ваших вопросов в комментарии на самом деле не применимы - вы можете использовать любой отладчик C (хотя тот факт, что расширение Python делает ситуацию немного сложнее).
Отличия? Практически все!
Моя основная причина попробовать go - это предполагаемая простота внедрения параллелизма в программы. Я думаю, что это будет «следующая большая вещь», поскольку скорость процессоров будет падать, и все больше будет доступно несколько ядер. Если вы хотите использовать многоядерные процессоры, вам нужно написать свою программу так, чтобы она могла запускать вещи одновременно.
Я ранее смотрел на Erlang, но, несмотря на то, что я использовал Prolog, я все еще нахожу его немного странным; он настолько отличается от вашего «среднего» языка программирования (из семейства C или Pascal). Но его функции параллелизма просты в использовании, как только вы освоите их. С очень небольшими усилиями мне удалось написать параллельный синтаксический анализатор, который не использует стек, но порождает новый «поток / процесс» каждый раз, когда было несколько вариантов.
Пока что все выглядит неплохо, несмотря на некоторые незначительные несоответствия. И это также быстро, что является преимуществом.
Так что, если Cython не упрощает параллелизм, я бы предпочел пойти ...