Linked by Thom Holwerda on Sun 28th Jul 2013 14:06 UTC
General Development "There is a reason I use 'old' languages like J or Lush. It's not a retro affectation; I save that for my suits. These languages are designed better than modern ones. There is some survivor bias here; nobody slings PL/1 or Cobol willingly, but modern language and package designers don't seem to learn much from the masters. Modern code monkeys don't even recognize mastery; mastery is measured in dollars or number of users, which is a poor substitute for distinguishing between what is good and what is dumb. Lady Gaga made more money than Beethoven, but, like, so what?" This isn't just a thing among programmers. The entire industry is obsessed with user numbers, number of applications, and other crap that is meaningless when you consider programming to be art. When I post a new item about some small hobby operating system, the comments will be filled with negativity because it's no Windows or iOS, whereas only ten years ago, we'd have lively discussions about the implementation details. And then people wonder why that scene has died out.
Thread beginning with comment 568188
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE[2]: Oh goody
by Kroc on Sun 28th Jul 2013 17:36 UTC in reply to "RE: Oh goody"
Kroc
Member since:
2005-11-10

Each version fixes earlier mistakes, and so it gets better


More like each version tries to become more like Java and so moves further away from what makes PHP actually useful: Productivity.

In the 1990s there was a massive boom of new programmers who started out on the new, modern, relatively-young languages rather than learning the stalwart programming languages of the 60s/70s/80.

Some of these programmers saw Java, and it was good. So they set about to turn every damn language into Java to make it "purer". This software "purism" fetish that is so common nowadays (next target: JavaScript) misses the benefits of these languages: productivity. To purists, if your Sub Main doesn't require a Factory Factory then your programming language isn't "Pure" enough. Software purism is bullcrap.

A programming language needs to be two things: Accessible, and designed in such a way that developers do The Right Thing by default.

The 60s/70s/80s industrial programming languages had poor accessibility but were designed right -- to make efficient programs as default. In the 90s programming languages were accessible (PHP / JavaScript), but incredibly stupid (security? What's that).

The march of PHP towards Java Purism is fundamentally unintelligent. It replaces productivity with fetishism. (That's not to say OOP is bad, not at all, but that's a different choice/argument than accessibility/pursim)

You cannot make languages that were bad to begin with better by making them "purer". You can only make them better by making them do The Right Thing by default.

And this, is what the PHP management does not see. They see a future of pure OOP where every developer is so enamoured by the sheer beauty of their emerald city of software purism that they will just want to code securely and efficiently. -- Instead of just adding native string types for SQL & HTML text so that these cannot be concatenated or output insecurely by default; which would be a lot less work and would do a whole lot more towards the bad security image PHP has.

*sigh* But alas. Purism is best and I have to sit by and watch JavaScript get groomed and abused by these same people who want to make JavaScript a Real Programming Language and turn it into something completely inaccessible to the masses.

Edited 2013-07-28 17:53 UTC

Reply Parent Score: 6

RE[3]: Oh goody
by Alfman on Sun 28th Jul 2013 19:49 in reply to "RE[2]: Oh goody"
Alfman Member since:
2011-01-28

Kroc,

That's a lengthy post, but you don't really define what "purism" means in the context of what you are talking about.

I assume that your are talking about OOP? If so, I agree it can sometimes be overdone, but realistically most PHP code isn't OOP anyways so the criticism seems a little hypothetical.

"*sigh* But alas. Purism is best and I have to sit by and watch JavaScript get groomed and abused by these same people who want to make JavaScript a Real Programming Language and turn it into something completely inaccessible to the masses."

Off the top of my head I cannot think of any negative changes and it was always OOP based. Can you give examples to clarify what you mean? Try/catch was very good to add, same with regex, and ajax support.

My wishlist for JS: I really do wish they'd add namespaces. For security it would also be extremely valuable to have code domains (sandboxes) to allow webmasters to add security barriers between scripts.

It's pretty bad that webmasters are including 3rd party scripts (say for displaying ads, recording page hits, etc) where they implicitly share full control over the user's browser because the language doesn't have a construct for separating script domains.

Granted domains are not available in most languages, but I've used it in .net to allow 3rd party plugins to run isolated from the main code. An example might be a public game server where you want users to be able to upload plugins for their character but you still want their code to be contained in separate execution sandbox for both stability and security reasons.

Edited 2013-07-28 19:53 UTC

Reply Parent Score: 2

RE[4]: Oh goody
by Kroc on Sun 28th Jul 2013 22:31 in reply to "RE[3]: Oh goody"
Kroc Member since:
2005-11-10

Apologies for waxing poetical. "Purism" in simplest terms is best described as "being more meta". The more meta a language it is, the "purer" it is perceived -- that is, more abstract and layered. Templates, Generics, Factories, Overloading, Abstract/Polymorphic classes and so on. Each is a useful feature, but a "pure" language is one that begins with very high-level concepts that must be understood before one can begin to understand the code. The code becomes opaque and incomprehensible to anybody who does not have the "knowledge" of these high-level meta concepts about how the code is organised, structured and designed. Anybody who does not understand this inside-knowledge is looked down upon and nobody is willing to explain it to you.

Reply Parent Score: 3

RE[3]: Oh goody
by Vanders on Sun 28th Jul 2013 23:38 in reply to "RE[2]: Oh goody"
Vanders Member since:
2005-07-06

Some of these programmers saw Java, and it was good.

Who are these strange, blind, people?

Reply Parent Score: 4

RE[3]: Oh goody
by Soulbender on Mon 29th Jul 2013 03:01 in reply to "RE[2]: Oh goody"
Soulbender Member since:
2005-08-18

More like each version tries to become more like Java


It's still an improvement over what PHP used to be.

Reply Parent Score: 2