Hacker News new | past | comments | ask | show | jobs | submit login

I think you answered your own question.



There is no good reason to use an esoteric language in production except in order to make yourself irreplaceable.


I wouldn't say Common Lisp is a esoteric language. Esoteric makes me think Brainfuck and other similar languages. Common Lisp and lisps in general are languages you can be productive in, in a "building a product" sense, which you cannot say about most esoteric languages.


The author himself says it’s esoteric


He didn't.

He wrote: 'Contrary to popular opinion, Lisp is an incredibly practical language for building production systems.'


[flagged]


I've read it.

It says: 'We’ve built an esoteric application (even by Lisp standards)'

The application was considered by the author to be esoteric in 2015, not the programming language.

Quote: "Our Lisp services are conceptually a classical AI application that operates on huge piles of knowledge created by linguists and researchers. It’s mostly a CPU-bound program, and it is one of the biggest consumers of computing resources in our network."

The application is the compute core of a cloud-based grammar checker with lots of complex lingustic knowledge, which generates a lot of processing load.

And "(even by Lisp standards)" just means that there are other applications in the Natural Language Processing domain, which were written in Lisp, like software to do machine translation between language or text content checking systems for technical documents.


Also, if you’re really willing to go into it you could be productive in Brainfuck. Doesn’t mean it applies to the general crowd.


It’s not a good comparison at all. Learning lisp or understanding it is a good base knowledge regardless of your primarily language. It’s not a language that’s truly esoteric and difficult to reason about by nature. Metaprogramming/macros can be difficult for those inexperienced, but not impossible. Esoteric languages are often created to either use unfamiliar syntax compared to common languages or unfamiliar paradigms to those. In the end, a lot of things are very similar in nature with esoteric languages, just a very different way, with syntax that’s not as readable as common languages. Lisp is certainly readable and easy to grin even if you have little knowledge of the language


Please don't do programming language flamewars on HN. They're tedious.


Erm, Lisps were used back in time for many production systems when C++ wasn't even started. Looks like your definition of esoteric and production is based on couple of years of cheap CS courses.


Oxford's definition of esoteric: "intended for or likely to be understood by only a small number of people with a specialized knowledge or interest."

Today, C++ is a dominant programming language. Lisp is only used in niche applications. Therefore, it is likely only to be understood by a small number of people with specialized knowledge -- hence, it is esoteric.


Upon conception it was neither "intended" nor "likely" "to be understood by only a small number of people with a specialized knowledge or interest" and it is still not intended that way nor likely, that only few people _can_ understand it. It is just that people choose not to take time and understand it.

I don't agree with the conclusion you draw from a definition of esoteric, that is without context anyway, taken from a natural language dictionary.


>Lisp is only used in niche applications

Which niche btw?


You are ignorant of reality, and the first thing that you ignore is that you are ignorant.

With Lisp you don't even need to write lisp code. You can write java, c++,c, swift code... using lisp.

That is , you can write lisp code without people realizing you are writing lisp code. The only thing they will notice is that your code looks almost too perfect, too well formatted and justified, are extremely productive and never make mistakes.


How can one write C for example using lisp? Are you talking about compiling to C?


Sometimes people write Lisp code and use translators to C or C++. Some of that code then will be maintained in C / C++. Some of these tools were custom developed, but there existed also specialized Lisp to C translators, which produced 'maintainable' code.

For example the first version of the .net garbage collector was written in Common Lisp and then translated to C++. Since then it was maintained and enhanced in the C++ version.

https://web.archive.org/web/20150307034829/http://blogs.msdn...


Interesting, I was not aware of this, thank you.


Languages have strengths and weaknesses. Learning the right language to express a solution is easier than doing it the hard way in the wrong language just because you happen to know it.


There's also onanism.


And that’s the epitome of selfishness






Join us for AI Startup School this June 16-17 in San Francisco!

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

Search: