Mostly right. Microsoft showed off how .NET 1.0 worked on FreeBSD but it was absolutely pointless since they didn't provide commercial licenses to run it on anything else but Windows until .NET Core.
Yes, especially when you're running linux, and the project you started on windows that uses serial ports suddenly doesn't work any more and you wonder why.
Hint: The events for serial data received didn't fire under mono, for reasons.
I hosted my personal site using Mono over 10 years ago now and it mostly worked well. I contributed some code to Mono to fix a few edge cases where their behaviour deviated slightly from Microsoft's.
Of course, I couldn't actually look at Microsoft's shared source code when doing that, so I had to just observe its outputs. At the time, Mono code had to all be clean-room implementations, since Microsoft's shared source program, where they released parts of the .NET Framework 4.x source code publicly, had a very restrictive license that didn't permit reuse (it wasn't open-source). Even just looking at the code meant you couldn't contribute to Mono.
I was very happy when .NET Core was announced and switched to a beta of 1.0 as soon as I could.
And Python's migration to 3.x is more or less complete. Took a while (15 years since 3.0), but it's to the point where migration is not a common topic of conversation.
Perhaps a paper hilt. It'll trick some people into thinking it's safer but as soon as you begin using it you realise it still has all the same problems as before.
It seems the image is a screenshot of the original page, slightly upscaled, but since the source page includes links to larger images we can make the HD remaster. Shotgun not me.
The M1 Garand is known for having a problem during reloading where you have to stick your thumb in a slot that's about to shut very hard. There are techniques to avoid getting pinched, but "Garand thumb" is a well-known phrase among vintage rifle enthusiasts.
I watched Jon Gjenset's stream where he implemented the beginnings of a BitTorrent client in Rust and of the four hours about 25% of it was spent wrestling with quirks in serde and reqwest.
It was pretty discouraging watching a pro have to fight the ecosystem so hard.
It's not as common any more, but there's still things using logic programming languages (Prolog and similar) even today.
Java uses it in the type checker. From the JVM spec:
The type checker enforces type rules that are specified by means of Prolog clauses.
There's some other compiler and NLP (natural language processing) use cases for it too. I've seen some companies use it to define restraints for their business logic, which isn't too different from the type checker rules use case.
We did Prolog in university - actually it was one of the two languages we had to learn in CS, the other one being Pascal.
I always considered Prolog a pain in the ass and unsuitable for anything bigger than a piece of homework due to the "we don't do loops, we have tail recursion" making the code unnecessary complex and hard to read. On a list of Write-Only languages I'd rate it a few steps below Perl.
I'm willing to bet a TON of medical and banking data is still making its way through perl today. (I'm not necessarily saying this is a good thing, but I have years of experience in healthcare IT).
For that matter, there are still folks out there coding, professionally, in FORTRAN.
Thing is, back then, we didn't know any better. Software was a commodity, and both the people who wrote it and the people who bought it had grown up in a time before the internet, before SaaS; people whose parents who, if they made things, made widgets.
Back then, you could write a piece of software, and it was done.Then you sold it, and moved on. If the old software had bugs, if they weren't catastrophic enough to cause a lawsuit, buyers learned to live with them. It was too bad; you already shipped the tapes. And few companies employed their own software developers unless they were software development companies. Man pages have a BUGS section, and that's because there's no intention to ever fix those bugs, because that software is done.
Software today is never finished. Our first reaction if we see a project with no recent releases is that it's abandoned, or dead, and certainly that it's worse than a project with recent commits to the repo. Github is a huge culprit in reinforcing this mentality, but mobile app platforms (stores and OSes) are terrible about this, too. Google constantly changes the Play store in ways that force developers to tweak their apps lest they become incompatible, booted, or get flagged as being "old" a.k.a. "inferior."
Yet, still, there's so much software out there that's complete. An institution may hire a developer to come in and make a change, but it's usually a contract one-off; it's more like taking your car in to have the starter replaced. Those systems are going to continue keeping "dead" programming languages (commercially) alive for years to come.
I use perl for that stuff (mostly automation) that's a bit too complex for bash, but doesn't need a proper project. Modern people would use python for this kind of thing. But, I'm too old to change!
When it comes to surprising behavior, Perl isn't any worse than JavaScript. Which admittedly isn't a great comparison for either language. Most of the bellyaching around Perl has to do with regular expressions, but every other language out there picked up Perl's regex syntax in a mostly verbatim way (PCRE).
Perl is still as good an interpreted language as any of the others tbh.
Most of its "problems" are cosmetic, which is probably why Python ended up being its successor in many fields.
Given the choice between brutalist and Fisher-Price architecture, most people are going to opt for the latter even if everything's effectively the same inside.
Assembly is a scrapheap with every sort of technology imaginable but it's all broken. Could be an iron man suit, or you could just grab a length of rebar.
It's a very large image, so many clients load a scaled down version. On Boost at least you can press the HD icon and it loads the fullsize images where stuff is legible.
Python would be a Tavor TS12 automatic shotgun with rotating tube magazines. It's heavy, doesn't have a fast fire rate, but it can fire a ridiculous array of ammunition, and they're working on the ability to fire all the barrels at once (GILess)
Hey now! PHP may be old and a bit clunky, but it gets shit done. I'd say PHP is the Colt repeating rifle, since PHP won the internet and the Colt won the West. Much like the Colt, there are better tools available today, but if you want stuff done reliably and quickly, PHP and the Colt are good choices.
but like, wasn't facebook written in php and didn't it kind of take over, about as much as any programming whatzit ever has? (not saying that was a good thing, but yeah...)
fortran is a bow and arrow. it was quite powerful and widely used in the past, but i have not met anyone in recent years who uses it other than as a hobby.
That bash joke is pretty accurate. I watched a IT expert write the ugliest bash script I ever saw. Just the longest set of instructions ever. Then it just worked.