Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:62004 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 62272 invoked from network); 3 Aug 2012 13:32:05 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 3 Aug 2012 13:32:05 -0000 Authentication-Results: pb1.pair.com header.from=g.b.yahav@gmail.com; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=g.b.yahav@gmail.com; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.220.170 as permitted sender) X-PHP-List-Original-Sender: g.b.yahav@gmail.com X-Host-Fingerprint: 209.85.220.170 mail-vc0-f170.google.com Received: from [209.85.220.170] ([209.85.220.170:39041] helo=mail-vc0-f170.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 42/B8-09659-4D2DB105 for ; Fri, 03 Aug 2012 09:32:05 -0400 Received: by vcbgb30 with SMTP id gb30so766639vcb.29 for ; Fri, 03 Aug 2012 06:32:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type; bh=9IGWLeHkL06LqZAQDiVFFZRC6KBjDMeJdbPDFV4f2YY=; b=oZr+vp7ff4Ke02pNBOIqx+w2r1wxxxTLPqrFDkallYhXtJaQGbgRKHAnf9aL2xHEQl a95/sKReVc1JFQWIHUrpkLV8bMK46VTZyXFrAVR6POMvuzhSJQz6y/80204mbp65ltZ1 UDay9bTplZxvZN+eZ93xbn0h/aDVZ+cneNCBi0/xi4BXeZIfIBbJk6p2vlWoTv2o79BW HDTF6p+RgN44OcHsXtAUHcRsM701RdwIEJkEp03uWt+aneqo5dE3qYiOBNZZ3piOfkC8 iB+0oBvUGWOp8tgunAUM3JlBKtia4oiz4WJvigolvhUAByDOYfdpNEDRTd44elIRrSLo SRDg== Received: by 10.58.4.232 with SMTP id n8mr1424485ven.54.1344000722109; Fri, 03 Aug 2012 06:32:02 -0700 (PDT) MIME-Version: 1.0 Received: by 10.52.92.18 with HTTP; Fri, 3 Aug 2012 06:31:41 -0700 (PDT) In-Reply-To: <501B7C54.1040602@lsces.co.uk> References: <501B7C54.1040602@lsces.co.uk> Date: Fri, 3 Aug 2012 16:31:41 +0300 Message-ID: To: Lester Caine Cc: PHP internals Content-Type: multipart/alternative; boundary=047d7b66fcad9e86e304c65c8d5a Subject: Re: [PHP-DEV] Add runkit to PHP Runtime From: g.b.yahav@gmail.com (Yahav Gindi Bar) --047d7b66fcad9e86e304c65c8d5a Content-Type: text/plain; charset=ISO-8859-1 On Fri, Aug 3, 2012 at 10:23 AM, Lester Caine wrote: > Yahav Gindi Bar wrote: > >> Maybe I'm wrong when comparing with other languages and mainly with >> ASP.NET(C#) since they've used it for web proposes but I did saw many >> >> classes that used this feature and personally really like it. >> > > If ASP is so good why is it loosing market share? > Personally I'm pulling all the ASP sites I've inherited to PHP simply > because the basic work flow in them is so bad. > And on some of the inherited PHP sites we have this peculiar concept of > having to write a 'controller' for a new page, and then another PHP file > with the content. But then am I 'old fashioned' using smarty, templating > and storing all the content in a database? This idea of 'controllers' and > 'interfaces' does not seem to produce a viable work flow to me, and > certainly unravelling the code is a pain :( > > You may understood me in the wrong way - I'm not try to say that ASP.NETis so good and make comparison in the negative way or something like that, PHP is a different language with its own great pros and that's why I've decided to join these discussions and try to help improving it to be even better. I just saw a feature in C# which exists in other languages (I've used Objective-C which got it, and I read that Python and Ruby also got it) so I think it'll be great to have this ability too built-in in PHP, that's all. As I've said earlier - without this ability built-in many potential developers, and of course frameworks and software developers can't relay on this feature. > I've suggested to improve the language itself with some of the features in >> runkit, not to copy and use it as is. >> > > People don't use half of the facilities that PHP already has so why start > introducing concepts that make that even more difficult. Once again ... we > need to explain a lot better how to write 'good programs' using what is > currently available without loading the core down with even more eye candy > that few people will ever understand fully. I'm still for stripping more > stuff back to PECL and coming up with a good 'old fashioned' simple > beginners version of PHP to which the eye candy only needs adding once one > understands the basics ... > > I don't think we can, even if we want, to teach beginners how to write "good programs" or good-practice programs - there'll always be beginners who'll create programs using bad-practice approaches and they'll improve by the time, I guess... We can make the documentation better, but that's a different thing (though take into account that many beginners even don't know how to understand the documentation and point their questions to support forums). For example, I know many beginners who don't know about many built-in functions in PHP (even basic ones, array_map, strpos etc.), I don't think that if we got an idea of function that can be useful for the majority of the PHP community that we shouldn't include it because beginners won't know about it or how to use it - being a beginner always result in not know or understand features... I think that the result of this way of thinking is restricting advance programmers while beginners could stick with the basic features of PHP, leaving the advance concepts until they'll be ready to learn them. --047d7b66fcad9e86e304c65c8d5a--