Рубрики
Без рубрики

Язык Перегринового программирования – питонный язык, который так же быстро, как C.

Привет, ребята! Я Итан, я один из 10 разработчиков -пегринов. Этот пост будет о некоторых обновлениях … Tagged с ShowDev, Python, Programming, c.

Привет, ребята!

Я Итан, я один из 10 разработчиков -пегринов. Этот пост посвящен некоторым обновлениям, которые мы добавили в перегрин в последнее время.

О

Если вы знаете Python, вы знаете, насколько он легко. Тем не менее, это также поставляется с большим понижением. Python медленный, и я уверен, что каждый разработчик Python уже знает это. Это немного раздражает. Вот куда входит пегрин. Я и 8 других друзей работали над Перегрином в течение последних нескольких месяцев. Синтаксис Pergines очень похож на Python’s, и он транскомпилируется к C, что делает его таким же быстрым, как C. Ниже я написал 2 программы, одну в Peregrine и одну в Python.

Перегрин

def fib(int n) -> int :
    if n <= 0:
        return 1
    return fib(n-1) + fib(n-2)

def main():
    count = 0 # Peregrine has type inference!
    int res = 0

    while count < 40:
        res = fib(count)
        count++

Типы возврата функции могут быть опущены.

Питон

def fib(n):
    if n <= 0:
        return 1
    return fib(n-1) + fib(n-2)

res = 0
for c in range(0, 40):
    res = fib(c)

Эти две программы почти одинаковы, что позволяет пользователям Python так легко переключаться. Теперь вы можете спросить: «Насколько быстрее у перогрина?» Что ж, чтобы ответить на ваш вопрос, вот результаты:

Перегрин:

Выполнено в: 1,06 сек

Python:

Выполнено в: 32,30 сек

Как вы можете видеть, перегрин значительно быстрее, чем Python. Он примерно в 30 раз быстрее, чем Python, без оптимизации при запуске этой программы.

Какие новости?

Вот некоторые из новейших функций Peregrine:

Тип вывод

Тип вывод является одной из новейших функций Pergrine. Это позволяет писать код перосана с простотой.

Если/else/match

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

Новые функции

Давайте поговорим больше о функциях, которые в настоящее время доступны в Peregrine.

CCODE

CCODE Позволяет запускать код C в перегрине. Вот пример:

def main():
    x = 1
    Ccode x++; Ccode
    print("{x}\n") # prints 2

Как видите, любые переменные, объявленные вне Код Блок можно использовать внутри CCODE и наоборот. Это также означает, что вы можете импортировать любую библиотеку C через CCODE и используйте его в перегрине.

Встроенная сборка

Вы также можете иметь встроенную сборку в перегрине. Вот пример:

def main():
    int arg1 = 45
    int arg2 = 50
    int add = 0
    print("It should add 45 and 50 using asm and print it\n")
    asm("addl %%ebx, %%eax;" : "=a" (add) : "a" (arg1) , "b" (arg2))
    printf("%lld", add)

Это отпечатки 90 , как и ожидалось.

Более

Вы можете найти еще несколько примеров в Перегриновая тестовая папка

Запланированные функции

  • Структуры
  • Больше декораторов для разных целей
  • Питона экосистема в перогрине
    • Вы сможете использовать любой модуль Python в перогрине

Вывод

Перегрин планируется выпустить версию 0.0.1 где -то в марте, так что сделайте так, чтобы показать некоторую поддержку, в которой снялись в главной роли Репо И обязательно нажмите кнопку «Смотреть», чтобы не пропустить никаких обновлений.

Мы очень ценим любой вклад, поэтому, если вы найдете что-то, что можете улучшить, откройте запрос! Вы также можете проверить наш открытые вопросы

Спасибо за прочтение!

Оригинал: “https://dev.to/ethanolchik/the-swallow-programming-language-a-python-like-language-that-s-as-fast-as-c-43j7”