Lambda the Ultimate

inactiveTopic Computer Programming for Everybody
started 8/30/2001; 5:49:00 AM - last post 9/1/2001; 10:53:55 AM
Ehud Lamm - Computer Programming for Everybody  blueArrow
8/30/2001; 5:49:00 AM (reads: 2285, responses: 2)
Computer Programming for Everybody
Finding a good end-user programming apporach is hard. We might as well make eveybody into programmers...

While I find the vision interesting and worth while, I am not sure I'd choose Python. I agree, however, that the IDE is an important part of this crusade:

It is interesting to note, however, that one of the key parts of the TeachScheme project is a development environment. While the audiences and approach are different, our project and TeachScheme share a sense that the development environment is a crucial component. There is a need for an interactive read-eval-print loop, a powerful debugger, and tools to understand how programs work.

I think that in order to achieve the desrided goal the IDE has to be revolutionary. It must, for example, encourage reuse.

Another link: Edu-sig -- Python in education

Posted to Python by Ehud Lamm on 8/30/01; 5:50:12 AM

Shae Erisson - Re: Computer Programming for Everybody  blueArrow
8/31/2001; 4:48:22 AM (reads: 867, responses: 0)
What language would you choose for CP4E, and why? What IDE would you say is closest to what is needed?

I get to teach complete beginners, in my experience, Python as of 1.5.2 is the easiest language to teach.

Ehud Lamm - Re: Computer Programming for Everybody  blueArrow
9/1/2001; 10:53:55 AM (reads: 829, responses: 0)
I am not sure whihc language I'd choose. Still haven't found a language I think is clearly superior to others for this purpose.

I am still far from certain if the functional approach is better than the imperative paradigm. But if you stick to imperative (and/or OOP) languages, I think most languages in common use are pretty much the same. Maybe (going out on a limb) I'd consider Smalltalk.

As to the IDE. I think there are several important issues that must be addressed. Some are simple user interface issues (like source code coloring, and usable debuggers) while others are of greater theoretical interest.

Static analysis tools are quite important. Most tools are offer quite restricted functionality, and more work should be done in this fields. (This includes things like soft typing, proof assitants, visualisation etc.)

One thing I find quite important and isn't supported by most IDE's is support for reuse. Some examples of what I mean (some can be found in existing IDEs): automatic support for installed libraries/DLLs (a binding is created if needed etc.); components catalog, based on explicit contracts (should be updated regularly using some for of P2P); wizard suport for application frmaeworks.