Hacker News new | ask | show | jobs
by bovermyer 778 days ago
What do you mean you don't have every disjointed combination of needle, haystack memorized? ;p

As someone who spent many years developing in (and defending) PHP, I agree with everything you just said.

Nowadays, I'd rather reach for Crystal, Go, or Rust for back-end application development, and Python or Typescript (!) for automation scripts.

1 comments

> What do you mean you don't have every disjointed combination of needle, haystack memorized? ;p

This is one of the weakest, "not happening in reality" issue of PHP though. It's the most obvious, and the one who don't use php but glance at it point. But in the real world, any editor you use not only show it but also show a type error if you made a mistake, on top of that after a few hours you know which is which (yes strpos and in_array have an opposite haystack/needle, but each always use the same, once you use them more than 5 times you remember the same way you remember to check for 0 on strpos).

There are still flaws in the php world, but the one most commonly pointed out are always sounding funny to me because they're flaws if you show an exemple in a conversation but that you don't actually hit when coding.

I would rather get it right first time every time than get it wrong half the time and have my editor correct me.

Good languages don't make you memorize exceptions.

Which is why it stops being an issue after, what, 2 days ? And most editor also have an autoswap feature for when you have a brain fart because since the language now had proper type hint there is no possibility to misplace a scalar and an array.
But you see other people just 'get it right' the first time every time without even having to use the language. They just 'know' everything up front, or... read it in a forum 8 years ago and it's perfectly crystalized. It's only the lowly PHP plebes who need an editor to help them get things right the first time. Syntax, method naming, parameter order, return values - these are 100% completely solved problems that never cause anyone ANY problems ever in any other language - this is 1100% a PHP-only problem. Can't you understand? The entire rest of the programming world is excellent except for PHP.

Yes... it's a bit /s, and perhaps is a bit much, but... this "my language has no defects!" attitude from everyone crapping on PHP is tiresome. I've been programming as a hobbyist since the 80s, and professionally since the early 90s. Nothing is perfect, everything has warts, the holy wars suck. I've been with PHP since early 96, and have worked in ASP, .NET, Python, Ruby, Java/JVM, Node/JS, and a couple other stacks. They all suck in more than a few ways.

For those of you who only ever work in one tech for years without needing to touch anything else... and get to perfect your parameter-order-fu down to a reflex... great. I'm routinely having to switch between different SQL and various server-side languages, and even then ... 'obvious' things like array/string handling have different syntaxes I have to jump between in a single day. (postgresql arrays are 1-based, not 0-based, IIRC). You know what? I deal with it and move on. IDEs/tools help. Memory helps. Nothing is perfect.

> But in the real world, any editor you use not only show it but also show a type error if you made a mistake

Praytell, how does your editor show you a type error when both `needle` and `haystack` are strings?

Also you can just name your arguments now