Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

age per se is not a problem – just look at Erlang, which is one of the "cool" languages at the moment.

the issue is, in addition to the 3 i mentioned in my post, that there isn't a problem that you think of and then you think that CL is the answer:

* an enterprisey app → Java or C#

* a web app → Ruby, Python, Perl or PHP

* an HTTP/XMPP-based server → Erlang

* a bunch of scripts to glue things together → Ruby, Perl or Python

* a desktop app → C, C++, Objective-C or C# (depending on the OS)

* ??? → Common Lisp?



There are a lot of problems that could fit in those ???.

* symbolic computation (there are many Computer Algebra Systems written in Lisp like Maxima/Macsyma, FriCAS/OpenAxiom, Reduce, bergman)

* language processing

* artificial intelligence

* generally complex and dynamic tasks in science and engineering.

Some of the software is being continually improved since the 70ties and while it doesn't have millions of people staring at it, it is useful and appreciated.


Personally I think the issue is with advocacy. I would have a hard time selling Lisp at a lot of places because it's been around long enough that the management has heard of it, but they heard about it "in the eighties", which I think gives them some pause. A lot of people lump Lisp together with COBOL and the like, just out of ignorance.


I thought it was more because Lisp is "that language which will make you a better coder which I need to learn some day, but never actually do".


Big problem --> New DSL --> Common Lisp


I think most new DSLs are either Ruby under the hood, or extensions to Tcl or Guile.


What?... I think the big problem with DSLs is that people think it's a complicated technique that's applicable only in a few specific, obscure cases.

It's actually a technique that scales well, in the sense that you can make languages as simple or as complex as you need, with an implementation as featureful of trivial as you need (just a bunch of macros VS a full compiler and VM complete with high-level debugger), and if you use a language like Lisp that makes it easy to prototype new languages (the lisp reader, macros and closures help a lot) you can afford to make a few DSLs just for one app if you like.

Just for my web framework in the making, I have 5 DSLs:

Purely declarative configuration management (almost done), static and dynamic HTML and CSS generation and manipulation (done, but I have plans for something better), HTML and CSS rewriting (in the making), i18n resources (in the making but very simple).

And no doubt I'll need a few more for my specific applications.


Indeed - I'm just saying that people generally aren't using LISP to write DSLs in. If I needed one now I'd probably either use Tcl as a base or write it in OCaml. LISP isn't really even on the radar for this.


And without the generalities?


Obviously

meta-optimizing semantic evolutionary search -> Common Lisp

duh.

http://code.google.com/p/plop/


You are just showing the application areas and the "best" languages for them. If this is the way you approaching languages, then the problem is not with Lisp, but with your application area. Find an application area first, then design an environment to solve the problems of that application area using Lisp. The next step is to create a community of people interested in solving that problem, and finally offer the Lisp environment to that community.

It has worked before with:

CAD application -> Autocad Lisp

Text editor -> Emacs Lisp


> If this is the way you approaching languages, then the problem is not with Lisp, but with your application area.

No, the problem is with CL (not "Lisp") if:

a) it doesn't provide something compelling enough to make me use it over another language

b) the community hasn't created enough buzz around it to place it firmly in my consciousness next to some problem domain (at least one)

> Find an application area first, then design an environment to solve the problems of that application area using Lisp. The next step is to create a community of people interested in solving that problem, and finally offer the Lisp environment to that community.

Yep, this is what needs to happen for CL to have a chance to go mainstream. The important thing is that the application area needs to be very common, e.g. webapps, and the offered solution needs to be radically better than the alternatives. Think Rails <-> Ruby back in 2005. CL may be the best thing for hardcore AI stuff, but few programmers work on hardcore AI problems.

Your examples are off btw. AutoLisp and Emacs Lisp are embedded languages, not something you'd write a whole standalone app in. It's like saying that if you want to write a spreadsheet, you should use VBA because that's what Excel uses for scripting.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: