IDLE: A cornicopia of mediocrity and obfuscation.

F

flebber

Well reality and truth both has a tendency to be boring. Why? Well
because we bathe in them daily. We have come accustomed, acclimated,
and sadly complacent of the ill state of our stdlib. Yes, boring.
However we must be aware of these things.

Yes but fixing idle just gives us another editor, there isn't a
shortage of editors. There is a shortage of a common community code
base for an ide framework, logical, reusable and extensible.

For an example of a brilliant beginners "ide" racket has it covered
with DrRacket http://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?
 
B

Benjamin Kaplan

Yes but fixing idle just gives us another editor, there isn't a
shortage of editors. There is a shortage of a common community code
base for an ide framework, logical, reusable and extensible.

For an example of a brilliant beginners "ide" racket has it covered
with DrRacket http://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?

Python is a general purpose language that's designed to be easy to
use. Racket is a language that was designed for teaching programming.
It's almost exclusively tied to a single IDE. Something like language
levels would be impossible to do in Python unless you re-do the
parser. There's no feature that allows you to strip for loops or list
comprehensions out of the language. And we already have something
better than teachpacks- the import mechanism and the ability to
install 3rd party extensions.

 
R

rantingrick

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

rantingrick

If anyone would like to see a good example of how IDLE code should be
written. I highly suggest you check out the source for PyShell and
PyCrust which is located in roughly...

HOME\PythonXX\Lib\site-packages\wx-2.8-msw-ansi\wx\py:
* shell.py
* crust.py
* filling.py

Also run these scripts to see them all in action:
* PyAlaCarte.py
* PyAlaMode.py

This is a code base that was laid out in a logical and sensible
manner. This is a code base that can be built from. IDLE on the other
hand is utter chaos. If you don't believe me, first look at the
beautiful scripts i mentioned above, then check out these scripts in
your idlelib...

PythonXX\Lib\idlelib:
* EditorWindow.py
* PyShell.py

It is like night and day people! NIGHT AND DAY!!!
 
F

flebber

On 2/2/2011 2:44 PM, rantingrick wrote:
Will you be forking IDLE and setting up some sort of tracker for
improvements?

+1 for this.

Enough talk ratingrick where is your feature and request tracker for
your idle fork? How can people assist you in your new idle fork
project? What are your stated project goals & timeline?

We all suspect you have no answers to basic questions which would
involve you doing anything!!! So come on rick reply with some other
pius full of shit answer that will absolve you of action and will
still leave you the worlds biggest one handed typist.
 
R

rantingrick

If anyone would like to see a good example of how IDLE code should be
written. I highly suggest you check out the source for PyShell and
PyCrust which is located in roughly...

HOME\PythonXX\Lib\site-packages\wx-2.8-msw-ansi\wx\py:
 * shell.py
 * crust.py
 * filling.py

Also run these scripts to see them all in action:
 * PyAlaCarte.py
 * PyAlaMode.py


UPDATE: For those of you who would like to see the source online here
is a link...

http://svn.wxwidgets.org/viewvc/wx/wxPython/trunk/wx/py
 
R

rantingrick

Enough talk ratingrick where is your feature and request tracker for
your idle fork? How can people assist you in your new idle fork
project? What are your stated project goals & timeline?

I am ready flebber but we have a problem. An old IDLE fork project
still exists and if i start a new one then folks will probably get
confused. We don't need more multiplicity.

So, I am asking now that the owners of IDLE fork step forth and offer
the site to me or someone who would be interested in restarting the
fork with new goals of cleaning up the horrible code base and ambition
to maybe do more. We don't want to bloat IDLE but we do want to clean
it up.

I don't care who *that* person is as long as *they* are willing to
push IDLE forward. I would be honored to accept the reigns and lead OR
follow someone else's lead. But we need to receive the old idlefork or
have them delete the old idle fork as too much confusion will spread
with when two idleforks exists.

Here is a link to the old idle fork:

http://idlefork.sourceforge.net/
 
S

Stephen Hansen

But we need to receive the old idlefork or
have them delete the old idle fork as too much confusion will spread
with when two idleforks exists.

This is nonsense. And probably just another excuse for you to rant
instead of actually doing something of any use.

IDLEfork was a specific project which ended. It doesn't need to be
"taken over" or "deleted" -- it served its purpose and there's nothing
wrong with its history being preserved. Your new idea for a project has
very different aims and a very different agenda from the idlefork that was.

So name your new project something else. reIDLE, maybe. Or unIDLE. Or
whatever else.

There is no real danger of confusion. Welcome to Open Source. Forking is
good, not bad. There is no overmind, no one speaks for the silent
majority. Actions may-- may!-- get you some support and followers.
Talking will get you none at all.

Put your money where your mouth is.

--

Stephen Hansen
... Also: Ixokai
... Mail: me+list/python (AT) ixokai (DOT) io
... Blog: http://meh.ixokai.io/


-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.10 (Darwin)

