From: Joseph K. <jk...@ho...> - 2002-06-13 12:24:35
|
Hi Tim, > I am currently working on a book for non-Cosi majors in which they learn > to use Jscheme to write applets > and servlets. Ken and I have talked about writing a book on Jscheme for > Java programmers and have made some > initial plans, but it sounds like you are talking about a > Jscheme-as-a-first-language book targetted to Cosi majors. > Is that right? What kind of book are you envisioning? Yes, I was envisioning a first language book that focused JScheme. Something along the lines of a Bruce Eckel "Thinking in JScheme." Hopefully, that type of book would be suitable for Cosi and non-Cosi majors. It is important that Cosi majors get a high level understanding of what programming is before they dive-in head first. I spent three years working as a tutor and grader for programming courses and I feel that far too many students memorize syntax and have no ability to explain why code does what it does. Another complaint I have with coding styles students are developing is too many levels of abstraction when it comes to object oriented programming. A "Who wants to be a Millionare" Java applet with 5 levels of indirection is horrendous. Not only that half the code often comes from the TA's, so students have an even decreased understanding of assignments. I would like to see a return to basics, algorithms to express functionality and libraries to implement. A JScheme book for Java programmers sounds interesting. Except, I think it might be hard to convince people who already know how to program to learn JScheme. Once people are already stuck in Java mindset it might be hard to teach them functional style programming. Perhaps, particular applications like user interface might be an incentive to learn JScheme as a Java programmer. I think JScheme has the most to offer to people who have no experience programming yet. This might be wishful thinking, but I would like to think that average people should learn how to program. Computers are meant to make people's lifes easier. Yet, I often see people doing the most repetative, tedious operations manually when a program should be doing it. I am currently working for the UCLA HyperMedia studio. We are attempting to build smarter AI stage control systems for the UCLA Theatre Department. For example, we might location sensors on a witches staff and when it gets waved around the lights dim according and the sound effects are engaged. To express this mapping of the staff location to lighting control and sound control we are developing a scripting language that is to be used by theatre producers and designers. Currently, the language is a superset of Corman LISP. I have been pushing to port to JScheme. >I agree that a good development environment for Jscheme is needed. >We've been doing a little work on building a paren matching IDE (e.g. >you can follow the TATool link >from my webpage http://www.cs.brandeis.edu/~tim which leads to a >groupware tool for building Jscheme >programs and getting TA assistance online), another demo is an applet at > http://www.cs.brandeis.edu/~tim/jscheme/src/jlib/demo/SchemeEval.html >but this still has bugs..... I have not given much thought to this, but how about implementing the messanging protocol of TATool as JXTA. http://www.jxta.org/ Another half-cooked idea is perhaps developing an IDE in either Sun's Sun One or IBM's Eclipse. Sun One is essentially Forte for Java, open sourced and Eclipse is an open source version of Visual Java. The bright idea of these two projects is to open source the base development environment to encourage third party developers to make tools. The base enviornement becomes a standard platform and IBM or SUN can create vertical applications, like IBM's WebSphere debugger, and charge a lot of money for those applications. With Eclipse they created their own set of cross platform widgets, people have problems with Swing. The idea is that you can create a fully cross platform developer tool incredibly fast by using the Eclipse Components. An Eclipse JScheme IDE may be interesting. Just an idea. I ran Eclipse when I was working for IBM Research at Almaden. The GUI components are absolutely beautiful. It is very resource heavy, though. I did not get a chance to run it on a non-windows platform but people have claimed that they look completely identical. The main draw to Eclipse for me are the other components being developed for it. For example, CVS and Clearcase components. >It would also be nice to have a debugger for Jscheme. Currently we have >a rudimentary backtrace that gets printed >when an exception is thrown and not caught. The Dr Scheme system at >www.plt-scheme.org has a very nice >debugger, especially for novice programmers. I believe there are general >purpose Scheme debuggers that will >wrap Scheme code in debugging shells that enable stepping, breakpoints, >stack examination, etc. We have some >Scheme interpreters written in Scheme that could be used to implement a >Scheme debugger also. Sounds interesting and very tough. A debugger would be very nice. Do you have any links to Scheme interpreters written in Scheme? >What kind of development environment would you like to see for Jscheme? I mentioned some things about a development environment above. Basically, push one button to execute or tell me what errors I have. >Thanks for the feedback Joseph. >If you have some spare time, I think a development environment for >Jscheme >would be a useful tool to have in the Jscheme toolbox. It would be >especially >nice if it was implemented entirely in Jscheme! Lets keep talking about >this. No, problem it is my pleasure. Yes, it would be nice if it was written in JScheme. >P.S. I've cc'd this reply to the jscheme-devel mailing list, I hope you >don't mind. Of course not, I will do the same. Thanks for your time, Joseph Kim |