RE: PHP on .NET DLR

[email protected] ("Mike Schinkel") Sat, 11 Aug 2007 15:44:03 -0400
Newsgroups php.evangelism
Message-ID <[email protected]>
K T Ligesh wrote:

>  See that's what I am trying to figure out. Why is PHP on 
> .NET considered unpopular, while Ruby gets such a lot of press? 

I think you can remove the ".NET" from your question and just ask: "Why does
Ruby gets such a lot of press?"  My answers:

1.) It is new, and people like new.
2.) It has an egomanical huckster showman propmoting it. 
3.) The language adds lots of syntax sugar which to many people makes
programming more fun.
4.) Building a system in Rails is far more productive than raw PHP
5.) Learning how to build modules for a Rails app is easy, especially when
compared to something like Drupal
6.) The Ruby platform hasn't splintered into many CMs and frameworks; there
is only Rails and all the momentum goes to it.

Of all those reasons I'd say #6 is the most difficult to overcome. PHP has
become a victim of its own success. As a prospective PHP developer I have
too many choices, which can lead to paralysis or infighting. And one thing I
find infuriating is how little effort from the PHP community has gone into
establishing standards for integration between all these apps and
frameworks.  Try to get WordPress, Mediawiki, Drupal, and vBulletin to work
together, for example, is an active in futility.

Python has WSGI, what does PHP have?  Personally I think the best thing PHP
could do for improving it's position in the world is to band together and
establish an eqivalent to WSGI that addresses userbase integration.  If the
PHP community could join all those disparate apps into one big family it
would strengthen PHP far beyond anything Rails could take away.

Secondly, if you can add a little syntax sugar to keep PHP from being so
darn verbose and apply a little DRY principle, that would help too. '-)

> NO. That's a separate development, and I have been following 
> it very closely. In fact, the news of the Zend-MS alliance 
> came in November first week, while the PHalanger Devs were 
> picked up in October. So maybe Andi knows something about why 
> the PHalanger devs were moved to Ruby?

So?  You accuse MS of conspiracy against PHP. Clearly if they were against
PHP they wouldn't have worked to get PHP running better on IIS.  My point is
valid.

>  Silverlight is a nice addition to .NET. Alone neither of 
> them has any meaning. But silverlight finally brings web to 
> MSs domain of expertise--the desktop. I am making a purely 
> detached and disinterested analysis. I have not yet 
> completely moved to Windows, since the Unix subsystem started 
> working properly only in Vista. And the direction that web 
> development is moving towards is _'desktop on web'_. So 
> here's MS trying to deliver just that. I am definitely interested.

Personally, being a student of HTTP and the efforts of the W3C and
technologies that have succeeded on the web and those that have failed, I
believe efforts to move the desktop to the web are, in the best case, doomed
to failure. In the worst case, I believe they are doomed to cause the web at
large to fail, to cave in under its own weight.  Frankly, I think the former
is more likely.

>  When it comes to language, it is the really great developers 
> that make a difference. The average devs might be large in 
> number, but they do not matter. Really. 

A more arrogant statement has never been made.

The problem is thinking that great devs are all that matters. Actually devs
that can understand how to relate to the average user let alone average dev
are those who have the ability to make great positive contributions. Great
devs have no issue with complexity, whereas the average person is
overwhelmed by it. Great devs simply don't know how to relate. Case in
point, look at RDF vs. RSS. The former was designed by great devs, the
latter by average devs.  Guess which one became significant?  The one that
the average devs could understand.

Frankly I view one of my strengths being that I'm *not* a great dev. If I
was, I simply couldn't relate to the needs of the rest of the world.

> Software is not 
> writing 100 lines of code and feeling clever about it. 
> Software is about building and maintaining extraordinarily 
> large projects, 

Some software is about large projects, but a lot more software is about
small projects and more importantly, components. All open-source software to
speak of is either comprised of many components or is such a component.

> and what you need is not simplicity as such, 
> but rather the ability to abstract.

Hah!  Tell that to the people are are *not* using RDF.   RDF is all about
abstraction. Too much so.  Simplicity is winning the world over today as a
way to manage information overload, in case you haven't noticed. Google,
iPod, and more.

Languages are evolving. C-based languages are evolving too, but C-based
languages may be too stuck in the past to effectively evolve. They has too
many concepts that are incompatible with newer, more elegant, and more
simple languages.

BTW, one incredibly beautiful language I recently learned is from MS:
PowerShell. Its simple but scales its complexity well. OTOH, its language
design needed a clean sheet; it wouldn't have worked on the back of a legacy
C-based language.

>  Sorry, Ruby also has braces for code blocks and variables 
> inside strings. 

Did you not notice that I said I wasn't a fan of Ruby?

> And python a simple language? Are you joking? 
> I don't think even the die hard python fanatic would claim 
> that. 

I guess you've not read any of the books on Python programming that I've
been reading lately. Alex Martelli discusses how Python focuses on being
simple to understand. BTW, simple language does not mean "simple under the
covers", it means "simple to use."

And yes, Python can scale in complexity, but it is very easy to get into and
it is very easy to do basic things in. It is also very easy to read, much
more so than PHP (I'm thinking of Drupal modules at the moment.)  And Python
has the ability to define syntaxes for domain specific languages (as does
Ruby.)

For example, I just watched a presentation of SQLAlchemy the other night.
Brilliantly simple; I could teach a 12 year old how to use it.

> Python is supposed to be an elite language. 

By whose definition?

> Ruby is not simple language either. Being completely OO, it is against 
> your principle of _common man's_ language. 

Which I agree with 100%. That's why I don't like Ruby.

> In fact, as 
> everyone points out, without Rails, I sure none of the code 
> monkeys would ever touch Ruby, and run away scared from its OO.

I highly doubt OO is that off-putting these days. It was in 1990 when i was
first teaching it, but it is not today.

>  MS is gaining hard on the server arena. Being a server 
> services vendor, we have no choice but to fully support 
> windows or lose a huge market. IIS powers 31% of the websites now.

But IIS supports PHP as I quoted already. What's the problem?

>  To me they look good enough, especially considering their size.

But you are not on the inside so your view is not as clear. '-)

>  Yes. Obviously. But they learned, and there is still life ahead.

We'll see.

-- 
-Mike Schinkel
http://www.mikeschinkel.com/blogs/
http://www.welldesignedurls.org
http://atlanta-web.org - http://t.oolicio.us