[plt-scheme] Debugger: How much work to implement?
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>