[racket] Racket Web Server
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/