Реализации Python.
Для экспериментов и обучения используйте реализацию CPython как наиболее зрелую и получившую широкую поддержку. Она существует дольше других, в то время как Jython, IronPython и РуРу являются более новыми реализациями и в меньшей степени проявили себя.
Для научных математических вычислений, а так же для экспериментов с машинным обучением, искусственным интеллектом и в сфере компьютерного зрения рекомендуется использовать пакет Anaconda, так как он включает в себя все, уже скомпилированные, необходимые для названных целей пакеты и инструменты.
Приложение, созданное с помощью Jython, является полноценным Jаvа приложением со всеми свойственными Java преимуществами и недостатками развертывания и выполняется на любой целевой машине с подходящей JVM. Точно так же приложение, созданное с помощью IronPython, полностью совместимо со спецификациями .NЕТ. РуРу, благодаря JIТ-компиляции в машинный код, зачастую обеспечивает большее быстродействие чем реализация CPython и совместима с большинством стандартных библиотек CPython.
Dynamo KhM #10. Скрипты на языке IronPython
На сайте docs-python.ru говориться о CPython, как о наиболее широко используемой реализации.
CPython
CPython классическая реализация и часто называемая просто Python, ее можно считать «эталонной реализацией» языка. CPython включает компилятор, интерпретатор и набор встроенных модулей и дополнительных расширений, которые написаны на языке С.
CPython можно использовать на любой платформе, обеспечивающей работу компилятора языка С, т.е. на любой из современных популярных платформ. О том, как загрузить и установить CPython смотри раздел «Установка Python».
Jython
Jython это реализация Python на виртуальной машине Java (JVM). Аналогично IronPython, код, выполняемый в Jython, может взаимодействовать с классами и библиотеками Java, но не может использовать многие библиотеки, предназначенные для CPython.
Jython поддерживает пока только версию v2. Работая на Jython, вы сможете использовать все библиотеки и фреймворки Java. Оптимальное использование Jython требует знакомства с основными классами Java. Вам не придется писать код на Java, но документация и примеры для библиотек реализованы в терминах Java, по этому, Jаvа-классы не должны быть для вас чем-то новым. Чтобы освоить Jython, вам следует почитать книгу The Definitive Guide to Jython.
lronPython
IronPython это реализация .NET для Python (доступна 32- и 64-разрядная версия), обеспечивающая взаимодействие с C#, F# и Visual Basic, доступ к API-интерфейсам .NET, стандартную отладку Python (но не отладку в смешанном режиме C++) и отладку в смешанном режиме IronPython и C#. Однако IronPython не поддерживает виртуальные среды.
С IronPython можно использовать все библиотеки и фреймворки CLR. Существует кросс-платформенная реализация CLR, известная под названием Mono (www.mono-project.com) которая работает под управлением других операционных систем. Оптимальное использование IronPython требует знакомства с основными библиотеками CLR. Вам не придется писать код на С#, но документация и примеры для библиотек реализованы в терминах С#, по этому, язык С# не должен быть для вас чем-то новым. Чтобы использовать IronPython, вам следует обратиться к оригинальной онлайн-документацией IronPython.
14.3 Использование IronPython в .NET
РуРу
РуРу — это реализация JIT для Python с высокопроизводительной трассировкой, которая хорошо подходит для долго выполняющихся программ и ситуаций, когда вы обнаружили проблемы с производительностью, которые не удается устранить другими способами. Написана с использованием подмножества самого Python. Наибольшим достоинством РуРу является способность генерировать двоичный машинный код с помощью технологии JIT во время выполнения программы на Python.РуРу обеспечивает значительные преимущества в отношении быстродействия и управления памятью.
Также смотрите раздел «Установка и использование PyPy3».
Anaconda
Anaconda — дистрибутив языков программирования Python и R, включающий набор популярных свободных библиотек, объединённых проблематиками науки о данных и машинного обучения. Основная цель — поставка единым согласованным комплектом наиболее востребованных соответствующим кругом пользователей тематических модулей с разрешением возникающих зависимостей и конфликтов, которые неизбежны при неудачной установке . По состоянию на 2020 год содержит более 1,6 тыс. модулей.
Предназначена в основном для:
- Разработки и обучения моделей машинного обучения и глубокого обучения с помощью scikit-learn , TensorFlow и Theano.
- Анализа больших данных с большой производительностью и последующим масштабированием с помощью пакетов Dask , NumPy , pandas и Numba.
- Визуализации результатов с помощью Matplotlib , Bokeh , Datashader и Holoviews.
Основная особенность дистрибутива — оригинальный менеджер разрешения зависимостей conda с графическим интерфейсом Anaconda Navigator, что позволяет отказаться от стандартных менеджеров пакетов (таких, как pip для Python). Дистрибутив скачивается единожды, и вся последующая конфигурация, в том числе установка дополнительных модулей, может проводится в офлайне. Кроме того, обеспечивается возможность ведения нескольких изолированных сред с раздельным разрешением версионных зависимостей в каждой.
Поддерживаются платформы Linux (x86-64), Windows (i686, x86-64), macOS
- ОБЗОРНАЯ СТРАНИЦА РАЗДЕЛА
- Плюсы языка Python.
- Минусы языка Python.
- Самая простая программа на Python.
- Что нужно, чтобы выучить Python.
- Реализации Python.
- Философия (Дзен) языка Python.
Источник: docs-python.ru
IronPython: что это за программа? Установка, настройка и описание
IronPython — это своего рода реплика языка программирования Python, а точнее , его реализация, которая тесно связана с .NET Framework. IronPython использует библиотеки .NET Framework и библиотеки Python. В целом это отличное дополнение к .NET, позволяющее веб-разработчикам «Питона» пользоваться возможностями .NET Framework.
Это очень быстрый и выразительный способ программирования для выстраивания сценариев, тестирования и написания приложений с нуля.
Реализация IronPython происходит прямо поверх библиотек Dynamic Language Runtime (DLR), работающих поверх Common Language Infrastructure, которая , в свою очередь , отвечает за обеспеч ение динамической типизации, а также за отправку необходимых методов для используемого динамического языка.
DLR — это существенная часть .NET Framework 4.0 и Mono. Это стало возможным , уже начиная с релиза 2.4 2009 года. DLR также часто используется в качестве библиотек в наиболее « древних » реализациях CLI.
Характеристика IronPython по сравнению с CPython
Точные характеристики производительности IronPython, если сравнивать с CPython (это эталонная реализация языка программирования Python), будут зависеть от конкретного использования конкретного синтаксиса. В целом IronPython по производительности чуть хуже, чем CPython. Это доказано большим количеством тестов, сделанных с использованием скрипта PyStone.
IronPython в принципе может повысить свою производительность в программах на языке Python, которые используют потоки в несколько ядер , п отому что он сам использует JIT и не имеет Global Interpreter Lock (GIL) механизма. Этот механизм в основном используется в некоторых интерпретаторах программного языка, чтобы синхронизировать выполнение потоков. Интерпретатор, который использует GIL, всегда может выполнить только один поток за раз, даже если поток данных выполняется на многоядерном процессоре. Н екоторые популярные интерпретаторы с GIL — это CPython и Ruby MRI.
Установка Iron P ython
В целом установка Iron P ython — дело не хитрое. Будут небольшие различия в зависимости от того, какую операционную систему вы используете.
Установка Iron P ython в Linux
- Нужно добавить репозиторий Mono в вашу систему; для этого посетите сайт mono-project.com и выберете версию сво ей операционной системы.
- Установите Mono; это можно сделать в магазине приложений или в терминале , набрав: «$ sudo apt install mono-devel»;
- Установите Numerics; это также можно сделать через терминал: «$ sudo apt install libmono-system-numerics4.0-cil»;
- Наслаждайтесь работой, если все сделали правильно.
Установка Iron P ython MacOS
- Перейдите на сайт mono-project.com и загрузите и установите последнюю версию Mono;
- Загрузите последнюю версию IronPython. Найдите ее через поиск, но , как правило , загрузка происходит из github.com;
- Откройте терминал и введите команду «$ which ipy»;
- Пользуйтесь и наслаждайтесь работой.
Установка IronPython в Windows
- Найдите и установите через поиск IronPython; как правило , скачать его можно с сайта github.com;
- Пользуйтесь и наслаждайтесь программированием .
Так что это за программа IronPython, для чего использовать?
Программа IronPython — это динамический язык. А как известно , динамические языки очень удобны, если необходимо, к примеру, быстро разработать приложение. Быстрая разработка — это , соответственно , быстрый результат , п оэтому современные разработчики все больше и больше отдают предпочтение именно динамическим языкам, так как они избавляют от старых методик и рутины, а значит , позволяют сосредоточит ь ся на творческой составляющей своего проекта.
Использовать или нет IronPyt h on — зависит только от вашего желания и необходимости конкретно в этом языке.
Мы будем очень благодарны
если под понравившемся материалом Вы нажмёте одну из кнопок социальных сетей и поделитесь с друзьями.
Источник: codernet.ru
Ironpython что это за программа и нужна ли она
Одним из ключевых достоинств среды DLR является поддержка таких динамических языков как IronPython и IronRuby . Казалось бы, зачем нам нужны еще языки, тем более которые применяются в рамках другого языка C#?
На самом деле динамические языки, возможно, не часто используются, однако есть сферы, где их применение является целесообразным. Например, написание клиентских сценариев. Возможно, пользователь нашей программы захочет внести какое-то дополнительное поведение в программу и для этого может использоваться IronPython. Можно даже сказать, что создание клиентских сценариев широко распространено в наши дни, многие программы и даже игры поддерживают добавление клиентских сценариев, написанных на различных языках.
Кроме того, возможно, есть библиотеки на Python, функциональность которых может отсутствовать в .NET. И в этом случае опять же нам может помочь IronPython.
Рассмотрим на примере применение IronPython. Но для начала необходимо добавить в проект несколько пакетов через пакетный менеджер NuGet. Для того нажмем в окне проекта на узел Dependencies правой кнопкой мыши и выберем в появившемся списке пункт Manage NuGet Packages. (Управление NuGet-пакетами):
И перед нами откроется окно пакетного менеджера. Чтобы найти нужный пакет, введем в поле поиска «DLR», и менеджер отобразит ряд результатов, из которых первый — пакет DynamicLanguageRuntime необходимо установить.
После этого в проект в узел Dependencies добавляется библиотека Microsoft.Scripting .
Теперь также нам надо добавить пакет IronPython . Для этого введем в поле поиска «IronPython» и после этого установим одноименный пакет:
После установки пакета в узле Dependencies добавляется библиотека IronPython.
Теперь напишем примитивную программу:
using IronPython.Hosting; using Microsoft.Scripting.Hosting; ScriptEngine engine = Python.CreateEngine(); engine.Execute(«print(‘hello, world’)»);
hello, world
Здесь используется выражение print(‘hello, world’) языка Python, которое выводит на консоль строку. Для создания движка, выполняющего скрипт, применяется класс ScriptEngine . А его метод Execute() выполняет скрипт.
Мы также могли бы определить файл hello.py , то есть обычный текстовый файл с кодом на языке Python, со следующим содержимым:
print («hello, metanit.com»)
И запустить его в программе:
using IronPython.Hosting; using Microsoft.Scripting.Hosting; ScriptEngine engine = Python.CreateEngine(); engine.ExecuteFile(«hello.py»);
В данном случае предполагается, что скрипт находится в проекте:
Также можно использовать абсолютные пути, например, если скрипт располагается по пути «D://hello.py»:
ScriptEngine engine = Python.CreateEngine(); engine.ExecuteFile(«D://hello.py»);
ScriptScope
Объект ScriptScope позволяет взаимодействовать со скриптом, получая или устанавливая его переменные, получая ссылки на функции. Например, напишем простейший скрипт hello2.py , который использует переменные:
x = 10 z = x + y print(z)
Теперь напишем программу, которая будет взаимодействовать со скриптом:
using IronPython.Hosting; using Microsoft.Scripting.Hosting; int y = 22; ScriptEngine engine = Python.CreateEngine(); ScriptScope scope = engine.CreateScope(); scope.SetVariable(«y», y); engine.ExecuteFile(«hello.py», scope); dynamic x = scope.GetVariable(«x»); dynamic z = scope.GetVariable(«z»); Console.WriteLine($» + = «);
Объект ScriptScope с помощью метода SetVariable позволяет установить переменные в скрипте, а с помощью метода GetVariable() — получить их.
32 10 + 22 = 32
Вызов функций из IronPython
Определим в файле hello.py функцию для вычисления квадрата числа:
def square(n): return n * n
Теперь обратимся к этой функции в коде C#:
using IronPython.Hosting; using Microsoft.Scripting.Hosting; int number = 5; ScriptEngine engine = Python.CreateEngine(); ScriptScope scope = engine.CreateScope(); engine.ExecuteFile(«hello.py», scope); dynamic square = scope.GetVariable(«square»); // вызываем функцию и получаем результат dynamic result = square(number); Console.WriteLine(result); // 25
Получить объект функции можно также, как и переменную: scope.GetVariable(«square»); . Затем с этим объектом работаем также, как и с любым другим методом. В итоге при передаче в метод/функцию square числа 5 его результатом будет 25.
Источник: metanit.com
Основные реализации Python: характеристика и преимущества
В этой статье мы расскажем вам о CPython, Jython, IronPython, PyPy и Cython. Поговорим об их основных отличиях и преимуществах.
Область компьютерных наук является, пожалуй, самой популярной в наши дни. И она всё ещё продолжает расти и развиваться. То, что представляют из себя компьютерные науки сейчас, совсем не похоже на то, чем они были в самом начале. Благодаря Computer Science, теперь есть возможность создавать вещи, которые волшебным образом меняют жизни миллионов людей! Такой разительный прогресс позволил создать искусственный интеллект, глубокое обучение и многие другие концепции, которые раньше считались невозможными.
Языки программирования в целом являются одним из наиболее стремительно развивающихся элементов компьютерных наук. Но развиваются они неравномерно. Возьмем к примеру Python. Это высокоуровневый язык программирования, который очень вырос со времени своего выхода в свет и сейчас используется в самых разных сферах. В результате он выделяется даже на фоне других успешно развивающихся языков.
Стоит отметить, что сам по себе Python довольно многообразен и используется в различных реализациях. Это и будет темой нашей статьи: мы рассмотрим разные способы реализации этого языка, существующие на данный момент.
Основные реализации Python
Мы уже несколько раз использовали термин «реализация». Но что под этим подразумевается? Говоря о реализации, мы имеем в виду то, как был написан интерпретатор – какие языки были использованы и какова главная задача конкретно этого интерпретатора.
А теперь давайте разберем некоторые реализации Python.
1. CPython
CPython – это, по сути, дефолтный и наиболее распространенный интерпретатор (реализация) языка Python, написанный на C. Это изначальная версия языка, которую пользователи скачивают с официального сайта – Python.org.
Лучше всего CPython можно описать как некую смесь интерпретатора и компилятора, так как написанный вами код преобразуется в байт-код. Под байт-кодом мы понимаем программный код, который компилируется и преобразуется в низкоуровневый язык, который, в свою очередь, может быть использован как набор инструкций для интерпретатора. Именно этот байт-код и выполняется на виртуальной машине CPython.
Поскольку это «родная» реализация Python, CPython наиболее совместим с пакетами и модулями языка. Эта реализация будет наилучшим выбором, если вам нужно написать код, полностью соответствующий стандартам Python.
2) Jython
Jython – это ещё одна реализация Python. Она была написана на Java и работает на Java-платформах. Как и в CPython, исходный код конвертируется в байт-код – набор инструкций для интерпретатора. Jython работает на виртуальной машине, которая использует то же окружение, что и Java. Данная реализация обеспечивает удобную работу с Java-программами.
Вы легко сможете вызывать и использовать свои функции и классы Java непосредственно из Jython. Это дает пользователям Python доступ к огромнейшей экосистеме библиотек и фреймворков, имеющихся в Java. И наоборот.
3) IronPython
Если Jython был разработан для пользователей Java, то IronPython — популярная реализация, написанная на C#. Её разработали для работы на платформе .NET. Она создает мост во вселенную .NET, дающий пользователям Python доступ к функциям и классам C#, библиотекам и фреймворкам .NET прямо из IronPython. Данная реализация отлично подходит для многопоточных программ. Вы можете её найти на официальном сайте — ironpython.net.
4) PyPy
Эта реализация написана на самом Python и является альтернативой CPython. PyPy был написан с учетом всех особенностей языка Python, поэтому он наиболее совместим с CPython. Это позволяет запускать веб-фреймворки, такие как Django и Flask. PyPy использует концепцию JIT-компиляции (Just-in-time), которая позволяет компилировать исходный код прямо во время выполнения программы.
Это делает PyPy в несколько раз быстрее CPython. Многие пользователи последнего жаловались именно на низкую скорость выполнения. Таким образом, PyPy полностью улучшает эту часть CPython.
5) Cython
В отличие от других реализаций Python, упомянутых выше, Cython не является интерпретатором Python. Это, скорее, надмножество языка Python, которое дает возможность пользователям компилировать программы на языке C.
Вообще, объединенная мощь Python и C — самое потрясающее в Cython. Благодаря ей Cython можно использовать для написания расширений C, а также для преобразования Python-кода в C. Таким образом, Cython сохраняет удобство и комфорт, за которые все так любят Python, устраняя многие ограничения последнего.
Заключение
Python за годы своего активного развития очень расширился. Различные реализации этого языка удовлетворяют нужды разных пользователей. Если вы планируете писать код на Python на профессиональном уровне, высока вероятность, что со временем вы столкнетесь с несколькими из упомянутых реализаций. И когда это произойдет, нужно уметь распознать, с чем именно вы столкнулись, и почему для данного кода выбрана именно такая реализация Python.
Источник: pythonist.ru
IronPython — IronPython
Эта статья слишком полагается на Рекомендации к основные источники. Пожалуйста, улучшите это, добавив вторичные или третичные источники. ( Январь 2013 ) (Узнайте, как и когда удалить этот шаблон сообщения)
2.7.10 / 27 апреля 2020 г. ; 7 месяцев назад ( 2020-04-27 ) [2]
IronPython это реализация Язык программирования Python нацеленный на .NET Framework и Мононуклеоз. Джим Хугунин создал проект и активно участвовал в нем до версии 1.0, выпущенной 5 сентября 2006 года. [3] IronPython 2.0 был выпущен 10 декабря 2008 года. [4] После версии 1.0 он поддерживался небольшой командой в Microsoft до выпуска 2.7 Beta 1. Microsoft отказалась от IronPython (и его родственного проекта IronRuby ) в конце 2010 года, после чего Хугунин ушел работать в Google. [5] В настоящее время проект поддерживается группой волонтеров в г. GitHub. Это бесплатное программное обеспечение с открытым исходным кодом, которое может быть реализовано с помощью Python Tools для Visual Studio, которое является бесплатным расширением с открытым исходным кодом для Microsoft. Visual Studio IDE. [6] [7]
IronPython полностью написан на C #, хотя часть его кода автоматически генерируется генератор кода написано на Python.
IronPython реализован поверх Среда выполнения динамического языка (DLR), библиотека, работающая поверх Инфраструктура общего языка который обеспечивает динамическую типизацию и отправку динамических методов, среди прочего, для динамических языков. [8] DLR является частью .NET Framework 4.0, а также является частью Mono, начиная с версии 2.4 2009 года. [9] DLR также можно использовать в качестве библиотеки в более старых реализациях CLI.
- 1 Статус и дорожная карта
- 1.1 Отличия от CPython
Статус и дорожная карта
- Версия 2.0, выпущенная 10 декабря 2008 г. и обновленная до версии 2.0.3 23 октября 2009 г., нацелена на CPython 2.5. [10] IronPython 2.0.3 совместим только с .NET Framework 3.5.
- Версия 2.6, выпущенная 11 декабря 2009 г. и обновленная 12 апреля 2010 г., нацелена на CPython 2.6. [11] Версии IronPython 2.6.1 бинарно совместимы только с .NET Framework 4.0. IronPython 2.6.1 должен быть скомпилирован из исходных кодов для работы в .NET Framework 3.5. IronPython 2.6.2, выпущенный 21 октября 2010 г., двоично совместим как с .NET Framework 4.0, так и с .NET Framework 3.5.
- Релиз 2.7 был выпущен 12 марта 2011 г. и нацелен на CPython 2.7. [12]
- Версия 2.7.1 была выпущена 21 октября 2011 г. и ориентирована на CPython 2.7. [13]
- Выпуск 2.7.2.1 был выпущен 13 марта 2012 г. Он обеспечивает поддержку Формат файла ZIP библиотеки, SQLite, и скомпилированные исполняемые файлы. [14]
- Релиз 2.7.4 был выпущен 7 сентября 2013 г. [15]
- Выпуск 2.7.5 был выпущен 6 декабря 2014 г. и в основном содержит исправления ошибок. [16]
- Выпуск 2.7.6 был выпущен 21 августа 2016 г. и содержит только исправления ошибок. [17]
- Выпуск 2.7.7 был выпущен 7 декабря 2016 г. и содержит только исправления ошибок. [18]
- Выпуск 2.7.8 был выпущен 16 февраля 2018 г. и состоит из исправлений ошибок, реорганизованного кода и обновленной инфраструктуры тестирования (включая значительное тестирование на Linux под Мононуклеоз ). Это также первый выпуск, поддерживающий .NET Core. [19]
- Релиз 2.7.9 был выпущен 9 октября 2018 г. и состоит из исправлений ошибок и реорганизованного кода. Предполагается, что это будет последний выпуск перед IronPython 3. [2]
- Выпуск 2.7.10 был выпущен 27 апреля 2020 г. и добавляет поддержку .NET Core 3.1. [20]
Отличия от CPython
Эта секция нуждается в расширении. Вы можете помочь ( Июль 2012 г. )
Между эталонной реализацией Python CPython и IronPython есть некоторые различия. [21] Известно, что некоторые проекты, созданные на основе IronPython, не работают с CPython. [22] И наоборот, приложения CPython, которые зависят от расширений языка, реализованных на C, несовместимы с IronPython, [23] если они не реализованы в .NET-взаимодействии. Например, NumPy был упакован Microsoft в 2011 году, что позволило запускать код и библиотеки, зависящие от него, непосредственно из .NET Framework. [24]
Silverlight
IronPython поддерживается Silverlight (который не рекомендуется Microsoft и уже потерял поддержку в большинстве веб-браузеров, за исключением Internet Explorer 11, поддержка которого прекратится в октябре 2021 г. [25] ). Его можно использовать в качестве скриптового движка в браузере, как и JavaScript двигатель. [26] Скрипты IronPython передаются как простые клиентские скрипты JavaScript в -теги. Затем также можно изменить встроенный XAML разметка.
Технология, лежащая в основе этого, называется гештальт. [ нужна цитата ]
// Скрипт инициализации DLR.сценарий src=»http://gestalt.ironpython.net/dlr-latest.js» тип=»текст / javascript»>сценарий>// Клиентский скрипт передан в IronPython и Silverlight.сценарий тип=»текст / питон»> окно.Тревога(«Привет из Python»)сценарий>
То же самое работает для IronRuby.
Лицензия
До версии 0.6 IronPython выпускался на условиях Общая общественная лицензия. [27] После приема на работу руководителя проекта в августе 2004 г. IronPython стал доступен как часть Microsoft Общий источник инициатива. Эта лицензия не OSI -утверждено, но авторы утверждают, что он соответствует определению открытого исходного кода. [28] В альфа-версии 2.0 лицензия была изменена на Общественная лицензия Microsoft, [29] одобренные OSI. Последние версии выпускаются в соответствии с условиями Лицензия Apache 2.0.
Расширяемость интерфейса
Одним из ключевых преимуществ IronPython является его функция в качестве уровня расширяемости для платформ приложений, написанных на языке .NET. Относительно просто интегрировать интерпретатор IronPython в существующую платформу приложений .NET. После этого нижележащие разработчики могут использовать сценарии, написанные на IronPython, которые взаимодействуют с объектами .NET в платформе, тем самым расширяя функциональные возможности интерфейса платформы без необходимости изменения какой-либо базы кода платформы. [30]
IronPython широко использует отражение. При передаче ссылки на объект .NET он автоматически импортирует типы и методы, доступные для этого объекта. Это приводит к очень интуитивному опыту работы с объектами .NET из сценария IronPython.
Примеры
Следующий скрипт IronPython управляет объектами .NET Framework. Этот сценарий может быть предоставлен сторонним разработчиком клиентского приложения и передан в серверную структуру через интерфейс. Обратите внимание, что ни интерфейс, ни код на стороне сервера не изменяются для поддержки аналитики, необходимой для клиентского приложения.
В этом случае предположим, что .NET Framework реализует класс, КнигаСловарь, в модуле с именем BookService, и публикует интерфейс, в котором можно отправлять и выполнять скрипты IronPython.
Этот сценарий при отправке в этот интерфейс будет перебирать весь список книг, поддерживаемых структурой, и выбирать книги, написанные авторами, получившими Букеровскую премию.
Интересно то, что ответственность за написание собственно аналитики лежит на клиентском разработчике. Требования к разработчику на стороне сервера минимальны, по сути, он просто предоставляет доступ к данным, поддерживаемым сервером. Этот шаблон проектирования значительно упрощает развертывание и обслуживание сложных платформ приложений.
Следующий сценарий использует .NET Framework для создания простого сообщения Hello World.
импорт clrclr.AddReference(«System.Windows.Forms»)из System.Windows.Forms импорт Окно сообщенияОкно сообщения.Показать(«Привет, мир»)
Спектакль
Характеристики производительности IronPython по сравнению с CPython, эталонная реализация Python, зависит от точного используемого теста. IronPython работает хуже, чем CPython, в большинстве тестов, взятых с PyStone скрипт, но лучше на других тестах. [31] IronPython может лучше работать в программах Python, использующих потоки или несколько ядер, поскольку у него есть JIT компилятор, а также потому, что у него нет Глобальная блокировка переводчика. [32] [33]
Смотрите также
- Портал бесплатного программного обеспечения с открытым исходным кодом
- Портал компьютерного программирования
- Бу — язык для .NET Framework и Mono с синтаксисом, вдохновленным Python, и функциями, заимствованными из C # и Рубин
- Кобра
- IronScheme
- Jython — реализация Python для Виртуальная машина Java
- Cython
- pypy — интерпретатор на собственном хостинге для языка программирования Python
- Структура Дао
- Незагруженная ласточка — (ныне несуществующая) ветвь CPython, цель которой — обеспечить превосходную производительность с использованием LLVM -основан вовремя компилятор
Рекомендации
- ^http://ironpython.codeplex.com/releases/view/423
- ^ аб»2.7.9″. github.com . Получено 2018-10-09 .
- ^«Блог Джима Хугунина: сегодня выпущен IronPython 1.0!». 2006-09-05 . Получено 2006-12-14 .
- ^»Сроки выпуска Ironpython». 2008-12-10 . Получено 2009-01-25 .
- ^ Кларк, Гэвин (2010-10-22). «Microsoft отсекает железные языки». Реестр . Получено 2012-04-05 .
- ^»IronPython.net». IronPython.net . Получено 2013-07-03 .
- ^«Инструменты Python для Visual Studio — Домашняя страница». Инструменты Python для Visual Studio . Получено 2013-07-03 .
- ^«Обзор динамической среды выполнения». Microsoft . Получено 2014-04-01 .
- ^https://github.com/mono/mono/commit/340222ffe8b958cd22d9eb0388488f326845b363
- ^»2.0.3″. ironpython.codeplex.com . Получено 2010-10-16 .
- ^»2.6″. ironpython.codeplex.com . Получено 2010-10-16 .
- ^»2.7″. ironpython.codeplex.com . Получено 2011-03-12 .
- ^»2.7.1″. ironpython.codeplex.com . Получено 2011-12-30 .
- ^»2.7.2.1″. ironpython.codeplex.com . Получено 2012-03-24 .
- ^»2.7.4″. ironpython.codeplex.com . Получено 2014-12-07 .
- ^»2.7.5″. ironpython.codeplex.com . Получено 2014-12-07 .
- ^»2.7.6″. github.com . Получено 2016-08-21 .
- ^»2.7.7″. github.com . Получено 2018-01-05 .
- ^»2.7.8″. github.com . Получено 2018-01-05 .
- ^»IronLanguages / ironpython2″. GitHub . Получено 2020-06-26 .
- ^«Различия между IronPython 1.0 и CPython 2.4.3». Microsoft. 2007-12-18 . Получено 2008-02-09 .
- ^ Форд, Майкл. «Новый проект: реализация библиотек .NET на чистом Python». Архивировано из оригинал на 2008-08-30 . Получено 2008-02-09 .
- ^ Эби, Филипп. «Дети малого питона» . Получено 2008-07-09 .
- ^«NumPy и SciPy для .NET» . Получено 2019-04-05 .
- ^«Системные требования Silverlight 5». www.microsoft.com . Получено 2019-11-16 .
- ^«Написание браузерных приложений на Python». IronPython.net. Архивировано из оригинал 2013-03-17.
- ^»Оригинальная домашняя страница IronPython». 2004-07-28. Архивировано из оригинал 23 февраля 2010 г. . Получено 2007-05-13 .
- ^«Лицензия с общим исходным кодом для IronPython». 2006-04-28 . Получено 2007-05-13 .
- ^«Разрешающая лицензия Microsoft». 2007-04-28 . Получено 2007-05-13 .
- ^«Использование объектов .NET из IronPython в Resolver One». Архивировано из оригинал на 2009-01-14 . Получено 2008-11-18 .
- ^«Отчет о производительности IronPython» . Получено 2009-10-05 .
- ^»IronPython на python.org». python.org . Получено 2011-04-04 . IronPython не имеет GIL, а многопоточный код может использовать многоядерные процессоры.
- ^«Архивная копия». Архивировано из оригинал на 2015-10-31 . Получено 2015-07-15 . CS1 maint: заархивированная копия как заголовок (связь)
внешняя ссылка
- Официальный веб-сайт
Источник: wikidea.ru