6 ms·
A slightly forked discussion, but having been in IT for over 30 years, I sense a theme... A long time ago, people argued over the merits of assembly versus C.
by ChicagoDave 10y ago
A slightly forked discussion, but having been in IT for over 30 years, I sense a theme...
A long time ago, people argued over the merits of assembly versus C.
After that, people argued over Pascal over C.
Then BASIC caused all kinds of consternation. BASIC versus "structured programming" was a common argument. With BASIC, there was this sort of wildness to it that drove people crazy. (this should be sounding familiar)
Then Visual Basic added structure (procedural at first, OO in .NET).
Then JavaScript was added to browsers and everyone cried that it was too unstructured and "wild".
Then Google Maps was released and JavaScript suddenly became popular.
Then NodeJS solidified JS as a real solution.
Now TypeScript comes along to make JS more "structured" and we have the same old arguments. Structure over low level unconstrained programming.
The weird part (to me) is that each side garners the louder voice about every ten years.
I'm pretty sure some new-fangled unstructured platform will arrive in 2020 that everyone will jump on and say is better. It offers freedom and the ability to sculpt a vision that the structured platforms don't.
Am I right or am I right?
- seanmcdirmid 10y agoWith TypeScript, it is more like opening up old wounds between structural and nominal subtyping. The error reporting one gets with structural subtyping are really chaotic. On the other hand, it really works when bolting a type system on top of Javascript.
- krona 10y agoOne significant difference with the past examples you cite is that Typescript is gradually typed, so it's a false dichotomy you're presenting. Personally I think this is one of Typescript's biggest achievements, since the Typescript programmer gets to decide how structured their system should be.
- ChicagoDave 10y agoMaybe. But anecdotally I've heard from more than a few JS devs that they'd _never_ learn TypeScript because it adds structure they don't feel is necessary and that just following ES6 is good enough.
- chickenfries 10y agoHow can you know if something isn't worth the effort if you won't even learn to use it?
- vladimir-y 10y ago> Maybe. But anecdotally I've heard from more than a few JS devs that they'd _never_ learn TypeScript because it adds structure they don't feel is necessary and that just following ES6 is good enough. My guess is those were not an engineers, but script kiddies / code monkeys.
- ChicagoDave 10y agoThere are a _lot_ of those these days.
- jordwest 10y agoYou're right, and this seems to be a common observation from people who've been in the industry for a while. My take on it is that software as an industry is still really young, nobody has got it "right" yet, and we're still figuring things out. Its like arguments over AC and DC, or steam vs electric. We're zig-zagging between structured and unstructured platforms because they're all in the early days, neither of them are satisfying us so we jump to the opposite extreme. I think those zig-zags are getting narrower though as we converge on something ideal. People flocked to dynamic languages because typing felt restrictive and redundant, now people are flocking to typed languages because of the assurances they provide. Modern type systems are getting better at giving flexibility and avoiding redundant type declarations, while compilers are getting smarter about checking that the programmer wrote what they intended to write.
- Rapzid 10y agoI don't believe it ever really happened like that. Yes, javascript gained in popularity but that's because you have to use it for the browser and the browser was and is a compelling platform. Google maps didn't run on javascript because it offered a "freedom and the ability" to create maps that other languages did not. In fact, recall Google created GWT over a decade ago. Companies have been struggling against the maintainability issues in JS and other languages the whole while. C# and Java never went anywhere. Types never went anywhere; phpdoc, jsdoc, etc. Ruby best practices are becoming more "enterprise"; dynamic language abuses are being frowned on as communities have matured and projects have grown larger. I'm sorry, but to me your interpretation seems overly romanticised; presenting some eternal struggle between two just-as-valid points of view. I just don't see it that way.
- ChicagoDave 10y agoC# and Java are the two biggest platforms in Fortune 500 companies and they are just now starting to look at NodeJS as a viable alternative.