Live data from Hacker News

Lisp is still a secret weapon

kep.io

31–40 of 145 posts

Re: Lisp is still a secret weapon

#31

He didn't sell me on why Lisp is better than any other language? Why would you pick Lisp or Clojure over say Elixir, Scala, or even F#? JT

With Lisp your program is data, like any other data, so it is easy to transform with macros etc. (Disclaimer I have never written a lisp program)

On the other hand languages like Haskell have a powerful type system that largely negates the need for macros. However when you do want to macro in Haskell you have template Haskell and it is quite ugly.

In a nutshell: Language wars are stupid.

Re: Lisp is still a secret weapon

#32

Here are some heretical thoughts. The language is irrelevant. The text editor is irrelevant. The OS is irrelevant. The size of your monitor is irrelevant. All your productivity hacks are irrelevant. The only relevant thing is your ability to formulate and solve problems. You might say the language can help with both the formulation and the solution but I'd say that just comes down to what language you're most comfort…

It goes hand in hand. Back in the days people said lisp in newbies hands will be backfire, but handled by those with abstraction skills it will give you ability to express things you cannot with other systems.

Many here agree that technology should not matter, but it does at one point. Some trait of the culture behind and around languages are very very important. Lisp tree recursion, "lexicality" and ad-hoc genericity is not present in other languages. Immutability in the ml land (even though side effects are permitted in some) is also something few people have to live in and understand.

Both these things give you new idioms, hints, point of view about how to solve problems. It also sheds light on the other ones.

Re: Lisp is still a secret weapon

#33
post #6

The author almost immediately writes off Common Lisp for lack of "frictionless access to a rich ecosystem of code written in the same language as your software", then recommends Clojure. Most of the ecosystem you have access to in Clojure is, in fact, not built in Clojure, and most Clojure libraries were/are wrappers around Java or Javascript. Footnote 1 makes no sense, suggesting that the only way to get access to "…

Agreed, I wish people stop selling the JVM/JS libs as the solution to all Clojure library needs, is not really smooth sailing as most paint it out to be.

Re: Lisp is still a secret weapon

#34

Here are some heretical thoughts. The language is irrelevant. The text editor is irrelevant. The OS is irrelevant. The size of your monitor is irrelevant. All your productivity hacks are irrelevant. The only relevant thing is your ability to formulate and solve problems. You might say the language can help with both the formulation and the solution but I'd say that just comes down to what language you're most comfort…

Irrelevant might be too strong of a word. Yes, it might not be as significant as your own problem solving skills but they are still important. You have to remember that tools chosen by you to solve problems.

You wouldn't say what tools you use to build a house is irrelevant only carpenter's skills.

Picking the right tool for the right problem is part of problem solving. Sometimes picking the right tool might boil down to what you are most comfortable with, or sometimes it might be learning a tool that you are not familiar with.

(Of course, you shouldn't flock to a particular tool just because someone else said so.)

Anyways, picking the right tools are important part of your problem solving skills.

Graham and his buddy were good problem solvers who picked the right tool for the problem that they were solving.

Re: Lisp is still a secret weapon

#35

Here are some heretical thoughts. The language is irrelevant. The text editor is irrelevant. The OS is irrelevant. The size of your monitor is irrelevant. All your productivity hacks are irrelevant. The only relevant thing is your ability to formulate and solve problems. You might say the language can help with both the formulation and the solution but I'd say that just comes down to what language you're most comfort…

It goes hand in hand. Back in the days people said lisp in newbies hands will be backfire, but handled by those with abstraction skills it will give you ability to express things you cannot with other systems. Many here agree that technology should not matter, but it does at one point. Some trait of the culture behind and around languages are very very important. Lisp tree recursion, "lexicality" and ad-hoc genericit…

I'm not really a programmer. All my training is in abstract math so whenever I see people arguing over language X and Y it always seems weird to me. I don't write code until I've sketched things out with pencil and paper and by necessity I have to disentagle the syntax of the language from the essence of the problem. Turns out when I do things that way translating the solution back into a language X ends up being the easy part and it really doesn't matter what the target language ends up being. Adding macros and types just shifts how I encode the solution and in no way affects its abstract formulation.

So I don't think it goes hand in hand. The fundamental bottleneck is always what's in your head.

Re: Lisp is still a secret weapon

#36

Here are some heretical thoughts. The language is irrelevant. The text editor is irrelevant. The OS is irrelevant. The size of your monitor is irrelevant. All your productivity hacks are irrelevant. The only relevant thing is your ability to formulate and solve problems. You might say the language can help with both the formulation and the solution but I'd say that just comes down to what language you're most comfort…

I wonder if Graham was presented with the same problem today, will he pick a lisp and write everything from scratch or pick up a less "expressive" language because it has a strong and mature ecosystem of libs.

Re: Lisp is still a secret weapon

#37
post #6

The author almost immediately writes off Common Lisp for lack of "frictionless access to a rich ecosystem of code written in the same language as your software", then recommends Clojure. Most of the ecosystem you have access to in Clojure is, in fact, not built in Clojure, and most Clojure libraries were/are wrappers around Java or Javascript. Footnote 1 makes no sense, suggesting that the only way to get access to "…

Good point, thanks! I've removed the footnote, and I'm going to rewrite that paragraph to steer away from Common Lisp a bit.

My point wasn't Clojure > Common Lisp. I was simply anticipating the "but npm has 200k modules" argument against Lisps in general and I wanted to illustrate why it doesn't matter if you're using Clojure.

It does seem like a somewhat valid case against Common Lisp, but I don't care and it detracts from my main point.

Re: Lisp is still a secret weapon

#38

Earlier quoted context omitted.

It goes hand in hand. Back in the days people said lisp in newbies hands will be backfire, but handled by those with abstraction skills it will give you ability to express things you cannot with other systems. Many here agree that technology should not matter, but it does at one point. Some trait of the culture behind and around languages are very very important. Lisp tree recursion, "lexicality" and ad-hoc genericit…

I'm not really a programmer. All my training is in abstract math so whenever I see people arguing over language X and Y it always seems weird to me. I don't write code until I've sketched things out with pencil and paper and by necessity I have to disentagle the syntax of the language from the essence of the problem. Turns out when I do things that way translating the solution back into a language X ends up being the…

But depending on the language you intend to use, you may approach the problem from a different angle. A Lisp solution may look very different from a Python or C solution.

Re: Lisp is still a secret weapon

#39

Are there any examples of companies that achieved success by way of language choice other than Viaweb?

Orbitz tackled a hard technical problem with Common Lisp. I don't know if it was the "secret weapon", but it must have been fairly critical. They needed efficiency.

http://www.paulgraham.com/carl.html

Re: Lisp is still a secret weapon

#40
post #15

Earlier quoted context omitted.

Types do have a lot of benefits but they also come with a big cost: some programs are very hard to express in modern type systems. For example, consider a pattern that is becoming more common today in UI programming (even in plain javascript): keeping your UI in one big tree data structure, and then working on arbitrary paths (represented by a sequence of keys) into that data structure. That is not a pattern you can…

Types + pattern matching -- best combination for working with trees. I'm not sure if there's a library in F# similar to HXT, but in Haskell, working with large xml structures is a breeze.

There is also zippers
Post reply on HN