[plt-scheme] Debugger: How much work to implement?

From: Arctic Fidelity (af at aaronhsu.com)
Date: Tue Oct 12 20:09:48 EDT 2004

On 12 Oct 2004 at 20:00, Prabhakar Ragde wrote:

>   For list-related administrative tasks:
>   http://list.cs.brown.edu/mailman/listinfo/plt-scheme
> >Our script authors can create non-trivial applications with Macromedia
> >Director (or Flash).  They code mostly by reading "cookbooks" and
> >adapting sample code.  A few of them understand abstraction, as a
> >concept, and can apply it in simple cases.  But in general, even
> >though the script authors have created actual, useful Director
> >applications (with attached scripts), they would never think of
> >enrolling in CS101.
> Forgive me if I'm being naive, but it sounds to me as if a better
> approach would be to give your script authors some higher-level
> skills. This notion of "adapting sample code" is what I'm trying to
> stamp out by putting a first-year course based on HtDP in place; it
> seems to me that we have a continent-wide crisis caused by Java
> courses (among them the one implemented at my institution) which
> produce "programmers" most of whose skills can be described in this
> fashion. Can't you put them through a mini-course of some sort --
> whether in Scheme or in real Director/Flash -- that will give them
> some conceptual tools that they can bring to bear on their everyday
> tasks? --PR

I cannot agree more. One of my biggest problems with helping and 
assisting people in their working with computers, especially on a 
coding level of any type, such as HTML, Java, or any other form of 
code, is a complete lack of conceptual or abstract knowledge of 
how things are put together. 

People tend to want results, in general, and thus they only look for 
"how to do this" and no more. Whereas, the best way to actually do 
something is to learn how to come to the conclusion, and then this 
same process can be applied whenever you need it, rather than 
exerting yourself having to find each example somewhere deep in 
the web or what have you. 

One kid I work with has no conceptualization skills at all, and thus 
cannot deal with problems he has not already seen a solution to. 
Adaptability is something he will never attain without these skills.

Another client I have realizes this, and is actively working to learn 
how the logic of programming works, so that he can actually 
achieve results. He knows the language in which he is coding, but 
the language is itself useless without understanding the logic 
behind creating useful applications with it.

On a side note, this is why Scheme is so attractive to me. It allows 
me to work at that level of abstraction, so that I needn't worry about 
any technical aspects, but simply the logic of the program. That 
way, the language itself is mostly transparent, and the logic 
becomes a chief focus, which helps in the development process 
immensely. I cannot develop in any other language as easily as I 
can in Scheme because I have to worry about the language rather 
than focusing on the logic.

- Aaron Hsu <af at aaronhsu.com>

Posted on the users mailing list.