Hello everyone; this is my first post to this list. I present my apologies 
beforehand, because I know these kinds of topics can be easily misconstrued as 
trolling attempts or "mental masturbation"; all I can say in my favor is that 
these are real, honest questions on my part. If any part of this has been 
discussed before (and I cannot imagine it has not), please point me to the 
relevant places and I shall leave in peace; I must say I did go over the full 
Google Groups archive for this mailing list and could not find anything to 
answer my questions.

I would like to start by saying that I have always had a strong attraction to 
Lisp-like languages. In the past years I have been reading on functional 
programming topics, specially about Scheme, the Y combinator, macros, Paul 
Graham's ramblings, etc., and I can say that I have finally come to understand 
the origins of my attraction: the purity, simplicity (of the basic concepts), 
elegance and power in functional programming (in general) and Scheme (in 
particular) are, in my view, unbeatable. So I declare myself an outright Scheme 
lover.

In addition to that, my professional career has always been tied to programming 
and software engineering, because that is what I enjoy doing the most (as 
opposed to managing). I have had long stints (several years) of developing in 
C, C++ and Java. Incidentally, when I am programming in language X in that 
list, I usually find myself pining for language X-1 (from Java to C++, from C++ 
to C); but I digress...

The thing is, I must admit I have a secret desire and it is time to come out in 
the open: I want to leave those imperative languages behind and finally use 
Scheme for a real, "in the large" project... There, I feel better now that I 
said that!

So let me get to my point before I bore everyone here to death: can my desire 
be realistically fulfilled? Can Scheme (Racket) be used for a more 
"enterprise-y" project (console app, GUI app, web app, whatever, accessing data 
from any RDBMS in transactional ways) where I will have a team of developers 
working on separate parts of the system at the same time? How can Scheme 
(Racket) help me with the software engineering aspects of such a project? Has 
anybody here had any experience in projects similar to this?

Which brings me to my second question: can Scheme (Racket) be used to develop 
all these different kinds of applications (console, GUI, etc.)? Can anybody 
point me to real life examples of each type of application developed with 
Scheme (Racket)?

[In fact, I specifically came to Racket after having had a grand vision of 
being able to develop all the components for a web app (SQL to access the DB, 
business logic, HTML for presentation, CSS for styling, JS for interactivity, 
even XML for configuration) using a single unified language (or many small 
separate DSLs based on a single language) and I have been kind of surprised at 
not finding this idea fleshed out anywhere as a framework, library, module, 
etc.]

I guess at the bottom of my questions lurks the following (and this is the 
non-trolling I was referring to before): if Scheme is the be-all and end-all of 
programming languages, how come I don't hear of more success stories using it, 
other than Paul Graham's (which, important as they are, in my view are not 
recent enough to provoke and inspire anymore)? Where are the flag web 
applications, GUI enterprise systems, even console applications, that have 
become watershed proofs of Scheme (Racket) as THE SINGLE BEST programming 
language there is (something of which I am 100% convinced)?

I really would appreciate (and am thankful for) any insight coming from the 
illustrious people on this list. Best regards.

--
Gonzalo Diethelm


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

Reply via email to