Let's not devolve into a favorite language war. There are situations where Python is a great language choice, and situations where it's terrible.
Every language choice comes down to what you want to accomplish.
Some languages are good for rapid development of websites (Ruby, PHP, etc...).
Some languages are good for systems management scripts (Python, Perl, etc...).
Some languages are good for developing large web systems intended to be maintained for years (Java, others).
Some languages are good for developing packaged COTS software (C++, Java, etc...).
Some languages are good for system software and embedded devices (C, C++, etc...).
Many languages are most useful in very specific niches (Forth, Lisp, ADA, XSLT, LOLCode, Objective-C, etc...)
Most languages have multiple areas where they work well, and multiple areas where they're not so good.
What exactly you want to accomplish in your software development should drive the language choice, although it rarely does.
No one particular language is the best choice for learning how to write software; each type of software development will drive a different choice of the best "first" language to learn.
Mike, you need to specify your goal more precisely in order for the community here to give you a useful recommendation that will help you best accomplish that goal.
==Joseph++
Kevin Fries wrote:
> Wow, now I know why it is so hard to hire people that are competent! Python is fun, not right, but fun... Thats your argument? If you want to know why we refuse to hire Python programmers at our company, I can give you real facts on why you should not use that language as a place to learn... Not opinions.
>
> Kevin
>
> Sent from my Nokia phone
> -----Original Message-----
> From: Joshua Zeidner
> Sent: 02/20/2010 4:17:23 PM
> Subject: Re:
>
> On Sat, Feb 20, 2010 at 4:13 PM, Joshua Zeidner <jjzeidner@gmail.com> wrote:
>> Seems like we have a lot of opinions here. Here is a paper from ACM
>> on the use of Python in for teaching programming.
>>
>> http://portal.acm.org/citation.cfm?id=114017
>
> sorry wrong link: http://portal.acm.org/citation.cfm?id=1140123.1140177
>
> -jmz
>
>> -jmz
>>
>>
>> On Sat, Feb 20, 2010 at 4:01 PM, Austin William Wright
>> <diamondmagic@users.sourceforge.net> wrote:
>>> Alan Dayley wrote:
>>>> Python.
>>>>
>>> Absolutely NOT PYTHON. It breaks the first two rules of programming, the
>>> assignment operator (=) assigns values to a variable, and always ignore
>>> whitespace. Well my first two rules, at least. Plus it sucks at
>>> consistent use of object-oriented programming.
>>>
>>> If you *really* need a general-purpose programming language, look at
>>> Ruby, it's slightly more well behaved. Slightly. I would recommend
>>> Javascript, it's a major programming language, and you can run it in
>>> your web browser with literally nothing to install. Plus Javascript is
>>> closely related to XML and HTML, while not programming languages, are
>>> markup languages (a way of storing data) that is becoming very important
>>> to know for many things. Though designed for the web, many of these
>>> things are finding themselves become part of everyday computing,
>>> especially XML. For these things, http://www.w3schools.com/ is popular.
>>>
>>> Any scripting language might be a good start at learning about
>>> if/then/else logic, but none of these languages are going to teach how
>>> computers really *process* or *store* information on the inside (how the
>>> CPU executes the program or how variables are stored in memory), or for
>>> that matter write an actual interactive computer program, you will need
>>> a real language like C or C++. After learning something like Javascript
>>> you will find C surprisingly limited in functionality if you try and do
>>> things the same way, especially variable-length variables like strings
>>> and arrays. Keep that fact in the back of your head for when, if, you
>>> attempt C/C++.
>>>
>>> Whatever you do, Google "<x> tutorial" should bring up something good.
>>> In the way of books, however, you can't miss ones from O'Reilly (
>>> http://oreilly.com/ ), they are jade/teal and have a random animal on
>>> the cover.
>>>
>>> Austin Wright.
>>> ---------------------------------------------------
>>> PLUG-discuss mailing list - PLUG-discuss@lists.plug.phoenix.az.us
>>> To subscribe, unsubscribe, or to change your mail settings:
>>> http://lists.PLUG.phoenix.az.us/mailman/listinfo/plug-discuss
>>>
>>
>>
>> --
>> http://home.joshuazeidner.com/
>>
>
>
>
---------------------------------------------------
PLUG-discuss mailing list -
PLUG-discuss@lists.plug.phoenix.az.us
To subscribe, unsubscribe, or to change your mail settings:
http://lists.PLUG.phoenix.az.us/mailman/listinfo/plug-discuss