6 ms·
See this is what I’m scared about in my current job. We have some people who want to use dynamically typed languages and some who want to use static. I don’t t
by serverholic 4y ago
See this is what I’m scared about in my current job. We have some people who want to use dynamically typed languages and some who want to use static.
I don’t think being able to brain dump code is a good thing and it leads to an unmanageable mess when you have a large codebase. Types are essential as far as I’m concerned, but I constantly have to get into arguments with the dynamic type fans because their “flow” Is being restricted.
- pdimitar 4y agoBe a bit more charitable. :) Brain-dumping is simply a way to iterate and figure out what works and what doesn't, quickly. After I do it I take the requisite time to emulate exhaustive pattern matching, and add tests that cover the functionality well. My problem with Rust, and I love the language a lot, is exactly this: I want to quickly find what would work. After that I'm very happy to take the proper time to go things rigorously.
- serverholic 4y agoYes and then someone comes along and makes a change that breaks something seemingly unrelated and it’s less likely to be caught because there is no type system. And please don’t say tests solve that because they don’t. They help but they don’t solve it.
- pdimitar 4y agoYou won't catch me arguing with that. I work both with dynamic and static languages and usually I'll pick the static ones. Dynamic languages are very valuable when you can afford to iterate and gradually find out the golden path. For the better or the worse, many businesses are of that type. That being said, I just ended an Elixir contract and absolutely want to code Go or Rust for money again.
- tele_ski 4y agoI do appreciate that you write tests. I find it's like pulling teeth with most devs to get them to write anything but the most basic of tests. I tend to think more than write code, so usually my first go is reasonably close to what I need. But there are always edge cases you just never think about. I'd rather have a strong debugger than a repl imo
- pdimitar 4y ago> I find it's like pulling teeth with most devs to get them to write anything but the most basic of tests You are unfortunately very correct (at least in my 21 years of experience as well). I too feel annoyance when I know that I made a piece of code work well but (a) every now and then I am truly wrong and (b) various pieces of the system in the code interact in sometimes unexpected ways, unveiling inputs to your code that you haven't foreseen. So even though it often takes a heavy and annoyed sigh out of me, I still roll up my sleeves and add the tests because I've shot myself in the foot too many times, and ignoring past experience is just being a stupido. As for debugger/REPL, they are not orthogonal; you can have both. I'd more contrast debugger with tests themselves -- both are ways to go step by step through a process that you know is faulty somewhere. REPL to me is just a way to more quickly sketch a v1.0 of a piece of code, nothing else.
- lenkite 4y agoRust needs an interpreter mode for fast-turnaround of brain dump
- pdimitar 4y agoYep, I definitely wouldn't refuse one.