Re: A programming language for learning (Was: Re: )

2010-02-21 Thread James Finstrom
I like c as you can find its basics in so many other languages. I also
like php because it transitions well and offers a link to oop but its
a dirty evil language that allows too many bad habbits. I do think if
you go the c route or c++ it gives you a ton of paths to branch out

On 2/20/10, Alan Dayley  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  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 
>> 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
>>>  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 " 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

Re: A programming language for learning (Was: Re: )

2010-02-21 Thread Joshua Zeidner
 something interesting, a graph of code statistics by language use:

 
http://www.google.com/buzz/jjzeidner/1prxvbtV7SF/https-www-ohloh-net-languages-compare-measure

  -jmz

On Sun, Feb 21, 2010 at 3:00 AM, Joshua Zeidner  wrote:
>  didn't say it wasn't useful ;)
>
>   -jmz
>
> On Sun, Feb 21, 2010 at 12:38 AM, JD Austin  wrote:
>> Perl isn't the first language I would recommended for a newbie but I can't
>> think of a more versatile language.  There are perl modules for just about
>> anything.
>>
>> On Feb 20, 2010 10:14 PM, "Eric Cope"  wrote:
>>
>> 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  wrote:
>>>
>>>  one of the best ...
>>
>> --
>> Eric Cope
>> http://cope-et-al.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
>>
>> ---
>> 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/
>



-- 
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


Re: A programming language for learning (Was: Re: )

2010-02-21 Thread Joshua Zeidner
  didn't say it wasn't useful ;)

   -jmz

On Sun, Feb 21, 2010 at 12:38 AM, JD Austin  wrote:
> Perl isn't the first language I would recommended for a newbie but I can't
> think of a more versatile language.  There are perl modules for just about
> anything.
>
> On Feb 20, 2010 10:14 PM, "Eric Cope"  wrote:
>
> 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  wrote:
>>
>>  one of the best ...
>
> --
> Eric Cope
> http://cope-et-al.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
>
> ---
> 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


Re: A programming language for learning (Was: Re: )

2010-02-20 Thread JD Austin
Perl isn't the first language I would recommended for a newbie but I can't
think of a more versatile language.  There are perl modules for just about
anything.

On Feb 20, 2010 10:14 PM, "Eric Cope"  wrote:

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  wrote:
>
>  one of the best ...
-- 
Eric Cope
http://cope-et-al.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
---
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

Re: A programming language for learning (Was: Re: )

2010-02-20 Thread Eric Cope
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  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 
> 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  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 
> 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
> >>>  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

Re: A programming language for learning (Was: Re: )

2010-02-20 Thread Joshua Zeidner
  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  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  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  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
>>>  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 " tutorial" should bring up something good.
 In the way of books, however, you can't miss ones from O'Reilly (
 http://oreilly.com/ ), they ar