3 ms·
I’ve used Lisp for decades, so it’s hard to remember a time when the parentheses bothered me, but every new programming language has some surface syntax that ca
by todd8 8y ago
I’ve used Lisp for decades, so it’s hard to remember a time when the parentheses bothered me, but every new programming language has some surface syntax that can be off-putting. I used to hate the hard to type curly braces when I started with C, my fingers didn’t know where they were on the keyboard; at the time, I was programming with languages that used BEGIN and END. Now I prefer curly braces or even indented languages like Haskell or Python.
I encourage others to learn lisp. It’s really not a hard language, and the parentheses don’t get in the way after a brief period of acclimation. It also opens up the real power of Emacs customization and programming, which is done in Lisp.
- narwally 8y agoEmacs-lisp is a great introduction to lisp syntax. Because Emacs is a bunch of UI code, it's very imperative in nature. You can learn lisp without having to also dive into a lot of functional programming concepts at the same time.
- ztjio 8y agoI just want to say, what has kept me away from LISP has nothing to do with parentheses. There are two "facts" that I can share to represent why I dislike LISP. The first is a quote bathed in absurdity from an actual LISP manual: > setf can also be used with any of these functions to change an existing component of x, but setf will not make new components. So, for example, the car of a cons can be assigned with setf of car, but the car of nil cannot be assigned with setf of car. Similarly, the car of the car of a cons whose car is a cons can be assigned with setf of caar, but neither nilnor a cons whose car is nil can be assigned with setf of caar. I think this sums up the aesthetic horror that LISP is to me. Pretty sure it was written by Dr. Seuss. But a far more important factor exists: There are no decent paying jobs for LISP programmers outside of the browser which is a personal hell to me. Besides Clojure, I know of no real foothold in the professional world. I have no doubt there are outliers, but, that's just not the kind of thing to bet on. So no, not bothered by the parentheses. Bothered by lack of real words with real meaning and lack of motivation to tolerate the ugliness.
- elteto 8y agoSo a flawed paragraph in a manual written by who-knows-who is enough to put you off from an entire programming language?
- ztjio 8y agoNo, that is just one example. The point is the stewards of this class of languages have, over the decades, never thought it wise to humanize the language despite no technological problem in doing so. There is no need to set a high bar to filter a language from my attention. There are thousands of them. Anyway, the point is that there are reasons to dislike LISP besides the parentheses. It's all subjective in the end.
- lispm 8y ago> actual LISP manual It's not from a LISP manual, it's from the language specification of ANSI Common Lisp. You'll probably find non-obvious wordings in many programming language specifications. Don't learn a language from a spec and don't try to understand everything in a language spec, if you don't know the language.
- krapp 8y agoI've used a lisp (Arc) for weeks and the parens are still mildly annoying but I can live with it.
- ofrzeta 8y ago> I encourage others to learn lisp. It’s really not a hard language, and the parentheses don’t get in the way after a brief period of acclimation. Every time I try this, like twice a year, I get annoyed while setting up a development environment that supports the particular Lisp (usually Clojure), its syntax and the REPL. Last time I tried it was Spacemacs that didn't work as announced, on both Linux and macOS. I am a Vi user and I would prefer to use that instead of learning a new environment such as Emacs. I want to set this up and have it work as frictionless as possible because learning a new programming language and its ecosystem is already enough work. However the Vim plugins (e.g. fireplace) also didn't "just work".
- kazinator 8y agoTXR Lisp comes with an accurate syntax definition file for Vim (and only Vim). Well, not exactly "comes with": txr.vim is in the root directory of the source tree. Some distros seem to package that, like Arch. The whole project was developed using Vim. Vim supports normal Common Lisp out-of-the-box. Just save your file under a .cl or .lisp suffix. In 18 years of working with Lisp in Vim, I never had a problem. Never installed a plugin or did anything special (other than developing that syntax file for TXR Lisp). At most I played with the content of :lispwords; that's about it.
- uadjet 8y agoWhile I truly appreciate emacs and vim, I had the same problem. Ultimately I went with IntelliJ IDEA and a plug-in for Clojure called Cursive. It's served me well; getting past the environment challenges and into the language itself was a godsend.