6 ms·
Mahmud is one of the few HNers that actually has practicle experience deploying Lisp in the real world. You might be interested in what he has to say on the iss
by tsally 16y ago
Mahmud is one of the few HNers that actually has practicle experience deploying Lisp in the real world. You might be interested in what he has to say on the issue of practicality:
"Today, Lisp is nothing like what it was 8,7,6, even 2 years ago. It's not just "good" in the well-explored text book fashion; no, it's _good shit_. Get work done good. Think, hack, ship, bill for it good. 2-3 products per month good. You still have to know where things are, who is working on what, what's maintained and what's obsoleted by what. Sure. But there is absolutely no lack of libraries." (http://news.ycombinator.com/item?id=972423 http://news.ycombinator.com/item?id=972423).
I'm curious if the author of the article has similar experience deploying CL or if this article is just theorycrafting. I notice some experience with Clojure, but this article was written in 2008.
- jwr 16y agoI think many people who defend Common Lisp in this thread never actually deployed web applications written in CL. I have. I had to seriously hack on Weblocks just to get things to work they way they should. I had to work around various bugs and omissions. And worst of all, every once in a while I discovered that I am clearly the only user of said software. A good example is when I discovered that the database interface (to CLSQL) isn't thread-safe. It was a quick hack intended for a single thread only. Obviously you'd never notice it in a demo setup. Turns out I noticed it just when somebody else had that problem and wrote CLSQL-FLUID. But there is more — after running the application for several months I discovered two things: a) there are obscure bugs related to caching in CLSQL, which I don't have time to hunt down (stale content is being served), b) there are bugs somewhere either in CLSQL or Weblocks that blocked part of my admin interface and they are obscure enough that I don't even know where to start looking, c) every once in a while SBCL will crash on me and land me in the LDB. Don't get me wrong — I like CL and I invested a significant amount of work in to Weblocks — but I agree with Brian here: I don't want to discovere somewhere along the way that I'm the first real user. At least not when I am on a deadline. I do most of my work in Clojure now, but when there is a simple web application to write — hey, we get our hands dirty and we do it using PHP. Because life is too short.
- Ixiaus 16y agoPHP works well as a DSL for web applications; I recently switched from PHP to Python + Pylons and am noticing significant differences in workflow. So significant that I can see, precisely, why PHP is so dominant. Python's features as a language completely overthrow those of PHP, though - I have no reason to go back. I've had my eye on Scheme as a potential web application environment for a year now. Maybe I'll make the jump soon, Racket (PLT-Scheme) looks like it would beat CL + Weblocks in maturity.
- jacquesm 16y ago> I recently switched from PHP to Python + Pylons and am noticing significant differences in workflow. Can you elaborate ?
- Ixiaus 16y agoI'm noticing that the idiom for WSGI based frameworks, is to "layer" applications (middleware), a lot like an onion. Certain actions/functionality is only available within specific layers of that onion. I quickly found out you can't just call redirect(url('some_route')) from within your helpers (or any module outside of the callable controller); the exception will be caught, but instead of redirecting it will display it as an error. In PHP, unless headers have already been sent, you can call this: header("Location: blablablabl") from wherever. That's just one example of the difference in workflow, it took me some getting used to before I could appreciate it. There are many other "little" things such as above, that are different. I'm loving Python + Pylons, the more I use it the more I get used to the workflow too...
- code_duck 16y agoI did the same, and the only difference in workflow I've observed that isn't positive is how I have to constantly restart Apache. If a project is absolutely tiny, like 10 lines, or utterly disposable, I'll still do it in PHP. Otherwise, I'd sooner quit coding and take up nude karaoke than do a new project in PHP.
- felideon 16y ago
- astine 16y agoI've had enough exprience working with CL to know that this is is a legitimate concern of the author's. Mahmud is right, in that the Lisp ecosystem is much better today than it used to be, but it's still very sparse and less organized than those of most other languages. It's not that hard to get a quick webapp up and running with Hunchentoot, but there is a lot more generally that you'll need. Cliki and CL-Directory are actually pretty good resources for finding out what's available, but they don't tell you, with any clarity, what's useful, what's maintained, what's finished, etc. You kind of need to figure out that by checking. It can be a bit of a pain.