IDLE: A cornicopia of mediocrity and obfuscation.
rantingrick at gmail.com
Thu Feb 3 17:02:22 CET 2011
On Feb 3, 4:29 am, flebber <flebber.c... at gmail.com> wrote:
> For an example of a brilliant beginners "ide" racket has it covered
> with DrRackethttp://racket-lang.org/, it has selectable language
> levels beginner, intermediate, advanced that allows the learner to
> adjust the level of language features available as they learn,
> teachpacks are installable to add extra features or options when
> completing the tutorials(could easily be adapted to the python
> tutorials). If idle is for teaching people to learn python shouldn't
> it have the facility to do that?
I think it would be a bad idea for us to follow in racket's footsteps.
Primarily because these sorts of "handicapping" of the language do not
actually help a new user. How is it going to help a beginner by
removing certain features? If you don't understand a certain feature
then removing the feature does not relieve the confusion. If the
philosophy breaks down to "gentle learning curve" then a properly
written tutorial is all you need. Ad Python has tons of them!
You should read some of Guido's anecdotes about the ABC language where
the developers attempted to change "tried and tested" terms to
something they thought would be less esoteric for Luddites to learn --
in the end all they accomplished was to propagate more confusion.
Multiplicity should never be a feature in programming languages...
There should be one-- and preferably only one --obvious way to do it.
Actually some could argue that Python breaks this rule many times over
and they would be correct! However if you look at a language like Ruby
you quickly understand that we rather benign by comparison.
However i do believe that IDLE could use a few more beginner
enhancements. First, we need to clean up the code base. We cannot keep
bolting on features as an afterthought.
More information about the Python-list