You can't write C++ or Java like you did 20 years ago (of course, you could but you shouldn't). Both languages and their whole ecosystems have evolved tremendously in 2 decades.
The C and Perl style OTOH has changed less. A programmer of those language from 20 years ago that is transported to the present day will have much less problems fitting in than a programmer of C++ and Java would.
My 'design patterns' in C now has a lot more of the things I 'liked' about these languages, lots of abstractions, actors, compartmentalization and many many more, as well as the most important bits like multi-core/threads aware APIs and so on...
I think that if you stick not just to a language but to your set design patterns and even toolset, you fall into what I call 'mind sclerosis' -- HOWEVER -- it's not because your patterns evolve and you update your toolset that you need to change language and go with all the trends... Most 'modern' patterns can be done in any languages.
In fact I do a lot more C these days than I did for the last 20 years...
Also a lot of applications were written as huge monoliths even a few years back.
These days people write applications to do one task properly.
Also that word represents a culture which is what I was talking about.
This is categorically untrue for Perl.
- DBIx::Class instead of DBI is a huge change; even DBI was reasonably new back then, with people still using MySQL.pm
- Moose and Moo over everything being hand-roled. I remember in 98 trying to convince people to use OO at all for anything.
- The testing ecosystem is very different / much improved, and people actually write them?
- People are really using strict, "use warnings" is a thing instead of -w
- Catalyst/Mojolicious/Dancer on Plack instead of mod_perl being cutting edge; even then, most stuff in '98 was CGI, with CGI.pm being luxury as opposed to people rolling parameter parsing by hand
- There were still many many many CPAN deniers in '98
- UTF8 and Unicode is actually a thing now, rather than an after-thought
But yeah, I agree with you about Moose. But I also stand by my opinion that Perl changed muss less than C++ or Java in that time period.
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 12.00.8804 for 80x86
Copyright (C) Microsoft Corp 1984-1998. All rights reserved.
I hope they pay you enough for the pain and suffering of using it. :-)