Python for the C# developer

24
Python for the C# developer by Michael Kennedy DevelopMentor | @mkennedy | michaelckennedy.net

description

Video at: http://www.develop.com/webcasts/watch/528febe6d588bf0a1c55306e/python-for-the-csharp-developer If you love C# and .NET, you may be surprised to see how many of the features you love also exist in Python (often first). Python is a wonderful language. It is a clean high-level language which values readability over many trade-offs. You can build web applications serving billions of monthly page views. You can build cross-platform GUI applications such as DropBox. You can access amazingly powerful database servers such as MongoDB and SQL Server. But did you know many of the things you absolutely love about C# also exist in Python? Lambda expressions - check. foreach loops - check. Rich class library - check. Iterators - check. And there is more. Come learn about all the things you love from C# and see how they are accomplished in Python.

Transcript of Python for the C# developer

Python for the C# developer

by Michael KennedyDevelopMentor | @mkennedy | michaelckennedy.net

Agenda

● Introduce the basics of the Python language

● Review what is awesome about C# and .NET

● Explore Python's version of each C# / .NET feature

● Batteries included (large standard library)● High-level programming language● Interpreted (sometimes JIT compiled)● Object-oriented (especially Python 3)● Strongly-typed with dynamic semantics● Syntax emphasizes readability● Supports modules and packages

The Python language in 10 minutes

The ‘shape’ of a Python program

● Python defines code blocks

(known as suites in Python)

using whitespace and colons.

Demo

Python language demo

What's awesome about C# and .NET?

System.Object: Everything is an object. LINQ

IEnumerable + foreach loops Visual Studio / IDEs

Class properties ( int Age {get; set;} ) Side-by-side execution (isolation)

Anonymous types Iterator methods / yield return

Add reference Anonymous methods / lambdas / closures

NuGET package management Base class libraries

Entity Framework / ORMs JIT compilation

Great debugging tools Resharper and IDE plugins

ASP.NET MVC GUI designers

Visual Studio

C# Python

http://pytools.codeplex.com/

IDEs

C# Python

http://www.jetbrains.com/pycharm/

Great debuggers

C# Python

Everything is an object

C# Python

IEnumerable + foreach loops

C# Python

IEnumerable + foreach loops

C# Python

PropertiesC# Python

Anonymous objects

C# Python

Lambda expressions

C# Python

LINQ

C# Python

NuGET package management

C# Python

NuGET package management

17,326 packages 37,571 packages

Iterator methods / yield return

C# code Python code

ASP.NET MVC

C# Python

Entity Framework

C# Python

JIT Compilation

C# Python

JIT compilation via CLR

GUI Designer

C# Python

Summary: Python for the C# developer

● Python language is simple, concise, and readable

● Many parts of C# and .NET are awesome

● Python often has equivalent features

○ sometimes nicer

○ sometimes less nice

● Python has a very capable IDE / Debugger in PyCharm