4 ms·
"For example, when you know with facts that a given technology is less error prone than another." I am sorry, but this sounds a bit like you are in the fanatic
by hutzlibu 4y ago
"For example, when you know with facts that a given technology is less error prone than another."
I am sorry, but this sounds a bit like you are in the fanatics camp.
It always depends on what you want to build and what is the given skillset of the people and the avaiable time.
Bad teams will mess up even with the best technology and good teams can deliver with outdated imperfect languages. And good teams can disintegrate over religious tech wars ..
- pdimitar 4y agoThis is always down to context -- so please don't generalize somebody as a fanatic. Many times during my work it has become apparent that (some examples follow): 1. We constantly introduce bugs due to the dynamism of the language we use. We had in-house devs that could have rewritten a few very small services (think 20-ish endpoints, we're not talking rewriting a mastodon with 500+ here) in a static strong typed language. Alas, almost everyone mercilessly shot that effort down even though it was right in everyone's faces how that will reduce the upkeep of bugs and maintenance with at least 50%, if not 80%. 2. Somebody figured it's a genius idea not to follow the conventions of a certain web framework. At least 15 people came and left over the course of a year and they all struggled hard to adapt. It's not because they're stupid; it's because you have a well-working schemata in your head that you have to undo many times over just so you can work in a single team / company. Eventually all these people figured it's not worth it and I can relate to them (even though I and several others had no difficulty adapting). 3. At one team somebody decided that the in-VM cache implementation is buggy -- even though it absolutely is not because otherwise even stuff like WhatsApp wouldn't function well, btw! -- and they said "hey, let's not only use Redis for cache" (which is fine) "...but also let's use it for mutexes and semaphores that span several computers" (lol). Only after me and another senior threatened to leave did management finally budge and they left us to rewrite the thing which resulted in smaller Dockerfiles, simplified deployment, inadvertent fixing of 20-30 intermittently failing integration tests, and reduction of coding lines by about 1200 (in a project with 11500-ish coding lines so 10% decrease). Then we still left afterwards btw, both of us together, because management figured we're some kind of a threat and sabotaged us at every turn afterwards. Petty small humans ignoring feedback from users and other dev departments telling them we did the right thing. Those I'd call fanatics. Point is, people want one thing to "just work" and never touch it again, and then proceed to use fluff language to disguise this like it's anything else BUT that. Some of us see through that BS. Yes, error-prone tech exists. Yes, projects get improved by the removal of those. And I truly believe all this mindset of "you can do your project in ANY tech and it won't make a difference" seriously has to stop. This has been demonstrably false throughout most of computing's history.
- hutzlibu 4y agoMaybe "absolutist" would have been the better word, but yes - it is always down to context, which was my point: the language the person I was replying to, sounded to me like there is good tech and bad tech independent from context. "And I truly believe all this mindset of "you can do your project in ANY tech and it won't make a difference" " But this sounds a bit like strawman, I never heard anyone ever making that claim. Of course it makes all the difference which tech you choose for the job. Rust is supposed to be good, but no (sane) person would try to script a website with it. I mean you can use it and compile it to wasm and for big web applications that might even make sense - but for a really simple website I also would not even use typescript, but plain ugly javascript. No complex toolchain, no compiling, no transpiling - and allmost anyone can understand immmediately, what is going on and how to change something. But sure, if you put stupid people in charge, they will use "simple javascript" where it is just too simple and make everything harder as a result, but this is hardly the fault of javascript. (oh btw. today I learned that the James Webb Telescope runs javascript internally as a scripting language .. but without details, I will not judge here)
- pdimitar 4y ago> But this sounds a bit like strawman, I never heard anyone ever making that claim. Ah, but I am not saying that you said it. Sorry for not clarifying. I meant that in such similar discussions this point comes up VERY often here on HN which is just giving me the saddest of blues because the people around here really should know [much] better. RE: Rust and web apps backends, I agree completely, that's why I use Elixir for that and it's honestly a sanity saver (not trying to convert you). For everything else I started making a best effort to use Rust -- although likely I'll retire part of my bash/zsh monstrosity scripts in favor of Golang, or maybe OCaml once its parallel story fully stabilizes.
- hutzlibu 4y ago"Ah, but I am not saying that you said it. Sorry for not clarifying. I meant that in such similar discussions this point comes up VERY often here on HN which is just giving me the saddest of blues because the people around here really should know [much] better." Yeah, I know it was not directed at me, but I do not recall anyone making such statements ..