Live data from Hacker News

Software crisis: the next generation (2016)

habitatchronicles.com

51–60 of 66 posts

Re: Software crisis: the next generation (2016)

#51

Earlier quoted context omitted.

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

>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

And then, when I used a dynamically typed language (Python) for serious stuff for the first time, I didn't miss those checks. Sincerely, the great majority of those "bugs that are prevented by statically typed systems" are bugs that only a novice programmer would make.

Moreover, a dynamically typed language with strong typing (Python & and many others) would prevent those bugs anyway; the only difference is that the check is done at runtime, not at compile-time. You do need to test the system at runtime anyways (no matter what language), so it isn't a big deal.

It's only dynamically typed languages with WEAK typing the ones that give "dynamically typed" a bad name. (In)famous examples: Javascript and PHP. Perhaps your experience of dynamically typed languages has been with Javascript?

Re: Software crisis: the next generation (2016)

#52
post #50

Earlier quoted context omitted.

> Software is crap because humans on the whole have an extremely difficult time reasoning through all the possible logic flows. But we have tools and techniques that make this easier. Why don't we use them? Also, I don't think 100% correctness is the ultimate goal of this article. Software is probably nowhere even near that correctness level firstly, and secondly, software is also partly crap because it doesn't run a…

For 20 years I’ve been writing entire applications in AWK, a dynamically typed language, and not once were any of the bugs due to typing. And yet, we’re such a hopeless industry when most of us believe that a strongly typed system is essential for high quality software. It makes me despair even further about this profession.

> For 20 years I’ve been writing entire applications in AWK, a dynamically typed language, and not once were any of the bugs due to typing.

If you spent 20 years writing serious programs in Awk, I'm not convinced you know what real static typing is.

Re: Software crisis: the next generation (2016)

#53
post #48

Earlier quoted context omitted.

> I understand now why Keith Wesolowski ditched computers and went to work on a ranch Ha ha! Can't help but think of the Roman emperor Diocletian, who after two decades of a "moderately successful career" decided to leave the office and move to a ranch to grow divine cabbages

Yep, and he kicked it lovely in Solin. Smart guy, unfortunately I’m not there yet, or else I’d ditch too. Sad thing is, I used to live for this profession.

I'm in the same boat. Need to stop being an idealist and finally grow up :)

Re: Software crisis: the next generation (2016)

#54
post #50

Earlier quoted context omitted.

For 20 years I’ve been writing entire applications in AWK, a dynamically typed language, and not once were any of the bugs due to typing. And yet, we’re such a hopeless industry when most of us believe that a strongly typed system is essential for high quality software. It makes me despair even further about this profession.

> For 20 years I’ve been writing entire applications in AWK, a dynamically typed language, and not once were any of the bugs due to typing. If you spent 20 years writing serious programs in Awk, I'm not convinced you know what real static typing is.

I had Ada as part of the core curriculum, just so we're clear.

And being part of the cracking / demo scene, I grew up writing in MOS 6502 and MC68000 moving on to UltraSPARC assembler, so I just might know a thing or two about typing and what it actually translates to at the machine level.

But, hey, barring suddenly landing a job working on SmartOS / illumos, that's also why I want to exit the computer industry: someone always isn't convinced and they think they know it better than I do. If I get out, anybody can not be convinced and know better for all I care at that point.

Re: Software crisis: the next generation (2016)

#55
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…

[deleted]

Re: Software crisis: the next generation (2016)

#56

Earlier quoted context omitted.

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

>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 And then, when I used a dynamically typed language (Python) for serious stuff for the first time, I didn't miss those checks. Sincerely, the great majority of those "bugs that are prevented by statically typed systems" are bugs that only a novi…

> It's only dynamically typed languages with WEAK typing the ones that give "dynamically typed" a bad name. (In)famous examples: Javascript and PHP. Perhaps your experience of dynamically typed languages has been with Javascript?

Javascript, exactly.

I have to admit, Python have already been mentioned here a couple of times, so it seems that I have to try using it in some big project to get more experience on the matter.

Re: Software crisis: the next generation (2016)

#57
post #45

Earlier quoted context omitted.

I think the flaw in your argument here is that you're only considering software products . A large amount of software does not have a name (beyond internal denomination), and that's where most of the crap is. A lot of the products with names are crap, too, but those are more likely to be worth anything because they are governed by evolutionary processes (bad products are more likely to fail on the market, whereas an…

> You do realize that Android is on your list, right? I added it later (realized I use it quite a lot and it's unfair to not put it there), but you do get to an interesting distinction: Android runs quite fine on my phone. So when it's barely running, it's a software/hardware mismatch. And products, as long as they're software products, tend to be rather good. When they are part of other products the quality may be m…

My Android device:

* When it finds a wireless network that it recognises the audio it outputs (my .mp3s) start becoming choppy.

* Software is presently unable to read the status of the battery properly (probably a hardware failure).

* Many apps struggle with being persistently on and my mobile data connection and require occasional reboots to function.

* Video apps appear to take some sort of exclusive lock somewhere so if YouTube struggles with a video and I close it down and open up TwitchTv then Twitch will have exactly the same problem or even completely fail to render.

Re: Software crisis: the next generation (2016)

#58
post #45

Earlier quoted context omitted.

> You do realize that Android is on your list, right? I added it later (realized I use it quite a lot and it's unfair to not put it there), but you do get to an interesting distinction: Android runs quite fine on my phone. So when it's barely running, it's a software/hardware mismatch. And products, as long as they're software products, tend to be rather good. When they are part of other products the quality may be m…

My Android device: * When it finds a wireless network that it recognises the audio it outputs (my .mp3s) start becoming choppy. * Software is presently unable to read the status of the battery properly (probably a hardware failure). * Many apps struggle with being persistently on and my mobile data connection and require occasional reboots to function. * Video apps appear to take some sort of exclusive lock somewhere…

* Mine has none of those issues, so they may be at least partially hardware

* There's a difference in my book between e.g. "ocasionally annoying" and "crap"; e.g. try listing the good things Android does for you, and compare the lists.

Re: Software crisis: the next generation (2016)

#59
post #58

Earlier quoted context omitted.

My Android device: * When it finds a wireless network that it recognises the audio it outputs (my .mp3s) start becoming choppy. * Software is presently unable to read the status of the battery properly (probably a hardware failure). * Many apps struggle with being persistently on and my mobile data connection and require occasional reboots to function. * Video apps appear to take some sort of exclusive lock somewhere…

* Mine has none of those issues, so they may be at least partially hardware * There's a difference in my book between e.g. "ocasionally annoying" and "crap"; e.g. try listing the good things Android does for you, and compare the lists.

"The bridge has collapsed and these 10 people are dead." - "Okay, but let's try listing all the people who used this bridge everyday without being killed by it, and compare the lists."

While a harsh analogy, this illustrates that the difference here is in the definition of "crap". Your definition of "crap" is "does not work", whereas the submission's author's definition is more like "unsound design".

Re: Software crisis: the next generation (2016)

#60
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…

Let me guess, you've never worked in software industry, right?
Post reply on HN