21 Sep 2016

• 4 min read

• 793 words

Why I'm Committing to Python

Sasuke Ready

I'm a Node js Guy. I program every single day, and most days that involves using Node js. I have been coding in Node js for about a year and half both for fun and profit, and also do a fair amount of “raw” Node js coding (no frameworks), just standard library.

If you aren't familiar with Node (why are you even reading this?), it's a server-side Javascript interpreter. That means you can use it just like Python, Ruby, or Java – directly from the command line (no browser required). It also comes with an extremely elegant package manager (npm), that makes building, maintaining and sharing reusable Node modules extremely simple.

Why Python?

Sasuke Surprised Sketch

Fun.

Fun is a great motivator, and since Python was designed to be easy to understand and fun to use (its name came from Monty Python). Thus, it has gained popularity for being a beginner-friendly language, and it has replaced Java as the most popular introductory language at Top U.S. Universities.

Professionally, Python is a general-purpose language, great for backend web development, data analysis, artificial intelligence and scientific computing, which means it can be used to build just about anything, which will be made easy with the right tools/libraries. Being a very high level language, it reads like English. This takes a lot of syntax-learning stress off coding beginners, and there are plenty of resources to help learn.

Career

Python and Companies

On Angel List Python is the 2nd most demanded skill and also the skill with the highest average salary offered.

Django — the popular open source web application framework written in Python — is the foundation of such sites as Pinterest, The New York Times, The Guardian, Bit Bucket, YouTube, and Instagram. Python is the only scripting language you’ll need to begin designing your own websites and applications. What’s true with Python is true with Django. Web development with Django is well documented, has a large support community, and takes less time and code.

With the rise of big data, Python developers are in demand as data scientists, especially since Python can be easily integrated into web applications to carry out tasks that require machine learning.

Integration

Python can be a stepping stone into the programming universe. Python is an object-oriented language just like Javascript, C++, C#, Perl, Ruby, and other key programming languages. For people planning to become software developers, learning this type of programming in one area will help you adapt easily in other environments.

Specifically, a working knowledge of Python can be a solid foundation because Python’s methodologies can be used in a broad range of applications.

Here’s a brief comparison of Python with Ruby language.

for loop on a list: Python

items = [1, 2, 3, 4, 5]

for i in items:
  print i

each call with a block on an array: Ruby

items = [1, 2, 3, 4, 5]

items.each do |i|
  puts i
end

Without prior programming experience, anyone can easily detect the similarities and differences between Python’s syntax and those of other languages. Either way, a basic understanding of Python makes jumping into Ruby a breeze.

What I’m Moving Towards

Gabriel Belmont Dragon Transformation Sketch

Since I'm already familiar with quite a number of programming concepts, the first thing I did was pick up the highly recommended book: Learn Python the Hard Way. I read through it, and subsequently failed to find a good way to apply my newly found Python knowledge to anything practical.

Unfortunately, after many months of dabbling with Python a bit – I've decided to take it serious and dive in. My goal is to become a proficient Python programmer, so that I can:

  • Use some of the Python frameworks and tools that are out there (Flask, Django, etc.).
  • Contribute to Python projects that I like.
  • Write my own Python code (server side and client side) without feeling like a beginner.
  • Write my own Python library and get contributors, hopefully :)
  • Improve my knowledge of Data Structures, and most of all, Algorithms.
  • See what all the fuss is about.

To actually practice my newly learned Python, I decided to give Django a try. Since I learn best by writing and building out applications, I figured Django would be a good choice.

So far it has been extremely useful in my quest to learn Python, and as I've continued to build things using it, I've been slowly getting more and more familiar with Python as a language. I went from 0 knowledge of Python to a working, reusable module, in less than 3 days. Booya.

NOTE: I'm going to complete the Learn Python the Hard Way this month end. You should check it out. It's extremely concise, and enjoyable to read. Highly recommended.

As I learn more about Python, and it's frameworks. I'll keep you updated!