Live data from Hacker News

How knowing Lisp destroyed my programming career (2006)

coding.derkeiler.com

331–340 of 433 posts

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

#331
post #144

Earlier quoted context omitted.

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?

No; you just give an example about how to customize the suffix based on the number, but don't say that it is "programming" or "software development" or anything like that.

https://www.gnu.org/gnu/rms-lisp.en.html

"Multics Emacs proved to be a great success — programming new editing commands was so convenient that even the secretaries in his office started learning how to use it. They used a manual someone had written which showed how to extend Emacs, but didn't say it was a programming. So the secretaries, who believed they couldn't do programming, weren't scared off. They read the manual, discovered they could do useful things and they learned to program.

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

#332
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…

I've been programming for 10+ years, tried many different languages and just don't get the appeal of Lisp. Swift for example is simply more productive and fun to use in most use cases. Same with Haskell.

I don't believe PG's claim that Lisp made a significant difference in productivity for them.

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

#333

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…

Many languages have string interpolation. It's a nice feature, but absence of it doesn't make your life hell.

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

#334
post #69

Earlier 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.

> 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, s…

A better question: Which would you rather have doing the inspections an your aircraft?

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

#335
post #254

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…

Ok, this is seriously intriguing. Are more details about this magic thing available?

If you like that, you will probably enjoy the a language that I made called TXR. It's a Lisp dialect (TXR Lisp) plus a whole-document pattern recognition and generation language. These can be used independently or in combination.

This example shows generation (with some very light extraction: munging a copyright header from existing files to stick into a generated file):

http://www.kylheku.com/cgit/txr/tree/gencadr.txr

gencadr.txr generates all those caar, cadr, caddr, ... functions down to five levels deep, in C. Plus it generates the Lisp defplace definitions for all of them so they are assignable, as in (set (caddar x) new-value).

That part could have been done in Lisp rather than textual generation, but I said what the heck.

Generated results:

http://www.kylheku.com/cgit/txr/tree/cadr.c

http://www.kylheku.com/cgit/txr/tree/share/txr/stdlib/cadr.t...

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

#336

On a tangential topic : I am intimidated by how myriad experiences with programming languages HN commentators on this thread have. I have been in this industry for about 8 years and am considered an above average developer in my current company. I have primarily worked with Java, while fiddling with others here and there. No experience with pure functional languages such as Lisp or Haskell. Am I missing out some impo…

To get the feeling of different programming lanugages I would recommend:

MIPS(how processor works),

C(how memory, pointers and syscalls work),

Ruby(fully object oriented),

Scheme(simplicity, composion, code-as-data),

Haskell(abstractions, side-effects management, immutability, types, FRP),

Erlang(distributed & concurent programming, message based communication, immutability),

Prolog(logic programming).

Every od these feels differently and operates at differently level of thought and abstraction.

It's good to just get the feeling of these languages as it will give you better perspective.

I tested a lot more but these I can recommend for expanding horizons.

EDIT: formatting

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

#337

Earlier quoted context omitted.

> Honestly curious why Lisp has so much admiration and praise on HN. Paul Graham and Robert Tappan Morris, two of the founders of YCombinator, love Lisp/Scheme. They got rich by selling their company Viaweb to Yahoo. You guessed it: Viaweb was written in LISP and Paul Graham believes that this was their secret weapon: > http://www.paulgraham.com/avg.html Also the software that drives Hacker News is written in Arc, a…

Which promptly got rewritten after pg left. EDIT: From the years being here, and having played with LISP myself, it's a language that appeals to a certain type of programmer, who claim to find it very productive compared to other languages. And everyone else hates it. So you pick a LISP language you're severely limiting your hire pool.

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

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

#338

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…

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

Bollocks. You'd be surprised by seeing how many Lispers actually have great knowledge of low-level. In fact it's almost a "fashion" in the Lisp world.

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

#340
post #227

I learned C and LISP pretty much at the same time (back when rocks were young and you needed a PDP-11 if you wanted to run Unix). Then I went to college and the first course in the Computer Science major was a "killer" they taught in Pascal. Okay, so Pascal is a kind of screwed-up C, and I could deal with that. That "killer" course had a semester-long, multi-phase project that was a kind of symbolic calculator (with…

Once upon a time, I used to see forlorn C++ programmers wandering around clutching copies of the ARM.

Those were the days.

Post reply on HN