Was Python your first programming language, and now you're a paid programmer?

3 points by akulbe ↗ HN
I've heard and read from many sources that say Python is an excellent first programming language.

I'm curious to know the following:

1. Was Python your first programming language? 2. Are you a professional (paid) programmer now, as a result? 3. How did you get your job? 4. Have you stuck with Python, or did it help you learn another language you're using now?

7 comments

[ 3.0 ms ] story [ 24.9 ms ] thread
Python is a good language. But there are many languages and each one has different perks and has different uses. If you want to know if it's a good language to start just go for it and stop asking question. Programming is really a profession where to learn you need to make many mistakes and only write a lot of code. Start with python or any other language, if then you don't like it you can change. It's not the language that gives you the job but your abilities.
Your first programming language should be an assembly language. Pick the brand — any brand. It will teach you how machines work.

Your second programming language should be Lisp. You will see that it is a general purpose solution to the issues assembly languages raise. Assembly language lets you command the machine. Lisp helps you organize how you command the machine. That is fundamentally important.

Your third language could be Python. It would be an excellent choice. Especially, if it helps you get a job! Or solve whatever business problem you face at the moment.

My progression went something like this: some form of basic, Visual Basic, Python, C++. I then stuck with C++ for personal projects for about five years. In this time I tinkered with a ton of other languages too (assembly, ML, prolog, pascal, ...)

Sometime during my C++ years I studied computer science, where I learned Java, some more x86 assembly, some mips assembly, some haskell, some more prolog and rediscovered Python. I then used Python as my main language for a few years. After university, I worked with Java and a little C++ for a few years and then left to do contract work, where I used Python for web work and assembly (PIC24), C and C++ for embedded systems work.

And now I run a startup, where we use Clojure, Python and a tiny bit of C++.

So to answer your questions, Python played an important role in my programming history (indeed, still does), but I think the most important thing is to learn many (different!) languages. Python is a good language and will serve you well, but you don't want to get stuck with a single way of thinking. For example, there's more to the world of programming than Object Oriented programming.

Personal opinion but you're asking all the wrong questions. Python is fine as a first language but the focus should not be on the language but rather good software engineering principles and a solid understanding of how programming works. Make it so you understand things that you are able to quickly pick up any language or framework and utilize them.

To answer your question directly, Python was not my first or second or even third language, but I have heard of stories (plenty) of people who have landed jobs with only python knowledge (and its not difficult to understand why). I assume you ask for yourself so please refer to my first paragraph.

Lua (very similar to Python in many ways) was my first language.

I am a professional python programmer now.

I learned Haskell in between, and the experience I gained with respect to functional programming was invaluable, allowing me to write very clean, concise code in many programming languages.

I usually suggest python to people who do not have a primary role as a programmer. Most recently it's been some GIS folks who just need some basic programming now and then.

That being said, I'll probably get my kids going on Python or JavaScript first, even though I started with Basic, Pascal, Fortran and C (can't really remember which came first, probably basic).

I'll answer your questions in order:

1) Python was my first programming language. I started teaching myself python during my freshman year of college.

2) I am currently employed in a job that is mostly programming. Technically my job title is Data Analyst.

3) I got my job primarily because I had experience with Economics/Econometrics (my major in college), and applied for an internship based on that experience. Because I knew Python, I was able to create a number of predictive models during my internship, and was hired on full time after graduation.

4a) I haven't "stuck with" python so much as I continue to use it as part of my ever expanding tool belt. For my programming work I use ~70% Python, ~20% R, ~5% SQL, ~5% other (C#, VB, C). For fun I dabble in Haskell, Javascript, C, ASM, Forth, and others.

4b) I don't think I would say that Python itself has helped me to learn any other language above and beyond the fact that learning one programming language makes the next one easier. Instead, I think Python, by virtue of being a language that is not particularly extreme in any way, has given me a solid basis of comparison for any other languages that I have picked up. It's a good reference point for what makes other languages unique.

I'm glad I started with Python. The simplicity of getting started with Python was definitely a plus, and it continues to be a useful tool that keeps me employed doing interesting work.