

Ask HN: Does anyone else find the relentless grind of errors disheartening? - hoodoof

I love software development except that I find it is an absolutely relentless grind of error after error.<p>Is this anyone else&#x27;s experience? Or do you find it all smooooooooth sailing?<p>Perhaps its just because I&#x27;m learning new stuff at the moment.
======
nostrademons
Yes, but then I just fix them and they're no longer errors.

Software errors are really the easiest kind of mistakes to fix. The compiler
doesn't have any feelings, it doesn't care, it just prompts you to fix things
until you get it right. Wait'll you blow up a relationship, or make a fool of
yourself in public, or cost your company a few million dollars.

~~~
hoodoof
Much of my development seems to happen outside of compilers, in browsers, in
build systems, trying to make things integrate and talk to each other - areas
where there is no formal error checking capability. Ugh.

~~~
mod
Test your code--it helps a lot here.

------
UnoriginalGuy
When it comes to traditional programming languages, no. Thanks to test driven
development, static analysis, and experience I feel like I very rarely have to
track legitimate errors and more often than not either something changed
elsewhere or the requirements have changed (which is a feature, not an error
in my mind).

With CSS in particular but JavaScript to a degree, yes it can get frustrating.
You will often deploy something which works fine on all current gen' browsers,
only for months to years later have it break in unexpected ways and maybe then
in only one major browser (but now the "fix" has to be tested in all of them).

I will say JavaScript is getting "better." If you stay away from bleeding edge
stuff and use things like "use strict" and popular libraries (e.g. jQuery) not
only is it largely now "someone else's problem" (e.g. jQuery updates the
library with the fix) but you also see less breaking changes because a lot of
features and functions are locked.

CSS, to me, hasn't improved as browsers continue to break fairly old
functionality and libraries only add competing styles rather than supersede
and simply things. It is also impossible to write tests against, and even if
you could one browser version later and your test can be wrong.

Just recently Firefox broke because of how an overflow: auto was handled. No
other browser, just Firefox, and even then just during a random normal browser
update not a major update revision. We had to fix by adding a float: left to
that element and then test it in Safari, Chrome, IE10/Edge, and Opera. We only
discovered this issue by luck, otherwise it would have entirely broken a major
user facing menu.

That's the problem with having no tests for CSS, there's no red flags to warn
when stuff breaks.

------
s986s
Linters are a huge help for me since I fix as I create. Testing also helps
since its far easier to have an automated build and test process that will
tell me what went wrong then having to manually compile and check each part
for erros.

