• (cs) in reply to Ambidextrous Joe

    Anonymous:
    Not sure about your browser, or perhaps you're working upside down, but I believe she is on the right side...

    He was speaking from the BROWSER'S perspective!

  • (cs) in reply to tookie tookie
    tookie tookie:

    biziclop:
    And how about a business entity called Package? Looks nice on paper. Much worse when you try to implement it in Java.

    Java won't complain about your Package, just your package



    Won't it? Well, just give it a try. (Oh well, you might find it amusing typing FQNs all the time, but most people dont.)
  • Buh Foon (unregistered)
    Anonymous:
    I like many others here I'm sure really didn't notice what the hot girl on the right was doing.

    I have no idea what you mean. What is she doing? Please enlighten us.
  • (cs) in reply to biziclop
    biziclop:
    tookie tookie:

    biziclop:
    And how about a business entity called Package? Looks nice on paper. Much worse when you try to implement it in Java.

    Java won't complain about your Package, just your package



    Won't it? Well, just give it a try. (Oh well, you might find it amusing typing FQNs all the time, but most people dont.)

     

    public class Package {

    }

    in Package.java - compiles fine for me - using 1.5.0

     

  • (cs) in reply to tookie tookie
    tookie tookie:
    biziclop:
    tookie tookie:

    biziclop:
    And how about a business entity called Package? Looks nice on paper. Much worse when you try to implement it in Java.

    Java won't complain about your Package, just your package



    Won't it? Well, just give it a try. (Oh well, you might find it amusing typing FQNs all the time, but most people dont.)

     

    public class Package {

    }

    in Package.java - compiles fine for me - using 1.5.0

     



    I never said it won't compile. But try to use it.
  • Tilendor (unregistered) in reply to Sam

    Anonymous:
    This really gives me more of an "UGH" feeling than a "WTF!?" feeling.

    UGH = Uncomprehenisble Gnarled Hack?

    If you CATCHPA = knowhutimean

  • (cs) in reply to Buh Foon
    Anonymous:
    Anonymous:
    I like many others here I'm sure really didn't notice what the hot girl on the right was doing.

    I have no idea what you mean. What is she doing? Please enlighten us.


    I believe she's trying a bit of ball control with 11 stiff men...  :-)
  • (cs) in reply to GoatCheez

    I work in the same office as David. A minor point of clarification: the developer in question did all his work and testing on his own laptop with a Windows port of apache.  He railed at great length at the developers of PHP when he discovered the name collision, and then we heard no more until after he was let go. The WTF came after he left and we discovered that this was how he intended to resolve the conflict at all of our customer sites.

  • doodle (unregistered) in reply to Buh Foon

    Anonymous:
    Anonymous:
    I like many others here I'm sure really didn't notice what the hot girl on the right was doing.

    I have no idea what you mean. What is she doing? Please enlighten us.

    As in the original quote: The girl on the right playing foosball.

    My reply: She's playing foosball? (eyes never went down that far, not caring what she's doing)

     

    CAPTCHA: enterprisey

  • (cs) in reply to biziclop
    biziclop:


    See below. Try to create a class called Package. :)
    Yeah, namespaces do help to avoid shooting yourself in the foot but if you try hard enough, eventually you'll succeed. Blaming PHP is all too easy (and fashionable too) but try to think what might have crossed the author's mind when he first saw the error message and decided that the best solution is removing that library.


    Sure, there are reserved words in every language, but in most languages, the number of reserved words in an application doesn't increase every time you make a new function. The ability to have a function caleld package is nothing...The inability to call two different "toString" functions is significant.

    I like PHP, but things like this make me grit my teeth. There is no excuse but sloppiness for lacking even the most rudimentary namespace.
  • (cs) in reply to Chalain
    Chalain:
    I work in the same office as David. A minor point of clarification: the developer in question did all his work and testing on his own laptop with a Windows port of apache.  He railed at great length at the developers of PHP when he discovered the name collision, and then we heard no more until after he was let go. The WTF came after he left and we discovered that this was how he intended to resolve the conflict at all of our customer sites.


    Yea. I've had issues of a similar nature with PHP namespace collisions, but every time I've had someone inform me of one, I've simply renamed the offending function. It's a pain, but it's not a significant pain.

    In this case, seeing as he clearly knew that there was an error, due to the crappy backend hack he tried to disable the zip library, and knowing that it wasn't heavily used, only an incompetent would have done anything other than meekly change the name.

    People who view their own code as holy or sacred get on my nerves.
  • mrblank (unregistered)

    Something smells wrong about this WTF. If this project has 50,000 lines of code then it suggests that what the disparaged contractor was given and what was requested was substantially more than would be implied by 14 pages.

  • foxyshadis (unregistered) in reply to Colin
    Anonymous:
    Namespaces in PHP would be nice...

    I have a feeling he'd have found a way to call it Zip::Zip or something like that. Everyone knows every field needs its own class.

    I'd have just recompiled the zip extension (php_zip.dll and php_zip.so) to change all the zip* function names to oldzip*, then packaged them with the installer (as well as an apache reload cycle). Of course it would only work on one particular version, but no one uses it anyway, so it doesn't need to be documented. It worked fine on mine!

    See, this guy just didn't go far enough, is all.
  • Nizzle (unregistered) in reply to MCG
    Anonymous:
    Bus Raker:

    Anonymous:
    Anonymous:
    Oh, and I so much want to play foosball with the girl in the ad on the left column of this site.  She looks like she's having so much fun!

    Yeah I'd like her to play with my foosballs too...

    Pretty crafty add from a software development community.  I mean, what does a hot blonde leaning over a foosball table exposing part of her breasts have to do with software development (i.e. a bunch of single geeks?)

    And I still can't beleive why zip was renamed to zipcode when they simply could have renamed all of the compression references to 'MakeSmaller'



    In the cold confines of the office, she radiates warmth. In the office, we are not allowed to fulfill our animal desires. We are to work. But, she is there. She comforts me.

    captcha is obviously "genius."

    Guys! The girl is Paula! She has learned to code, and play foosball!
  • doodle (unregistered) in reply to mrblank

    Anonymous:
    Something smells wrong about this WTF. If this project has 50,000 lines of code then it suggests that what the disparaged contractor was given and what was requested was substantially more than would be implied by 14 pages.

    Then again, we are talking php here ;)

    He could have used a code generator which generates.... lots of code.

  • Bob the Contractor (unregistered) in reply to R.Flowers

    Yep it often called WAMP or winLAMP ("winLAMP is not Linux Apache MySQL PHP" what a great acronym).

  • LRB (unregistered) in reply to mrblank

    Anonymous:
    Something smells wrong about this WTF. If this project has 50,000 lines of code then it suggests that what the disparaged contractor was given and what was requested was substantially more than would be implied by 14 pages.

    Not necessarily with taking into account that the contractor had a history of over engineering.  I've know people like this.   They could easily accomplish in 1,000 lines what it would take me to do in 50 or 60 lines of code.  The sad part was that enven with the extra 1000/50 ratio, they still failed to meet the objective of having the program work correctly.  A $100,000 dump truck is not necessarily superior to a wheel barrel in performance, it depends on the task you are trying to accomplish. 

  • MCG (unregistered) in reply to Nizzle
    Anonymous:
    Anonymous:
    Bus Raker:

    Anonymous:
    Anonymous:
    Oh, and I so much want to play foosball with the girl in the ad on the left column of this site.  She looks like she's having so much fun!

    Yeah I'd like her to play with my foosballs too...

    Pretty crafty add from a software development community.  I mean, what does a hot blonde leaning over a foosball table exposing part of her breasts have to do with software development (i.e. a bunch of single geeks?)

    And I still can't beleive why zip was renamed to zipcode when they simply could have renamed all of the compression references to 'MakeSmaller'



    In the cold confines of the office, she radiates warmth. In the office, we are not allowed to fulfill our animal desires. We are to work. But, she is there. She comforts me.

    captcha is obviously "genius."

    Guys! The girl is Paula! She has learned to code, and play foosball!


    <Obligatory blonde joke in reference to Paula's intellect />
  • ben (unregistered) in reply to Satanicpuppy

    It's odd -- I don't know of a single server-side technology that does not allow for combining content w. code -- ColdFusion, Java, VB, .NET, etc. etc.

    And I know of a few good ways of avoiding this practice using PHP -- the Smarty templating engine is my favorite, but there are others.

    But, "not seperating content and code" is always described as if it's (a) peculiar to PHP and (b) insurmountable. It is neither. Every server-side technology allows you to code like that. You shouldn't.

    Either way, it's not PHP's fault. Write better code.

  • (cs) in reply to Satanicpuppy
    Satanicpuppy:
    snoofle:

    Anonymous:
    I think this is more of a PHP wtf than a moron contractor wtf. It's another demonstration of how easy it is to screw up in PHP by not naming your {function,class,variable} correctly. Why does everything have to be a function?

    What does everything having to be a function have to do with choosing incredibly bad names? You can make that screw up in *any* language!



    It's only a name problem in PHP. In java, for example, I could make a 'Zip' class anywhere I wanted just by specifing a different namespace. I could make hundreds of them, because in Java, you can say, "The program named zip that is part of this package over here, not any other program that may also be named zip." With a big application that has non-stupid function names, you're going to have repeats, and that language has to be able to deal with that. Most languages can.

    Sure "Zip" is a stupid name, but there are plenty of classes in PHP where the name isn't stupid, but you still have the exact same problem. I've tried to reconcile applications before where I literally had to change a function name in 1000+ places, and this is a problem that is simply not tolerable in a professional quality language.


    Surely there must be an IDE for PHP that supports refactoring... In Eclipse, Alt-Shift-R on any Java identifier (class, package, method, field, even a local variable) will rename throughout the application (or within the identifier's scope at least), updating all references, javadoc and comments (optionally).
    There must be something similar for PHP I would think.
  • (cs)
    Alex Papadimoulis:

    Although plenty there were plenty of "oddities" in the horrible mess of 50,000+ lines of code delivered,

    50,000+ lines of code.  whew!

    That's a body of work... Let's say each line is an average of 10 chars, That's potentially 500K of application script. OMG. Hopefully there's a ton of whitespace sprinkled in there.  Or perhaps that handy zipcode class actually had the full zipcode listing embedded in it. I can't imagine needing THAT much application to vend 14 pages.  This *app* must be amazing.  Probably has it's own geo-locator-mapping system built-in. Driven by some verbose XML database, with enough XML parsers and enough dynamically generated XSLT and stylesheets to choke a dedicated T3 line. Probably abstracted the whole HTML markup language, all the arithmetic and trig functions and... why the heck not, re-write the zip library (since we don't need that one anyway). 

    I wonder how many simultaneous users it supports.

  • Cooney (unregistered) in reply to ben
    Anonymous:
    It's odd -- I don't know of a single server-side technology that does *not* allow for combining content w. code -- ColdFusion, Java, VB, .NET, etc. etc.

    And I know of a few good ways of *avoiding* this practice using PHP -- the Smarty templating engine is my favorite, but there are others.

    But, "not seperating content and code" is always described as if it's (a) peculiar to PHP and (b) insurmountable. It is neither. Every server-side technology allows you to code like that. You shouldn't.

    Either way, it's not PHP's fault. Write better code.



    It isn't peculiar to Php, it's just really common because it's so easy to do it with php and comparatively hard to do it the right way.
  • (cs) in reply to olddog

    Chalain here again--

    Almost all of the code was hand-written by the developer.  He suffered from a severe "Not Invented Here" complex.  Some of the more notable items:

    • He wrote his own database driver classes, mostly equivalent to PEAR's DBI classes.
    • He wrote an OODB layer on top of that.  (Create a Person object, set its last name to "Smith" and its first name to "%" and pass it to Search, and it returns a list of Person objects that match...)
    • He wrote his own templating language (one of the requirements had been to make the site skinnable for different customers.  Why skin when you can script?)
    • He invented his own session management scheme, so that no matter where you attempted to navigate on the server, you were redirected to the next page in the workflow process.  Even if you knew you needed to be somewhere else.
    • By the time he got fired, he had made a pretty good start on a series of classes, callable through his templating language, to create and display various html controls and forms.  Each of the controls was lovingly written first in javascript/ajax, then as PHP classes for "static failover".  The classes bear a striking resemblance to Ruby on Rails' rendering scheme.


  • (cs) in reply to R.Flowers
    R.Flowers:

    Mmm... PHP, Apache on a Windows server? Is that right? (Zip, dll...)


    That is what i'm running on this box.  Plus Filezilla.

    check out Xampp.
  • Hutta the Jab (unregistered) in reply to PaulTomblin
    PaulTomblin:

    Nobody complains about my package.


    Once someone sees it she will.

    Or he.
  • (cs) in reply to Chalain
    Chalain:
    Chalain here again--

    Almost all of the code was hand-written by the developer.  He suffered from a severe "Not Invented Here" complex.  Some of the more notable items:

    • He wrote his own database driver classes, mostly equivalent to PEAR's DBI classes.
    • He wrote an OODB layer on top of that.  (Create a Person object, set its last name to "Smith" and its first name to "%" and pass it to Search, and it returns a list of Person objects that match...)
    • He wrote his own templating language (one of the requirements had been to make the site skinnable for different customers.  Why skin when you can script?)
    • He invented his own session management scheme, so that no matter where you attempted to navigate on the server, you were redirected to the next page in the workflow process.  Even if you knew you needed to be somewhere else.
    • By the time he got fired, he had made a pretty good start on a series of classes, callable through his templating language, to create and display various html controls and forms.  Each of the controls was lovingly written first in javascript/ajax, then as PHP classes for "static failover".  The classes bear a striking resemblance to Ruby on Rails' rendering scheme.



    Jeez,  Now I feel sorry for the guy. Probably has real potential if he'd let go of the (made-by-me) complex. I missed it in the WTF, but it was noted that he wanted to work "undistracted", a clear sign that he had his own agenda. Sometimes, the hardest part about re-usablity is actually using it.

    On the bright side... (hopefully it's working out) Look at all the great code you've bought. Might be some gems in there.

    - DB Drivers
    - Query Objects
    - Session Management
    - Proven Template Language
    - And a few widgets to boot

    It's a Win-Win for both parties. You got that, and he got to build it.

  • MaskULyn (unregistered) in reply to Hutta the Jab
    Anonymous:
    PaulTomblin:

    Nobody complains about my package.


    Once someone sees it she will.

    Or he.
    HAHAHA That's hysterical! Paul Tomblin, you just got CLOWNED.
  • MaskULyn (unregistered) in reply to MaskULyn
    Anonymous:
    HAHAHA That's hysterical! Paul Tomblin, you just got CLOWNED.
    Break out the dunce cap for Paul...
  • (cs)

    Hah! How utterly serendipitous - I'm at Disney World in Orlando, FL as I read this!

    On a positive note, I'm pretty sure I've found the guy responsible for this WTF...it's either Goofy or Dopey.

    I'll dope-slap 'em both tomorrow just to be safe.

  • (cs) in reply to tookie tookie
    tookie tookie:

    biziclop:
    And how about a business entity called Package? Looks nice on paper. Much worse when you try to implement it in Java.

    Java won't complain about your Package, just your package


    Yes it will, there's this thing called reflection. Go look it up.

  • Jon Haugsand (unregistered) in reply to Time Waster
    The real WTF is that he made a class and only used it once!

    Really?  It is perfectly ok to make such classes.  It is called "abstraction".  That is, if you have some complicated problem to solve, you can extract out a part of the problem, solve it, and you then use this solution as a tool to solve the original problem.  Makes you see things more clearly, and it enables you to make more robust and flexible solutions.

    --
      Jon, abstractiomanic.

  • Time Waster (unregistered) in reply to Jon Haugsand
    Jon Haugsand:
    The real WTF is that he made a class and only used it once!

    Really?  It is perfectly ok to make such classes.  It is called "abstraction".  That is, if you have some complicated problem to solve, you can extract out a part of the problem, solve it, and you then use this solution as a tool to solve the original problem.  Makes you see things more clearly, and it enables you to make more robust and flexible solutions.


    I don't know for sure about PHP, but with some other languages using classes for every little thing can be a performance bottleneck.  Depending on the traffic, it might not matter though.

    goto captcha;

    denialOfEverythingThatPeopleAreGoingToSayAboutThat:

    Of course, if all you do is make calls to the standard library (which it sounds like this guy did NOT do), it should all end up brillantly optimized.  I think that's what the computer is trying to tell me right now anyway.

    captcha: java

    goto denialOfEverythingThatPeopleAreGoingToSayAboutThat;






    Yes, this is proof I have long since lost what little sanity I had.
  • (cs) in reply to Jon Haugsand
    Anonymous:
    The real WTF is that he made a class and only used it once!


    Really?  It is perfectly ok to make such classes.  It is called "abstraction".  That is, if you have some complicated problem to solve, you can extract out a part of the problem, solve it, and you then use this solution as a tool to solve the original problem.  Makes you see things more clearly, and it enables you to make more robust and flexible solutions.

    --
      Jon, abstractiomanic.

    A classes value isn't solely based on it's re-use or extensibility, a class is also useful for encapsulation, as in a static class, or a Singleton

  • Dazed (unregistered)

    olddog: 'I missed it in the WTF, but it was noted that he wanted to work "undistracted", a clear sign that he had his own agenda.'

    In this case the original estimate was only two weeks work, so it's somewhat understandable. But indeed for anything longer than that, reluctance to demonstrate, or at least give insight into, what one is doing is a huge red flag that the person or company concerned is not to be trusted. See the infamous Paula.

    Incidentally - anyone else had problems with the Reply and Quote buttons disappearing from this site? When they disappear they aren't in the source either, so it isn't a browser problem. (I appreciate that anyone who is suffering from the problem now won't be able to respond ...)

  • (cs) in reply to Time Waster

    Anonymous:


    ...

    Of course, if all you do is make calls to the standard library (which it sounds like this guy did NOT do), it should all end up brillantly optimized.  I think that's what the computer is trying to tell me right now anyway.

    ...


     

    Ah yes, we all know how well the brillant optimisation works ;)

     

    On another note, I think it may be personal preference as to whether code and content should be seperate or not.  Personally, I think they should not, so that there's a one-to-one file-to-page mapping (with abstractions to referenced business objects, common functions etc.).  Following on from this, however, if anyone who can honestly tell me they've been (in a practical environment, with indecisive clients and time constraints) able to write a complex application in ASP.NET with absolutely no HTML in the codebehind and no code (Databinder.Eval references aside) in the aspx, I'd be impressed.

     

  • (cs) in reply to Time Waster

    Strange, that quote was supposed to be from Time Waster, but when I quote that post, it says it's from Anonymous.  It gets the embedded quotee correct though.  WTF?

  • anonymous (unregistered) in reply to AdvocateKenny
    AdvocateKenny:
    Following on from this, however, if anyone who can honestly tell me they've been (in a practical environment, with indecisive clients and time constraints) able to write a complex application in ASP.NET with absolutely no HTML in the codebehind and no code (Databinder.Eval references aside) in the aspx, I'd be impressed.


    On PHP:

    Well... I hate to type that:

    <font color="#0000ff">?>
    <div class="warning"><?php echo _("File not found error!") ?></div></font><font color="#0000ff">
    <?php</font>

    so actually, I do that

    <font color="#0000ff">echo gDiv("warning",_("File not found error!") );</font>

    features:
    * no open/close php tags
    * no html-ism, but c-ism
    * easy to read

    unfeatures:
     * hardcoded html
     * slow
      
    implementation:
    <font color="#0000ff">
    function gDiv($class,$data){
        return "<div class='$class'>$data</div>";
    }<font color="#000000">

    my php code has 1 <?php tag, and 1 ?> tag.


    --Tei
    </font>
    </font>
  • (cs) in reply to Samah
    Samah:
    Surely there must be an IDE for PHP that supports refactoring... In Eclipse, Alt-Shift-R on any Java identifier (class, package, method, field, even a local variable) will rename throughout the application (or within the identifier's scope at least), updating all references, javadoc and comments (optionally).
    There must be something similar for PHP I would think.

    You should stop dreaming.

    Java's Refactoring IDEs came in existance because of the guys switching from Smalltalk environments (that include refactoring, and pretty much everything you can think of too) to Java, who wanted the power of Smalltalk environments back into their Java IDEs. It became widespread because it was (and is) useful (and even more in recent times because of the annoyingly static nature of Java or C#), but the core of it is that the guys who invented refactoring and refactoring tools were smart guys with a vision, who worked on huge projects.

    You won't find that kind of guys working with PHP.

    Hence no refactoring PHP IDE (hell, there ain't even a usable Python or Ruby refactoring browser, much less integrated to an IDE, and I don't think there is any Py/Rb IDE with Smalltalk's or Lisp's concept of images)

  • (cs)
    Alex Papadimoulis:

    --------------------------------------------------------------------+
    Troubleshooting, Continued +
    --------------------------------------------------------------------+

    Q: I'm receiving the following "Fatal Error" Messages:

    Fatal Error: Cannot redeclare class Zip in
    [install_path]\php_includes\classes\Zip.php

    A. This is a result of the application loading the PHP Zip class. To
    solve the problem,
    1. Navigate to and open the php.ini file.
    2. Search for the extension "php_zip.dll"
    3. Comment it out with a semi-colon (";extension=php_zip.dll")
    4. Restart the Apache service.

    I reject your reality and substitute my own!
  • (cs) in reply to AdvocateKenny

    Advocate:
    Strange, that quote was supposed to be from Time Waster, but when I quote that post, it says it's from Anonymous.  It gets the embedded quotee correct though.  WTF?

    Time Waster isn't registered, thus becoming Anonymous... This is pretty annoying, and I think it would better if the inserted name would remain also in the quote...

    You can obviously (OBVIOUSLY) write the 'correct' name yourself as the quoted user, still annoying though.

  • (cs) in reply to masklinn
    masklinn:
    Samah:
    Surely there must be an IDE for PHP that supports refactoring... In Eclipse, Alt-Shift-R on any Java identifier (class, package, method, field, even a local variable) will rename throughout the application (or within the identifier's scope at least), updating all references, javadoc and comments (optionally).
    There must be something similar for PHP I would think.

    You should stop dreaming.

    Java's Refactoring IDEs came in existance because of the guys switching from Smalltalk environments (that include refactoring, and pretty much everything you can think of too) to Java, who wanted the power of Smalltalk environments back into their Java IDEs. It became widespread because it was (and is) useful (and even more in recent times because of the annoyingly static nature of Java or C#), but the core of it is that the guys who invented refactoring and refactoring tools were smart guys with a vision, who worked on huge projects.

    You won't find that kind of guys working with PHP.

    Hence no refactoring PHP IDE (hell, there ain't even a usable Python or Ruby refactoring browser, much less integrated to an IDE, and I don't think there is any Py/Rb IDE with Smalltalk's or Lisp's concept of images)

    Ahhhh! Thank you so much for reminding me of the good times. How I loved to do Smalltalk projects. Anything was possible. Object-orientation at its finest.

    And then, somehow, we saw that Smalltalk didn't catch on. That our clients didn't want those applications anymore. They now wanted this newfangled Java. So I do Java now. My colleagues say I am one of the best. But really really I cry fo Smalltalk and, somewhere deep inside, I hate Java to this day, for a number of reasons. But I don't want to delve into its design flaws now. I just find it sad that good quality goes down the drain.
  • (cs) in reply to TheRider

    Very important, Alex: Make sure that Cambrian House sponsoring, and, more important even, their ad, stays on that right-hand-side column forever!  :)

  • Anonymous (unregistered) in reply to TheRider

    How do I post anonymously?

  • Dazed (unregistered) in reply to AdvocateKenny
    AdvocateKenny:
    On another note, I think it may be personal preference as to whether code and content should be seperate or not.  Personally, I think they should not, so that there's a one-to-one file-to-page mapping (with abstractions to referenced business objects, common functions etc.).  Following on from this, however, if anyone who can honestly tell me they've been (in a practical environment, with indecisive clients and time constraints) able to write a complex application in ASP.NET with absolutely no HTML in the codebehind and no code (Databinder.Eval references aside) in the aspx, I'd be impressed.

    It's important to remember that code/HTML separation is a means to an end (i.e. maintainable software) and not an end in itself. OTOH it is a useful means, and I wouldn't like to use one-file-per-page except for very simple pages.

    I haven't seen an ideal way of structuring this, and I doubt that one exists. One approach which I think is promising is to use for each page:

    • a code file addressing the business logic, with strictly no HTML/presentation;
    • a code file to generate those parts of the HTML which cannot be static;
    • a static HTML file with minimal code snippets to invoke functions and output variables from the first two files.

    And obviously common functions etc are separated out appropriately. And it should go without saying that Javascript and CSS are separated out in their own files (but on the evidence of quite a lot of sites, it doesn't go without saying.)

  • (cs) in reply to Anonymous

    Anonymous:
    How do I post anonymously?

    Start by putting a bag over your head, then climb onto a wooden table...

  • M (unregistered) in reply to anonymous
    Anonymous:
    AdvocateKenny:
    Following on from this, however, if anyone who can honestly tell me they've been (in a practical environment, with indecisive clients and time constraints) able to write a complex application in ASP.NET with absolutely no HTML in the codebehind and no code (Databinder.Eval references aside) in the aspx, I'd be impressed.


    On PHP:

    Well... I hate to type that:

    <font color="#0000ff">?>
    <?php echo _("File not found error!") ?>
    </font><font color="#0000ff">
    <?php</font>

    so actually, I do that

    <font color="#0000ff">echo gDiv("warning",_("File not found error!") );</font>

    features:
    * no open/close php tags
    * no html-ism, but c-ism
    * easy to read

    unfeatures:
     * hardcoded html
     * slow
      
    implementation:
    <font color="#0000ff">
    function gDiv($class,$data){
        return "
    $data
    ";
    }<font color="#000000">

    my php code has 1 <?php tag, and 1 ?> tag.


    --Tei
    </font>
    </font>

    Well the joke is on you for coding in PHP.

  • now.. with coca cola! (unregistered) in reply to M
    Anonymous:

    Well the joke is on you for coding in PHP.



    Well. I use PHP because is cheap, you only need a text editor ( nano, scite, whatever), and run everywhere (Linux, Windows, Mac, etc..).
    Theres also the MySQL database, that is easy to use and has good tools (phpMyAdmin,..).

    The other options where Perl, ASP, C and bash.

    ASP and Bash where not widen supported.
    C is somewhat of a bad tool for the web (too much string handling)
    Perl is evil for big stuff.

    Tada!!..: the winner is PHP.

    I kind of like the new Microsoft stuff.  The ASP.NET framework looks like the right thing (minus the doPostBack travesty). But the culture is about huge IDEs, and I hate bloat, so .NET is a big no-no to me.  But I think is a good thing, maybe the right thing .  Theres also the  Ruby/Python  thing, that is  nice.  Maybe I will kill PHP soon and move to  something  with  better design than  PHP.
    --Tei






  • Corey Miller (unregistered) in reply to TheRider

    Have you tried Apple's Cocoa/Objective-C? Probably the closest thing to a direct descendant of SmallTalk available.

  • (cs) in reply to Anonymous

    Anonymous:
    How do I post anonymously?

    You just did.  Any questions?  You mean you don't remember how you did it?

  • doodle (unregistered) in reply to now.. with coca cola!

    Anonymous:
    Anonymous:
    Well the joke is on you for coding in PHP.

    Tada!!..: the winner is PHP.

    I kind of like the new Microsoft stuff.  The ASP.NET framework looks like the right thing (minus the doPostBack travesty). But the culture is about huge IDEs, and I hate bloat, so .NET is a big no-no to me.  But I think is a good thing, maybe the right thing .  Theres also the  Ruby/Python  thing, that is  nice.  Maybe I will kill PHP soon and move to  something  with  better design than  PHP.
    --Tei

     

    Have you checked out MONO?  .NET cross platform!

     

Leave a comment on “Zippity-Doo-Da”

Log In or post as a guest

Replying to comment #:

« Return to Article