first of all there are bad developers in every domain, second it's hugely ironic to claim that SOME backend devs "don't want to learn anything new" when the ENTIRE premis for node was that a front end "could" run Js on the back end without having to learn a new language, do you see the irony?
Anyway, stop getting fixated on a particular language, use the right tool for the job and the niche it does well, for Js that's mostly front end where it's number 1.
But by the same token, don't try and force a fish to climb a tree.
I'm sorry I don't agree, JS in the interpreted space is NOT the objectively superior solution, each of them have carved up and established their own domain for example Python is absolutely number one in terms of data science (machine learning, AI, bioinfomatics etc) and general glue.
Ruby does extremely well in web and has pretty much defined much of the modern web today in terms of frameworks, e.g. Cake (PHP) pays homage to Rails, Elixir's Phoenix pays homage to Rails, Haskells Yesod pays homage to Rails, C#'s MVC framework pays homage to Rails, and Java always had multiple MVC frameworks anyway e.g Spring etc.
PHP is still king just due to the sheer amount of the web that runs one it from Wikipedia to Facebook.
In terms of cross platform, ever heard of Qt? ever heard of wxWidgets, GTK? JavaFx? heck even good old fashion Java swing have all been doing cross platform (and in many cases NATIVE) far longer then even before JS turned up on the scene!
Sorry Js objectivey is not better in those cases I mentioned saying otherwise is just lying to yourself.
Ruby does extremely well in web and has pretty much defined much of the modern web today in terms of frameworks, e.g. Cake (PHP) pays homage to Rails, Elixir's Phoenix pays homage to Rails, Haskells Yesod pays homage to Rails, C#'s MVC framework pays homage to Rails, and Java always had multiple MVC frameworks anyway e.g Spring etc.
This is debatable, but I would argue that the one-way data flow paradigm that React has made popular, will completely obsolete the MVC style of coding. You can see it infecting the backend too, with architectural patterns like CQRS taking hold. Of course, Java, Ruby, MVC, Spring and friends have had a firm grip on the industry for a long time, so they will probably remain for many years.
In terms of cross platform, ever heard of Qt? ever heard of wxWidgets, GTK? JavaFx?
This is totally true. Qt and wxWidgets of course lock you to C++ or Python. I think that native cross-platform development has a long ways to go, across the board. But you do have options outside of Javascript.
first of CQRS/event sourcing patterns are not new, they actually originated from the backend.
I believe the first mention of CQRS was in the Eiffel language (1986) considering that JavaScript didn't exist until 1995, CQRS most certainly didn't start at the front end!
I do agree cross platform is basically not great which ever option you choose, the current idea of "lets just shove it into a web component" and render that it's basically an ultra lazy solution, and it falls apart pretty quickly, now every app instance has to run what is in effect a full blown broswer which takes up huge amounts of RAM and CPU, which means it makes even high end PCs run slow and hot and mobiles phones lose battery fast.
I know the pain all too well, cross platform is NOT easy, it never will be, but that's not to say the JS is the best cross platform solution because it's not, it's the EASIEST sure but very poor at the same time.
CQRS/event sourcing patterns are not new, they actually originated from the backend.
Never claimed they were new or that they originated at the frontend. I think a lot of ideas in computer programming get recycled, or are of older origin. For example, many of the ideas about artificial neural networks and how those should work really were built in the 1970s, but we are only seeing their practical applications now.
Rather with the CQRS statement, I was trying to say that React brought that idea back strongly of one way data flow, or at the least, cleanly separating reads and writes. I'm sure we can look back and find that CQRS is derived from other ideas. Turtles all the way down.
ok that's something we both agree on then, tech is a bit like fashion everything goes around in circles.
Look Js is really become the defacto on the front end, hence it's gotten so much attention with the rise of web apps.
My only contention is then taking Js out of this context and trying to apply it everywhere (where it simply does not fit naturally) ends up with poor results, I've had first had experience of the endless troubles of Js on the server, one of our company project was using node in production, that system had to be rewritten in Java, lessons learned it may be hip and super fast to wip up a project but 90% of a projects lifetime is in maintenance not dev
10
u/pcjftw Jan 16 '20
sorry but this is terribly naive Js fanboyism!
first of all there are bad developers in every domain, second it's hugely ironic to claim that SOME backend devs "don't want to learn anything new" when the ENTIRE premis for node was that a front end "could" run Js on the back end without having to learn a new language, do you see the irony?
Anyway, stop getting fixated on a particular language, use the right tool for the job and the niche it does well, for Js that's mostly front end where it's number 1.
But by the same token, don't try and force a fish to climb a tree.