9 ms·
ever heard of Lisp Flavored Erlang? Ever heard of the Common Lisp Object System (inspired originally by Smalltalk)? Ever heard of Clojure (Haskell inspired STM,
by swannodette 18y ago
ever heard of Lisp Flavored Erlang? Ever heard of the Common Lisp Object System (inspired originally by Smalltalk)? Ever heard of Clojure (Haskell inspired STM, and lazy data structures)? ever heard of GOAL (Lisp assembly)? etc., etc. etc., etc., etc.
- sho 18y agoLike above I didn't make myself clear at all. Let me try again, by your leave. I wasn't claiming you can't tack feature X onto lisp, of course you can, you can implement anything in anything. The point I wanted to make was that "power" is not just some object feature bullet points, it's about ease of use and syntax and libraries as well. "If you add Traits (library for Mixins) to Smalltalk, it is equivalent to Ruby in power. (1)" Only for your definition of "power". Yes, everyone loves Ruby's super-flexible objects and mixins etc but that is only the start of the story. Its syntax is terse, intuitive and good-looking. The rubygems packaging system is effective and ubiquitous. Irb is excellent and "live coding" techniques are invaluable. To me, these are very much part of the real "power" and the main reason I prefer it over, say, Python. You might be able to emulate the object behaviour but it's still "incomprehensible mess of brackets" Lisp. You might be able to claim that Lisp is 90% "homomorphically equivalent", a phrase I don't think I've heard since Mathematics 2, but who gives a shit? Go ahead and add the last 10% of whatever it is that Ruby has and Lisp doesn't. Now you have just as much power as Ruby? So go ahead and type "require activerecord" (don't forget to compile!) and just try to tap into that power. Oops. "Language power" is not just some reductive theoretical idea of what features a language has, or could implement. It's the whole package, and how you use it. Sure you can add Ruby's features to C. But a better way is to implement Ruby in it. Lisp might well be the infinitely flexible meta-language which can be used to describe all others, but that isn't actually useful in itself, as used today. Lisp may be an incredibly powerful tool for something, but it has little advantage for conventional end-user code, not any more anyway. It's pretty exciting to think where it might end up, though. "And one could probably take just about any Lisp and give it the power of the other 10% (like Erlang) with moderate effort." Again, only for your definition of "power", which is not what the average programmer who is just interested in getting stuff done is thinking about.
- swannodette 18y agoIn Ruby can you connect to the running web application and debug it on the fly via a REPL? You can do this with Common Lisp and Clojure (PLT Scheme?). It definitely helps with "getting stuff done."
- jasonwatkinspdx 18y agoYes.
- swannodette 18y agoYou're right, I stand corrected. Interesting that this aspect hasn't been hyped up more when people mention Rails.
- deleted 18y ago[deleted]
- stcredzero 18y agoYou might be able to claim that Lisp is 90% "homomorphically equivalent", a phrase I don't think I've heard since Mathematics 2, but who gives a shit? Well, for those who actually have a little intellectual curiosity, the implications are: 1) Not only can you do anything in langauges X and Y that you do in Ruby, you can express it about as concisely 2) Any libraries in Ruby could be just as beautifully expressed in languages X and Y 3) There's no reason something that closely resembles Ruby but runs *a lot faster* shouldn't exist 4) Speed is just one factor among many. There are lots of other things Ruby could learn from. Sho, there are some who have enormous cognitive dissonance at the thought that their pet language is not the ultimate in the universe. Then there are others that are actually curious about what else is out there, and how the languages they know the most about fit into that continuum. Therein is some valuable and useful information for those who are forward looking. (For the others, Ruby is awesome, it is the ultimate, there shall be nothing better, yada yada. Now you can rest easy.) There has been a bajillion hours of awesome work that's gone into Ruby and Rails. There are ways that Ruby and Rails can be changed such that the next bajillion can be several times more awesome. All I'm saying is -- look around and be curious. There's a lot out there to learn!