Part of the problem in these discussions is that there are at least 2 populations with vastly different work flows. Which would be less of an issue if I were part of the majority enjoying “mob rule”
2,235 karma · joined June 2, 2010
Part of the problem in these discussions is that there are at least 2 populations with vastly different work flows. Which would be less of an issue if I were part of the majority enjoying “mob rule”
“Fun” stuff to read. So if I want to write higher order functions, rather than classes / interfaces, I have to write, and worse, READ, mass boiler plate like the stuff in the link.
This feels like Java 8, to a large extent: you can use code that calls lambdas (e.g. Stream) but you don’t want to have to wade through such HOF code that has the needed cruft to use the callbacks. So in practice, people won’t create higher order functions and the like, as it becomes too much trouble to read and write.
I loved the detail of the business service tools used.
Allegedly TS has a solution for doing partial function application or currying, such as in the Ramda.js library, but the example that was provided to me a few weeks ago looked every bit as clumsy as the angle bracket stew in Java 8. I don’t remember the details, other than “I hope I never have to read that.”
PFA is like dependency injection for functions, without needing all the “executioner” class trapping nonsense, and with higher order function composition replacing much of the need for subclasses.
I guess deep down in my heart, I know that Typescript is coming to crush any joy out of working with JS. The industry of enterprise design patterns will demand it.
Some of you will understand this, but most will probably just hate on the unenlightened developer who must simply be resisting The Future. A “future” inspired by Simula67, with beans replacing copy books, and IoC provided singletons replacing individual .COB programs. Meh.
P.S. nothing personal. I’m simply terrified of the perception that TS is an unequivocal boon to programming-kind. It’s not, for all of us.
Alas, this requires training of the road not taken.
Perhaps Typescript isn’t a fad to be abandoned, unlike say GWT, CoffeeScript, et al, but why risk it?
Javascript doesn’t feel painful to me like Java does. I don’t have a lot of problems with it that need solving with an alternate front end.
Long live JS!
My love of the C++, Java, C#, ad nauseum, lineage of Enterprisey OOP languages turned to hate about 15 years ago, though, so take my assessment with a grain of salt.
“C with classes” seemed like a good idea, we were told back in the 80s in school, since garbage collection is impractical. Er, yeah. Worse is better...
You can add an “integrity” attribute to script tags in the browser.
https://developer.mozilla.org/en-US/docs/Web/Security/Subres...
The hardcore “sound types” crowd believes that anybody using dynamic types is doomed.
I must not have the same problems they do.
First class functions; closures; higher order functions; partial function application, seasoned with the occasional variadic vs fixed arity function, and I’m good.
One can learn the other 95% of the jargon to deal with 5% of the problems later.
Put a bag over Java’s ugly face, that kind of thing.
I don’t want to look at IntelliJ’s “staircase of doom” formatting, I want to see one parameter per line when there is more than one parameter.
I don’t want to trace down data “COME FROM”s (local variables that are only used once and have to be tracked down from whence they came).
Give me an alternate layout which directly tracks between the text and the diagram, similar to a structure layout, but showing details within functions/methods as a tree, as well. Show me clearly how values/expressions funnel or pipeline into each other, but filter out some of the noise.
And auto-display fuglyCaps names as kebab-case, while we’re at it :-). Cuz, science.
Things missing in C: Bounds checking; Non-null references; Subranges; Sets; Nested functions?
C and its descendants was such a step backwards.
I also use an in-house library to explicitly apply arguments to return a a new function, which allows you to produce 0 arity or variadic functions.
I’m glad somebody has a work around for using Ramda in TS, but it looks every bit as “fun” as generics in Java, which I think have wasted more of my time than they have ever saved.
TS solves problems I don’t have, and promotes a style I don’t want. I don’t want thousands of global symbols in hundreds of files in my project. At least TS has the decency to infer types in some cases, or at least put the type clutter after an identifier instead of before it, but it’s usually only superfluous clutter to me personally.
I realize that many people like TS. I just hope they understand why some of us are less enthusiastic.
Static types tend to push people towards copy-pasta code, as well, which can even work against performance.
Of course, if the previous system is a proprietary monstrosity, it may well be next to impossible to recover the history short of writing a script to check out every step along the way and duplicate it in the new system. Ugh.
Anybody who went down the path from RCS - CVS - SVN - Git without saving the check in / commit history is being a bit of a jerk, though.
Later we took on the AS/400 version, but I left before that product went live.
I can’t imagine how much IBM’s mainframe system has sprawled out over the last quarter of a century.
You need to have a culture where people are allowed to become familiar with what is in their files and databases, and make sure they pass that knowledge on to others. Ideally in writing, but make sure it happens.
Too many developers assign more meaning to this year’s code than is really justified.
I do appreciate how it seems oddly more compact than most “Enterprise!” java code - e.g. copy books vs beans. How many times we gotta name the damn field to use it?
I mean, it’s the first thing that went through my head when I saw the article, but...
We got off of that 60 year old language, and are no longer beholden to IBM!
... to be on a 30 year old language (that few outside of management love), and owe our souls to Oracle.
Yeah, balancing stability and ease of use is hard. The post-Java landscape is pretty fragmented with many more developer friendly options, but it’s hard to know what will still be well supported in 20 years. I like JavaScript - which is also as old as Java, but seems to have aged better - but I understand that it scares the hell out of many developers.
So what do we replace COBOL with?
The good news: IE use is down over the last year to only about 40%.
The bad news: the growth elsewhere is all Chrome, with less than 1% Firefox or Safari. There’s a tiny sprinkling of Edge, as well, but I forget the numbers on that.
Our users are state and county offices and medical facilities, rather than private individuals, so the users are somewhat captive to whatever their organization mandates.
The only browser detection we do is in client side scripting to detect if the browser can directly display a PDF inline (or not, in the case of IE11)
Clearly, the article needed editorial proof reading in a few spots.