Live data from Hacker News

How knowing Lisp destroyed my programming career (2006)

coding.derkeiler.com

261–270 of 433 posts

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

#262

Earlier quoted context omitted.

> If you have a text file that you just need to slice and dice. The tool to use is awk/sed/tr/cut, or perl. Got rules? prolog. Got massive array data? APL. Got multiple massive array data that you wish to combine and separate in various ways? SQL. Surely, you can use python for all those things. But should you? Arguably, yes, most especially when several of them apply to the same process, rather than to separate piec…

Likewise, an argument can be made that developers should reach for Excel more often, because Excel is what the business world knows and uses. We have so many great, specialized tools. But the act of development often bifurcates into "problems that don't have to scale, or even present a great interface" and "problems that need extensive customization at every layer and support millions of users" and our stacks reflect…

I'll definitely agree there - especially for admin interfaces. I'm so sick of developers creating extremely rich admin interfaces that use insane amounts or REST services to save and load settings that can really just be an Excel file in the git repo that is loaded by a library. I've seen companies that build $40,000 worth of admin interfaces that ended up being used by a temp to populate some back-end settings. The temp that was hired was probably paid $3000 to do the work, and now the admin interface is going to be retired.

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

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

Any suggestions on how I can get into that 10%?

Write more code. Stretch yourself. Learn how other people work and figure out how you can improve what they do, because that tends to be the bailiwick of what he's referring (mistakenly, IMO, but the bucket is probably fine even if the label isn't) as "real software development".

I didn't write Auster[0] for me, I wrote it because other people needed a tool and it fit the parameters. I'm not writing Modern[1] for me, I'm writing it because there's a hole in the ecosystem that somebody has to solve, and I'm a someone.

[0] - https://github.com/eropple/auster

[1] - https://github.com/modern-project/modern-ruby

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

#265
post #19

Earlier quoted context omitted.

I started with Pascal, then learned Perl. When I was writing Pascal I was excited about stuff I could make the computer do, but pascal made me like the actual act of programming.

I can't tell if that's a typo or commentary on Perl.

Looks like a typo, I think he meant:

> When I was writing Pascal I was excited about stuff I could make the computer do, but Perl made me !@77 {{} #!@3 = ++ 90 x (%}[.

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

#266
post #95
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.

I'm not trying to impose that one is more "noble" than the other. As you said yourself, businesses usually run on plumbing. I'm trying to understand the industry, as it appears to be(at least to me) different than what I thought was true. I believe it to be important if we're going to do better and there is a ton of metrics showing we should do better(percent of projects failing, percent on projects exceeding budget…

Indeed, the "plumbing" role is getting more and more important as there are more reusable software out there, so less need to write it from scratch.

It reminds me of how MIT changed their intro-to-programming course, from the Scheme-based one to a python based one, because "the SICP curriculum no longer prepared engineers for what engineering is like today. Sussman said that in the 80s and 90s, engineers built complex systems by combining simple and well-understood parts. The goal of SICP was to provide the abstraction language for reasoning about such systems. [...] programming today is “More like science. You grab this piece of library and you poke at it. You write programs that poke it and see what it does. And you say, ‘Can I tweak it to do the thing I want?'. The analysis-by-synthesis view of SICP — where you build a larger system out of smaller, simple parts — became irrelevant." (http://www.posteriorscience.net/?p=206)

Also reminds me of Vernor Vinge's "Zones of Thought" novels, where in the far future, the starships don't have exactly programmers, but rather a kind of software archelogists who assemble systems from software components that may be a thousand years old.

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

#267
post #133

Earlier quoted context omitted.

Sounds like you coded in Scheme, not Lisp. ( https://news.ycombinator.com/item?id=16584082 ) Common Lisp was designed for the messy real world, it's a workhorse, even at the cost of 'prettiness' that Scheme fans like to point out as a benefit for Scheme. So it's been used (either directly or to output a lower level machine code) for all sorts of real world things like OSes (see the Lisp Machines), video games, CAD sy…

Yeah, I remember very little about it except a _lot_ of parentheses. Interesting to hear it is a lot more "real world" than I thought - seems my understanding is flawed... but equally interesting that I was unaware of it, having never once encountered it in my entire career.

Yeah, it's crazy what a well-kept secret Common Lisp is. I keep on running across situations in other languages where Lisp has been sitting on the solution for decades (literally) and yet no-one knows!

Despite how much I like it, it's really not the Platonic ideal of languages: it has its warts, and it could develop even further than it has. But as it stands it's an amazingly good language which could be used for anything from writing operating systems and device drivers to web browsers to text editors to expert systems. I really don't understand why it's not more popular.

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

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

So let's think about this in a different way. Rather than classify programmers in buckets, e.g., plumber, non-plumber. Instead, the tasks of vast teams of programmers has grown to include a significantly richer environment. Skills beyond pure programming that we all need to do include connecting vast sets of existing environments together to build the next thing that we are working on. Few environments that we work on don't have networking, acres of existing APIs, already built ecosystems of data.

In today's environment, 'pure programming' is a small fraction of what needs to get done.

As a long-time programmer, the most leverage I have had is when my work connected to some business objective and produced a result. My engineering background, which emphasized a "problem-solving attitude" helps.

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

#270

Earlier quoted context omitted.

> is elitist I know I'm supposed to think that that is bad, but I can't come up with why it would be.

It really depends on some pretty subjective values held on faith, that position, power, and profit ought to be shared.

Or, as seems more accurate in this example, subjective belief that anyone should get arbitrary amount of praise for just showing up, instead of having to earn it through the process of honing and applying their skills.
Post reply on HN