14 Replies - 6561 Views - Last Post: 02 August 2011 - 10:04 AM Rate Topic: -----

#1 snonymous  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 27
  • Joined: 28-July 11

Is python a good starting programming language?

Posted 28 July 2011 - 08:02 PM

I want to start learning a form of code (of course, why else would I be here?). Anyway, I have read from a few sources that python was where someone should start. If someone could verify if that was true, and maybe even give me a good link to use for it, that would be much appreciated.
Is This A Good Question/Topic? 0
  • +

Replies To: Is python a good starting programming language?

#2 Brewer  Icon User is offline

  • Awesome
  • member icon

Reputation: 179
  • View blog
  • Posts: 1,044
  • Joined: 14-June 10

Re: Is python a good starting programming language?

Posted 28 July 2011 - 09:15 PM

I've recently come across a new book called Invent With Python. It's a pretty need book, but it is for a total beginner. So if that's what you are, then check it out. It teaches you Python through programming games with the pygame module.

There is also Learn Python The Hard Way which was my first Python book, and I still recommend it above all others for new programmers.

In addition to the books there is a sub-reddit for learning Python which can be found here, the MIT 6.00 course Introduction to Computer Science and Programming, and of course the Python forum here at DIC (a personal favorite of mine).

I'm sure that at least one of these links will be of help.
Was This Post Helpful? 1
  • +
  • -

#3 atraub  Icon User is offline

  • Pythoneer
  • member icon

Reputation: 759
  • View blog
  • Posts: 2,010
  • Joined: 23-December 08

Re: Is python a good starting programming language?

Posted 28 July 2011 - 09:38 PM

You'll notice a post pinned at the top of the forum called helpful python resources. Start there... we pin posts for a reason.

To answer your question... some people (myself included) would go as far as to say that Python is the best place to start. Others would throw a hissyfit and tell you to learn C or Java instead. Different strokes for different folks I suppose. Python let's you learn programming concepts without having to worry about stupid syntactic fluff. Here's my favorite example:

Here's the java program to print the phrase "Hello World!" to a terminal
class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello World!"); 
    }
}



Here's how you'd accomplish the same task in python
print("Hello World!")

See why people call it easy?

The question will get brought up, "which version of Python?" That's a debate in its own right. Some people will say to use 2.7 while others will say to use 3.2. My personal opinion is to use 3.2. It's the newest and has the most features. That being said, there are a lot of third-party libraries that require 2.7 (some require 2.6 or even 2.5, for example: Google App Engine). I say use the new one, others will disagree. At the end of the day, the 2 languages are so similar IT REALLY DOESN'T MATTER!!! I get so tired of that endless debate, I really should pin a post on that too...

This post has been edited by atraub: 28 July 2011 - 09:54 PM

Was This Post Helpful? 1
  • +
  • -

#4 snonymous  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 27
  • Joined: 28-July 11

Re: Is python a good starting programming language?

Posted 29 July 2011 - 10:25 AM

View PostBrewer, on 28 July 2011 - 09:15 PM, said:

I've recently come across a new book called Invent With Python. It's a pretty need book, but it is for a total beginner. So if that's what you are, then check it out. It teaches you Python through programming games with the pygame module.

There is also Learn Python The Hard Way which was my first Python book, and I still recommend it above all others for new programmers.

In addition to the books there is a sub-reddit for learning Python which can be found here, the MIT 6.00 course Introduction to Computer Science and Programming, and of course the Python forum here at DIC (a personal favorite of mine).

I'm sure that at least one of these links will be of help.

All right! Thank you very much. I think I'll start with Invent With Python. Do you have an opinion on what language I should learn afterwards, or is it all up to me?
Was This Post Helpful? 0
  • +
  • -

#5 snonymous  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 27
  • Joined: 28-July 11

Re: Is python a good starting programming language?

Posted 29 July 2011 - 10:31 AM

View Postatraub, on 28 July 2011 - 09:38 PM, said:

You'll notice a post pinned at the top of the forum called helpful python resources. Start there... we pin posts for a reason.

