Re:NYPD is canceling its Palantir contract
by CydeWeys on Saturday July 01, 2017 @01:25PM
(#14677970)
Having had extensive experience (many years) using each of statically and dynamically typed languages professionally, it's been my finding that, all other things being equal, statically typed languages are better at yielding high quality large codebases. There are entire classes of errors that a competent IDE will detect for you instantly in a statically typed language that you might not catch until compilation/testing/even production in a dynamically typed language. It's also simply easier to write more powerful tooling for refactoring in statically typed languages, so large-scale refactorings inevitably end up being easier. And it's no accident that companies (including mine) are increasingly adopting TypeScript, which brings some of the advantages of statically typed languages to JavaScript.
I have to say that, just looking at the language itself, C# is probably my favorite, but the surrounding stack including Windows makes me prefer Java on Linux to it, especially Java 8 because of its support for lambdas.
Although, it's also been my experience that the other factors mentioned have more of a role than the attributes of the languages involved themselves.
Re:NYPD is canceling its Palantir contract
by bostand on Saturday July 01, 2017 @01:27PM
(#14677983)
I beg to differ.
Have your ever tried to maintain a large js project? It gets harder the bigger the codebase gets.
Re:NYPD is canceling its Palantir contract
by brianleb on Saturday July 01, 2017 @08:35PM
(#14680015)
Is there an alternate universe where this is not true? Where things get simpler while they get more complex?
He's saying that it gets proportionally more harder to manage a large codebase in JS than it does in statically typed languages like Java. This has been my experience as well.
Erlang, for one example.
Read about AXD 301 development.
> the weakly-typed/dynamic nature of JavaScript itself which doesn't scale well to larger server-side codebases
has less to do with it.
Do you really feel that your strongly-typed Java job would be so great if all of the other poor practices of your previous job were in place?