Live data from Hacker News

Lisp is still a secret weapon

kep.io

71–80 of 145 posts

Re: Lisp is still a secret weapon

#71

Earlier quoted context omitted.

I think you're making the case for language irrelevance even more. The reason big corp. can't move fast isn't because of their technology choices. It is because of all the bloatware and bureaucracy. You can be bureaucratic and bloated in any language.

But in some languages bloat is a best practice.

I'm not sure that matters either.

Let's say you're talking about Java. A "bad" team will have mountains of code. A "good" team will apply Greenspun's Tenth Rule and use a lisp to compress down the mountain to the extent that "lisp" can compress it over Java.

You may protest that the lisp has angle brackets and that it's inferior to say Clojure, but the machine does not care.

Re: Lisp is still a secret weapon

#72
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 "…

Seeing Common Lisp fans arguing against Clojure fans is funny since your market share combined is insignificant compared with the mainstream choices. You should learn from each other and grow that pie together.

I also don't agree with you. Intuitively Lisp might be a secret weapon for startups, but not for open source where the communities of the mainstream choices are more productive, simply because of popularity. Java is a huge ecosystem of working and mature solutions. If you don't depend on Java, you depend on C. And for the kind of problems Lisp is suited for, I'd rather take Java. You're also missing the point on JavaScript. Say what you will about the quality of npm packages, but ClojureScript can reach people that your favorite CLisp cannot, due to the browser.

Also you can't seriously recommend ABCL.

Re: Lisp is still a secret weapon

#73

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…

> but I'd say that just comes down to what language you're most comfortable with and how good of a problem solver you are.

Techniques and concepts influence your ability to reason about problems.

If you don't understand dictionaries (hashes), or trees, or macros, or reflection, or first class functions etc, then you will think about a problem very differently.

If you understand the concepts then you can usually get away with not having those features readily available in your language.

For example if your language doesn't have strong macro support you can get away with using code-gen instead.

Likewise if your language doesn't have built in dictionary support, you can get away with rolling your own, or finding a library that adds it.

Or if your language doesn't support first class functions you can often get away with patterns like the command pattern instead.

But if you don't understand the concepts then your ability to think about the problem becomes much more limited.

Re: Lisp is still a secret weapon

#74

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…

Heretical or not you are dead wrong. Don't think so? Go program in Forth or Assembler instead of your current main language for a while and get back to me. There would have been no reason to invent any HLL or even assembler if you were correct. Put aside your ruby and try to do the same work in vanilla C and get back to me.

Re: Lisp is still a secret weapon

#75

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…

> but I'd say that just comes down to what language you're most comfortable with and how good of a problem solver you are. Techniques and concepts influence your ability to reason about problems. If you don't understand dictionaries (hashes), or trees, or macros, or reflection, or first class functions etc, then you will think about a problem very differently. If you understand the concepts then you can usually get a…

But why would you want to use a language that didn't have such things? Not having lexical scope, first-class functions, and macros is a huge hinderance to me. Sure, I can work around it, but it's a terribly inefficient and unsatisfying way to work.

Re: Lisp is still a secret weapon

#76
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.

I use a pattern matcher that can match against types in Scheme, a language without static typing. Static types are just not the crucial feature that some people make them out to be. I believe this criticism of Pascal and C from SICP applies to other languages with static types (sans the pointer stuff):

    Pascal and C admit structures whose elements are structures. However,
    this requires that the programmer manipulate pointers explicitly, and
    adhere to the restriction that each field of a structure can contain
    only elements of a prespecified form. Unlike Lisp with its pairs,
    these languages have no built-in general-purpose glue that makes it
    easy to manipulate compound data in a uniform way.
With static typing, it's also difficult to write procedures that operate on arguments of which the type is none of the procedure's business.

https://sarabander.github.io/sicp/html/2_002e2.xhtml#FOOT73

Re: Lisp is still a secret weapon

#77
post #53

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

I've seen some impressive integration between Clojure and Emacs. A quick edit - run cycle is a huge win. As are good debugging tools.

See Geiser + Guile/Racket or SLIME + Common Lisp for other examples of excellent Lisp development environments.

Re: Lisp is still a secret weapon

#78
The author seems to not know that there is open source in Common Lisp as well as most every other language. Open Source per se is orthogonal to whether Lisp or Language X is a great language to have in one's toolkit.

Clojure mind share is quite low compared to scala as far as languages built on top of the JVM go. Personally I think clojure and clojurescript is pretty cool but not so cool so far as to tempt me away from python, javascript and CL.

For a startup don't even worry about what language your competitors, if any, are using. Simply produce the best product you can and get it to market and break even before you even begin to think about these other things. HINT: in this age there is not one or a few areas and a bunch of competitors but millions of unique cool niche ideas and products. Build a better system for pushing out new app and product ideas consistently on the side. It isn't like the case of web store competitors at all. Also today there is a large market to buy startups that produce some webapp product that grows enough legs to more than break even.

You don't predicate your business on a secret but on producing a good product people want at a price point they are happy to pay. Secrets are hard to keep. Particularly when the author just told us about his secret weapon and advises as many as possible to use the same "secret".

Back in the "old days" we would joke that if we wanted to derail our competition then we should simply give them our source code. Their best geeks would be bemused and befuddled for months. Today we are drowning in reams of "free code" that may or may not be suitable. Then we have a side helping of hundreds of web APIs to pick from for various subparts of a product. So much time is spent understanding and adapting open source and choosing among and massaging our data to use so many external APIs that it is a wonder anything gets done. :P

Re: Lisp is still a secret weapon

#79
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 "…

Seeing Common Lisp fans arguing against Clojure fans is funny since your market share combined is insignificant compared with the mainstream choices. You should learn from each other and grow that pie together. I also don't agree with you. Intuitively Lisp might be a secret weapon for startups, but not for open source where the communities of the mainstream choices are more productive, simply because of popularity. J…

Please avoid referring to the language as "CLisp". It's Common Lisp or just CL, of which GNU CLISP[1] is but a single implementation.

[1] http://www.clisp.org/

Re: Lisp is still a secret weapon

#80

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…

Heretical or not you are dead wrong. Don't think so? Go program in Forth or Assembler instead of your current main language for a while and get back to me. There would have been no reason to invent any HLL or even assembler if you were correct. Put aside your ruby and try to do the same work in vanilla C and get back to me.

Forth is as high-level as you'd like it to be.

http://www.colorforth.com/POL.htm

Post reply on HN