Stephan Sokolow (He/Him)

201 points
User profile image.
Ontario, Canada

Stephan has an interest in software freedom, human-computer interaction, user interface/experience design, programming, and Linux... but he prefers to leave graphic design to the experts.

Authored Comments

I won't disagree that CakePHP is an elegant framework. I experimented with it myself at one point. However, I do have to disagree with you on PHP's role in things.

If I'm going to be using a framework heavy enough to be an order of magnitude slower than bare PHP unless a bytecode cache is used, I might as well use FastCGI with a language that has list comprehensions, function and class decorators, a cleaner standard library, a clean, concise syntax for functions with variable keyword arguments, and the ability to explicitly specify which code needs to run only for initialization and which code should be run for each request.

Whenever I use PHP with FatFree Framework, it's because FatFree will give me performance in the same ballpark as Django/Pylons/Pyramid+FastCGI/mod_wsgi on shared hosting that doesn't offer those technologies.

As for Ruby, I get the impression that I'm the polar opposite of a hipster because, despite how useful it could be to know, I just can't get over how much the design aesthetic offends my sensibilities. (I think I once called it the illegitimate offspring of Perl, BASIC, and Java while chatting with a friend.)

One of my worries is that "people willing to move their C++, Java, or RoR etc. skills to Drupal" may be a smaller demographic than you think.

My impression of things is that, to be a worthwhile Drupal hire, you need a fair bit of experience, but to get that experience without being in some kind of apprenticeship or code monkey position, you need to enjoy it to a certain extent. However, with Drupal being written in PHP, I don't see those demographics seeing it a desirable thing to move to.

<ol>
<li>People who enjoy C++ are probably the kind who want to focus on things that C++ does best like CPU-bound native applications. (Games, multimedia applications, anything simultaneously complex and low-level, etc.) I'm not sure how many of them would want to learn PHP AND Javascript to do web application development when they could learn just Javascript with Node.JS and do anything not I/O-bound in either C++ or client-side Javascript.</li>
<li>In my experience, Java is mostly learned in college/university courses, which means the migration path could be rocky for lack of students experienced in self-directed learning via online resources.</li>
<li>I can personally attest to how uncomfortable PHP is to people used to RoR and Python. I avoid it whenever hosting permits and stick to FatFree Framework (which requires PHP 5.3 anonymous functions) when I do use it, because it gives me a more functional Python/Javascript/etc.-style API.</li>
</ol>
I have nothing against Drupal, but I get the impression it's at a distinct disadvantage due to all the design and documentation baggage PHP carries.
<ul>
<li>Seriously? Using strings as function references in anything older than 5.3?</li>
<li>Being unable to get raw image data in GD because PHP wraps the API so snugly that you'd have to dereference a pointer to get it?</li>
</li>Building a template engine into the language syntax that still expects template designers to manually keep track of whether or not data has been escaped in this day and age?</li>
<li>Why are the object-oriented parts of the PHP documentation still so poorly indexed that you have to first look up the exact class and method names via Google, blog posts, and the stubborn conviction that they must exist? (eg. alternatives to opendir/readdir)</li>
</ul>