Difference between revisions of "languages for learning programming"

from HTYP, the free directory anyone can edit if they can prove to me that they're not a spambot
Jump to navigation Jump to search
(→‎Overview: BASIC links)
(→‎Languages for Kids: Scratch animation language)
 
(3 intermediate revisions by the same user not shown)
Line 19: Line 19:
 
==Resources==
 
==Resources==
 
* [http://www.quitebasic.com/ QuiteBasic]: BASIC on the web; created in response to [[David Brin]]'s "Why Johnny Can't Code" article
 
* [http://www.quitebasic.com/ QuiteBasic]: BASIC on the web; created in response to [[David Brin]]'s "Why Johnny Can't Code" article
 +
* [http://hacketyhack.net/ Hackety Hack]: tutorial aimed at 13 and up, teaches how to write your own [[blog]] software in a handful of minutes
 +
 
==Languages for Kids==
 
==Languages for Kids==
 
* [http://www.alice.org/ Alice]
 
* [http://www.alice.org/ Alice]
Line 30: Line 32:
 
* [http://www.scheme.org/ Scheme]
 
* [http://www.scheme.org/ Scheme]
 
** references: [http://www.drscheme.org/ Dr. Scheme] | [http://www.htdp.org/ How to Design Programs] | [http://www.teach-scheme.org/ Teach Scheme Project]
 
** references: [http://www.drscheme.org/ Dr. Scheme] | [http://www.htdp.org/ How to Design Programs] | [http://www.teach-scheme.org/ Teach Scheme Project]
 +
* [http://scratch.mit.edu/ Scratch]: animation language. Free downloads for Windows and Mac as of 2008-10-04.
 
* [http://www.squeak.org/ Squeak Smalltalk]
 
* [http://www.squeak.org/ Squeak Smalltalk]
 
** references: [http://www.squeakland.org/ Squeakland] | [http://www.ofset.org/freeduc-cd FreeDuc LiveCD with Squeak]
 
** references: [http://www.squeakland.org/ Squeakland] | [http://www.ofset.org/freeduc-cd FreeDuc LiveCD with Squeak]
Line 40: Line 43:
 
* '''2006-09-14''' [http://www.salon.com/tech/feature/2006/09/14/basic/ Why Johnny can't code] by [[David Brin]]
 
* '''2006-09-14''' [http://www.salon.com/tech/feature/2006/09/14/basic/ Why Johnny can't code] by [[David Brin]]
 
** discussion: |[http://developers.slashdot.org/article.pl?sid=06/09/14/0320238 slashdot]| |[http://davidbrin.blogspot.com/2006/09/see-your-favorite-author-on-salon-and.html#comments Contrary Brin]|: the latter includes a suggestion to use Python in a particular configuration; perhaps this configuration could be preconfigured and packaged?
 
** discussion: |[http://developers.slashdot.org/article.pl?sid=06/09/14/0320238 slashdot]| |[http://davidbrin.blogspot.com/2006/09/see-your-favorite-author-on-salon-and.html#comments Contrary Brin]|: the latter includes a suggestion to use Python in a particular configuration; perhaps this configuration could be preconfigured and packaged?
 +
* '''2002-08-15''' [http://www.bricklin.com/wontprogram.htm Why Johnny can't program] by [[Dan Bricklin]]
 +
* [http://www.shlomifish.org/philosophy/computers/education/introductory-language/ Thoughts about the Best Introductory Language] by Shlomi Fish: list of fallacies, with a final opinion. [[Creative Commons]] license.
 
* [http://www.ariel.com.au/a/teaching-programming.html A Very Quick Comparison of Popular Languages for Teaching Computer Programming]
 
* [http://www.ariel.com.au/a/teaching-programming.html A Very Quick Comparison of Popular Languages for Teaching Computer Programming]
 
* [http://www.kidsprogramminglanguage.com/ Kid's Programming Language]: free, but requires [[Microsoft Windows]]
 
* [http://www.kidsprogramminglanguage.com/ Kid's Programming Language]: free, but requires [[Microsoft Windows]]
 
* [http://phrogram.com/ Phrogram]: free version; also a commercial version that supports add-in libraries, requires [[Microsoft Windows]], same team that created Kid's Programming Language
 
* [http://phrogram.com/ Phrogram]: free version; also a commercial version that supports add-in libraries, requires [[Microsoft Windows]], same team that created Kid's Programming Language
 
* [http://www.computerbrains.com/ccs64/ Commodore 64 emulator] (eventually, create [[Commodore 64 emulators]] page and link with [[emulators]])
 
* [http://www.computerbrains.com/ccs64/ Commodore 64 emulator] (eventually, create [[Commodore 64 emulators]] page and link with [[emulators]])

Latest revision as of 14:52, 4 October 2008

navbar

computing: software: programming: languages: for learning

Related Pages

  • Flawed as it is, BASIC remains the classic "language for teaching programming" (especially for kids); several free, full-featured versions are now available (some with source code).

Overview

There is a need for a programming language and environment that is suitable for teaching beginners – including children – to program.

Some key features:

  • (Ideally) Available pre-installed on all popular OSs; next-best would be availability for free on the internet, in versions pre-compiled for all popular OSs
  • BASIC-like in certain ways:
    • must have an "interactive" mode, where you type a line and the computer immediately executes your instructions
    • must have simple graphics ability readily available (where "readily" can be defined as "you can plot a pixel in a single line of code, where lines which include external libraries count as additional lines of code")
    • simple, non-picky syntax (syntax error messages should be informative and on-target, to reduce the learning curve)

This need has been brought up in different contexts and discussed a fair amount; for now, I'm just going to post some links. --Woozle 21:27, 14 September 2006 (EDT)

See also Wikipedia's Educational Programming Languages page, which has a few more choices than mentioned below.

Resources

  • QuiteBasic: BASIC on the web; created in response to David Brin's "Why Johnny Can't Code" article
  • Hackety Hack: tutorial aimed at 13 and up, teaches how to write your own blog software in a handful of minutes

Languages for Kids

Links