To answer your question... some people (myself included) would go as far as to say that Python is the best place to start. Others would throw a hissyfit and tell you to learn C or Java instead. Different strokes for different folks I suppose. Python let's you learn programming concepts without having to worry about stupid syntactic fluff. Here's my favorite example:

Here's the java program to print the phrase "Hello World!" to a terminal
class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello World!"); 
    }
}



Here's how you'd accomplish the same task in python
print("Hello World!")

See why people call it easy?

The question will get brought up, "which version of Python?" That's a debate in its own right. Some people will say to use 2.7 while others will say to use 3.2. My personal opinion is to use 3.2. It's the newest and has the most features. That being said, there are a lot of third-party libraries that require 2.7 (some require 2.6 or even 2.5, for example: Google App Engine). I say use the new one, others will disagree. At the end of the day, the 2 languages are so similar IT REALLY DOESN'T MATTER!!! I get so tired of that endless debate, I really should pin a post on that too...

Yes, I have looked at java before and I, having grown up with ubuntu and other forms of linux, have seen the horrors of trying to write a simple code, even though I have less than a bare minimum understanding of code at the moment. Thank you for pointing out that Python is so much easier!
Was This Post Helpful? 0
  • +
  • -

#6 Brewer  Icon User is offline

  • Awesome
  • member icon

Reputation: 179
  • View blog
  • Posts: 1,044
  • Joined: 14-June 10

Re: Is python a good starting programming language?

Posted 29 July 2011 - 11:19 PM

View Postsnonymous, on 29 July 2011 - 02:55 PM, said:

All right! Thank you very much. I think I'll start with Invent With Python. Do you have an opinion on what language I should learn afterwards, or is it all up to me?


As annoyingly evasive as this answer will be, it depends a lot on what you want to do. If you want to make console video games then C++ or C# would be the way to go. If you want to get into the startup scene then Ruby, Python, and Javascript are all hot right now. If for some ungodly reason you want to work for a finance company building corporate applications then go learn Java. If you're interested in making mobile apps then Java or Objective-C are your choices (Java for Android, Objective-C for iPhone).
Was This Post Helpful? 1
  • +
  • -

#7 baavgai  Icon User is offline

  • Dreaming Coder
  • member icon

Reputation: 5796
  • View blog
  • Posts: 12,631
  • Joined: 16-October 07

Re: Is python a good starting programming language?

Posted 30 July 2011 - 04:44 AM

View PostBrewer, on 30 July 2011 - 02:19 AM, said:

As annoyingly evasive as this answer will be, it depends a lot on what you want to do. If you want to make console video games then C++ or C# would be the way to go...


I'd have to disagree here. Not with C++ being the game developer's tool of choice, but as this relates to the question of first language.

