I have been looking at our bugs, logs and exceptions recently of the past 6 years and an enormous amount of bugs are caused by methods/functions that have multiple parameters with the same type (Java).
This happens because (my theory) we use java and java doesn’t have type aliases or value types as well as easy destructuring. It also doesn’t have named parameters (well there is a compiler option to retain the parameter name but it’s not like ocaml label parameter or python kwargs).
So often times in boring business programming you are dealing with methods with 5 to six strings so it’s very easy to mix up the parameter order.
Very few “hard” bugs were caused by NPEs where as the previous problem caused serious pain.
Every time someone downvotes me it literally makes me feel like shit for like a day.
This includes reddit as well.
I’m not saying I’m looking for upvotes and I’m not on Facebook so it’s not about being “liked”.
When I’m downvoted I’m so afraid I have offended someone or I said something extremely fallacious.
It has gotten to the point where I have contemplated not ever participating again which is a shame because I’m nervous (assuming I’m not an extreme fringe case) there is some sort of convergent sheep opinion when there should be diversity in thought.
So if someone came to me and said hire me and look I have xyz karma on xyz platform I might even be less inclined to hire given how much I feel it has poisoned my own thought.
Deleted Comment
Anytime I deal with new employees I am constantly focused on this bias.
EDIT and here is more of a general theory/subject on this:
https://en.wikipedia.org/wiki/Group_cohesiveness
(a quick read)
I remember my dad and I scaling up the math (I was only 10 so I needed a little help) and I remember asking him why normal cars didn’t have batteries.
I don’t recall the answer but it was long... I also was quite distracted with my new RC toy car .. err tank (google fast traxx).
I’d like to think this would be good so maybe some one will comment how this won’t eventually go too far.
If altering starts happening which I would imagine it will at one point will be no longer human (and maybe that is a good thing).
Maybe at some point like in the Altered Carbon series it won’t even matter and it will just go back to money (or maybe it will always be the case as the ultimate grade).
I think you just contradicted yourself. Sometimes the best tool for the job is something new, something improved over what already exists.
I don't think the author intends to "replace all the old working stuff". But if this tool is better for new projects, then why not? I don't get all the negativity... do people here really love XML/JSON/YAML that much? There's a whole lot to complain about in all of those!!
And yeah I don’t have a problem with XML or JSON. Those two combined with some flatbuffer other men binary protocols cover most of my use cases... like really what’s with all the XML negativity.
- Andrew Tanenbaum Computer Networks, 2nd ed., p. 254.
I think all developers go through some experience where they want to just "unify" everything because that will supposedly make it easier for them and other developers.
Overtime as you become more experienced or I guess jaded you realize that reality of a "GUT" technology platform or programming languages is a pipe dream and the effort to get people to use said new format/language/tech is more effort than what you get in return.
Anyway to be short about it I think most should just pick the best tool for the job and stop rebuilding things that don't need to. And if you do please make sure you have a plan to how you are going to replace all the old working stuff.
That is a huge metric I care about.
You can figure out it somewhat by clicking on each language benchmark but it is not aggregated.
BTW as biased guy in the Java world I can tell you this is one area Java is actually mostly the winner even beating out many scripting languages apparently.