I'd say the best language to learn first is the one that makes the project useful. What is the project you want to attack? I enjoyed learning C/C++ first, but OOP evangelists would disagree. :) Eric On Sat, Feb 20, 2010 at 7:21 PM, Joshua Zeidner <jjzeidner@gmail.com> wrote: > one of the best books on software engineering: > > > http://www.amazon.com/gp/product/0201835959?ie=UTF8&tag=joshzeid-20&linkCode=as2&camp=1789&creative=390957&creativeASIN=0201835959 > > regarding the choice of language, we've got some academic research > on one hand... and the world of ruby fandom on the other. re. Joseph > Sinclair, lets not mistake relativism for high ground here, there are > differences and there is a right choice and a wrong choice. > > -jmz > > > > On Sat, Feb 20, 2010 at 7:12 PM, Alan Dayley <alandd@consultpros.com> > wrote: > > Every language has strengths and weaknesses. Some one wanted the > > strengths and so designed the language for that reason. Python is > > appropriate for many things and not appropriate for many others. So > > is any other language. > > > > Mike wanted a suggestion for learning a language. Python is an easy > > language to start with because: > > - the learner can see results quickly for encouragement. > > - there is an excellent community to support the learner. > > - there is a large body of libraries (modules) to add interesting > > functionality quickly. > > - there is a large body of documentation, tutorials, etc. available > > online and in print. > > > > Does using Python cause bad habits that may hinder the learner when > > attempting to use other languages or creating other types of programs? > > Probably, depending on the next language and application. The same > > can be said for any other programming language. > > > > For example, my career has mostly involved developing embedded > > executables in low resource environments. Only recently has any > > object-oriented compiler reached a point where coding such systems > > using OO principles makes sense. Sometimes, in low resource target > > environments, all kinds of taboo coding behaviors are necessary. > > > > So, if Python is not appropriate in your experience, which language or > > languages would you suggest for a first-time, self-learner? Why? > > > > BTW, there are several "How to think like a computer scientist" books, > > each centered on a different language. They are very good. So, if > > Python is not the one, go with Java or C++ > > (http://www.greenteapress.com/) > > > > Alan > > > > On Sat, Feb 20, 2010 at 6:29 PM, Kevin Fries <kfries6@gmail.com> 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 > -- Eric Cope http://cope-et-al.com