iQEcBAEBAgAGBQJNTEpNAAoJEKcbwptVWx/l0w8H/0MkQKDluPfkGQ/hcZG9I5rr
Ta5N7O9riu/S07a0jMzXocQteUSJLLjM1VyeB/J5hKKm9fcwfSSPw6uNGW+VKanj
4R33ezZE4Gtvi7J25UHtR99AUfvhA7ZpCQPcReHZ2OzOV5ex/mN6BicTgNnDt8ch
ck3s3vC93//2pkMlLFAPKZW32yEn5GdARqaPTKmreWqF37TXbnr9ilQVb4xTMgtS
rQPb/wwrCOhK3cZkDdf68Php7OcY+zplWVFrRe5fHUiYYs/uJ/po1JCNFl69aPP0
DYVwRHgfX7DEd6fWTBa4HbEHeVNUSLXngyStei6Vqcj9L1YeDGT5xlEMJvWBwd4=
=ngLM
-----END PGP SIGNATURE-----
 
R

rantingrick

This is nonsense. And probably just another excuse for you to rant
instead of actually doing something of any use.

Thats a very *ironic* thing to say Stephan!
IDLEfork was a specific project which ended.

Exactly. The key word here is ENDED! The changes were rolled back into
Pythons stdlib.
It doesn't need to be
"taken over" or "deleted" -- it served its purpose and there's nothing
wrong with its history being preserved.

history translated: old asss shmit
Your new idea for a project has
very different aims and a very different agenda from the idlefork that was.

No, both my idea and the old idea was to improve IDLE. What is so
different about that?
So name your new project something else. reIDLE, maybe. Or unIDLE. Or
whatever else.

OK, name yourself something else, like naysayer, gossip-hound, or
troll.
Put your money where your mouth is.

ditto!
 
S

Stephen Hansen


I thought as much.

My money is where my mouth is: but that is not IDLE, as I have no use
for it and no interest in it at all. The status quo with regards to IDLE
is satisfactory to me.

You're the one talking so much about how it needs to improve. So do it.
Get started. Now.

But you'll just find another excuse to rant on like you always do, and
be basically useless.

Me, I _have_ contributed patches: I have released actual code that
actual people have found actually useful. I do run two build slaves and
proactively try to assist in resolving issues that come up with Python's
testing (usually: ouch, there's a lot of red at the moment, must get
cracking) and stability.

So, yeah. You're the hypocrite here, man.

--

Stephen Hansen
... Also: Ixokai
... Mail: me+list/python (AT) ixokai (DOT) io
... Blog: http://meh.ixokai.io/


-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.10 (Darwin)

iQEcBAEBAgAGBQJNTIqbAAoJEKcbwptVWx/l7UoIAKVRcnh1YHyiHrKwlkh6/0jT
uKkM01z7N4jGTRXi9cd3/z5rjcGlCK7pUNdI9uYJFmBjnUxf4JYJwxSnOgb39UY3
FslBIPpjH4N74eWuNWK/Nu/ufK+UaYqfBp1cjFc7eCfoY0XrcWqq6/npOMv48lvW
P4RurC0yWA2XPhtCCSVJ+K49w8vfvt71MG/+8ysrxXSzvxj1Sgz7Q3nv44aCcJjK
tKAWFlzlFhcXWmklm8UshBJsyqyU9iU3gOXT6Kx5FOAPomUonVtKSgS4j8fThfYZ
GwhcMwcwQsbKAYUuQGfyrX1iVjTm7FmUaWlLwMBtRfj1rbuSRy2cGg7HAp+rGqg=
=6oxS
-----END PGP SIGNATURE-----
 
F

flebber

I thought as much.

My money is where my mouth is: but that is not IDLE, as I have no use
for it and no interest in it at all. The status quo with regards to IDLE
is satisfactory to me.

You're the one talking so much about how it needs to improve. So do it.
Get started. Now.

But you'll just find another excuse to rant on like you always do, and
be basically useless.

Me, I _have_ contributed patches: I have released actual code that
actual people have found actually useful. I do run two build slaves and
proactively try to assist in resolving issues that come up with Python's
testing (usually: ouch, there's a lot of red at the moment, must get
cracking) and stability.

So, yeah. You're the hypocrite here, man.

--

   Stephen Hansen
   ... Also: Ixokai
   ... Mail: me+list/python (AT) ixokai (DOT) io
   ... Blog:http://meh.ixokai.io/

 signature.asc
< 1KViewDownload

Idlefork isn't dead to rick! just pining for the alps!
 
R

Robert

I don't care who *that* person is as long as *they* are willing to
push IDLE forward. I would be honored to accept the reigns and lead OR
follow someone else's lead. But we need to receive the old idlefork or
have them delete the old idle fork as too much confusion will spread
with when two idleforks exists.

There is a movement afoot to update IDLE. I am going to be a part of that.

There is an implementation called VIDLE that made some changes and
those are going to be integrated in before the major refactorings
begin. This initial push will hit both 2.7.x (I think I read it right)
and 3.x lines.

Going forward though we are going to focus on IDLE in the 3.x series
only. There is a nice list of changes and some folks that are willing
to help when the repo goes into Mercurial.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,007
Latest member
obedient dusk

Latest Threads

Top