Live data from Hacker News

How knowing Lisp destroyed my programming career (2006)

coding.derkeiler.com

321–330 of 433 posts

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

#321
post #313
post #272

Earlier quoted context omitted.

If you read that post he actually didn't say that. He moved from Lisp to Pseudocode to Python for his co-written AI Book (AIMA). If you also look at the pseudocode or the python code, it's not very Lispy. Python more or less is used on a level of an object-oriented BASIC.

https://www.quora.com/Where-did-we-go-wrong-Why-didnt-Common... In the above answer to a question in Quora, he seems to suggest that most of the features in lisp eventually got adopted in most other mainstream languages. Or in other words the concept of 'acceptable lisp'. I get what you are saying, and I feel the same way. But I think what people try to imply here- If you are using Lisp for a certain set of features,…

> Today, all those features, except for macros, are common in the popular languages.

But not in the same language and/or less well integrated.

Example: mostly no popular language has flexible macros as tightly integrated in the language as Lisp has. Those who have macros, either have a different view on macros and/or have them as preprocessing steps.

You find very few languages with generic functions. There are lots of attempts to add them to languages like Java, but they are mostly experiments and not used.

Similar for Common Lisp exception handling mechanism. Very few language have that.

More direct influence languages like PERL6, Julia, R etc. look and feel very different from Common Lisp.

Even if you think language have features like Clojure has a REPL - but it lacks the Lisp interpreter, the integrated error handling, the break loops, ...

It's not the number of components, it's the integration. You can bolt wings to a ship, but the thing won't fly well.

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

#322

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 number of Common Lisp programmers who are also ace system and assembly programmers (people like Luke Gorrie, Paul Khuong) disproves this hypothesis.

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

#323
post #310
post #25

This is from 2006 though. Since then functional programming has picked up a lot of steam again, and I'm pretty sure having been a lisper for 30 years gets you good jobs. If not in Lisp, haskell, F#, clojure or whatever...

Keep in mind there's a part of the Lisp crowd that prefers loop and setf over more functional idioms. Unlike many other languages, Lisp is good for writing functional code, but people tend to forget that it's also a pretty kickass imperative and object-oriented language.

> Keep in mind there's a part of the Lisp crowd that prefers loop and setf over more functional idioms.

I have used Common Lisp for low-level concurrency and IO code, and as a target language for transpilers, and the most indispensable construct for those applications is GOTO. The only other substitute is a good compiler with guaranteed tail-call optimization. Some people love to point out how you don't need Lisp because "modern" dynamic programming languages have borrowed this feature or that. Ok, but none of those languages (can anyone provide an example? I cannot think of any) has GOTO or guaranteed TCO. If you want to do systems programming in a dynamic programming language, the choice still comes down to either Common Lisp or Scheme.

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

#324
post #235

Earlier quoted context omitted.

I imagine this varies, but for me most of college was very much about the pure bits of computer science - how things tick, so to speak. But very little of your day to day at most enterprises is about writing new versions of data structures, or academic-level operating systems/database work (obviously there are some roles in the industry where this is the task, but it's not the majority). That's not to say learning it…

Thank you for your thorough reply. Colleges are under fire, even from their own ranks, by people whom I believe confuse training with education , but it's clear that's not your issue. It sounds to me like there needs to be some sort of deep-dive "onboarding" program where new hires can work on a curriculum of projects and learn the SOPs of the organization. Colleges could take some of it on, of course (testability an…

It seems to me that, out of ten graduates from a CS program, only one is going to go on to do academic computer science; the other nine are going to become computer programmers. CS programs are doing a poor job of preparing those nine.

Now, in other areas, we have a distinction. We have physics departments that teach people theory, and we have separate engineering departments that prepare people for careers putting the theory to useful work. Well, where does the CS program live? At least where and when I went to college, the CS program was part of the Engineering department.

So I think it's fair to say that colleges should take on considerably more of the job of preparing software engineers for real-world careers in software engineering. Hiding behind "we teach CS, not software engineering" is a cop-out, especially if CS is within the College of Engineering.

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

#325
post #95

Earlier quoted context omitted.

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 comple…

I was one of the last classes at Caltech that used SICP for the intro to programming class before they switched for similar reasons (this would have been ca. 2005)

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

#326
post #235

Earlier quoted context omitted.

Thank you for your thorough reply. Colleges are under fire, even from their own ranks, by people whom I believe confuse training with education , but it's clear that's not your issue. It sounds to me like there needs to be some sort of deep-dive "onboarding" program where new hires can work on a curriculum of projects and learn the SOPs of the organization. Colleges could take some of it on, of course (testability an…

It sounds to me like there needs to be some sort of deep-dive "onboarding" program where new hires can work on a curriculum of projects and learn the SOPs of the organization. My employer does exactly this, both within the R&D organization and within our services/consulting group. All new hires from college do a 3-4 week "boot camp" where they do all the common indoctrination stuff, from HR paperwork, to learning the…

I know of a company that hires fresh graduates, and doesn't expect them to really be able to contribute for two years. They're in Indianapolis, though, so they may have considerably fewer problems with their employees getting poached by others before they can contribute enough to pay back the training period.

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

#327
post #295

Earlier quoted context omitted.

It would be interesting to see a course than spanned multiple years building upon the same project with the same team, emphasizing different aspects year-by-year, but I imagine that would be pretty nightmarish on the scheduling front.

It's also a problem of how much you can ask a student to do. There was a time when the expected time to complete a "4-year degree" was approaching 6 years in the engineering-ish fields, and the tuition-check-writers got pissed and called their state legislators to put a stop to it. So adding some sort of multi-semester capstone project would have to be woven into what is already in place, but I would imagine it would…

It wouldn't have to be that big. Even if part of one semester was to take a month as a class and try to add some features and fix some bugs to a codebase that the previous decade of classes had worked on, that would be an eye-opener to most students.

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

#328

Earlier quoted context omitted.

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…

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)

#329

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…

I have experience with a lot of languages and modern Java is ok to be honest. I like Swift the most but the productivity difference is not that big.

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

#330

Earlier quoted context omitted.

Skype is / was not "a chat tool" - Skype was an opportunity to own the IP telephony space for both the business and consumer markets. That is potentially a huge revenue base, and fits neatly into a company like Microsoft that sits astride both. Solaris, Java, SPARC and MySQL had all demonstrated that they weren't going to acquire major revenue streams, at least under the ownership of Sun. Their valuations reflect two…

Skype is basically the Type I error offsetting "passed on Google" style Type II errors. It's a crappy investment in retrospect, but it was a strong player in an obviously valuable market. IP telephony remains enormously valuable - Skype just didn't win the contest. And ironically, a shortage of "core CS" was a major factor in that failure. Usable, high-fidelity, encrypted VOIP is an enormously difficult challenge, an…

The fact that it wasn't going to win the contest ought to have been obvious to anyone who actually used skype.

Their android app was a horror story. There desktop app was ho hum, chat reminded me of icq and it was completely obvious that the major players were going to be people who had hip social networks or were well positioned like say google with all android users and apple with all iphone users.

Skype was a tool to talk to grandma and I didn't forget the fact that they tied the number of people in a group chat to less than 10 if you didn't use an intel processor and resolution to buying a logitech camera.

Turns out even grandma has a facebook account now in fact she had one when lunatics decided it was a good idea to buy skype.

Post reply on HN