Live data from Hacker News

Negative focus

nrkbeta.no

31–40 of 47 posts

Re: Negative focus

#32

I don't think we are too negative as an industry. We are exactly as negative as we need to be. We say everything is horrible, because everything actually is horrible and broken and held together with baling wire and duct tape. We always seem to be complaining because, despite what we may believe, we are not in control. We are not now a meritocracy, and we never have been. We dedicate our lives to continuous self-impr…

There's a fundamental dichotomy here between the logical machine (the logic needed to do our job as programmers), and the emotional aspects. Some companies archive at their level a connection between both (thinking of Apple here), but this is done more by chrome than anything else.

Would the creation of an emotional computer system help? Would users be happy when interacting with their computers to get answers like: "Sorry, I'm not in the mood today!".

Or should hardware company make things more interesting by making computers explode like Hollywood cars when you open the wrong file?

"Halt and Catch Fire" indeed.

A cartel or a guilde...

Re: Negative focus

#33
post #8
post #3

Ranting gets attention, so people rant. I've noticed people will use some library or platform or language, and at first they'll love it. Then two or three years on, all they can see are the places it falls short in the domain they're working in. I've personally experienced a disconnect when I'm still in the honeymoon phase, and the speaker has progressed to the "I-hate-this-it's-terrible-throw-it-out" stage.

Maybe people need to use fewer libs/frameworks? The first company I worked as a dev for, while I was studying, wrote most stuff they used themself. This led libraries and frameworks to just "fit". But the company structure probably was different. There was the development, who implemented frameworks and there were the consultants who implemented the end user stuff and installed/maintained it. Most other companies I k…

Or use a 3rd party framework until you see it's problems and more fully understand it's actual use. Then you can write your own

Re: Negative focus

#34

Earlier quoted context omitted.

I think this is just because of the classic leaky abstraction problem. At first a new abstraction seems amazing, but after using it long enough you've seen enough of its leaks to become disenchanted.

Interesting. I'll have to think about that some more. I've been assuming it's because of human nature: when something's new and shiny, we see all the cool new things it will do for us. After being around it for long enough, we tend to only see the flaws, and forget all the benefits.

It could also be a combination of the two--they're not exactly mutually exclusive.

Re: Negative focus

#35
The author suggests that the enormous economic success of software suggests that the methods used are not "crap", but I don't think this is valid. In fact, it's somewhat the opposite - the strong economic growth in the software world (and the exponentially improving performance and reach of the underlying hardware) allow low-quality software to proliferate.

The economic argument for quality engineering is, "it may cost more upfront, but will deliver a more reliable product with lower total costs." But this argument is invalid in the current software world, where network effects and first-mover advantage are enormous, and a successful company can grow explosively. No one would follow the strategy of "build a quick bridge out of plywood, then when we have 10 million people using it and it starts falling down every other day, we'll have enough money to hire some people to build a real bridge." But that's what twitter did.

As software developers, a lot of our job is just putting up with the crap that the software world has been built on, because the people in charge have made the rational calculation that it's better to hire ten times more engineers and expand to Asia, expand to mobile, expand up market and down market and into different markets a little sooner.

I agree entirely though, that it's counterproductive for programmers to blame ourselves or to seek a technical fix to what is basically an economic and organizational problem.

Re: Negative focus

#36
This is a good thing, it's a sign the industry is moving fast and hopefully in the right direction. Constant self-reflection keeps us on our toes.

Re: Negative focus

#37
post #8

Earlier quoted context omitted.

Maybe people need to use fewer libs/frameworks? The first company I worked as a dev for, while I was studying, wrote most stuff they used themself. This led libraries and frameworks to just "fit". But the company structure probably was different. There was the development, who implemented frameworks and there were the consultants who implemented the end user stuff and installed/maintained it. Most other companies I k…

Or use a 3rd party framework until you see it's problems and more fully understand it's actual use. Then you can write your own

Or this, yes.

The problems I see, are, you have to get fluent in the new framework and sometimes this requires as much time as writing your own stuff :\

Re: Negative focus

#38

