SlideShare a Scribd company logo
1 of 56
Download to read offline
Python   Python Tools for VS                   DLR i IronPython   ZakljuĀ£ak




         Python Tools for Visual Studio
             Python na Microsoftovom .NET-u




                               Nikola PlejiĀ¢


                           nikola@plejic.com

                        http://nikola.plejic.com




                 DevUG Zagreb, 27.10.2011.
Python              Python Tools for VS   DLR i IronPython   ZakljuĀ£ak

Outline

     1   Python
           Uvod
           Kratak vodiĀ£ kroz jezik



     2   Python Tools for VS
           Instalacija



     3   DLR i IronPython
           Dynamic Language Runtime
           Uporaba IronPythona
Python          Python Tools for VS     DLR i IronPython   ZakljuĀ£ak

Python?



         > print(Hello, world!)
         Hello, world!
Python                Python Tools for VS          DLR i IronPython   ZakljuĀ£ak

Python?



         ā€¢   opĀ¢eniti, objektno-orijentirani high-level jezik
Python                Python Tools for VS          DLR i IronPython   ZakljuĀ£ak

Python?



         ā€¢   opĀ¢eniti, objektno-orijentirani high-level jezik

         ā€¢   dinamiĀ£ki, strongly typed
Python                Python Tools for VS          DLR i IronPython   ZakljuĀ£ak

Python?



         ā€¢   opĀ¢eniti, objektno-orijentirani high-level jezik

         ā€¢   dinamiĀ£ki, strongly typed

         ā€¢   fokus na Ā£itljivost i jednostavnost sintakse
Python                 Python Tools for VS                  DLR i IronPython     ZakljuĀ£ak

The Zen of Python

          import this

         The Zen of Python, by Tim Peters


         Beautiful is better than ugly.
         Explicit is better than implicit.
         Simple is better than complex.
         Complex is better than complicated.
         Flat is better than nested.
         Sparse is better than dense.
         Readability counts.
         Special cases aren't special enough to break the rules.
         Although practicality beats purity.
         Errors should never pass silently.
         Unless explicitly silenced.
         In the face of ambiguity, refuse the temptation to guess.
         There should be one-- and preferably only one --obvious way to do it.
         Although that way may not be obvious at first unless you're Dutch.
         Now is better than never.
         Although never is often better than *right* now.
         If the implementation is hard to explain, it's a bad idea.
         If the implementation is easy to explain, it may be a good idea.
         Namespaces are one honking great idea -- let's do more of those!
Python               Python Tools for VS   DLR i IronPython   ZakljuĀ£ak

Kratka povijest



         ā€¢   nastao krajem 1989. godine
Python               Python Tools for VS      DLR i IronPython          ZakljuĀ£ak

Kratka povijest



         ā€¢   nastao krajem 1989. godine

         ā€¢   Guido van Rossum (BDFL  Benevolent Dictator For Life)
Python               Python Tools for VS      DLR i IronPython          ZakljuĀ£ak

Kratka povijest



         ā€¢   nastao krajem 1989. godine

         ā€¢   Guido van Rossum (BDFL  Benevolent Dictator For Life)

         ā€¢   Python 2 vs. Python 3
Python               Python Tools for VS      DLR i IronPython   ZakljuĀ£ak

Implementacije



         ā€¢   referentna implementacija  CPython
Python               Python Tools for VS      DLR i IronPython   ZakljuĀ£ak

Implementacije



         ā€¢   referentna implementacija  CPython

         ā€¢   Jython, IronPython, PyPy
Python               Python Tools for VS       DLR i IronPython   ZakljuĀ£ak

Implementacije



         ā€¢   referentna implementacija  CPython

         ā€¢   Jython, IronPython, PyPy

         ā€¢   raznorazni kompajleri (Pyjamas, Pyrex, Cython)
Python                Python Tools for VS   DLR i IronPython   ZakljuĀ£ak

Osnovni tipovi podataka


         ā€¢   sve je objekt
Python                 Python Tools for VS         DLR i IronPython   ZakljuĀ£ak

Osnovni tipovi podataka


         ā€¢   sve je objekt


         ā€¢   string vs. unicode

               ā€¢   ne i u IronPythonu (string == unicode)
Python                  Python Tools for VS         DLR i IronPython   ZakljuĀ£ak

Osnovni tipovi podataka


         ā€¢   sve je objekt


         ā€¢   string vs. unicode

                ā€¢   ne i u IronPythonu (string == unicode)

         ā€¢   liste, tuplei
Python                  Python Tools for VS         DLR i IronPython   ZakljuĀ£ak

Osnovni tipovi podataka


         ā€¢   sve je objekt


         ā€¢   string vs. unicode

                ā€¢   ne i u IronPythonu (string == unicode)

         ā€¢   liste, tuplei


         ā€¢   dictionaries
Python               Python Tools for VS   DLR i IronPython   ZakljuĀ£ak

Comprehensions


         ā€¢   list comprehensions
Python               Python Tools for VS   DLR i IronPython   ZakljuĀ£ak

Comprehensions


         ā€¢   list comprehensions


         ā€¢   dictionary comprehensions
Python                 Python Tools for VS    DLR i IronPython   ZakljuĀ£ak

Comprehensions


         ā€¢   list comprehensions


         ā€¢   dictionary comprehensions


         ā€¢   generatori

               ā€¢   generator comprehensions
Python               Python Tools for VS   DLR i IronPython   ZakljuĀ£ak

Objektni model

         ā€¢   klase
Python                Python Tools for VS   DLR i IronPython   ZakljuĀ£ak

Objektni model

         ā€¢   klase


         ā€¢   klase su objekti
Python                 Python Tools for VS          DLR i IronPython            ZakljuĀ£ak

Objektni model

         ā€¢   klase


         ā€¢   klase su objekti


         ā€¢   metaklase

               ā€¢    [...] deeper magic than 99% of users should ever worry about.
                   If you wonder whether you need them, you don't (the people
                   who actually need them know with certainty that they need
                   them, and don't need an explanation about why). ~ Tim
                   Peters
Python                  Python Tools for VS           DLR i IronPython     ZakljuĀ£ak

ā€™to nam treba?

         ā€¢    distribucija Pythona

                ā€¢   standardni interpreter, ActiveState, IronPython, ...




         1   http://pytools.codeplex.com/
         2   http://ipython.org/
         3   MSI na https://github.com/zeromq/pyzmq/downloads
Python                  Python Tools for VS           DLR i IronPython     ZakljuĀ£ak

ā€™to nam treba?

         ā€¢    distribucija Pythona

                ā€¢   standardni interpreter, ActiveState, IronPython, ...

         ā€¢    Visual Studio ili besplatni Visual Studio Shell

                ā€¢   ne i VS Express!




         1   http://pytools.codeplex.com/
         2   http://ipython.org/
         3   MSI na https://github.com/zeromq/pyzmq/downloads
Python                  Python Tools for VS           DLR i IronPython     ZakljuĀ£ak

ā€™to nam treba?

         ā€¢    distribucija Pythona

                ā€¢   standardni interpreter, ActiveState, IronPython, ...

         ā€¢    Visual Studio ili besplatni Visual Studio Shell

                ā€¢   ne i VS Express!

                                                 1
         ā€¢    Python Tools for Visual Studio




         1   http://pytools.codeplex.com/
         2   http://ipython.org/
         3   MSI na https://github.com/zeromq/pyzmq/downloads
