From: arnuld
Subject: web based software (like VIAWEB)
Date: 
Message-ID: <1146542641.314499.60740@e56g2000cwe.googlegroups.com>
hello everyone,

                         i posted a question for which i have got the
answer, THANKS for help folks. now i want to know something else
regarding web-based software. I know LISP is best for writing web-based
software (actually it is a great lagugage which suits nearly all
things, except where you need to do memory management by yourself).
LISP is the laguage i am learninf presently through PCL. before this i
tried PYTHON, Ruby & Scheme and abandoned all of them, i never liked
Java.  The difference with LISP was unlike other languages i did not
like LISP at the beginning but after working through TOURETZKY' book
and now PCL i like LISP  a lot. here is my question:

 originally i posted this question onto some other newsgroup and folks
there advised me to post here. i still do not know whether it is a
right place to ask my question but i was not able to find anything
better. so here is my question:

1.) i am interested in writing web-based softwares . i want to make one
thing clear that i do not want to become a webmaster or
web-designer/developer. i want to write *web-based software* like
VIAWEB of Paul Graham, (www.paulgraham.com/road.html). i have seen
people using <ruby on rails> and <zope> like things to write web-based
software.

what skills, thinking-pattern and programming languages i need to
fulfil my intention. i know HTML.


also is there any web-framework available for LISP (like we have RoR
for Ruby, Zope for python).
Can i do all the things in LISP that people do in C++ (of course,
except memory management)


thanks

- arnuld
From: Ari Johnson
Subject: Re: web based software (like VIAWEB)
Date: 
Message-ID: <m2odyh2ggk.fsf@hermes.theari.com>
"arnuld" <·······@gmail.com> writes:

> what skills, thinking-pattern and programming languages i need to
> fulfil my intention. i know HTML.

Web applications are just like any other application other than the
user interface being written in HTML, CSS, and JavaScript.  There is
no real conceptual difference between a web application, a CLI
application, a GUI application, and a server daemon.

There are, of course, obstacles that must be overcome, but they don't
really require a different through process than any other programming
problem that you would want to solve.  The main obstacles are
statelessness (easily overcome with sessions, implemented via cookies
or query strings, or any number of other ways), not knowing when the
user has quit the application (in the sense that he has closed the
browser window and you have a session object waiting for his next
move, which will never occur), and writing a usable interface within
the confines of HTML, CSS, and JavaScript.

Those are only obstacles, though.  They are not indicative of the need
for a different programming mindset.

> also is there any web-framework available for LISP (like we have RoR
> for Ruby, Zope for python).

There are a few.  The most common seem to be Uncommon Web, Webactions,
and Lisp on Lines.

> Can i do all the things in LISP that people do in C++ (of course,
> except memory management)

You can do almost anything you want in almost any language.  You can
write a preemptive multitasking operating system in GW-BASIC if you
want to, for instance.  As to doing all the things in Common Lisp that
people do in C++, that's really not the right question to ask.  The
proper question is "Can I solve problem X in language Y, and what are
the barriers to doing so?"  The answer is almost always yes, for any
combination of X from the space of all problems which computers can
solve and Y from the space of all languages by which a computer can be
controlled.

Most things that are easy in C++ are easy in Common Lisp.  Many of
them are easier.  Of those things which are easier in C++ than in
Common Lisp, most of them are simply artifacts of C and its offspring
being the system languages at the core of most modern operating
systems.  If you are working close to the hardware, you may be better
off with C++ (or Objective C or even straight C), but for anything far
enough removed from the hardware to be interesting outside of the
operating system programming arena, Common Lisp will not present you
with any substantial barriers to implementation.

All of that being said, you would be wise to learn your way around the
language before diving into a web application.  While you certainly
can disregard this advice, you will thereby run the risk of writing
Perl web applications in Common Lisp, rather than writing Lisp web
applications.  Writing good Lisp code is as much a way of thinking as
it is a combination of syntax and semantics.

Learning when and how to write macros (and when and how not to),
learning when to write functional code and when to write procedural
code, and learning how to manipulate data with ease are often better
learned in a clean environment rather than in a web application
environment, for the simple reason that any amount of effort you
expend making your code run in your environment is effort that could
have been directed toward writing good code.  Once you get the hang of
writing good code, then you can try adapting it to a less clean
environment such as a web application.