By telling someone else that 'X sucks', you're asserting your knowledge of X (and often Y or Z too, one of which you might recommend instead of X). Within limits, this is perfectly reasonable - there are pitfalls out there, and advising other people to avoid them is helpful. However, there are a few big risks which arise when doing this, particularly around non-technical people: 1) The developer who cried wolf - if y…

Agree with everything you said, but there's one aspect you haven't touched well:

4) criticism provokes defensive counter measures, being a very human emotional reaction - being negative and attacking people or ideas or solutions with harsh words will almost never trigger the effects one desires, even when abstaining from attacking the person, since there's always somebody behind the championing of an idea, of a choice or a piece of code. This only works when the people attacked admire you, in which case you end up with point number (2) - making people afraid of trying out anything new.

And this happens because people invested time in championing an idea, choosing a certain tool, or writing a piece of code - and now you're coming saying to them that what they did was wrong and the time and effort invested was actually waisted. This is why people tend to get pretty fanatic about their programming languages, or IDEs, or operating systems, or whatever tool they invested a lot of time in - because they want their choice to be the "winner", such that their investment isn't in the end a bad one. The "Paradox of Choice" is very enlightening in this regard: https://en.wikipedia.org/wiki/The_Paradox_of_Choice

The culture we've created is one were harsh words are tolerated, even admired and the subject of amusement - I have smiled countless of times whenever I happened to read the rants of Linus Tolvards and the like. On one hand it's good, freedom of expression is good and sometimes it's healthy to name a turd for what it is. But this backfires and especially with these online communications that lack body expression (and the possibility of being slapped), it's turning out to be a rough industry to be in. No wonder women aren't interested.

Unfortunately while saying these words, I started thinking of how much of a dick I am sometimes, especially in code reviews.

Re: Negative focus

#39
As a borderline ranter/troll myself, I recognize the sentiment that there is too much negativity in the developer sphere. But, the difference between what I say and what the typical mouth breathers spout on, say, political forums, is that I can point to specific examples and evidence of why the status quo sucks.

What the people with a positive slant on all this seem to miss is that it’s not just any one area of computer science that is facing difficulties, it’s all of it. For any technology or methodology, I immediately see flaws that range from merely annoying (semicolons in C, colons in Python) to downright devastating (shared mutable state between processes, the inability to statically analyze imperative code). Very little software has been written that is provably bug-free, and it came at great cost. Some of the control code that NASA has written comes to mind, or perhaps some of the early work in lisp, maybe a few other things like Excel that attempt to avoid programming altogether. Most everything else succumbs to an inability to scale, because code complexity grows exponentially while performance grows linearly. So code that works is generally small and modular. Unfortunately, when we try to tie everything together under umbrella frameworks like UNIX, something is lost and we’ve never solved that in a mainstream way, at least not to my satisfaction.

The great successes today have come in spite of existing technology, not because of it. I very much wish that the world would slow down for a moment, take a step back, and really assess the numerous ways that computing as we know it today has failed to deliver on the promises made by pioneers 50 years ago. It’s like the recent post on HN of how concurrency is the new memory management. While that’s true, it merely reveals the tip of the iceberg, not just in the fact that most languages fall down in the face of concurrency, but that even hardware has been unable to keep pace with the newest trends. It doesn’t even scratch the surface of the wetware issue, that generations of programmers have been raised on orthodoxy that can’t take us to the next level. I know that something is terribly wrong when I point out a problem and am met with such hostility, disguised as positivity. To me, this can be as damaging as excessive criticism. But it’s shielded behind the enormous profitability of the tech sector, where people would rather jump through hoops and make money than solve problems once and all for society and increase everyone’s wealth.

Re: Negative focus

#40
post #14

We've been building bridges, roads and other stuff for thousands of years. We've been building software for maybe 70 years. I'd give it a little time.

http://en.wikipedia.org/wiki/List_of_bridge_failures

Oldest bridge still in use:

http://en.wikipedia.org/wiki/Arkadiko_Bridge

It's from Mycenaean times! i.e. Agamemnon, fall of Troy etc.

Mind you, I've been inside much, much older buildings (from 3000BC rather than 1100BC):

http://en.wikipedia.org/wiki/Maeshowe

Post reply on HN