Live data from Hacker News

Software crisis: the next generation (2016)

habitatchronicles.com

31–40 of 66 posts

Re: Software crisis: the next generation (2016)

#31
post #4

We have some formal verification, it's called typed systems. Very limited, I know. But some people are still praising dynamically typed languages for their "speed" and "lack of compiler errors".

>We have some formal verification, it's called typed systems. Very limited, I know. Very limited. In my many years of experience doing software professionally, the serious bugs, that is, the ones that took us more than one day of debugging (after such a bug was able to be reproduced), were the ones that had nothing to do with types but with * bad understanding of the business rules * bad fundamental implementation of…

> In my many years of experience doing software professionally, the serious bugs...

> This is not just a claim, this is my personal experience after about 23 years of programming where 90% of those years were spent using statically typed systems.

If most of your experience was with statically typed systems, it's just logical you would have very little experience with bugs that are prevented by statically typed systems - because this prevention would be at work. Looks like an opposite of survivor's fallacy, really.

Re: Software crisis: the next generation (2016)

#32
post #5

> Anybody who’s seen the systems inside a major tech company knows this is true. Or a minor tech company. Or the insides of any product with a software component. Anybody who's seen the sun rising east and setting west knows that this is true: the Sun rotates around the Earth. The other, less-obvious alternative, is that software is NOT crap, we just like to complain a lot. And it's just so easy & fun to blame everyt…

I think we should define what 'crap' actually is...

Re: Software crisis: the next generation (2016)

#33
>And still, this wouldn’t be so bad, if the crap wasn’t starting to seep into things that actually matter.

>A leading indicator of what’s to come is the state of computer security. We’re seeing an alarming rise in big security breaches, each more epic than the next, to the point where they’re hardly news any more. Target has 70 million customers’ credit card and identity information stolen. Oh no! Security clearance and personal data for 21.5 million federal employees is taken from the Office of Personnel Management. ...

I’m not a fan of this type of article, the article where we find a group of bad things and then go find something to blame for it. It’s easy to say all this stuff was caused because “we just don’t make stuff like we used to”, but I think it’s wrong-headed.

Or more probably it’s used in the wrong sense. It’s true that we don’t make things like we used to. We have made giant leaps past anything we’ve ever done before. We have hundreds of thousands of companies online and millions of devices online, a level of interconnectedness that the planet has never seen before. We also have more accessible software development tools and many more people writing software than ever before.

Increasing numbers of security breaches are a sign of our progress not a sign of our failures. It’s just a sign that there is a lot more stuff attached to the internet and that unfortunately includes people with the intention to commit crimes.

Should we tolerate security breaches? No. Should we celebrate them? Of course not.

But let’s see them for what they are and search for a solution instead of something to vilify.

Re: Software crisis: the next generation (2016)

#34
Well we would expect no different from medicine, or home construction, or automobiles without some basic guarantees:

1. High visibility of problems (people die, building collapse, crashes)

2. Regulation and inspection (some standards for evaluation and lines that should not be crossed)

