5 ms·
I checked one of their backend engineering job postings, using Python and Go... mostly python? Probably should have chosen something ~~boring~~ safe, like Java.
by devmunchies 7y ago
I checked one of their backend engineering job postings, using Python and Go... mostly python? Probably should have chosen something ~~boring~~ safe, like Java. A dynamic language like python/ruby doesn't seem to be a good choice for critical financial applications.
I'm know it can be done in python, but its about curbing any potential for human errors. Interested in seeing the RCA for this.
- brianwawok 7y agoChanging languages doesn't fix bottlenecks, it just moves it. A good team can make a high perf system in near any language, some will just require more $ per month in hardware...
- lvh 7y agoWhy is an "exciting" (antonym to boring) language bad for this, and what makes a language "exciting"?
- cwkoss 7y agoStatic typing makes it easier to discover errors before the code is running in production.
- kasey_junk 7y agoThere is no rigorous study that has proven this. I wish there were because I strongly prefer static typing but it’s more a belief than anything proven.
- sethammons 7y agoI'm always surprised by what comes across to me as a dogmatic need for a "study" to prove something. There is no study that says my yard needs mowing once a week to look good. I know it because I've lived it. Similarly, I've lived in code bases that were once dynamic and were rewritten to be static. This is not an academic argument: the compiler catches things that I would otherwise have had to remember to put into a test.
- kasey_junk 7y agoMeanwhile I hate the look of tightly manicured lawns. You should definitely grow long grasses. Without a more rigorous set of criteria we are arguing opinion. While my opinion is the same on static types there are people with their own experience on the other side of the argument. They too have lived it.
- dagw 7y agoPerhaps, but how does static typing make a language 'boring' or dynamic typing 'exciting'. I certainly consider Elm and Haskell more 'exciting' than Python or PHP.
- devmunchies 7y agoreplace boring with safe. you get the point.
- kevin_thibedeau 7y agoRigorous, non-optional type checking isn't such a bad idea for high reliability.
- lvh 7y agoCounterpoint: Erlang. Also, if "rigorous, non-optional" is good, why would you want _Java_ and not, I dunno, Haskell or ML or some other powerful type system? Is there any evidence this bug would have been prevented in Java? If anything, Java is prime ground for the related YYYY vs yyyy formatter bug.
- enlyth 7y agoHiring pool for Java is orders of magnitude larger, let's not pretend this isn't an issue with esoteric languages like Haskell
- lvh 7y agoSo your argument is you need a language with static typing to prevent defects, but also the language must be proverbially this tall to ride, and so you end up with, say, Java?
- kevin_thibedeau 7y agoYou need a language that isn't prone to foot bullets in long lived code that will pass through many developers with varying degrees of experience. Ada, Rust, Java would be suitable. I'm not a huge fan of any of these but they are better than winging it on duck typing for mission critical code.
- yellowapple 7y ago> Counterpoint: Erlang. Not even that much of a couterpoint; if you want strict typing, you can do it in Erlang with pattern matching / guards and tagged tuples, and/or with Dialyzer and type annotations.
- KMnO4 7y agoYou can write extremely safe code in any language. Python isn’t even a bad choice (compared to other dynamic languages) because you can at least get static type checking via type hints.
- devmunchies 7y ago> You can write extremely safe code in any language I said that at the end of my comment. But like you said, you have to opt-in to more rigorous checks instead of being forced to do them.
- fennecfoxen 7y agoPython is pretty boring, quite honestly, and it's as old as Java (4 years older than publicly-available Java). There are a variety of compelling engineering reasons to choose Java over Python, but a lack of boring conservatism is not one of them.
- devmunchies 7y agoyou're right. wrong word. changed to "safe", which would also include OCaml, Haskel, C#/F#, etc.
- jakelazaroff 7y agoAs far as I know, there’s no evidence of correlation between static types and bug density. Java should be no better a choice than Python or Ruby. You should still be testing your code.