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…
How knowing Lisp destroyed my programming career (2006)
131–140 of 433 posts
Re: How knowing Lisp destroyed my programming career (2006)
#132Using any language for twenty years straight is going to make you complacent - but goodness, how many languages would have given you that luxury?
Re: How knowing Lisp destroyed my programming career (2006)
#133Horses for courses, surely? I've never coded in Lisp except for one undergrad assignment in the early 90s... but I know it's good for functional, heavily recursive, algorithmic type problems. But the world is far messier than that and if, like me, you come from a systems or real-time programming background then Lisp basically did not exist and you were using C-based languages (or even assembler) that were close to th…
From the most basic level of syntax, something like https://github.com/TeMPOraL/cl-wiringpi2/blob/master/example... doesn't seem that different to me than the C equivalent I've written for embedded devices.
Re: How knowing Lisp destroyed my programming career (2006)
#134Earlier quoted context omitted.
JavaScript is for HN what sex is for highscool : those who talk the most about it are those who practise it the less. If JS devs were not able to focus on bringing value they wouldn't be able to hold jobs, build products nor profitable companies. If JS was so impratical there would not be so many people choosing it over various alternatives for building GUIs, games, websites, WebGL/WebVR, back-end services and so on.…
JavaScript is for HN what sex is for highscool : those who talk the most about it are those who practise it the less. I was using JavaScript professionally in 1999 and still write it almost every day. Not sure what that makes of your sex analogy: maybe I'm the middle aged guy who goes "free love used to be much better in my day"? You probably know what I meant by "make npm work" — dealing with the messy dependency ec…
More than 18 years of it must have been such a chore. I am glad this is not how either my coworkers or I spend our time using JavaScript professionally. Maybe I am very lucky, or maybe I just can spot a stereotype when I read one.
More seriously if you still use JavaScript after all those years that very likely proves the point that you can actually be productive with it.
Re: How knowing Lisp destroyed my programming career (2006)
#135Earlier quoted context omitted.
Mine too. Until Erlang, and now Ada. I'm building myself a harem.
That's the second time I've seen Ada mentioned in as many days. Before that, I did Ada as an undergrad about 1989 and never heard of it again. Is it becoming a thing again?
Re: How knowing Lisp destroyed my programming career (2006)
#136Earlier quoted context omitted.
Being able to solve people's problems doesn't mean you need to be able to program. What is a "real programmer", anyway? Is it knowing how a CPU works? Managing memory? If you rely on the garbage collector, do you really know what you're doing? If you write a Rails app without fully understanding HTTP, are you just plumbing? Does it matter? The reason we build tools and abstractions is to allow us to accomplish higher…
I think that it matters if you can dig into anything. Given reasonable timespan being able to learn x64 machine code, debug and fix buggy driver if necessary, for example. If you're program has GC issues, being able to read papers, read GC source code if necessary and find right set of parameters or change some lines of code. If your Rails app has vulnerability because of underlying HTTP issues, being able to learn m…
I'd much prefer 'highly skilled' or 'advanced', if at all necessary.
Re: How knowing Lisp destroyed my programming career (2006)
#137Honestly 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…
The fundamental structures underlying Lisp are quite solid. I like the distinction Phil Wadler makes: Lisp was discovered while languages like Python were invented. Everything in Lisp fits well together. Other languages in this vein are Haskell, SML, OCaml, etc. You can spot these languages because all of their features are usually built from the primitives of the language. An invented language forces the inventor to try and remember how a new feature may interact with all of the others... and sometimes it doesn't work out.
Re: How knowing Lisp destroyed my programming career (2006)
#138Earlier 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…
Failures here are almost definitely related to lack of adequate mentorship rather than anything else. College doesn't go half the way to prepare you to be a successful engineer.
There are people out there that can be self-motivated to do better, but in almost all those cases they're building skills that do the dirty work but don't feature best-practices necessary in a collaborative engineering environment.
Your first employer/team, and their ability to mentor and develop new engineers, makes a huge impact on your success as an engineer. Really capable engineering mentors are worth their weight in gold (diamonds? printer ink?) and their contribution has an exponential effect.
Re: How knowing Lisp destroyed my programming career (2006)
#1391. Many JavaScript devs were focused on 'getting job done' in their current workplaces, where they were using jQuery-related stuff mostly.
2. After some time they want to change job.
3. They realize that the js market has changed (or maybe they were aware of it, but they just didn't care before/didn't have time to take a closer look before).
4. They try to keep up and learn tons of stuff to be employable as js/front-end devs (npm/webpack/js frameworks).
It's just a personal opinion. I was at that point in my life before too (and realized that it was my personal cause of my js fatigue)
Re: How knowing Lisp destroyed my programming career (2006)
#140Earlier 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…
> If you could prove that only a handful of people is capable of actually developing software project pass the stage of 'piggy-backing' on libraries, that would probably distinctly change the way we develop software Could you explain how such proof would lead to those changes? > death marches better. Maybe we could improve our working environments so nobody has to crunch or have a depressing spaghetti-code maintenanc…
If we split it into "framework writers" and "application writers" then organizing teams along these lines might improve efficiency.
I train in machine learning and other areas, and I often make a "framework/application" skill level distinction made here -- where framework just means the meta-development activity.
What the op comment appears to be saying here aligns along my experience of working & teaching pretty exactly.