Live data from Hacker News

How knowing Lisp destroyed my programming career (2006)

coding.derkeiler.com

141–150 of 433 posts

Re: How knowing Lisp destroyed my programming career (2006)

#141
Half-seriously—but could it actually be true? Because by using a high level language most of the time, you will miss the practice it takes to effortlessly program manually what these languages automate.

Between "GC, full numeric tower, CLOS, incremental development" and especially the ease of metaprogramming in Lisp, you may eventually lose the ability to perform the very programming tasks you have automated away for yourself, whenever you lose access to your own macros.

The true Curse of Lisp would be that Lispers are constantly de-skilling themselves.

Re: How knowing Lisp destroyed my programming career (2006)

#142
post #74
post #47

Honestly curious why Lisp has so much admiration and praise on HN. I played around with Scheme some long time ago, read SICP, learned a lot. And I know Lisp inspired many programmers like the founder of Ruby. But I would not think of Lisp when it comes to solving day to day problems. I rather pick Python because it helps me solve all kinds of problems. There are many more solutions I can think of (Ruby, Node, Go, eve…

Your confusion will go away once you recognize that Scheme is not Lisp. For most purposes, Lisp means Common Lisp, or one of the Lisps that ended up merging into Common Lisp. That means that Lisp does all of these things and more, which you might not expect if you've only seen Scheme/SICP: * Multi-paradigm programming (functional programming in the immutable sense is not dominant, the Lisp OOP system is top class, mu…

Good list. I'd add macros and the conditions mechanism for error handling. The latter still has no analogue in other languages.

Re: How knowing Lisp destroyed my programming career (2006)

#143

Earlier quoted context omitted.

Lisp isn't a functional programming language. It's multi-paradigm.

More importantly it isn’t statically typed (like F#, Haskell, etc)

Common Lisp has strong dynamic typing. Dynamic, because language runtime maintains type information; strong, because each object has its type and cannot be treated as an instance of another type.

Re: How knowing Lisp destroyed my programming career (2006)

#144
post #93

Earlier quoted context omitted.

Although that approach to string creation tends to fall apart quickly in non-English languages: adjectival agreement, plural rules etc.

No, no, it doesn't fall apart! Lisp is Turing-complete. You can do (in English): "David has %n% apple%(when (> n 1) "s")%." You can move that rule to function etc. You can tweak that for the language you use in an endless number of ways.

so you're going to ask your translater to learn Lisp?

Re: How knowing Lisp destroyed my programming career (2006)

#145
post #69
post #40

For a while now I've had a feeling that all the comments about lack of engineers(especially in software) are vastly underestimated. Probably around 10% of us is capable of doing actual software development. The rest writes plumbing and can handle the project for only as long as abstractions available through libraries can hold the complexity. If we assume most of us don't really know what we're doing, that totally ex…

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.

> Maintaining a distinction between "actual software development" and "plumbing" is elitist...

Is the distinction between an aerospace engineer and aircraft mechanic "elitist"? Which would you prefer to have designed the next aircraft you fly in?

Plumbing is really what the vast majority of us do. With varying levels of skill, we glue various pre-written libraries and packages together with a bit of business logic, solving problems that a million others have solved before.

Re: How knowing Lisp destroyed my programming career (2006)

#146
The biggest issue we are facing as a profession is abstractions. Most of us are good at abstracting things because this is the way we cope with complexity. But the moment we need to face that abstraction and need to understand what is hiding behind it we can reach some limit. A very common example I noticed with Java developers who use frameworks like spring, they use spring tooling to cope with code complexity and are able to put together a functional piece of code in minutes, but as soon as you get them out of the spring framework and ask them to code without using their toolbox, you can see difference between a java programmer and a "spring" programmer. One of the things I like to do in interview is giving people a piece of code in a language or at least using a library or framework they don't know and see how they cope with the complexity of it. It can tell which is just learned to use a tool and which know the basics and can adapt depending on the set of tools available

Re: How knowing Lisp destroyed my programming career (2006)

#147

Oh wow, I was first introduced to Java in my undergrad and somehow I had some serious issues with the whole OOP stuff. Thankfully, I took some AI courses, which came with LISP and I was so excited to use it everywhere. Unfortunately, however, doing basic I/O, networking (this is around 2006) and testing was too complicated for me so I dropped it again in favor of C++ in grad school (performance was also an issue, we…

http://racket-lang.org

Re: How knowing Lisp destroyed my programming career (2006)

#148
post #58

Earlier quoted context omitted.

Cf. Paul Graham's 'secret weapon' essay.

Wow, looks like he concluded exactly what I concluded. Cool essay. I'm into Python but I may give Lisp a whack some day. http://www.paulgraham.com/avg.html

You might consider starting off with this classic: https://mitpress.mit.edu/sicp/

I should point out, though, SICP uses the Scheme dialect of Lisp. If you’re interested in Common Lisp, then maybe try: http://www.gigamonkeys.com/book/

Re: How knowing Lisp destroyed my programming career (2006)

#149

I came to Lisp (Scheme/Racket) from that another side (C++, Java, Perl) and it was an enlightening experience. Now I use Lisp nearly everywhere in a form of a small .NET runtime module. Lisp is excellent at templating tasks. Just for comparison: StringTemplate for .NET is a whooping 400 kB of compiled binary code while my implementation of Lisp is just 35 kB (!). Sure enough, Lisp does the very same thing as StringTe…

>Lisp is Turing-complete while StringTemplate doesn't. Well...C# String interpolation is.

C# string interpolation is fast and preferable solution that works great at smaller scale (which is probably close to 99.99% of all use cases).

Having said that, C# string interpolation is not user-configurable, and you cannot realistically use it to generate, say, 300 lines of highly sophisticated text that is a subject to frequent modifications during product development.

One of the popular tasks for a larger scale templating is email generation. Text templates, HTML templates, for signup, for email confirmation, for password reset, for subscription renewal, for ... you name it. As you can see, it quickly goes wild. Not sure one would prefer string.Format() or C# string interpolation to do all of that.

Re: How knowing Lisp destroyed my programming career (2006)

#150
post #40

For a while now I've had a feeling that all the comments about lack of engineers(especially in software) are vastly underestimated. Probably around 10% of us is capable of doing actual software development. The rest writes plumbing and can handle the project for only as long as abstractions available through libraries can hold the complexity. If we assume most of us don't really know what we're doing, that totally ex…

Plumbing does get very complicated when your building size increases. And after a while its not just plumbing. Ensuring no pipe leaks in a skyscraper is no easy task.
Post reply on HN