On Oct 11, 2012, at 11:04 AM, Greg Graham wrote:

> I am the one full-time technology person at a small college prep school. My 
> background before taking this job five years ago was 22 years of commercial 
> software development and a bachelor computer science degree. I have been 
> interested in Lisp since I first heard about it in college, but have never 
> gone beyond dipping my toe in the water.
> 
> This semester, I decided to teach a program design course based on How to 
> Design Programs 2e. So far, it is the best course I've taught, after trying 
> things in the past that I thought would be more fun and engaging (GameMaker, 
> Processing, and Greenfoot). Although HtDP may be less entertaining, I'm 
> seeing the students learn some important concepts and skills that will serve 
> them well the rest of their lives, and they are sufficiently engaged by the 
> mental challenge of the material.

Thanks. (As you can tell, 2e is more entertaining than 1e but I am a person who 
thinks principles come first and I will never sacrifice them for 
entertainment.) 


> So, in order to teach this class, I am working ahead of the students in HtDP, 
> as well as reading The Little Schemer, The Racket Guide, and this email list. 
> I am enjoying the process of learning Racket.

Good reading list, especially this mailing list. There is also a plt-edu list. 
See racket-lang.com. 


> Well, in my job I wear many hats, and one thing I need to do is create a web 
> app that reads the convoluted SQL Server database of our Student Information 
> System and produces reports in the form of Excel spreadsheets. I was planning 
> on doing this in C# ASP.NET MVC, but the project has been sitting on the back 
> burner for a while. I know C#, but I'm having to learn ASP.NET MVC. One 
> reason I chose C# was the existence of libraries to produce Excel documents.
> 
> I am writing to this email list because it occurred to me that I could try 
> writing the app in Racket, learning the language as I go. I don't think the 
> existence of an Excel library is that important because it appears to be 
> pretty easy to generate the kind of spreadsheet I need using Microsoft's 
> SpreadsheetML XML schema. So, do you think this is a crazy idea or not?


It is a perfectly normal idea. Racket comes with a DB library, and I think you 
will be able to extract the data from your SQL db. As for generating Excel 
spreadsheets, I don't know how often you will need to do this. I had to take 
this step in the spring (for personal reasons), and I decided to create a CSV 
file instead, opened it in Excel, corrected the two or three mistakes I found, 
and shipped it off. If I had to do this more than once, I'd correct the 
mistakes programmatically and that's what I recommend you do. If you need to do 
XML, there's a library for that too and a simple connection to S-expressions 
(and a complicated one). In ISL, you'd write 


  (define (my-nth-web-page n)
    (local ((define txt  "My " (number->string n) "th Web Page")))
      `(html (title ,txt)
             (body ([bgcolor "pink"]) 
                   (p ,txt)
                   (p "really")))))

Indeed, this part of the project could be done in the student languages. 

And if you need help, send email to this list. Welcome -- Matthias

Attachment: smime.p7s
Description: S/MIME cryptographic signature

____________________
  Racket Users list:
  http://lists.racket-lang.org/users

Reply via email to