Earlier quoted context omitted.
>So you pick a LISP language you're severely limiting your hire pool. I'd rather have 5 very good Lisp programmers than 50 code monkeys.
I'd rather have 5 very good programmers (using ANY language) than 50 code monkeys (using ANY language). The problem with the Lisp programmers is that they very likely would not be able to work as a team.
How knowing Lisp destroyed my programming career (2006)
421–430 of 433 posts
Re: How knowing Lisp destroyed my programming career (2006)
#422Earlier quoted context omitted.
Ah...! Sorry, I misunderstood you there. (Ok,ok. I admit I only skimmed your reply :) ). But why would you want Turing completeness in a user facing templating engine? This is generally considered harmful, leading to all kinds of maintenance horrors. (And that's why StringTemplate deliberately isn't.)
I'm not so sure it's the turing completeness that is harmful, rather the inscrutibility of code. Lisp doesn't have that problem since code is data!
Re: How knowing Lisp destroyed my programming career (2006)
#423Earlier quoted context omitted.
More importantly it isn’t statically typed (like F#, Haskell, etc)
>More importantly it isn’t statically typed (like F#, Haskell, etc) You can statically type variables (bindings) in Common Lisp if you want: (defun little-function (x y) (declare (type fixnum x y)) (+ x y)) Although type checking is limited at compile time.
Re: How knowing Lisp destroyed my programming career (2006)
#424Earlier quoted context omitted.
It means "smartass".
Not quite. "Smartass" generally implies you go around showing off your (perceived) knowledge. "Smug" implies you sit quietly in a corner feeling good about your (perceived) knowledge.
Re: How knowing Lisp destroyed my programming career (2006)
#425Earlier quoted context omitted.
I think this comment is unhelpful. The meaning of "Lisp" is a little bit complicated, but I think it can be explained better than this. "Lisp" has two meanings: (1) ANSI Common Lisp; and (2) the family of programming languages to which ANSI Common Lisp belongs, and which was called "Lisp" many years before ANSI Common Lisp was conceived; that family includes many other languages with quite a bit of variety, including…
I appreciate the feedback. Maybe my approach could have left out the claim of Lisp == Common Lisp, though I still am amused (as I mention near the end of my later comment) and slightly bothered that such a diverse set of languages (Python too, it's sometimes called an acceptable Lisp) can get called "Lisps" or "dialects of" or "members of the family" rather than an explicitly vague "Lisp-like". The main direction I w…
Lisp is an old family of languages, though. It's been around a long time, and it's explored a broad range of language ideas and a lot of nooks and crannies. There are a lot of Lisps that are pretty different from each other. There's a pretty good list at Wikipedia (https://en.wikipedia.org/wiki/List_of_Lisp-family_programmin...), but it still omits some interesting variants (for example, *Lisp, Kernel, Lispkit Lisp, Connection Machine Lisp, and others). There are greater differences between, for example, Common Lisp and kernel than between Common Lisp and Scheme, but all of them are still recognizably Lisp.
So you're right: you don't want to be fooled into thinking that Scheme is all there is to Lisp. But Common Lisp also isn't all there is to Lisp. Scheme plus Common Lisp plus Clojure isn't all there is to Lisp, either. It's a big space, and there's room for it to grow bigger still without losing its essential Lispiness.
"APL is like a beautiful diamond – flawless, beautifully symmetrical. But you can't add anything to it. If you try to glue on another diamond, you don't get a bigger diamond. Lisp is like a ball of mud. Add more and it's still a ball of mud – it still looks like Lisp."
-- attributed to MIT Professor Joel Moses
Re: How knowing Lisp destroyed my programming career (2006)
#426Earlier quoted context omitted.
Paul Graham is a Lisper and made his fortune with a Lisp application. Moreover, he wrote a widely-read essay claiming that Lisp was the secret weapon that enabled his startup to outcompete its rivals. In that context, it shouldn't be suprising to find sympathy for Lisp in discussions hosted by Paul Graham's firm. Lisp is quite practical for solving day-to-day problems, as long as you are a knowledgeable Lisper.
And 10000+ other people/companies have made fortunes using programming languages other than Lisp. So what's your point?
> Honestly curious why Lisp has so much admiration and praise on HN.
So my point is that Paul Graham says Lisp was important in his success. His success was important in the creation of Y Combinator and therefore of Hacker News. So we should not be particularly surprised that readers of Hacker News include many that are favorably disposed toward Lisp.
submeta also said:
>But I would not think of Lisp when it comes to solving day to day problems.
...so I mentioned that Lisp is quite practical for day-to-day programming, if you know it well. For what it's worth, I've been using it for day-to-day programming for thirty years.
Re: How knowing Lisp destroyed my programming career (2006)
#427Earlier quoted context omitted.
It's definitely a confusion. The point seems to come up on HN from time to time... I don't care very much about the distinctions but it's still fun to spell out my case for why maybe one should care. "Lisp" has these nice connotations as old-but-gold going back to 1960 and many success stories in real world applications. Common Lisp has a direct lineage to that Lisp, but even ignoring that there's a syntactical linea…
I think perhaps to some degree, people read "Lisp stands for LISt Processing" and internalize this as a kind of shorthand (in spite of any formal naming), so it becomes natural to call any language that operates primarily through lists, and represents source code directly as nested lists, "Lisp".
Lisp can have almost zero syntax, so can last a long time and be picked back up quickly, I've found.
This doesn't necessarily mean lines-of-code is the most productive immediately; as much as there is resistance to it from current (i.e., 2018March17) mainstream programmers, hyperdimensional programming (i.e., 2D+, and higher in VR) like with Unreal Engine 4's Blueprint, are likely going to win out with pure advancement of results, perhaps (that is, creating effective art quickly).
Imagine finessing functions of different shapes in VR, rather than lines of text code.
Re: How knowing Lisp destroyed my programming career (2006)
#428> knowing Lisp made me all too keenly aware of Java's shortcomings, and I had a very hard time not being angry at how stupid it was that I was being forced to use it. I would take this as a the thing to remember from this. When you are too angry at something, you cant learn it. I have seen the emotional refusal to learn new inferior thing (or read comments that amounted to the same) many times already. It is somethin…
Sometimes it's not worth the pain. I have programmed in Java. I won't do so again. I concede that part of it is stubbornness, but I have to prioritize what I want to spend my time on, and there are enough jobs giving me the opportunity to work on things I like working with that I can afford to dismiss Java out of hand and focus my efforts elsewhere. I realize not everyone will have that option, but I strongly believe…
I've been playing "avoid those jobs" for a while now and it's getting tiresome. There is a HUGE prejudice against people who never drank the OOP kool aide.
Re: How knowing Lisp destroyed my programming career (2006)
#429Earlier quoted context omitted.
Maintaining a distinction between "actual software development" and "plumbing" is elitist, even if you're placing yourself on the downside of that comparison and setting yourself up for imposter syndrome. You can get an awful lot done by "plumbing". Entire businesses like SAP are built on it. It can also be mission critical; in SpaceX, is the literal plumbing of hydraulic fluid and fuel flow unimportant? No.
I don't consider it elitist at all. Someone with a solid knowledge of fundamentals can often accomplish more, faster, and more maintainably in vanilla Go (for example) than an engineer who is trained in frameworks. The former can write a pretty solid pubsub/distributed queue/disruptor/stream parser/load balancer/etc. that will outperform most off-the-shelf solutions, cost very little to host, and be tailored to a spe…
Re: How knowing Lisp destroyed my programming career (2006)
#430Earlier quoted context omitted.
Not quite. "Smartass" generally implies you go around showing off your (perceived) knowledge. "Smug" implies you sit quietly in a corner feeling good about your (perceived) knowledge.
Also smug is less specific than knowledge, it's more about thinking you're better (in some or all ways) or more well achieved. The opposite of humble.
I have seen people being smug that they know nothing about a given subject.
That is smugness is almost exclusively about “thinking you're better…”.
If someone thinks they have more knowledge, or thinks they have achieved more; it is easier for them to become smug in that belief. People can also become smug even if they know that neither is true.