There are some fundamental, universal, concepts in programming. Most languages use variables, loops, scope, functions, etc. ( Actually, all languages use scope, it's just sometimes the answer is global. ) The thought process that leads to problem solving can be applied in any programming language. Go take a look at our silly Python challenge.

We all have bias as to what the best starting language should be. Do you want to be close to the ground or up in the clouds when you learn those fundamentals? Does playing in the clouds hasten your understanding or block your view of ground. Does standing on the ground make it too hard to see the big picture easily seen from the clouds? I honestly don't know the answer to this. No one does.

Is Python a good starting language? Absolutely! One of the best, I believe. Understand that no starting language you choose will be a waste of time; you'll learn to program. It's just that some languages are a little friendlier than others.
Was This Post Helpful? 4
  • +
  • -

#8 snonymous  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 27
  • Joined: 28-July 11

Re: Is python a good starting programming language?

Posted 30 July 2011 - 01:43 PM

View PostBrewer, on 29 July 2011 - 11:19 PM, said:

View Postsnonymous, on 29 July 2011 - 02:55 PM, said:

All right! Thank you very much. I think I'll start with Invent With Python. Do you have an opinion on what language I should learn afterwards, or is it all up to me?


As annoyingly evasive as this answer will be, it depends a lot on what you want to do. If you want to make console video games then C++ or C# would be the way to go. If you want to get into the startup scene then Ruby, Python, and Javascript are all hot right now. If for some ungodly reason you want to work for a finance company building corporate applications then go learn Java. If you're interested in making mobile apps then Java or Objective-C are your choices (Java for Android, Objective-C for iPhone).

Yeah, sorry about that. I couldn't word it any other way. I really want to do all of these things, so I guess I will just have to learn them all. Thanks again!
Was This Post Helpful? 0
  • +
  • -

#9 snonymous  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 27
  • Joined: 28-July 11

Re: Is python a good starting programming language?

Posted 30 July 2011 - 01:53 PM

View Postbaavgai, on 30 July 2011 - 04:44 AM, said:

View PostBrewer, on 30 July 2011 - 02:19 AM, said:

As annoyingly evasive as this answer will be, it depends a lot on what you want to do. If you want to make console video games then C++ or C# would be the way to go...


I'd have to disagree here. Not with C++ being the game developer's tool of choice, but as this relates to the question of first language.

There are some fundamental, universal, concepts in programming. Most languages use variables, loops, scope, functions, etc. ( Actually, all languages use scope, it's just sometimes the answer is global. ) The thought process that leads to problem solving can be applied in any programming language. Go take a look at our silly Python challenge.

We all have bias as to what the best starting language should be. Do you want to be close to the ground or up in the clouds when you learn those fundamentals? Does playing in the clouds hasten your understanding or block your view of ground. Does standing on the ground make it too hard to see the big picture easily seen from the clouds? I honestly don't know the answer to this. No one does.

Is Python a good starting language? Absolutely! One of the best, I believe. Understand that no starting language you choose will be a waste of time; you'll learn to program. It's just that some languages are a little friendlier than others.

Yes, I completely understand your point. In fact, my dad recommended that I start with a form of C because, say I was to get a job, most companies use those languages, not the free type, like Python. Thanks! And by the way, I loved your philosophy. I'm going to put that as one of my interests right now!
Was This Post Helpful? 0
  • +
  • -

#10 atraub  Icon User is offline

  • Pythoneer
  • member icon

Reputation: 759
  • View blog
  • Posts: 2,010
  • Joined: 23-December 08

Re: Is python a good starting programming language?

Posted 30 July 2011 - 01:54 PM

Words to live by: Choose a goal, then determine the tools you'll need to meet that goal. Never vice versa!
Was This Post Helpful? 1
  • +
  • -

#11 baavgai  Icon User is offline

  • Dreaming Coder
  • member icon

Reputation: 5796
  • View blog
  • Posts: 12,631
  • Joined: 16-October 07

Re: Is python a good starting programming language?

Posted 30 July 2011 - 04:33 PM

View Postsnonymous, on 30 July 2011 - 04:53 PM, said:

In fact, my dad recommended that I start with a form of C because, say I was to get a job, most companies use those languages, not the free type, like Python.


Rule number one with computers: things change. C itself is a hold out from a "far more civilized age" and is both purely procedural and not particularly strongly typed. The rise of OO and it's dominance have been in effect for at least 20 years. However, in our modern times, "duck typed" and functional are the horses to bet on.

Java, the most draconian OO language out there, has a myriad of offspring that also run on the JVM and can leverage those libraries. If you look at them, most offer some form of dynamic typing or type inference. Many are functional languages or have functional elements.

It might come as a shock to your dad, but Python has actually helped inspire modern programming to the point that "free type" has started to became the rule, rather than the exception, in most newer languages. C#, which started out as basically a clone of Java, has offered the "implicitly typed" var since 3.0. The next version of C++ will also offer a form of duck typing.

I like strongly typed languages. I used to love getting all "const correct" and "private" with C++. It took me a while to get over that because the reality is, it just doesn't matter as much as we thought it did. Python has no private, only a kind of social contract. And yet, Python is the production language of choice in many places.
Was This Post Helpful? 3
  • +
  • -

#12 snonymous  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 27
  • Joined: 28-July 11

Re: Is python a good starting programming language?

Posted 01 August 2011 - 08:47 PM

View Postbaavgai, on 30 July 2011 - 04:33 PM, said:

View Postsnonymous, on 30 July 2011 - 04:53 PM, said:

In fact, my dad recommended that I start with a form of C because, say I was to get a job, most companies use those languages, not the free type, like Python.


Rule number one with computers: things change. C itself is a hold out from a "far more civilized age" and is both purely procedural and not particularly strongly typed. The rise of OO and it's dominance have been in effect for at least 20 years. However, in our modern times, "duck typed" and functional are the horses to bet on.

Java, the most draconian OO language out there, has a myriad of offspring that also run on the JVM and can leverage those libraries. If you look at them, most offer some form of dynamic typing or type inference. Many are functional languages or have functional elements.

It might come as a shock to your dad, but Python has actually helped inspire modern programming to the point that "free type" has started to became the rule, rather than the exception, in most newer languages. C#, which started out as basically a clone of Java, has offered the "implicitly typed" var since 3.0. The next version of C++ will also offer a form of duck typing.

I like strongly typed languages. I used to love getting all "const correct" and "private" with C++. It took me a while to get over that because the reality is, it just doesn't matter as much as we thought it did. Python has no private, only a kind of social contract. And yet, Python is the production language of choice in many places.

Good point. I have been creating some code with python now, and I do like it a lot. I just hope that they stay free. That would be my second computer nightmare; the first being that Ubuntu Linux started charging money for their OS. I guess Mac is doing pretty well, though.

View Postatraub, on 30 July 2011 - 01:54 PM, said:

Words to live by: Choose a goal, then determine the tools you'll need to meet that goal. Never vice versa!

Too true. I love your signature, by the way. I need to start working on one...
Was This Post Helpful? 0
  • +
  • -

#13 atraub  Icon User is offline

  • Pythoneer
  • member icon

Reputation: 759
  • View blog
  • Posts: 2,010
  • Joined: 23-December 08

Re: Is python a good starting programming language?

Posted 02 August 2011 - 06:57 AM

You'll never have to pay to use Python.
Was This Post Helpful? 1
  • +
  • -

#14 baavgai  Icon User is offline

  • Dreaming Coder
  • member icon

Reputation: 5796
  • View blog
  • Posts: 12,631
  • Joined: 16-October 07

Re: Is python a good starting programming language?

Posted 02 August 2011 - 07:21 AM

Fear of going from free to fee is a misunderstanding of how open source licenses work. If something is under the GPL, you can't charge for it; ever. You can extend it with proprietary stuff; if you're careful. But if you change the code itself, you have to make that free too.

Some companies charge for support, or distribution of binaries, or extension code; all this is acceptable. It also doesn't prevent you from getting the open source program for free.

The recent saga of OpenOffice now LibreOffice shows that even a mega corp like Oracle can't have their way with free software.
Was This Post Helpful? 1
  • +
  • -

#15 snonymous  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 27
  • Joined: 28-July 11

Re: Is python a good starting programming language?

Posted 02 August 2011 - 10:04 AM

View Postbaavgai, on 02 August 2011 - 07:21 AM, said:

Fear of going from free to fee is a misunderstanding of how open source licenses work. If something is under the GPL, you can't charge for it; ever. You can extend it with proprietary stuff; if you're careful. But if you change the code itself, you have to make that free too.

Some companies charge for support, or distribution of binaries, or extension code; all this is acceptable. It also doesn't prevent you from getting the open source program for free.

The recent saga of OpenOffice now LibreOffice shows that even a mega corp like Oracle can't have their way with free software.

Oh, so that's why I now have LibreOffice! In a recent Ubuntu update, I suddenly found myself having LibreOffice. I never remembered to search why that was. Thanks!

View Postatraub, on 02 August 2011 - 06:57 AM, said:

You'll never have to pay to use Python.

Thank goodness.
Was This Post Helpful? 0
  • +
  • -

Page 1 of 1