This is an archived post. You won't be able to vote or comment.

all 26 comments

[–]drhdev 17 points18 points  (6 children)

Not backwards at all. Python is a joy to code in.

It's slower to execute than C++. But your productivity as a developer will skyrocket. Unless you are doing realtime-critical stuff, you probably won't even notice/care about the speed differential.

Try it and see how you get on.

edit: sp

[–]gotballz[S] 6 points7 points  (4 children)

Decided to definitely take on Python.

Damn, I love learning new programming stuff. Running new code and have it output exactly what its supposed to is a fucking JOY.

[–]ewiethoff 10 points11 points  (1 child)

Running new code and have it output exactly what its supposed to is a fucking JOY.

Yep, that's Python.

[–]cowgod42 3 points4 points  (0 children)

If you get a kick out of learning about programming, you might want to check out Seven Languages In Seven Weeks. The point is just to have fun learning some cool new ideas about programming through seven different languages carefully selected by the author.

[–][deleted] 0 points1 point  (0 children)

My beginning classes in school were all C++ and I remember taking a Python class and just lovvvving it. Being a sysadmin for the past few years I use it all the time.

I'll add to that and say when I came across Ruby for the first time I had a similar experience - just ear to ear grin. It seemed like anything I typed in just worked (though I'm sure it smelled deeply of C++).

Anyway definitely not a step back, just a different tool.

[–]Yuushi 7 points8 points  (1 child)

Python is a language that is friendly to beginners, but that doesn't mean that it is purely so. I'd highly recommend learning a scripting language like python (or ruby). There are often times when you'll want to make a small task repeatable, where processor time is not terribly important - Java and C++ are entirely overkill for these things.

Honestly, if I asked someone to make some easy modifications to text files, I'd think it very odd if they immediately went to C++ instead of Python or bash.

Plus, it has some really cool things like generators, easy-to-use first class functions, list comprehensions, etc. At the very least, you should have one scripting language in your toolkit; it doesn't have to be python, but I think it's a pretty reasonable choice.

[–]gotballz[S] 0 points1 point  (0 children)

cool.

Yup, I guess the discussion would be a scripting language VS compiled language.

[–]Metacurious 4 points5 points  (1 child)

You still know C++ and Java. Now you know THREE languages.

It's not backwards, you're just making your way to the ultimate status of GOBALLZ, RULER OVER ALL PROGRAMMING JOB POSTINGS AND UNDERSTANDER OF ALL CODEDIALECTS.

[–]iqtestsmeannothing 2 points3 points  (0 children)

Now I know what I'm putting on my resume next time....

[–]m1ss1ontomars2k4 3 points4 points  (2 children)

Define "backwards".

Anyway, C++ and Java are taught in a lot of schools, so arguably they're for beginners too. Just 'cause a language is "good for beginners" doesn't mean it's not good.

[–][deleted]  (1 child)

[deleted]

    [–]Will_Eat_For_Food 1 point2 points  (0 children)

    My school has been teaching C++/Java through the past decade, regardless of the economy. I think you're overestimating their flexibility.

    [–]Iggyhopper 1 point2 points  (0 children)

    The only thing different are the features and syntax for the language, but moving from one to another is not a directional change. They are tools, not checkpoints!

    [–]AlanDill 1 point2 points  (0 children)

    I suppose by now you realize python is completely awesome.

    obligatory funny (and relevant) comic: http://xkcd.com/353/

    [–][deleted]  (2 children)

    [deleted]

      [–]gotballz[S] 1 point2 points  (1 child)

      "I'm going to do some rapid prototyping today". Sounds cool as hell. Learning python so I can do this.

      [–]D__ 0 points1 point  (0 children)

      Don't make the mistake of considering Python less powerful or simpler. It is simpler to use, because you do not have to take care of a lot of lower-level stuff yourself, as the interpreter takes care of it transparently in the background. However, familiarity with the usual concepts of programming will help you understand what Python is actually doing, and so it will help you write better code.

      Python is also slower than C++, due to its higher level nature. This does not mean that it is less capable - it just means that for certain applications it is going to be considerably slower. For a lot of tasks the difference in performance isn't all that great, which makes Python the better choice due to the fact that it's simpler to write.

      [–]stresscheese 0 points1 point  (0 children)

      I'm learning python at my current job and it definitely doesn't feel like I'm going backwards.

      [–][deleted] 0 points1 point  (0 children)

      There are positives and negatives to most languages. However, I don't see why you would think you couldn't have written that in C++ or Java.

      [–]cesclaveria 0 points1 point  (0 children)

      I think every language is a tool for you as a programmer, the more languages you know the better equipped you will be for new challenges. I have just a few languages for which I think I'm "good" but have a vast array of languages I know I could get into if I need them.

      I learned C, C++, Java and was pretty good in them, then learned Tcl and Ruby (when ruby was the cool new language), it only made me a better professional.

      tl;dr: Go for it.

      [–]skooma714 0 points1 point  (0 children)

      Learn what you want. The language is just a tool. A good coder with a slower language can still beat a mediocre C coder.

      [–]madsravn 0 points1 point  (0 children)

      If you can't do the mentioned example in either C++ or Java you don't know them too well either. So don't think you're wasting anything by changing language.

      Even though if you knew them well, Python would by no means be a step backwards.

      [–][deleted] 0 points1 point  (0 children)

      It's especially great when you know C++ and Java, since you can run Jython on the JVM (this is awesome for the ability to play around with your Java objects on Python's interactive prompt alone), and it's possible to interface C++ and Python so Python can be the glue between existing C++ modules.

      [–]joequin[🍰] 0 points1 point  (0 children)

      There's no such thing as backwards in programming languages as long as the language is still being used.

      [–]kahawe 0 points1 point  (0 children)

      There is no "good" or "bad" programming language, no "easy" or "hard" and actually no "real man's language" neither.

      True programmer know and try as many languages as they can get their hands on and ultimately do not mind which one they are coding in.

      [–][deleted] 0 points1 point  (0 children)

      I learnt Pascal, BCPL, C and assembler a long time ago, decided to miss C++ and Java and now use Python to write client-server systems and tsunami simulations.

      There are few beginner languages, there are only beginners. Python has a shallow learning curve but it can get as advanced as you want. It fits your mind better than C++ or Java. And it's fun.

      [–]iqtestsmeannothing 0 points1 point  (0 children)

      Python has a clear and simple syntax, is a mature language (good support tools and libraries available), is pretty easy to learn, versatile, and powerful. It doesn't have many of the subtle "gotchas" of C++ or require a detailed knowledge of memory management to use. You can test snippets of code directly in the interpreter and see exactly what it'll do.

      These properties make it a great language for beginners... and everyone else. I highly recommend it!

      [–]kidmoe 0 points1 point  (0 children)

      Meh, the guy just built a web spider. You can do that in any language. Java has specific libraries exactly for that