Jordan Schatz wrote at 12/11/2011 10:15 PM:
On Sun, Dec 11, 2011 at 04:25:46PM -0600, Gerry Weaver wrote:
I am new to Racket and Lisp/Scheme in general. I am trying to write a
simple rest web service in Racket, but I'm not making much
progress.

It's doable with the Racket Web Server. Part of the difficulty people might be seeing is that the Racket Web Server is big on continuation-based Web serving, which is both very powerful and very difficult to understand initially. If you're trying to "write Fortran in any language" by doing non-continuation-based serving, there's a lot of other stuff there to confuse you.

Also, don't get frustrated by the documentation: when I first did a Web app using the Racket Web Server, I had 10 years of Racket/Scheme experience, and I was still confused about which choices I should be making and how to do familiar things within those. Once I found some things that worked, however, I blew through the app more quickly than I could've with any language and framework I've seen.

(At this point, the author(s) of the Racket Web Server might be thinking "We've put expert person-years into design, code, entire manuals, and tutorials... what more could anyone need?" :)

So I have started to collect
the info I find, problems I encounter etc into a "missing manual" and
would love to collaborate on it if you are interested. I intend for it to
be something of a quick start for someone who already knows how to
develop, but is new to lisp, functional programing, and the racket web
server.

I have been working, on-and-off, on such a book recently. If only billionaire J.K. Rowling's publisher would answer my phone calls and letters about a hefty advance against royalties, my attention would not be so divided.

Incidentally, there is an awkward situation with Racket books targeting professional developers: every time nowadays I have to do something in Java (I was an early Java app developer), and Google for answers to technical questions about contemporary Java frameworks and libraries, I am horrified that the vast majority of people attempting answers in developer forums seem to have little idea what they're doing. So, while I would like my book to poach from among the smartest 20% of Java developers, I think that the lower 80% need a very different book before they could do good work in Racket, and I wouldn't even try to write that book for the 80%. Here's an early rough draft of paragraphs 2-4 of my irreverent book for the 20%, right before paragraph 5 puts any surviving readers into the pool. I'll revisit the intro if the rest of the book ever gets done.


> [TITLE] is targeted at people who already have software
> development experience, and who are smarter than the
> average bear.  Smarter, in the sense of learning from their
> experience, and continually finding and adopting better
> ways to do things.

> Is [TITLE] not yet for you?  People who are new to
> Computer Science, or who do not have much experience with
> programming languages, are better served by first working
> their way through the textbook,
> @hyperlink["http://www.htdp.org/"]{@italic{How to Design
> Programs} (HtDP)}.  HtDP will not teach you Racket, but it
> will help build you up from ground zero to think about
> problem-solving, laying a good foundation for then
> learning Racket.

> The mention above of [TITLE] being for people who are
> smarter than the average bear is not only a clever ploy to
> increase book sales by flattering the reader.  Some people
> are more comfortable, in the work aspects of their lives,
> relaxing into the leisurely pace of, say, a pigeon.  A
> pigeon's life is simple, if slow and tedious.  There is
> nothing wrong with that, and indeed pigeons perform a
> useful function of cleaning urban parks of lunch scraps.
> Pigeons also defecate all over everything, and their guano
> can even infect others with disease.  Racket is not for
> pigeons.


--
http://www.neilvandyke.org/
_________________________________________________
 For list-related administrative tasks:
 http://lists.racket-lang.org/listinfo/users

Reply via email to