3. Certification (you wouldn't let an uncertified random person do heart surgery on you, or build your house).

But for this to be possible, we as a whole would have to agree these are priorities and impose these limits. We're still in the time of the "surgery without anasthesia" or "no building codes" or "just let the factories emit whatever they want". Understandable due to the short time that software has been really "important" in day-to-day life, but now its time to slow down and make sure we do it right.

Re: Software crisis: the next generation (2016)

#35
post #6

“The reason this stuff is crap is far more basic. It’s because better-than-crap costs a lot more, and crap is usually sufficient. ... ... ... Every dollar put into making software less crappy can’t be spent on other things we might also want, the list of which is basically endless.“ Software is crap because humans on the whole have an extremely difficult time reasoning through all the possible logic flows. Software i…

> All other industries manage to deliver complete, working products; Ha. If you were more heavily involved in those industries, I believe you would find that they all have similar problems because the article is right: we make tradeoffs all the time, in everything, so very little is ever as good as it could be. You just don't notice it because you don't have a lot of knowledge about it, their products are "good enoug…

No, it does not sound familiar because I’m a hardcore do it yourself guy, and one of the reasons that is so is because I seek masters in other professions to teach me. That’s how I know what trade-offs they do or do not make, and following an insight by a family member that we (as a profession) can never get these damn computers to work correctly I’m becoming more and more discusted by the truth of it.

Re: Software crisis: the next generation (2016)

#36
post #21
post #5

> Anybody who’s seen the systems inside a major tech company knows this is true. Or a minor tech company. Or the insides of any product with a software component. Anybody who's seen the sun rising east and setting west knows that this is true: the Sun rotates around the Earth. The other, less-obvious alternative, is that software is NOT crap, we just like to complain a lot. And it's just so easy & fun to blame everyt…

Oh no no. Most software we use daily is barely running, filled with holes, in fact crap. Developed by multiple contractors, barely maintained.

Software I use daily:

- Gmail

- Google Search

- Android

- Firefox

- IntelliJ

- OSX

- Slack

Except maybe for OSX, none of those fits the definition of "barely maintained" (I'm kidding ofcourse - obviously OSX is maintained too!). I suspect none of it is "developed by multiple contractors" either (though, why would that automatically imply "crap"). None of it is "barely running" - they might have some issues, but they run. Some of them, impressively well (take Google Search, or Gmail. They have outstanding uptime; Slack isn't too bad, either; and both IntelliJ and OSX run rather well too).

One of my former teacher used to say; "a program is like an airplane; it either works or it doesn't. You can't say that an airplane mostly flies". If you take that worldview, sure, all software is crap. But that worldview is deeply flawed IMO, in a very practical sense.

Re: Software crisis: the next generation (2016)

#37
post #5

> Anybody who’s seen the systems inside a major tech company knows this is true. Or a minor tech company. Or the insides of any product with a software component. Anybody who's seen the sun rising east and setting west knows that this is true: the Sun rotates around the Earth. The other, less-obvious alternative, is that software is NOT crap, we just like to complain a lot. And it's just so easy & fun to blame everyt…

If our metric for "good" is based solely on what people choose to use, then one is forced to admit that we also have generally good security and privacy safeguards. Actually, I kinda agree with that assessment. "Good enough" is never good enough for academics, but practical reality is different.

> then one is forced to admit that we also have generally good security and privacy safeguards.

It's a tremendous conceit of the software community to actually believe these are purely-software problems that can be solved through software. Sure, software goes a long way, but I argue that it's a fool's errand to hope they can or should be solved in software, exclusively. Like - hardware will always be a factor, at least that should be obvious. But also culture/ society/ laws/ etc. have important practical implications. The very fact that we have lots of people scrutinizing these aspects suggests that the state of software security&privacy is really not "crap" (far from perfect, but definitely not "crap").

To you believe that article to be true, one must have a fairly black&white view of the world. 99% (probably much more) of the humans can't really bypass those "crap" security safeguards.... it's good that we have high standards (especially in areas like this), but come on. When in the human history was security(in general) better? What are we comparing it with, to postulate it's "crap"?

Re: Software crisis: the next generation (2016)

#38
post #5

> Anybody who’s seen the systems inside a major tech company knows this is true. Or a minor tech company. Or the insides of any product with a software component. Anybody who's seen the sun rising east and setting west knows that this is true: the Sun rotates around the Earth. The other, less-obvious alternative, is that software is NOT crap, we just like to complain a lot. And it's just so easy & fun to blame everyt…

I think the point of the article is something that does an 95% job for 10% the cost works for a lot of things, but somethings that trade off doesn't work.

Maybe. And I could get behind a viewpoint that says, "some things are so dangerous, that a 99.999% job is not good enough". That's definitely true. But that is much less of a rant, and it requires the writer to do the hard work of defining those dangerous things, and arguing the benefits of adding the 4th, 5th, 6th nine against the cost. Saying "everything is crap" makes me just not take the article seriously, because the author only did half of the thinking job (not even half, maybe).

Re: Software crisis: the next generation (2016)

#39
post #5

> Anybody who’s seen the systems inside a major tech company knows this is true. Or a minor tech company. Or the insides of any product with a software component. Anybody who's seen the sun rising east and setting west knows that this is true: the Sun rotates around the Earth. The other, less-obvious alternative, is that software is NOT crap, we just like to complain a lot. And it's just so easy & fun to blame everyt…

> Anybody who's seen the sun rising east and setting west knows that this is true: the Sun rotates around the Earth.

Just small remarks: technically it's not East and West, it changes.

Well, according to the basic physics laws: also yes. Yes because it depends on the observer. No, because it depends on the observer. The Copernicus book was about a theoretical model of an observer outside the planetary system (he didn't even claim that it was true "it was just a theory" - that's why he had no problems with the funny Catholic guys who burnt people for less).

But back to the point: both claims a true: Sun travels in space around Earth... and at the same time Earth does the same around Sun. All depends on the observer.

Maybe with the software it's the same?

Re: Software crisis: the next generation (2016)

#40

TFA mentions Google's Caja and Secure EcmaScript (SES). Does anybody know if that's still in development or under consideration by ECMA or others?

I gather that ES6 is most of the way to SES, and the Frozen Realms proposal linked in the article is the last bit needed.
Post reply on HN