Question for developers/licence lawyers: do the #PHP include() or require() functions count as external linking of a library with regards to the #LGPL (Lesser Gnu Public Licence) and its more permissive terms, or so I still have to publish the rest of the project?

seeing languages like #javascript and #php have complicated problems with type comparisons makes me think that perhaps #perl got it right by having one set of operators for numeric comparison (<,==,>,<=> etc.) and another for string comparison (lt,eq,gt,cmp etc.)

@alexander_schoch “At first glance, #Perl looks like PHP and bash had a child, which is not something I’d expect in a #programming language.”

What if I told you it was the other way around?

- Perl dates back a full two years before #Bash, originating as a better text manipulation option than #Unix commands while still looking familiar to #shell scripters
- #PHP dates from the mid 1990s, when it was heavily inspired by Perl, though with much more inconsistent syntax

For 2024, I solved Advent of Code in 25 different languages. Was a fun project, sometimes a bit (very) painful (*glances at Erlang and Zig*).

Code (bottom of post) and summary for each language:
https://blog.aschoch.ch/posts/aoc-2024

Keep in mind that I used most of these language for a few hours tops, so my judgement is very much subjective.

What's your favourite of the bunch?

Oh, FFS. The irony!

There's a statement at the top of the file that says `declare(strict_types=1);`. And yet it's happily ignoring a `use` on a non-existent class.

So strict. Much declared. Very enforcing 😆

It was a terrible idea for anyone to do much more than templating with PHP!

Having to deal with a PHP issue in WooCommerce *shudders*

If I'm reading and diagnosing this right, PHP will quite happily let you write `use No\Such\Module;` and silently ignore the fact that there's no such module, as long as you don't try to invoke it?! REALLY?!

Because it looks like my error was from a constructor call that was cached but removed in updated code. Only the `use` wasn't removed. But now it doesn't error.

PHP is an awful language. And modern web apps are awful.

How come PHP is down in the bottom left? It was probably more widespread than Perl and more frequently the "P" in LAMP deployments.

There are more PHP programmers (the dot is red, compared to blue for Perl), so supply-demand balance seems in play.

But what would be the forces driving the sides of that balance? How come they balanced out so differently for Perl compared to PHP?

I think the thing I find most frustrating about programming languages is that there is no standard way to refer to the length of an array.

Python, go: len(array)
Java, JavaScript: array.length
Rust: array.len()
C++: array.size()
C#: array.Length
PHP: count($array)
Perl: scalar(@array) (lmao)
Swift: array.count
Kotlin: array.size

Like, seriously? Can't we agree on just this one thing???