I have an announcement...
Javascript is dead!
Okay, now, be honest. How many of you just had a momentary flash of "ooh, crud, so what should I ...
For further actions, you may consider blocking this person and/or reporting abuse
I very much agree with most of what you have said. The developer community is big and growing everyday, and, what's more important, it's difficult for people to just leave what they were using to embrace a new technology just because it does stuff better. I've seen people running MSDOS applications, which they keep tweaking, just because they decided to create them 30 years ago. People keep designing new games for the Amstrad and, probably, even the MSX machines. In part, anything that's difficult enough is a challenge, and gives you street cred. On the other hand, I found jarring something you said in your article. 700 pull requests is a lot of pull requests. Even if people worry about that particular code, it's kind of clear there's no one on the other side vetting and reviewing those PRs. Those PRs address some particular concerns, mean something is not working (or not working correctly) for someone. Most of those people one stale PR away from abandoning that technology, and moving on to Elixir or Go. At the end of the day, technologies don't die, but they get a bit sick and are finally used in small, and slowly decreasing, niches. If they are not taught in workshops, if there's no vibrant user group, if there are no new tutorials, if the new basic technologies are not embedded in them, well, they will eventually stop being widely used, and they will become the next COBOL.
I've been starting to find that the term 'niches' is a major weasel-word in its own right: it's usually used to claim that the technology is used by "that little group over there," as a way of dismissing its relevance. However, it overlooks the fact that virtually all technologies, once past their fad stage, are best suited for a specific use-case. In other words, all technologies are used in "niches". There are no true one-size-fits-all tools in programming.
Also, COBOL has an active community and user group.
P.S. Just glancing, it looks like some of the older PRs on Rails went stale waiting on the author to do something - fix linter errors, merge a branch, whatever. I've noticed that happens a LOT in open source, and it isn't the fault of the project maintainers. However, the entire first page is all stuff from the past week, so that strikes me as active, but not necessarily unhealthy.
I didn't mean niche to be dismissive. I use it in the biological sense, which is kinda close to use case. All technologies are used in niches, and Nature abhors vacuum, so there's a technology for every use case. However, you can use niche or use case or whatever, and it's true that most technologies slowly abandon the mainstream (or the top 20 in rankings, or reach their plateau in number of users with new users balancing those leaving them) and get stuck to a few use cases. You can probably create reactive web sites and even web services with Cobol, but you're better off doing it with, well, Ruby or Elixir. It's very likely that you can leverage multi-core architectures with C, but you'll most likely use Go or Rust, instead of looking for some library or whatever.
And you are true about the PRs. Most of them are addressed, some of them are waiting for OP action. Still, there are a lot that are simply stale, like this one, three months old github.com/rails/rails/pull/33911. And if you see 700 PRs to be merged, you'll think twice (or more) before submitting your own; many people will simply let it go.
There seem to be ~40 devs active in any one month github.com/rails/rails/pulse/monthly, and the balance of opens/closes and PRs proposed/merged is quite healthy, this month. But still, the balance of open - closed is -40 this month. A t this rate, it might take 17 years to clear the PR backlog. That's not unhealthy per se, but it would be interesting to look at past history, and get the number of PRs and monthly contributors... declining numbers do not mean immediate death, it just means that, for many use cases it was used before (say creation of dynamic websites) lots of programmers have moved on and are using something else (say Vue.js, Elixir, or Sinatra). Contribution sustainability is always a problem for fully-volunteer open source projects, and a bunch of use cases are sometimes not enough to maintain a project, not to mention develop it further.
This is the gist! Well put. It's because we wished all other devs chose our favorite technology
The only real issues about technologies that have moved from popularity to suitability only is finding developers willing to program in such technologies (or even the experts in it).
That's the difference. This point is valid if we were talking about a piece of tech frozen in time but tech isn't. COBOL is slowly becoming a liability in financial companies and banks not because there are no modern versions but because there are not enough people to work on it.
Yes, COBOL is alive and well with a community. But is it big enough to stave off the very real issues that companies have?
I'm going to quote from It’s COBOL all the way down:
and
It's a very nice read :-)
Glad you liked the article.
You make some good counterpoints about COBOL. My thought is, how much of COBOL's lack of continued popularity is due to the language's deficits (there are quite a few, I'll readily admit), and how many are because the majority of programmers are infected with shiny-language syndrome?
In other words, could the lack of COBOL developers be in part due to the regular statement that "COBOL is dead?"
Part of the difficulty in eliminating COBOL from the financial sector is its stability. Given how unstable code is, and how many projects fail dramatically, the financial sector is probably flighty about the idea of porting. They'd be trading speed, stability, and proven mathematical accuracy for what exactly? Maintainability is important, but in mission-critical code, it isn't usually worth the trade-off. Thus, it becomes more practical to find/train COBOL developers to patch the existing systems, rather than build new ones.
Besides that, according to some expert articles I read, so far no languages have really proven themselves equal to COBOL in the financial role. So, we have a language with no apparent successor, and a lot of already-stable code that we don't want to break.
So, I'll ask again: is the problem COBOL, or that we've been discouraging developers from learning it?
P.S. Yes, I'm well aware the language has a painful syntax. That's one of the drawbacks.
I'm too young to know what happened to COBOL but I guess it's both :-) The article I linked talks about the shortcomings of the language itself. I have no idea how recent Cobol dialects are but the GO TO must be hell if used in programs with millions of lines of code
Yep, but they can't keep up with the amount of devs they need in rapport to the amount of code there is.
I think it's both. Devs like shiny things, COBOL isn't anymore :-) It's probably also because the landscape of development isn't the same as in the 60s. Web development didn't exist back then, now web development is a huge chunk of the software development industry.
I'll give you another example. I learned object oriented programming with Object Pascal/Delphi. I loved it, it was a good language BUT they were so concentrated on creating GUI when the world was clearly more interested in developing software for the web. Delphi mostly lacked support over there, people jumped ship. Is Delphi dead? Not at all. But it's not just the fault of people saying "don't bother", of that I'm sure.
Python might be dead in 30 years but its "general purposiness" from day 0 is one the reasons why is still one of the languages that people learn every day, even if it will be 30 years old shortly ;-)
A good, balanced rebuttal (well, half-rebuttal). Thanks for the added insight!
Javascript is great in its original use case, which is creating a small layer of browser side scripting to add some procedural code on top of your already delivered html and css. Huge javascript frameworks like Angular and React are an overcomplicated mess, and javascript is a horrible server side solution. Why in the world would someone want to use javascript over java on a server? You don't want a compiler and strongly typed language to "move your development left"? Node is a complete CF of a solution. Horrible horrible idea taken to its painful extreme. People are using typescript now because they want a more structured javascript?? That is a logical smell to tell you that the decision was bad to begin with.
Actually it is still possible to deploy Visual Foxpro applications today. I use it in my current role, and it still has an active community of users.
Blinks
I...am quite honestly stunned.
HOW do you do that?
EDIT: Jiminy crickets, you weren't kidding. There's even an open source clone. Obituary retracted. (See edit in article.)
With WebAssembly gaining traction, none of these are dead. 😏
No, I've heard it from all sorts of programmers, from many different sectors.
For additional reading, @vnbrs wrote an excellent article on how Ruby is not dead:
The State of Ruby 2019: Is It Dying?
Vinicius Brasil