On Aug 19, 2011, at 6:07 PM, gonzalo diethelm wrote:

> 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?

Yes for Scheme and yes for Racket. Example: Disney World has some virtual rides 
running on Chez Scheme. Example: Boeing/USAF use Racket to control large, 
expensive telescope arrays. 


> 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)?


Yes. See above. 


> If Scheme is the be-all and end-all of programming languages, how come I 
> don’t hear of more success stories using it


Correction: Scheme (current standard) is the third-best language. Racket is the 
second-best language. 

Compared to C++, Racket is an infant. This is especially true when you think in 
terms of programming language evolution. 

So the first answer is come back when Racket is as old as C++. 

The second answer is a simple statement about history and business. When tool X 
enables the constructions of systems S and T and is older than tool Y, then 
people will build systems S and T in X. Because people wish to get things done, 
not wait for some mythical perfect thing. Once a system S is built in X, there 
is little incentive to re-build the system in Y. Why? It costs money to do so. 
A good businessman must wonder whether he can recoup this money.  Based on 
historical experience we also know that the reconstruction of a system makes it 
buggier.  Some bugs will be avoided, new ones will be invented. Why introduce 
buggy behavior when the system is reliable enough to make money in the market?  
Equally important, the world of software gets built in layers. When layer Bot 
is built in X, traditionalists believe that it is best to build the layer on 
top of Bot, call it Mid, in X, too. Guess what they use to build layer Top? 
Even when a new language finally injects radically new ideas into the 
commercial world of software, as Java did with sound/safe types and safe 
memory/gc, programmers tend to deal with it as if it were the previous 
language. Indeed, you will find Java code that looks like Fortran code. I am 
sure when Racket's popularity explodes, you will find Racket code that looks 
like Fortran code, too. 

-- Matthias




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

Reply via email to