5 ms·
TBH - if your code is not speed sensitive you might as well write it in a slower language like Python which is more productive.
by dman 6y ago
TBH - if your code is not speed sensitive you might as well write it in a slower language like Python which is more productive.
- touisteur 6y agoThere's something to be said about path dependency and honing your skills any way you can. I discovered nice features of Ada2012 (and things that have been neglected in the standard) while writing some scraping-and-generating-svg tools, or replacing some ugly bash scripts. The more you use one tech (especially out of the usual zone) the more you learn. And maybe you learn to avoid that language. Also I like being able to come back and pick up small tools in my 'main' languages without rewriting them. So for me it's java for GUIs or highly dynamic runtime-y stuff (introspection, code gen, AOP) or 'throwable' stuff, and Ada for 'serious real-time must run 2 years without crash' stuff. Too many times I end up maintaining python scripts that have overgrown the 'script' phase and are full fledged business-critical tools and... It's then often too late to back off.
- dpc_pw 6y agoLanguages like Python being more productive is a myth. A story people keep repeating, with absolutely no way to back it by facts, not to mention that productivity is not a scalar. All there is just bunch of subjective experiences in specific circumstances.
- sacado2 6y agoBut there's a cost induced with this superior productivity, and it's not only about speed. Maintaining and updating these (dynamically typed) programs in the future feels way less productive because things start to break everywhere, unless they've an extensive test base and use modern features like type annotations -- but then, you start losing the productivity advantage you had in the first place.
- dman 6y agoNot every program grows, or needs to run fast.
- sacado2 6y agoThe problem is, you can't know in advance whether a given piece of code will ever need to grow in the future or not. I've seen way too many "one-off POC prototypes" eventually be used in production because they did the job. And then they need to be updated / extended a few months later "because we should deal with that new corner case too, now".
- pkolaczk 6y agoVery subjective. I find Python much less productive than Rust. Easy to learn != productive in the long run.
- dman 6y agoFor things like string processing with messy data or data analysis with data I am seeing for the first time - I do find Python much faster than compiled languages - the interpreter really helps in poking at the data.
- pkolaczk 6y agoFor things like string processing and data analysis I find Scala much more productive than Python. There are REPL / notebooks for quick iteration just like in Python, but static typing helps tremendously with getting things right the first time and accelerates coding. Features like autocomplete, error highlighting, documentation work much more reliably.