Hacker News new | comments | ask | show | jobs | submit login

I think of those C and Perl fit the most.

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.

I've been writing C for 30 years+, and my style has changed massively in that time. In the meantime I did all kind of other things, perl, ruby, Obj-C, C++ (a LOT), java/script etc etc...

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...

Perl style has changed over the years too. Current Perl coding standards and bulk of the code getting written is very different compared to the early internet Perl code.

C++ and Java ecosystems were run over by people who read The GoF book and decided to generate every single permutation and combination of those patterns. Code largely comes out like AbstractFactoryServeletConfigurationSingletonDispatcher.

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.

My experience with C++ has been watching a trend towards standardization across platforms, and incorporation of functional programming concepts.

I was slightly surprised when I Googled AbstractFactoryServeletConfigurationSingletonDispatcher that your comment was the only match (at least at the time I looked).

That's possible. Last time I checked not everyone working in every single company uploads their code to some public website.

Also that word represents a culture which is what I was talking about.

> 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.

This is categorically untrue for Perl.

Care to elaborate?

Compared to 98?

- 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


Well Perl 6 is pretty much a completely different language and it certainly didn't exist back then. I guess you could still be using Perl 5.x but iirc modern day projects use things like Moose which is relatively new too.

IME when talking about "Perl", most people consider that to be Perl5 and not Perl 6. Giving that Perl 6 can be and often is considered a different language.

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.

This depends on your target platform. Mine:

> cl.exe Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 12.00.8804 for 80x86 Copyright (C) Microsoft Corp 1984-1998. All rights reserved.

Haha. I know that many embedded programmers have to put up with gruesome outdated and awkwardly custom patched compilers, but yours takes the prize of the oldest.

I hope they pay you enough for the pain and suffering of using it. :-)

Applications are open for YC Summer 2019

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact