Live data from Hacker News

The Developer's Dystopian Future

the-pastry-box-project.net

191–200 of 209 posts

Re: The Developer's Dystopian Future

#191

So I'm in the 40+ crowd, and things are different from when I was a 20-something. But learning new stuff isn't a problem. I pulled Angular into the new project I'm building at work. I've moved from C to C++ to Java to Python and am now playing with Racket (Python generators have nothing on define-syntax :). My point is not to say I'm better than the author. I'm nothing special. My point is that there isn't a magical…

Until cybernetics becomes more mature and cost-effective i'm pretty sure we all have a limited lifespan.

What's funny is you see this article as a kind of threat, while the author is voicing his concern for the threat of the advance of technology for technology's sake in contrast to his shrinking interest in learning additional skills over time.

If you think about it, it's kind of depressing. Like a cobbler having to learn how to repair a newly invented shoe every couple years, constantly purchasing new tools and learning how they work, only to have the business change a few quarters later. A constant churn of a technological wheel that doesn't get the cobbler anywhere other than the exact same place. You'd think the world would be happy with the old, long-lasting, easily-repaired leather oxfords. But that isn't the case with technology, and I share the author's lament for less unnecessary complication.

Re: The Developer's Dystopian Future

#192
post #31
post #11

Honest, legitimate post that I very much enjoyed. However I do think posts like this feed in ageism. I say this because it posits that the change is that the author is older and has more things to do, therefore they've fallen out with technology. The take-away invariably being that people who are older and have more things to do have fallen out with technology, whereas the young are still with it, whatever it is. Let…