Python                     Python Tools for VS           DLR i IronPython   ZakljuĀ£ak

ā€™to nam treba?

         ā€¢    distribucija Pythona

                ā€¢   standardni interpreter, ActiveState, IronPython, ...

         ā€¢    Visual Studio ili besplatni Visual Studio Shell

                ā€¢   ne i VS Express!

                                                     1
         ā€¢    Python Tools for Visual Studio

                       2
         ā€¢    IPython

                ā€¢   alternativni (ne-samo-)Python shell
                ā€¢   potreban pyzmq 2.1.4
                                                 3




         1   http://pytools.codeplex.com/
         2   http://ipython.org/
         3   MSI na https://github.com/zeromq/pyzmq/downloads
Python                  Python Tools for VS   DLR i IronPython   ZakljuĀ£ak

ā€™to dobivamo?


         ā€¢    IntelliSense




         4   samo u VS Ultimate :(
Python                  Python Tools for VS   DLR i IronPython   ZakljuĀ£ak

ā€™to dobivamo?


         ā€¢    IntelliSense

         ā€¢    project management




         4   samo u VS Ultimate :(
Python                  Python Tools for VS   DLR i IronPython   ZakljuĀ£ak

ā€™to dobivamo?


         ā€¢    IntelliSense

         ā€¢    project management

         ā€¢    debugger




         4   samo u VS Ultimate :(
Python                       Python Tools for VS   DLR i IronPython   ZakljuĀ£ak

ā€™to dobivamo?


         ā€¢    IntelliSense

         ā€¢    project management

         ā€¢    debugger

                         4
         ā€¢    proling




         4   samo u VS Ultimate :(
Python                Python Tools for VS      DLR i IronPython            ZakljuĀ£ak

ā€™to je DLR?

         ā€¢   skup libraryja nad CLR-om koji olakĀ²ava hostanje dinamiĀ£kih
             jezika
Python                Python Tools for VS           DLR i IronPython       ZakljuĀ£ak

ā€™to je DLR?

         ā€¢   skup libraryja nad CLR-om koji olakĀ²ava hostanje dinamiĀ£kih
             jezika


         ā€¢   izvuĀ£en iz ranih verzija IronPythona
Python                Python Tools for VS           DLR i IronPython       ZakljuĀ£ak

ā€™to je DLR?

         ā€¢   skup libraryja nad CLR-om koji olakĀ²ava hostanje dinamiĀ£kih
             jezika


         ā€¢   izvuĀ£en iz ranih verzija IronPythona


         ā€¢   zajedniĀ£ka podloga za sve dinamiĀ£ke jezike na .NET-u
             (IronRuby, IronScheme)
Python                Python Tools for VS           DLR i IronPython       ZakljuĀ£ak

ā€™to je DLR?

         ā€¢   skup libraryja nad CLR-om koji olakĀ²ava hostanje dinamiĀ£kih
             jezika


         ā€¢   izvuĀ£en iz ranih verzija IronPythona


         ā€¢   zajedniĀ£ka podloga za sve dinamiĀ£ke jezike na .NET-u
             (IronRuby, IronScheme)


         ā€¢   proĀ²irenje postojeĀ¢im statiĀ£kim jezicima (dynamic dispatching
             @ C# 4.0)
Python                Python Tools for VS           DLR i IronPython       ZakljuĀ£ak

ā€™to je DLR?

         ā€¢   skup libraryja nad CLR-om koji olakĀ²ava hostanje dinamiĀ£kih
             jezika


         ā€¢   izvuĀ£en iz ranih verzija IronPythona


         ā€¢   zajedniĀ£ka podloga za sve dinamiĀ£ke jezike na .NET-u
             (IronRuby, IronScheme)


         ā€¢   proĀ²irenje postojeĀ¢im statiĀ£kim jezicima (dynamic dispatching
             @ C# 4.0)


         ā€¢   .NET Framework 4.0 + Mono 2.8+ po defaultu
Python               Python Tools for VS   DLR i IronPython   ZakljuĀ£ak

Kratka povijest IronPythona


         ā€¢   Jim Hugunin, 2006.
Python               Python Tools for VS       DLR i IronPython   ZakljuĀ£ak

Kratka povijest IronPythona


         ā€¢   Jim Hugunin, 2006.


         ā€¢   danas: Microsoft (razvoj na CodePlexu)
Python               Python Tools for VS       DLR i IronPython   ZakljuĀ£ak

Kratka povijest IronPythona


         ā€¢   Jim Hugunin, 2006.


         ā€¢   danas: Microsoft (razvoj na CodePlexu)


         ā€¢   open source (Apache 2.0)
Python                Python Tools for VS        DLR i IronPython   ZakljuĀ£ak

Kratka povijest IronPythona


         ā€¢   Jim Hugunin, 2006.


         ā€¢   danas: Microsoft (razvoj na CodePlexu)


         ā€¢   open source (Apache 2.0)


         ā€¢   aktivno razvijan (zadnji release: 21.10.2011.)
Python                 Python Tools for VS         DLR i IronPython            ZakljuĀ£ak

Featurei


         ā€¢ ā‰ˆ   CPython 2.7 uz manje razlike, npr.:

               ā€¢   string == unicode
               ā€¢   Python podrĀŗava viĀ²estruko naslježivanje, CLR ne podrĀŗava
Python                 Python Tools for VS         DLR i IronPython            ZakljuĀ£ak

Featurei


         ā€¢ ā‰ˆ   CPython 2.7 uz manje razlike, npr.:

               ā€¢   string == unicode
               ā€¢   Python podrĀŗava viĀ²estruko naslježivanje, CLR ne podrĀŗava


         ā€¢   integracija s .NET frameworkom
Python                 Python Tools for VS         DLR i IronPython            ZakljuĀ£ak

Featurei


         ā€¢ ā‰ˆ   CPython 2.7 uz manje razlike, npr.:

               ā€¢   string == unicode
               ā€¢   Python podrĀŗava viĀ²estruko naslježivanje, CLR ne podrĀŗava


         ā€¢   integracija s .NET frameworkom


         ā€¢   Silverlight scripting
Python          Python Tools for VS   DLR i IronPython   ZakljuĀ£ak

PriĀ£anje s .NET-om

         # deklaracija referenci
         import clr
         clr.AddReference(System.Xml)

         # namespacevi
         import System
         from System.Xml import *
         xmldoc = XmlDocument()

         # alternativno:
         # import system
         # xmldoc = System.Xml.XmlDocument()
Python                 Python Tools for VS          DLR i IronPython           ZakljuĀ£ak

PriĀ£anje s .NET-om (smjer #2)

                                                     5
         ā€¢    DLR Hosting API (= free scripting!)




         5   http://dlr.codeplex.com/wikipage?title=Docs%20and%20specsreferringTitle=Do
Python                  Python Tools for VS         DLR i IronPython           ZakljuĀ£ak

PriĀ£anje s .NET-om (smjer #2)

                                                     5
         ā€¢    DLR Hosting API (= free scripting!)


         ā€¢    kompajliranje IronPython aplikacije u .NET assembly

                ā€¢   While the assemblies produced by the IronPython Hosting
                    APIs are true .NET assemblies, the dynamic nature of the
                    Python language makes it dicult to use these from other
                    .NET languages. In short, this means that attempting to
                    import Python types into other .NET languages such as C# is
                    not recommended.




         5   http://dlr.codeplex.com/wikipage?title=Docs%20and%20specsreferringTitle=Do
Python                 Python Tools for VS          DLR i IronPython   ZakljuĀ£ak

ASP.NET i IronPython


         ā€¢    WebForms uz ASP.NET Dynamic Language Support




         6   http://github.com/jschementi/ironrubymvc
Python                   Python Tools for VS        DLR i IronPython           ZakljuĀ£ak

ASP.NET i IronPython


         ā€¢    WebForms uz ASP.NET Dynamic Language Support


         ā€¢    ASP.NET MVC

                 ā€¢   http://www.codevoyeur.com/Articles/Tags/ironpython.aspx
                 ā€¢   RubyjaĀ²i su bolje proĀ²li
                                               6




         6   http://github.com/jschementi/ironrubymvc
Python                   Python Tools for VS             DLR i IronPython   ZakljuĀ£ak

Alternative

                     7
         ā€¢    Boo

                 ā€¢   sintaksa inspirirana Pythonom
                 ā€¢   statiĀ£ki tipiziran (type inferencing)
                 ā€¢   makroi




         7   http://boo.codehaus.org/
         8   http://ironruby.net/
         9   http://ironscheme.codeplex.com/
Python                   Python Tools for VS             DLR i IronPython   ZakljuĀ£ak

Alternative

                     7
         ā€¢    Boo

                 ā€¢   sintaksa inspirirana Pythonom
                 ā€¢   statiĀ£ki tipiziran (type inferencing)
                 ā€¢   makroi


                          8
         ā€¢    IronRuby




         7   http://boo.codehaus.org/
         8   http://ironruby.net/
         9   http://ironscheme.codeplex.com/
Python                   Python Tools for VS             DLR i IronPython   ZakljuĀ£ak

Alternative

                     7
         ā€¢    Boo

                 ā€¢   sintaksa inspirirana Pythonom
                 ā€¢   statiĀ£ki tipiziran (type inferencing)
                 ā€¢   makroi


                          8
         ā€¢    IronRuby

                               9
         ā€¢    IronScheme?

                 ā€¢   skoro-pa-R6RS Scheme




         7   http://boo.codehaus.org/
         8   http://ironruby.net/
         9   http://ironscheme.codeplex.com/
Python               Python Tools for VS       DLR i IronPython         ZakljuĀ£ak

ZakljuĀ£ak


         ā€¢   ozbiljan, dobro podrĀŗan dinamiĀ£ki jezik na CLR-u i Monou
Python                Python Tools for VS       DLR i IronPython        ZakljuĀ£ak

ZakljuĀ£ak


         ā€¢   ozbiljan, dobro podrĀŗan dinamiĀ£ki jezik na CLR-u i Monou


         ā€¢   vrlo solidan toolchain u razvoju
Python                 Python Tools for VS             DLR i IronPython   ZakljuĀ£ak

ZakljuĀ£ak


         ā€¢   ozbiljan, dobro podrĀŗan dinamiĀ£ki jezik na CLR-u i Monou


         ā€¢   vrlo solidan toolchain u razvoju


         ā€¢   Ā£emu sve to?

               ā€¢   brzi prototyping
               ā€¢   testiranje .NET assemblyja
               ā€¢   skriptiranje .NET i Silverlight aplikacija
Python      Python Tools for VS              DLR i IronPython   ZakljuĀ£ak

ZakljuĀ£ak


                Hvala na paĀŗnji!

                                Nikola PlejiĀ¢
                             nikola@plejic.com
                         http://nikola.plejic.com/

More Related Content

What's hot

Overview of Python - Bsides Detroit 2012
Overview of Python - Bsides Detroit 2012Overview of Python - Bsides Detroit 2012
Overview of Python - Bsides Detroit 2012Tazdrumm3r
Ā 
Python final ppt
Python final pptPython final ppt
Python final pptRipal Ranpara
Ā 
Python Intro
Python IntroPython Intro
Python IntroTim Penhey
Ā 
Making the big data ecosystem work together with python apache arrow, spark,...
Making the big data ecosystem work together with python  apache arrow, spark,...Making the big data ecosystem work together with python  apache arrow, spark,...
Making the big data ecosystem work together with python apache arrow, spark,...Holden Karau
Ā 
Python indroduction
Python indroductionPython indroduction
Python indroductionFEG
Ā 
Programming with Python: Week 1
Programming with Python: Week 1Programming with Python: Week 1
Programming with Python: Week 1Ahmet Bulut
Ā 
Powering tensorflow with big data (apache spark, flink, and beam) dataworks...
Powering tensorflow with big data (apache spark, flink, and beam)   dataworks...Powering tensorflow with big data (apache spark, flink, and beam)   dataworks...
Powering tensorflow with big data (apache spark, flink, and beam) dataworks...Holden Karau
Ā 
Python 3.5: An agile, general-purpose development language.
Python 3.5: An agile, general-purpose development language.Python 3.5: An agile, general-purpose development language.
Python 3.5: An agile, general-purpose development language.Carlos Miguel Ferreira
Ā 
A peek into Python's Metaclass and Bytecode from a Smalltalk User
A peek into Python's Metaclass and Bytecode from a Smalltalk UserA peek into Python's Metaclass and Bytecode from a Smalltalk User
A peek into Python's Metaclass and Bytecode from a Smalltalk UserKoan-Sin Tan
Ā 
Python
Python Python
Python Edureka!
Ā 
Smalltalk and ruby - 2012-12-08
Smalltalk and ruby  - 2012-12-08Smalltalk and ruby  - 2012-12-08
Smalltalk and ruby - 2012-12-08Koan-Sin Tan
Ā 
Random Thoughts on Paper Implementations [KAIST 2018]
Random Thoughts on Paper Implementations [KAIST 2018]Random Thoughts on Paper Implementations [KAIST 2018]
Random Thoughts on Paper Implementations [KAIST 2018]Taehoon Kim
Ā 
What is Python? (Silicon Valley CodeCamp 2014)
What is Python? (Silicon Valley CodeCamp 2014)What is Python? (Silicon Valley CodeCamp 2014)
What is Python? (Silicon Valley CodeCamp 2014)wesley chun
Ā 
Pythonꕙē؋ / Python tutorial
Pythonꕙē؋ / Python tutorialPythonꕙē؋ / Python tutorial
Pythonꕙē؋ / Python tutorialee0703
Ā 
What is Python? (Silicon Valley CodeCamp 2015)
What is Python? (Silicon Valley CodeCamp 2015)What is Python? (Silicon Valley CodeCamp 2015)
What is Python? (Silicon Valley CodeCamp 2015)wesley chun
Ā 
Advanced Python Tutorial | Learn Advanced Python Concepts | Python Programmin...
Advanced Python Tutorial | Learn Advanced Python Concepts | Python Programmin...Advanced Python Tutorial | Learn Advanced Python Concepts | Python Programmin...
Advanced Python Tutorial | Learn Advanced Python Concepts | Python Programmin...Edureka!
Ā 
Profiling and optimizing RAM and CPU use in RMG-Py
Profiling and optimizing RAM and CPU use in RMG-PyProfiling and optimizing RAM and CPU use in RMG-Py
Profiling and optimizing RAM and CPU use in RMG-PyRichard West
Ā 
Sharing (or stealing) the jewels of python with big data & the jvm (1)
Sharing (or stealing) the jewels of python with big data & the jvm (1)Sharing (or stealing) the jewels of python with big data & the jvm (1)
Sharing (or stealing) the jewels of python with big data & the jvm (1)Holden Karau
Ā 

What's hot (20)

Overview of Python - Bsides Detroit 2012
Overview of Python - Bsides Detroit 2012Overview of Python - Bsides Detroit 2012
Overview of Python - Bsides Detroit 2012
Ā 
Python final ppt
Python final pptPython final ppt
Python final ppt
Ā 
Python Intro
Python IntroPython Intro
Python Intro
Ā 
Making the big data ecosystem work together with python apache arrow, spark,...
Making the big data ecosystem work together with python  apache arrow, spark,...Making the big data ecosystem work together with python  apache arrow, spark,...
Making the big data ecosystem work together with python apache arrow, spark,...
Ā 
Python indroduction
Python indroductionPython indroduction
Python indroduction
Ā 
Programming with Python: Week 1
Programming with Python: Week 1Programming with Python: Week 1
Programming with Python: Week 1
Ā 
Powering tensorflow with big data (apache spark, flink, and beam) dataworks...
Powering tensorflow with big data (apache spark, flink, and beam)   dataworks...Powering tensorflow with big data (apache spark, flink, and beam)   dataworks...
Powering tensorflow with big data (apache spark, flink, and beam) dataworks...
Ā 
Python 3.5: An agile, general-purpose development language.
Python 3.5: An agile, general-purpose development language.Python 3.5: An agile, general-purpose development language.
Python 3.5: An agile, general-purpose development language.
Ā 
A peek into Python's Metaclass and Bytecode from a Smalltalk User
A peek into Python's Metaclass and Bytecode from a Smalltalk UserA peek into Python's Metaclass and Bytecode from a Smalltalk User
A peek into Python's Metaclass and Bytecode from a Smalltalk User
Ā 
Python
Python Python
Python
Ā 
Smalltalk and ruby - 2012-12-08
Smalltalk and ruby  - 2012-12-08Smalltalk and ruby  - 2012-12-08
Smalltalk and ruby - 2012-12-08
Ā 
Random Thoughts on Paper Implementations [KAIST 2018]
Random Thoughts on Paper Implementations [KAIST 2018]Random Thoughts on Paper Implementations [KAIST 2018]
Random Thoughts on Paper Implementations [KAIST 2018]
Ā 
What is Python? (Silicon Valley CodeCamp 2014)
What is Python? (Silicon Valley CodeCamp 2014)What is Python? (Silicon Valley CodeCamp 2014)
What is Python? (Silicon Valley CodeCamp 2014)
Ā 
Pythonꕙē؋ / Python tutorial
Pythonꕙē؋ / Python tutorialPythonꕙē؋ / Python tutorial
Pythonꕙē؋ / Python tutorial
Ā 
What is Python? (Silicon Valley CodeCamp 2015)
What is Python? (Silicon Valley CodeCamp 2015)What is Python? (Silicon Valley CodeCamp 2015)
What is Python? (Silicon Valley CodeCamp 2015)
Ā 
Advanced Python Tutorial | Learn Advanced Python Concepts | Python Programmin...
Advanced Python Tutorial | Learn Advanced Python Concepts | Python Programmin...Advanced Python Tutorial | Learn Advanced Python Concepts | Python Programmin...
Advanced Python Tutorial | Learn Advanced Python Concepts | Python Programmin...
Ā 
Profiling and optimizing RAM and CPU use in RMG-Py
Profiling and optimizing RAM and CPU use in RMG-PyProfiling and optimizing RAM and CPU use in RMG-Py
Profiling and optimizing RAM and CPU use in RMG-Py
Ā 
Python Introduction
Python IntroductionPython Introduction
Python Introduction
Ā 
Sharing (or stealing) the jewels of python with big data & the jvm (1)
Sharing (or stealing) the jewels of python with big data & the jvm (1)Sharing (or stealing) the jewels of python with big data & the jvm (1)
Sharing (or stealing) the jewels of python with big data & the jvm (1)
Ā 
Python Introduction
Python IntroductionPython Introduction
Python Introduction
Ā 

Viewers also liked

Logical Programming With ruby-prolog
Logical Programming With ruby-prologLogical Programming With ruby-prolog
Logical Programming With ruby-prologPreston Lee
Ā 
Prolog -Cpt114 - Week3
Prolog -Cpt114 - Week3Prolog -Cpt114 - Week3
Prolog -Cpt114 - Week3a_akhavan
Ā 
Introduction to XML
Introduction to XMLIntroduction to XML
Introduction to XMLshannonsdavis
Ā 
Part 1 picturebox using vb.net
Part 1 picturebox using vb.netPart 1 picturebox using vb.net
Part 1 picturebox using vb.netGirija Muscut
Ā 
Part 3 binding navigator vb.net
Part 3 binding navigator vb.netPart 3 binding navigator vb.net
Part 3 binding navigator vb.netGirija Muscut
Ā 
How Not To Be Seen
How Not To Be SeenHow Not To Be Seen
How Not To Be SeenMark Pesce
Ā 
Presentation1
Presentation1Presentation1
Presentation1Liba Cheema
Ā 
Making Information Usable: The Art & Science of Information Design
Making Information Usable: The Art & Science of Information DesignMaking Information Usable: The Art & Science of Information Design
Making Information Usable: The Art & Science of Information DesignHubbard One
Ā 
Transforming the world with Information technology
Transforming the world with Information technologyTransforming the world with Information technology
Transforming the world with Information technologyGlenn Klith Andersen
Ā 
Part 5 create sequence increment value using negative value
Part 5 create sequence increment value using negative valuePart 5 create sequence increment value using negative value
Part 5 create sequence increment value using negative valueGirija Muscut
Ā 
Vb.net session 15
Vb.net session 15Vb.net session 15
Vb.net session 15Niit Care
Ā 
What’s new in Visual C++
What’s new in Visual C++What’s new in Visual C++
What’s new in Visual C++Microsoft
Ā 
Part 8 add,update,delete records using records operation buttons in vb.net
Part 8 add,update,delete records using records operation buttons in vb.netPart 8 add,update,delete records using records operation buttons in vb.net
Part 8 add,update,delete records using records operation buttons in vb.netGirija Muscut
Ā 
Part2 database connection service based using vb.net
Part2 database connection service based using vb.netPart2 database connection service based using vb.net
Part2 database connection service based using vb.netGirija Muscut
Ā 
Pioneers of Information Science in Europe: The Oeuvre of Norbert Henrichs
Pioneers of Information Science in Europe: The Oeuvre of Norbert HenrichsPioneers of Information Science in Europe: The Oeuvre of Norbert Henrichs
Pioneers of Information Science in Europe: The Oeuvre of Norbert HenrichsWolfgang Stock
Ā 
Debugging in visual studio (basic level)
Debugging in visual studio (basic level)Debugging in visual studio (basic level)
Debugging in visual studio (basic level)Larry Nung
Ā 
Cognitive information science
Cognitive information scienceCognitive information science
Cognitive information scienceS. Kate Devitt
Ā 
RuleML2015: Explanation of proofs of regulatory (non-)complianceusing semanti...
RuleML2015: Explanation of proofs of regulatory (non-)complianceusing semanti...RuleML2015: Explanation of proofs of regulatory (non-)complianceusing semanti...
RuleML2015: Explanation of proofs of regulatory (non-)complianceusing semanti...RuleML
Ā 

Viewers also liked (20)

Logical Programming With ruby-prolog
Logical Programming With ruby-prologLogical Programming With ruby-prolog
Logical Programming With ruby-prolog
Ā 
Prolog -Cpt114 - Week3
Prolog -Cpt114 - Week3Prolog -Cpt114 - Week3
Prolog -Cpt114 - Week3
Ā 
Introduction to XML
Introduction to XMLIntroduction to XML
Introduction to XML
Ā 
Part 1 picturebox using vb.net
Part 1 picturebox using vb.netPart 1 picturebox using vb.net
Part 1 picturebox using vb.net
Ā 
Part 3 binding navigator vb.net
Part 3 binding navigator vb.netPart 3 binding navigator vb.net
Part 3 binding navigator vb.net
Ā 
How Not To Be Seen
How Not To Be SeenHow Not To Be Seen
How Not To Be Seen
Ā 
Information Overload and Information Science / Mieczysław Muraszkiewicz
Information Overload and Information Science / Mieczysław MuraszkiewiczInformation Overload and Information Science / Mieczysław Muraszkiewicz
Information Overload and Information Science / Mieczysław Muraszkiewicz
Ā 
Presentation1
Presentation1Presentation1
Presentation1
Ā 
Making Information Usable: The Art & Science of Information Design
Making Information Usable: The Art & Science of Information DesignMaking Information Usable: The Art & Science of Information Design
Making Information Usable: The Art & Science of Information Design
Ā 
Transforming the world with Information technology
Transforming the world with Information technologyTransforming the world with Information technology
Transforming the world with Information technology
Ā 
Part 5 create sequence increment value using negative value
Part 5 create sequence increment value using negative valuePart 5 create sequence increment value using negative value
Part 5 create sequence increment value using negative value
Ā 
Vb.net session 15
Vb.net session 15Vb.net session 15
Vb.net session 15
Ā 
What’s new in Visual C++
What’s new in Visual C++What’s new in Visual C++
What’s new in Visual C++
Ā 
Part 8 add,update,delete records using records operation buttons in vb.net
Part 8 add,update,delete records using records operation buttons in vb.netPart 8 add,update,delete records using records operation buttons in vb.net
Part 8 add,update,delete records using records operation buttons in vb.net
Ā 
Part2 database connection service based using vb.net
Part2 database connection service based using vb.netPart2 database connection service based using vb.net
Part2 database connection service based using vb.net
Ā 
Pioneers of Information Science in Europe: The Oeuvre of Norbert Henrichs
Pioneers of Information Science in Europe: The Oeuvre of Norbert HenrichsPioneers of Information Science in Europe: The Oeuvre of Norbert Henrichs
Pioneers of Information Science in Europe: The Oeuvre of Norbert Henrichs
Ā 
Debugging in visual studio (basic level)
Debugging in visual studio (basic level)Debugging in visual studio (basic level)
Debugging in visual studio (basic level)
Ā 
Cognitive information science
Cognitive information scienceCognitive information science
Cognitive information science
Ā 
Cpp lab 13_pres
Cpp lab 13_presCpp lab 13_pres
Cpp lab 13_pres
Ā 
RuleML2015: Explanation of proofs of regulatory (non-)complianceusing semanti...
RuleML2015: Explanation of proofs of regulatory (non-)complianceusing semanti...RuleML2015: Explanation of proofs of regulatory (non-)complianceusing semanti...
RuleML2015: Explanation of proofs of regulatory (non-)complianceusing semanti...
Ā 

Similar to Python Tools for Visual Studio: Python na Microsoftovom .NET-u

Python Programming1.ppt
Python Programming1.pptPython Programming1.ppt
Python Programming1.pptRehnawilson1
Ā 
Introduction to Python ā€“ Learn Python Programming.pptx
Introduction to Python ā€“ Learn Python Programming.pptxIntroduction to Python ā€“ Learn Python Programming.pptx
Introduction to Python ā€“ Learn Python Programming.pptxHassanShah396906
Ā 
python presntation 2.pptx
python presntation 2.pptxpython presntation 2.pptx
python presntation 2.pptxArpittripathi45
Ā 
Intro to Python for C# Developers
Intro to Python for C# DevelopersIntro to Python for C# Developers
Intro to Python for C# DevelopersSarah Dutkiewicz
Ā 
PL/Parrot San Francisco Perl Mongers 2010/05/25
PL/Parrot San Francisco Perl Mongers 2010/05/25PL/Parrot San Francisco Perl Mongers 2010/05/25
PL/Parrot San Francisco Perl Mongers 2010/05/25David Fetter
Ā 
Introduction to Analytics with Azure Notebooks and Python
Introduction to Analytics with Azure Notebooks and PythonIntroduction to Analytics with Azure Notebooks and Python
Introduction to Analytics with Azure Notebooks and PythonJen Stirrup
Ā 
Pythonfinalppt 170822121204
Pythonfinalppt 170822121204Pythonfinalppt 170822121204
Pythonfinalppt 170822121204wichakansroisuwan
Ā 
A Whirlwind Tour Of Python
A Whirlwind Tour Of PythonA Whirlwind Tour Of Python
A Whirlwind Tour Of PythonAsia Smith
Ā 
Introduction_to_Python.pptx
Introduction_to_Python.pptxIntroduction_to_Python.pptx
Introduction_to_Python.pptxVinay Chowdary
Ā 
开ęŗę²™é¾™ē¬¬äø€ęœŸ Python intro
开ęŗę²™é¾™ē¬¬äø€ęœŸ Python intro开ęŗę²™é¾™ē¬¬äø€ęœŸ Python intro
开ęŗę²™é¾™ē¬¬äø€ęœŸ Python introfantasy zheng
Ā 
SoC Python Discussion Group
SoC Python Discussion GroupSoC Python Discussion Group
SoC Python Discussion Groupkrishna_dubba
Ā 
Python_Introduction_Good_PPT.pptx
Python_Introduction_Good_PPT.pptxPython_Introduction_Good_PPT.pptx
Python_Introduction_Good_PPT.pptxlemonchoos
Ā 
Perl::Lint - Yet Another Perl Source Code Linter
Perl::Lint - Yet Another Perl Source Code LinterPerl::Lint - Yet Another Perl Source Code Linter
Perl::Lint - Yet Another Perl Source Code Lintermoznion
Ā 
Introduction_to_Python.pptx
Introduction_to_Python.pptxIntroduction_to_Python.pptx
Introduction_to_Python.pptxRahulChaudhary51756
Ā 
Python Foundation ā€“ A programmer's introduction to Python concepts & style
Python Foundation ā€“ A programmer's introduction to Python concepts & stylePython Foundation ā€“ A programmer's introduction to Python concepts & style
Python Foundation ā€“ A programmer's introduction to Python concepts & styleKevlin Henney
Ā 
Tutorial on-python-programming
Tutorial on-python-programmingTutorial on-python-programming
Tutorial on-python-programmingChetan Giridhar
Ā 
Introduction to Python
Introduction to PythonIntroduction to Python
Introduction to PythonSudhanshiBakre1
Ā 
20120524 english lt2_pythontoolsfortesting
20120524 english lt2_pythontoolsfortesting20120524 english lt2_pythontoolsfortesting
20120524 english lt2_pythontoolsfortestingKazuhiro Oinuma
Ā 

Similar to Python Tools for Visual Studio: Python na Microsoftovom .NET-u (20)

Python Programming1.ppt
Python Programming1.pptPython Programming1.ppt
Python Programming1.ppt
Ā 
Introduction to Python ā€“ Learn Python Programming.pptx
Introduction to Python ā€“ Learn Python Programming.pptxIntroduction to Python ā€“ Learn Python Programming.pptx
Introduction to Python ā€“ Learn Python Programming.pptx
Ā 
python presntation 2.pptx
python presntation 2.pptxpython presntation 2.pptx
python presntation 2.pptx
Ā 
Violent python
Violent pythonViolent python
Violent python
Ā 
Intro to Python for C# Developers
Intro to Python for C# DevelopersIntro to Python for C# Developers
Intro to Python for C# Developers
Ā 
PL/Parrot San Francisco Perl Mongers 2010/05/25
PL/Parrot San Francisco Perl Mongers 2010/05/25PL/Parrot San Francisco Perl Mongers 2010/05/25
PL/Parrot San Francisco Perl Mongers 2010/05/25
Ā 
Introduction to Analytics with Azure Notebooks and Python
Introduction to Analytics with Azure Notebooks and PythonIntroduction to Analytics with Azure Notebooks and Python
Introduction to Analytics with Azure Notebooks and Python
Ā 
Pythonfinalppt 170822121204
Pythonfinalppt 170822121204Pythonfinalppt 170822121204
Pythonfinalppt 170822121204
Ā 
A Whirlwind Tour Of Python
A Whirlwind Tour Of PythonA Whirlwind Tour Of Python
A Whirlwind Tour Of Python
Ā 
Introduction_to_Python.pptx
Introduction_to_Python.pptxIntroduction_to_Python.pptx
Introduction_to_Python.pptx
Ā 
开ęŗę²™é¾™ē¬¬äø€ęœŸ Python intro
开ęŗę²™é¾™ē¬¬äø€ęœŸ Python intro开ęŗę²™é¾™ē¬¬äø€ęœŸ Python intro
开ęŗę²™é¾™ē¬¬äø€ęœŸ Python intro
Ā 
SoC Python Discussion Group
SoC Python Discussion GroupSoC Python Discussion Group
SoC Python Discussion Group
Ā 
Python_Introduction_Good_PPT.pptx
Python_Introduction_Good_PPT.pptxPython_Introduction_Good_PPT.pptx
Python_Introduction_Good_PPT.pptx
Ā 
Perl::Lint - Yet Another Perl Source Code Linter
Perl::Lint - Yet Another Perl Source Code LinterPerl::Lint - Yet Another Perl Source Code Linter
Perl::Lint - Yet Another Perl Source Code Linter
Ā 
Introduction_to_Python.pptx
Introduction_to_Python.pptxIntroduction_to_Python.pptx
Introduction_to_Python.pptx
Ā 
Python Programming.pptx
Python Programming.pptxPython Programming.pptx
Python Programming.pptx
Ā 
Python Foundation ā€“ A programmer's introduction to Python concepts & style
Python Foundation ā€“ A programmer's introduction to Python concepts & stylePython Foundation ā€“ A programmer's introduction to Python concepts & style
Python Foundation ā€“ A programmer's introduction to Python concepts & style
Ā 
Tutorial on-python-programming
Tutorial on-python-programmingTutorial on-python-programming
Tutorial on-python-programming
Ā 
Introduction to Python
Introduction to PythonIntroduction to Python
Introduction to Python
Ā 
20120524 english lt2_pythontoolsfortesting
20120524 english lt2_pythontoolsfortesting20120524 english lt2_pythontoolsfortesting
20120524 english lt2_pythontoolsfortesting
Ā 

Recently uploaded

Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
Ā 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
Ā 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
Ā 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
Ā 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfOverkill Security
Ā 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vƔzquez
Ā 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
Ā 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
Ā 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
Ā 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
Ā 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
Ā 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
Ā 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
Ā 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
Ā 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
Ā 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
Ā 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
Ā 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
Ā 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
Ā 

Recently uploaded (20)

Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
Ā 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
Ā 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
Ā 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
Ā 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Ā 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
Ā 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Ā 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
Ā 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
Ā 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Ā 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Ā 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
Ā 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
Ā 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
Ā 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
Ā 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
Ā 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Ā 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Ā 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Ā 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
Ā 

Python Tools for Visual Studio: Python na Microsoftovom .NET-u

  • 1. Python Python Tools for VS DLR i IronPython ZakljuĀ£ak Python Tools for Visual Studio Python na Microsoftovom .NET-u Nikola PlejiĀ¢ nikola@plejic.com http://nikola.plejic.com DevUG Zagreb, 27.10.2011.
  • 2.
  • 3. Python Python Tools for VS DLR i IronPython ZakljuĀ£ak Outline 1 Python Uvod Kratak vodiĀ£ kroz jezik 2 Python Tools for VS Instalacija 3 DLR i IronPython Dynamic Language Runtime Uporaba IronPythona
  • 4. Python Python Tools for VS DLR i IronPython ZakljuĀ£ak Python? > print(Hello, world!) Hello, world!
  • 5. Python Python Tools for VS DLR i IronPython ZakljuĀ£ak Python? ā€¢ opĀ¢eniti, objektno-orijentirani high-level jezik
  • 6. Python Python Tools for VS DLR i IronPython ZakljuĀ£ak Python? ā€¢ opĀ¢eniti, objektno-orijentirani high-level jezik ā€¢ dinamiĀ£ki, strongly typed
  • 7. Python Python Tools for VS DLR i IronPython ZakljuĀ£ak Python? ā€¢ opĀ¢eniti, objektno-orijentirani high-level jezik ā€¢ dinamiĀ£ki, strongly typed ā€¢ fokus na Ā£itljivost i jednostavnost sintakse
  • 8. Python Python Tools for VS DLR i IronPython ZakljuĀ£ak The Zen of Python import this The Zen of Python, by Tim Peters Beautiful is better than ugly. Explicit is better than implicit. Simple is better than complex. Complex is better than complicated. Flat is better than nested. Sparse is better than dense. Readability counts. Special cases aren't special enough to break the rules. Although practicality beats purity. Errors should never pass silently. Unless explicitly silenced. In the face of ambiguity, refuse the temptation to guess. There should be one-- and preferably only one --obvious way to do it. Although that way may not be obvious at first unless you're Dutch. Now is better than never. Although never is often better than *right* now. If the implementation is hard to explain, it's a bad idea. If the implementation is easy to explain, it may be a good idea. Namespaces are one honking great idea -- let's do more of those!
  • 9. Python Python Tools for VS DLR i IronPython ZakljuĀ£ak Kratka povijest ā€¢ nastao krajem 1989. godine
  • 10. Python Python Tools for VS DLR i IronPython ZakljuĀ£ak Kratka povijest ā€¢ nastao krajem 1989. godine ā€¢ Guido van Rossum (BDFL Benevolent Dictator For Life)
  • 11. Python Python Tools for VS DLR i IronPython ZakljuĀ£ak Kratka povijest ā€¢ nastao krajem 1989. godine ā€¢ Guido van Rossum (BDFL Benevolent Dictator For Life) ā€¢ Python 2 vs. Python 3
  • 12. Python Python Tools for VS DLR i IronPython ZakljuĀ£ak Implementacije ā€¢ referentna implementacija CPython
  • 13. Python Python Tools for VS DLR i IronPython ZakljuĀ£ak Implementacije ā€¢ referentna implementacija CPython ā€¢ Jython, IronPython, PyPy
  • 14. Python Python Tools for VS DLR i IronPython ZakljuĀ£ak Implementacije ā€¢ referentna implementacija CPython ā€¢ Jython, IronPython, PyPy ā€¢ raznorazni kompajleri (Pyjamas, Pyrex, Cython)
  • 15. Python Python Tools for VS DLR i IronPython ZakljuĀ£ak Osnovni tipovi podataka ā€¢ sve je objekt
  • 16. Python Python Tools for VS DLR i IronPython ZakljuĀ£ak Osnovni tipovi podataka ā€¢ sve je objekt ā€¢ string vs. unicode ā€¢ ne i u IronPythonu (string == unicode)
  • 17. Python Python Tools for VS DLR i IronPython ZakljuĀ£ak Osnovni tipovi podataka ā€¢ sve je objekt ā€¢ string vs. unicode ā€¢ ne i u IronPythonu (string == unicode) ā€¢ liste, tuplei
  • 18. Python Python Tools for VS DLR i IronPython ZakljuĀ£ak Osnovni tipovi podataka ā€¢ sve je objekt ā€¢ string vs. unicode ā€¢ ne i u IronPythonu (string == unicode) ā€¢ liste, tuplei ā€¢ dictionaries
  • 19. Python Python Tools for VS DLR i IronPython ZakljuĀ£ak Comprehensions ā€¢ list comprehensions
  • 20. Python Python Tools for VS DLR i IronPython ZakljuĀ£ak Comprehensions ā€¢ list comprehensions ā€¢ dictionary comprehensions
  • 21. Python Python Tools for VS DLR i IronPython ZakljuĀ£ak Comprehensions ā€¢ list comprehensions ā€¢ dictionary comprehensions ā€¢ generatori ā€¢ generator comprehensions
  • 22. Python Python Tools for VS DLR i IronPython ZakljuĀ£ak Objektni model ā€¢ klase
  • 23. Python Python Tools for VS DLR i IronPython ZakljuĀ£ak Objektni model ā€¢ klase ā€¢ klase su objekti
  • 24. Python Python Tools for VS DLR i IronPython ZakljuĀ£ak Objektni model ā€¢ klase ā€¢ klase su objekti ā€¢ metaklase ā€¢ [...] deeper magic than 99% of users should ever worry about. If you wonder whether you need them, you don't (the people who actually need them know with certainty that they need them, and don't need an explanation about why). ~ Tim Peters
  • 25. Python Python Tools for VS DLR i IronPython ZakljuĀ£ak ā€™to nam treba? ā€¢ distribucija Pythona ā€¢ standardni interpreter, ActiveState, IronPython, ... 1 http://pytools.codeplex.com/ 2 http://ipython.org/ 3 MSI na https://github.com/zeromq/pyzmq/downloads
  • 26. Python Python Tools for VS DLR i IronPython ZakljuĀ£ak ā€™to nam treba? ā€¢ distribucija Pythona ā€¢ standardni interpreter, ActiveState, IronPython, ... ā€¢ Visual Studio ili besplatni Visual Studio Shell ā€¢ ne i VS Express! 1 http://pytools.codeplex.com/ 2 http://ipython.org/ 3 MSI na https://github.com/zeromq/pyzmq/downloads
  • 27. Python Python Tools for VS DLR i IronPython ZakljuĀ£ak ā€™to nam treba? ā€¢ distribucija Pythona ā€¢ standardni interpreter, ActiveState, IronPython, ... ā€¢ Visual Studio ili besplatni Visual Studio Shell ā€¢ ne i VS Express! 1 ā€¢ Python Tools for Visual Studio 1 http://pytools.codeplex.com/ 2 http://ipython.org/ 3 MSI na https://github.com/zeromq/pyzmq/downloads
  • 28. Python Python Tools for VS DLR i IronPython ZakljuĀ£ak ā€™to nam treba? ā€¢ distribucija Pythona ā€¢ standardni interpreter, ActiveState, IronPython, ... ā€¢ Visual Studio ili besplatni Visual Studio Shell ā€¢ ne i VS Express! 1 ā€¢ Python Tools for Visual Studio 2 ā€¢ IPython ā€¢ alternativni (ne-samo-)Python shell ā€¢ potreban pyzmq 2.1.4 3 1 http://pytools.codeplex.com/ 2 http://ipython.org/ 3 MSI na https://github.com/zeromq/pyzmq/downloads
  • 29. Python Python Tools for VS DLR i IronPython ZakljuĀ£ak ā€™to dobivamo? ā€¢ IntelliSense 4 samo u VS Ultimate :(
  • 30. Python Python Tools for VS DLR i IronPython ZakljuĀ£ak ā€™to dobivamo? ā€¢ IntelliSense ā€¢ project management 4 samo u VS Ultimate :(
  • 31. Python Python Tools for VS DLR i IronPython ZakljuĀ£ak ā€™to dobivamo? ā€¢ IntelliSense ā€¢ project management ā€¢ debugger 4 samo u VS Ultimate :(
  • 32. Python Python Tools for VS DLR i IronPython ZakljuĀ£ak ā€™to dobivamo? ā€¢ IntelliSense ā€¢ project management ā€¢ debugger 4 ā€¢ proling 4 samo u VS Ultimate :(
  • 33. Python Python Tools for VS DLR i IronPython ZakljuĀ£ak ā€™to je DLR? ā€¢ skup libraryja nad CLR-om koji olakĀ²ava hostanje dinamiĀ£kih jezika
  • 34. Python Python Tools for VS DLR i IronPython ZakljuĀ£ak ā€™to je DLR? ā€¢ skup libraryja nad CLR-om koji olakĀ²ava hostanje dinamiĀ£kih jezika ā€¢ izvuĀ£en iz ranih verzija IronPythona
  • 35. Python Python Tools for VS DLR i IronPython ZakljuĀ£ak ā€™to je DLR? ā€¢ skup libraryja nad CLR-om koji olakĀ²ava hostanje dinamiĀ£kih jezika ā€¢ izvuĀ£en iz ranih verzija IronPythona ā€¢ zajedniĀ£ka podloga za sve dinamiĀ£ke jezike na .NET-u (IronRuby, IronScheme)
  • 36. Python Python Tools for VS DLR i IronPython ZakljuĀ£ak ā€™to je DLR? ā€¢ skup libraryja nad CLR-om koji olakĀ²ava hostanje dinamiĀ£kih jezika ā€¢ izvuĀ£en iz ranih verzija IronPythona ā€¢ zajedniĀ£ka podloga za sve dinamiĀ£ke jezike na .NET-u (IronRuby, IronScheme) ā€¢ proĀ²irenje postojeĀ¢im statiĀ£kim jezicima (dynamic dispatching @ C# 4.0)
  • 37. Python Python Tools for VS DLR i IronPython ZakljuĀ£ak ā€™to je DLR? ā€¢ skup libraryja nad CLR-om koji olakĀ²ava hostanje dinamiĀ£kih jezika ā€¢ izvuĀ£en iz ranih verzija IronPythona ā€¢ zajedniĀ£ka podloga za sve dinamiĀ£ke jezike na .NET-u (IronRuby, IronScheme) ā€¢ proĀ²irenje postojeĀ¢im statiĀ£kim jezicima (dynamic dispatching @ C# 4.0) ā€¢ .NET Framework 4.0 + Mono 2.8+ po defaultu
  • 38. Python Python Tools for VS DLR i IronPython ZakljuĀ£ak Kratka povijest IronPythona ā€¢ Jim Hugunin, 2006.
  • 39. Python Python Tools for VS DLR i IronPython ZakljuĀ£ak Kratka povijest IronPythona ā€¢ Jim Hugunin, 2006. ā€¢ danas: Microsoft (razvoj na CodePlexu)
  • 40. Python Python Tools for VS DLR i IronPython ZakljuĀ£ak Kratka povijest IronPythona ā€¢ Jim Hugunin, 2006. ā€¢ danas: Microsoft (razvoj na CodePlexu) ā€¢ open source (Apache 2.0)
  • 41. Python Python Tools for VS DLR i IronPython ZakljuĀ£ak Kratka povijest IronPythona ā€¢ Jim Hugunin, 2006. ā€¢ danas: Microsoft (razvoj na CodePlexu) ā€¢ open source (Apache 2.0) ā€¢ aktivno razvijan (zadnji release: 21.10.2011.)
  • 42. Python Python Tools for VS DLR i IronPython ZakljuĀ£ak Featurei ā€¢ ā‰ˆ CPython 2.7 uz manje razlike, npr.: ā€¢ string == unicode ā€¢ Python podrĀŗava viĀ²estruko naslježivanje, CLR ne podrĀŗava
  • 43. Python Python Tools for VS DLR i IronPython ZakljuĀ£ak Featurei ā€¢ ā‰ˆ CPython 2.7 uz manje razlike, npr.: ā€¢ string == unicode ā€¢ Python podrĀŗava viĀ²estruko naslježivanje, CLR ne podrĀŗava ā€¢ integracija s .NET frameworkom
  • 44. Python Python Tools for VS DLR i IronPython ZakljuĀ£ak Featurei ā€¢ ā‰ˆ CPython 2.7 uz manje razlike, npr.: ā€¢ string == unicode ā€¢ Python podrĀŗava viĀ²estruko naslježivanje, CLR ne podrĀŗava ā€¢ integracija s .NET frameworkom ā€¢ Silverlight scripting
  • 45. Python Python Tools for VS DLR i IronPython ZakljuĀ£ak PriĀ£anje s .NET-om # deklaracija referenci import clr clr.AddReference(System.Xml) # namespacevi import System from System.Xml import * xmldoc = XmlDocument() # alternativno: # import system # xmldoc = System.Xml.XmlDocument()
  • 46. Python Python Tools for VS DLR i IronPython ZakljuĀ£ak PriĀ£anje s .NET-om (smjer #2) 5 ā€¢ DLR Hosting API (= free scripting!) 5 http://dlr.codeplex.com/wikipage?title=Docs%20and%20specsreferringTitle=Do
  • 47. Python Python Tools for VS DLR i IronPython ZakljuĀ£ak PriĀ£anje s .NET-om (smjer #2) 5 ā€¢ DLR Hosting API (= free scripting!) ā€¢ kompajliranje IronPython aplikacije u .NET assembly ā€¢ While the assemblies produced by the IronPython Hosting APIs are true .NET assemblies, the dynamic nature of the Python language makes it dicult to use these from other .NET languages. In short, this means that attempting to import Python types into other .NET languages such as C# is not recommended. 5 http://dlr.codeplex.com/wikipage?title=Docs%20and%20specsreferringTitle=Do
  • 48. Python Python Tools for VS DLR i IronPython ZakljuĀ£ak ASP.NET i IronPython ā€¢ WebForms uz ASP.NET Dynamic Language Support 6 http://github.com/jschementi/ironrubymvc
  • 49. Python Python Tools for VS DLR i IronPython ZakljuĀ£ak ASP.NET i IronPython ā€¢ WebForms uz ASP.NET Dynamic Language Support ā€¢ ASP.NET MVC ā€¢ http://www.codevoyeur.com/Articles/Tags/ironpython.aspx ā€¢ RubyjaĀ²i su bolje proĀ²li 6 6 http://github.com/jschementi/ironrubymvc
  • 50. Python Python Tools for VS DLR i IronPython ZakljuĀ£ak Alternative 7 ā€¢ Boo ā€¢ sintaksa inspirirana Pythonom ā€¢ statiĀ£ki tipiziran (type inferencing) ā€¢ makroi 7 http://boo.codehaus.org/ 8 http://ironruby.net/ 9 http://ironscheme.codeplex.com/
  • 51. Python Python Tools for VS DLR i IronPython ZakljuĀ£ak Alternative 7 ā€¢ Boo ā€¢ sintaksa inspirirana Pythonom ā€¢ statiĀ£ki tipiziran (type inferencing) ā€¢ makroi 8 ā€¢ IronRuby 7 http://boo.codehaus.org/ 8 http://ironruby.net/ 9 http://ironscheme.codeplex.com/
  • 52. Python Python Tools for VS DLR i IronPython ZakljuĀ£ak Alternative 7 ā€¢ Boo ā€¢ sintaksa inspirirana Pythonom ā€¢ statiĀ£ki tipiziran (type inferencing) ā€¢ makroi 8 ā€¢ IronRuby 9 ā€¢ IronScheme? ā€¢ skoro-pa-R6RS Scheme 7 http://boo.codehaus.org/ 8 http://ironruby.net/ 9 http://ironscheme.codeplex.com/
  • 53. Python Python Tools for VS DLR i IronPython ZakljuĀ£ak ZakljuĀ£ak ā€¢ ozbiljan, dobro podrĀŗan dinamiĀ£ki jezik na CLR-u i Monou
  • 54. Python Python Tools for VS DLR i IronPython ZakljuĀ£ak ZakljuĀ£ak ā€¢ ozbiljan, dobro podrĀŗan dinamiĀ£ki jezik na CLR-u i Monou ā€¢ vrlo solidan toolchain u razvoju
  • 55. Python Python Tools for VS DLR i IronPython ZakljuĀ£ak ZakljuĀ£ak ā€¢ ozbiljan, dobro podrĀŗan dinamiĀ£ki jezik na CLR-u i Monou ā€¢ vrlo solidan toolchain u razvoju ā€¢ Ā£emu sve to? ā€¢ brzi prototyping ā€¢ testiranje .NET assemblyja ā€¢ skriptiranje .NET i Silverlight aplikacija
  • 56. Python Python Tools for VS DLR i IronPython ZakljuĀ£ak ZakljuĀ£ak Hvala na paĀŗnji! Nikola PlejiĀ¢ nikola@plejic.com http://nikola.plejic.com/