From .NET to Python - my first observations

About three months ago, I made a leap from the .NET/Windows ecosystem into the Python/*nix world. Reasons aside, I merely want to leave some encouraging thoughts around what helped me with the transition here at Recruiterbox so as to help anybody else making a similar transition.

1. It is easy to learn

Fight your lizard-brain. Don't let misleading articles or misinformed people tell you otherwise. Remember the guy in the movie 'The Croods’ who didn’t even know what existed outside his cave?

Eep: "We never had the chance to explore the outside world, because of my dad's one rule."

Grug: "New is always bad! Never not be afraid."

Of course, having amazingly helpful colleagues and a pretty well-structuredcode base here at Recruiterbox also makes it even more easier.

2. Readability

Python looks and feels like pseudo-code. And it takes barely a couple of hours to get started writing simple programs.

Here a simple "Hello World" comparison between C# and Python.

using System;

public static void Main(string[] args)  
    Console.WriteLine("Hello, world!");

print "Hello, world!"  

3. Type-safety

Python is strongly typed. Meaning, types are important but usage of this type-metadata is deferred to the runtime. i.e. interpreter in this case NOT compiler. It's very easy to mistake this subtle difference and think of Python as a JavaScript-style loosely-typed language.

4. TDD (or BDD) is your friend

The sooner you embrace this the better. Good, if you are already. This helps avoid scary landmines lying around in the codebase since you do not have compile-time type checking (point #3 above). This also lends itself towards minimal and understandable code since you will only end up writing only as much as is necessary. This is very different from defensive unit testing.

Bonus tip: Tracer Bullet Development

5. Appreciate multiple paradigms

Sit back and reap the benefits while your brain forges new neural pathways. You will definitely dislike, appreciate and also question practices and concepts in either worlds. This is a good thing since you will have opinions rooted in first-hand experience.

The more you do and experience the more we learn and grow.

This puts you in a better position to decide which tools are better suited for a given task. Otherwise -

"When all you have is a hammer, everything looks like a nail."

comments powered by Disqus