I used to have that passion, when I was young (I'm 29 now, so not very young for the tech world, although not old either). And to be honest, it was the 40+ work week what killed it. I never liked specialization, so to me it makes a lot of sense that, if you're already investing that much time in technology, you may spend the rest of the week doing a different thing. I'm getting a new degree (in principle, I don't pla…

I think the tech industry discounts the value of expanding your horizons. I have a background in design and writing, and when I choose to incorporate those disciplines into what I do with code, a lot of magic happens. Let's say I order a class like a do a news article (upside down pyramid, aka most important shit first). Or I apply my own design eye to the motion or interactivity of a static design. Or even to how I interpret the structure of the code?

Reach out. Learn as much as you can. You end up finding a lot of relationships between a lot of things in life that can apply equally to each other. Right now I'm digging deep into car repair. It's fun to find the correlations between the component systems of a car and software.

Re: The Developer's Dystopian Future

#193
post #145

Earlier quoted context omitted.

Ignoring the joy of writing software with much more powerful abstractions for a moment (Python, Ruby, JS, PHP all look like jalopies now compared to Haskell) out has very real industrial benefits: Write software faster with fewer bugs, easier to maintain down the road because the "mental model" is maintained in the types by the compiler, it's more succinct, it's fast, some of the world's brightest computer scientists…

> Ignoring the joy of writing software with much more powerful abstractions for a moment (Python, Ruby, JS, PHP all look like jalopies now compared to Haskell) Just out of curiosity: Which abstractions are we talking about here that Haskell doesn't have? OO?

I didn't write that sentence very well if that's how it was interpreted, sorry. I meant to say that the abstractions available to Haskell are more powerful.

I can't really think of any abstraction that's not available to it - even an Object System is possible in Haskell, it just wouldn't be as easy to use as Monads are.

Re: The Developer's Dystopian Future

#194
post #31

Earlier quoted context omitted.

I used to have that passion, when I was young (I'm 29 now, so not very young for the tech world, although not old either). And to be honest, it was the 40+ work week what killed it. I never liked specialization, so to me it makes a lot of sense that, if you're already investing that much time in technology, you may spend the rest of the week doing a different thing. I'm getting a new degree (in principle, I don't pla…

I think the tech industry discounts the value of expanding your horizons. I have a background in design and writing, and when I choose to incorporate those disciplines into what I do with code, a lot of magic happens. Let's say I order a class like a do a news article (upside down pyramid, aka most important shit first). Or I apply my own design eye to the motion or interactivity of a static design. Or even to how I…

I think expanding horizons beyond technology is a really important key idea that you've stated.

Programmers that are learning more mathematics, music, painting, or a scientific discipline beyond computers really expand their available set of symbols and motifs - creative ideas then emerge from that soup.

Re: The Developer's Dystopian Future

#195
post #154
post #70

Earlier quoted context omitted.

How do you deal with bad coding practices? Such as over complicated & verbose code and copy paste everywhere leading to an unmaintainable mess?

Short answer: testing.

Unmaintainable copy paste code can still past tests in a degenerate way. And things like UI code and other things that majorly depends on 3rd party code definitely is harder to make proper tests for.

Re: The Developer's Dystopian Future

#196
post #145

Earlier quoted context omitted.

In the context of web applications, what do Haskell or Clojure bring to the table that makes them worth the learning curve?

Ignoring the joy of writing software with much more powerful abstractions for a moment (Python, Ruby, JS, PHP all look like jalopies now compared to Haskell) out has very real industrial benefits: Write software faster with fewer bugs, easier to maintain down the road because the "mental model" is maintained in the types by the compiler, it's more succinct, it's fast, some of the world's brightest computer scientists…

Thanks for your response. I'd like to dive a little deeper into the basis for these claims. My current stance is that there isn't sufficient reason to adopt Haskell for use in production.

> Write software faster with fewer bugs

Is there an evidentiary basis for the 'fewer bugs' claim? What type of software are people writing faster with Haskell?

>> easier to maintain down the road because the "mental model" is maintained in the types by the compiler

That seems fair.

>> it's more succinct, it's fast

In isolation, that's a bit hand wavy IMO.

>> some of the world's brightest computer scientists work on it

This is something I hear quite often from the Haskell community in particular. It may or may not be true, but it gets repeated far too often IMHO. It feels like a bit of an appeal to authority.

Re: The Developer's Dystopian Future

#197

So I'm in the 40+ crowd, and things are different from when I was a 20-something. But learning new stuff isn't a problem. I pulled Angular into the new project I'm building at work. I've moved from C to C++ to Java to Python and am now playing with Racket (Python generators have nothing on define-syntax :). My point is not to say I'm better than the author. I'm nothing special. My point is that there isn't a magical…

Until cybernetics becomes more mature and cost-effective i'm pretty sure we all have a limited lifespan. What's funny is you see this article as a kind of threat, while the author is voicing his concern for the threat of the advance of technology for technology's sake in contrast to his shrinking interest in learning additional skills over time. If you think about it, it's kind of depressing. Like a cobbler having to…

The problem in software is the assumed useful lifetime of a developer is much less than his actual useful lifetime.

And, while I disagree with your reading of the article, I do agree that change for the sake of change is a bad idea, and it is something that just increases risk without benefit. However, I don't think all of the change (or maybe even a majority of it) in software is the result of change for change's sake. Most of the change I've seen in my career has been complex abstractions of even more complex realities. The Java VM was a complex abstraction to an even more complex reality of developing in heterogeneous computing environments (I think it's something else now, having evolved as the computing environment has changed). This abstraction reduces complexity in many ways, making it possible for developers to do more, but it comes at a cost of needing to know more places where abstractions leak and how to deal with those leaks.

Re: The Developer's Dystopian Future

#198

I'm not even legally an adult, and I feel like things are moving too fast for me. At 17 years. I guess I shouldn't feel like that, but I can't help it. I started with VB6 as a kid, 6 years ago. I moved onto C++, then learned about 3D graphics and game engines, then learned HTML, CSS, JavaScript, gotten into web development, learned Photoshop, some basic design, working with Linux, PHP, a little of C#. Recently tinker…

Relax. A lot of those technologies will be dead. And you should be intimidated by angular and ember. They have the smell of Enterprise Java for me. Learn paradigms and principles. If you know what to do, you will be able to find the tools to do it. Its a bit like cooking - the cookbooks for the peasants give recipes. The ones for the chefs give mechanics and techniques. So learn pointers, functional programming, asyn…

> Learn paradigms and principles.

This. It seems to me that many authors are pointing to the importance of a balance between the long-term paradigmatic and principled knowledge and short-term tactical knowledge. Both are important and not to be neglected at the expense of the other.

Re: The Developer's Dystopian Future

#199
post #148

Earlier quoted context omitted.

"However I do think posts like this feed in ageism" That was my exact thought after I read this as well. I'm 36 and starting to feel the creeping fear of being seen as "too old" to do what I do. People posting "I did PHP for 15 years and don't get Python and don't want to learn DevOps and AWS is so confusing" sounds like a senile old man complaining about the good old days. If you want to be marked as a crotchety old…

You're never too old to "do what you do", unless you have nothing to show for it. Have you written software that others find awesome and useful? Are you still capable of writing such software? If so, you have nothing to worry about.

Right, it's not a question of being too old to do the job, it's a question of the PERCEPTION of being too old to do the job.

Re: The Developer's Dystopian Future

#200
post #154

Earlier quoted context omitted.

Short answer: testing.

Unmaintainable copy paste code can still past tests in a degenerate way. And things like UI code and other things that majorly depends on 3rd party code definitely is harder to make proper tests for.

Not just automated testing, quality assurance.

The job of QA is to find bugs.

The job of automated testing is to reduce the cost of QA.

With proper project documentation and separation of backend from interface using DOM templating as well as a compartmentalised, non-monolithic application architecture (ie. not using "frameworks" in the traditional sence) the code that drives an interface is not only trivial to build but also pretty trivial to replace.

Post reply on HN