Slashdot Mirror


Ask Slashdot: Which Web Platform Would You Use?

New submitter datavirtue writes "I'm about to embark on developing active content (database driven, and web services) for the first time for my website and I have grown to love PHP. Knowing that there are other web development platforms available, and noticing some disdain for PHP in some circles, I'm curious to know which platforms slashdotters prefer along with the reasons why. Before I get started into heavy development I would like to get some opinions and more facts. Why shouldn't I use PHP?"

519 comments

  1. ASP.NET and C# by SharkLaser · · Score: 4, Informative

    PHP is fine, but if you want to learn about a better, enterprise-ready languages I would suggest using ASP.NET. It integrates perfectly with .NET apps and libraries and comes with a comprehensive library (as it uses .NET). The great thing about ASP.NET is that you can use C# to develop for it. ASP.NET also comes with various functions to make state management easier - an important feature that is completely missing in other languages. It also has built-in cache management.

    ASP.NET originally lacked templating engine, but Microsoft introduced it in 2.0 version. You can have master templates that have placeholders for the dynamic content, as well as all the HTML and JavaScript that is shared between all pages.

    It is basically more than your off-the-shelf PHP/Python/Ruby. ASP.NET provides much larger library to use, has templating engine, error handling, controls and events (and hence is more familiar to Windows developers), caching, object-oriented design and session control which can even be saved in SQL Server. It's not just a language, it's the complete package.

    One of the great things about ASP.NET is also that you can use your favorite language to develop for it, as long as it supports .NET. This means you can use VB.NET, C#, J#, Delphi.NET etc. And because you compile the code to bytecode, it runs significantly faster. On top of that Visual Studio is a great free (and commercial) development environment.

    Oh, and if you want to run ASP.NET under Linux servers, it's easy too. Apache has mod_mono module or you can use it via FastCGI.

    1. Re:ASP.NET and C# by Anonymous Coward · · Score: 5, Insightful

      Idiots like this guy here are exactly why there is so much hate for PHP. Here is a classic example of someone comparing PHP - a language - to a full blown web development framework. Ruby on Rails people do exactly the same.

      You can argue about the differences and benefits of ASP.NET vs RoR vs Zend Framework vs Yii vs [insert another web framework here] - but comparing a language to a framework is outright idiotic.

    2. Re:ASP.NET and C# by SharkLaser · · Score: 0, Offtopic

      So I provide a valid opinion and reasons why it's good to do web development with and it gets modded to -1? WTF Slashdot?

    3. Re:ASP.NET and C# by bhcompy · · Score: 2

      Depending on the enterprise, ASP and C# can definitely be useful. It really depends on the shop. One Fortune 500 I was with worked primarily with ASP, the current one I work with uses ASP, PHP, and Java equally. The small webdev houses I've been with have used ASP more than PHP(that Microsoft Certified Solutions Provider logo seems to impress the businesses you're making stuff for, I guess). Most of my friends that do solo freelance work do PHP.

    4. Re:ASP.NET and C# by Anonymous Coward · · Score: 4, Informative

      Heh. Great advertisement. :)
      Asp.net sucks.
      Not everything that works on windows, works on linux - so it's "almost" platform independent the fact that MS does not develop mono guarantees that linux version will not support the latest stuff. Only recently has Microsoft developed semi serious ORM and it still has bugs.
      Windows hosting is much more expensive than linux hosting.

      PHP with one of the popular frameworks, and bytecode interpreter (like facebook's hiphop vm) can match the speed of C#, and language is not always the bottleneck. SOmetimes the architecture of the software is the problem.

      As a person who develops in both Asp.net (Webforms and MVC) and PHP (with various frameworks) i would recommend anything BUT ASP.NET. Ruby on Rails is great. Pythong has some great frameworks too ... ASP.NET is the worst choice OP could make.

    5. Re:ASP.NET and C# by Anonymous Coward · · Score: 0, Insightful

      Except PHP is explicitly designed as a "web language" - and then goes on to have all sorts of basic web-related functionality missing.

    6. Re:ASP.NET and C# by ByOhTek · · Score: 5, Insightful

      I... would not use ASP, I'd use PHP before ASP, and Python before that.

      One of the advantages of python, is that, with mod_wsgi, it's very fast.

      Actually, what I'm working on is, a mod_wsgi handler in apache, that sends the request to a back-end server, originally written in python, but now I'm switching to C# (still no ASP). Although there are ASP Modules for Apache/mono, I belive mod_wsgi has much more thorough testing, and will therefore be a better-cross-platform solution.

      In the end, answer these three questions:

      1) What platforms are you most comfortable with? Rank them.
      2) What platforms have the best modules/libraries for what you want to do? Rank them.
      3) What platforms have the best performance? Rank them.

      Now, given the rankings on 1-3, which platform is best for you? Nobody can answer this but you. Without knowing the details of what you want, we really can provide advice on #2 and #3.

      --
      Self proclaimed typo king, and inventor of the bear destroying coffee table (patent not pending).
    7. Re:ASP.NET and C# by lthorne · · Score: 1, Interesting

      Sorry man. I deal with ruby, php, perl, .net, asp.net and bar none, .net and asp.net are not even close to being as reliable as php or ruby. I would never recommend .net to a client, ever.

    8. Re:ASP.NET and C# by Curunir_wolf · · Score: 5, Insightful

      Because people are looking for actual opinions from developers, not market-speak from commercial marketers. I mean, mod_mono?? Really???? LOL!

      --
      "Somebody has to do something. It's just incredibly pathetic it has to be us."
      --- Jerry Garcia
    9. Re:ASP.NET and C# by Anonymous Coward · · Score: 0

      This is the same guy pointed out in another article as railing against google/android/open-source.

    10. Re:ASP.NET and C# by Anonymous Coward · · Score: 5, Interesting

      A while back now I had to do a project in ASP.Net, after being a long time PHP developer and I have to say I found it incredibly unpleasant. PHP's problem is that you have to write everything from scratch, however ASP provides you with a tonne of controls that allow you to get up and going really quickly. The problem though, is as soon as you try to do something a bit more complex with ASP.Net controls, it all falls in a heap.

      I remember having to print a list of products, and there would be sub headings mixed in amongst the rows to divide product families....

      Product Family 1
      Product 1 - $Price
      Product 2 - $Price
      Product 3 - $Price
      Product Family 2
      Product 4 - $Price

      Now I was pulling these products from a database as one giant table, and then binding the data set to the Repeater control. The problem is that ASP.Net only has templates for a Row and alternating rows, so I couldn't easily insert the separators for the different Product Familys. All of the sudden I'm having to create my own custom controls that inherited from repeaters and needed to have a detailed understanding of how ASP.Net worked and all sorts of scary things. Needless to say, it was incredibly frustrating.

      On the other hand, the same solution in PHP is solved with,
      if($PreviousProduct.Family != $CurrentProduct.Family))
      { //New Family row code goes here.
      }

      1 Line vs alot + stress. To me, that kinda summed up ASP.Net, great if you don't really know how to program, but for professionals, not so great.

      That said I love C#, and I definitely wish that PHP was more like it, PHP is a terrible mess, but its fast, simple and you can build things fairly rapidly. Combine it with a framework, and you're in pretty good hands. Although I'd really love for them to make it harder for noobs to create security issues. :\

    11. Re:ASP.NET and C# by JAlexoi · · Score: 2, Interesting

      Comparing PHP to a web dev framework is very much appropriate. It is essentially a framework. Just look at it's history... It's Perl with some web oriented tooling, it has changed it's backend but hasn't really evolved much.
      And I'm not saying it's bad or something. It's very appropriate for a lot of projects. Just look at Facebook. And it's one of the most easily scalable platforms out there.
      All of the other frameworks are building on top of PHP and look what they have to do to overcome it's legacy of being a framework language.

      PS: PHP and ASP.NET can be compared, while RoR and PHP can't be. web.py and node.js can be compared to PHP, Django can't. Notice what PHP is missing to be comparable.

    12. Re:ASP.NET and C# by Canazza · · Score: 4, Informative

      Frankly the submitter should be likewise ridiculed. If he's heard disdain for a language with no qualifiers or reasons, they should know it's likely the same kind of person as the GPP.

      PHP is a fine language, with the right framework. Although most people think "PHP" and "Zend Framework" are synonymous, and don't know there are others (like Yii or Cake).

      A quick google brought up this wikipedia page: Comparison of Web Application Frameworks

      In the case of Zend, it has tended towards bloat for the sake of backwards compatibility (atleast the last time I went back to use it after a few years hiatus I found half of the functions I normally used flagged as depricated, yet not removed) and I think that's where alot of the ire is raised.

      If the submitter does decide to dump PHP, then Python has a fast growing userbase, and the Parent post mentioned Ruby. I can't really comment on either since I've only brushed over Python and never touched Ruby.

      --
      It pays to be obvious, especially if you have a reputation for being subtle.
    13. Re:ASP.NET and C# by Nursie · · Score: 1

      It's the same guy, microsoft shilling all day every day.

      I've been coming here over a decade now, that's probably not going to last.

    14. Re:ASP.NET and C# by Anonymous Coward · · Score: 0

      This is the reason PHP will never be a well considered language and linux will not pass 1% on the desktop. Dickheads like you giva the bad name to FOSS in general. So Fuck you, asshole.

      Oh yeah? Well you're the reason no one listens to anyone on the internet. Assholes like you are are always lobbing obscenity laden bullshit whenever someone tries to make a point.. Fuck you!

    15. Re:ASP.NET and C# by ByOhTek · · Score: 3, Informative

      I should add - PHP is *NOT* a bad solution, depending on what you are doing, the very large library of available functionality built into it, is EXTREMELY nice. It simply is not my first choice, as much of that functionality can be obtained from Python or C# with only a little more effort (finding the correct library to download), and it is easier to call C libraries from Python or C#.

      --
      Self proclaimed typo king, and inventor of the bear destroying coffee table (patent not pending).
    16. Re:ASP.NET and C# by vlm · · Score: 4, Insightful

      Let me help with the standard /. car analogy of why people are pissed off with that answer.

      Question:

      I need to buy a nice set of metric socket sets to work on my car (my car was built in TN by a domestic company last century, yet is almost totally metric), and I'm not buying Chinese chrome plated plastic from walmart, can /. advise me on a nice place to get socket sets or general advice on procurement (note, I'm in market for 6-sides not those "bolt rounder" 12-sides and also I wanna get high grade impact sockets)?

      Answer:

      Well Saturn of Chattanooga never steered me wrong when I needed the plastic thermostat replaced with the brass one back in '98 due to the recall and I'm sure nothing has changed in the last 14 years so I'd go there.

      --
      "Science flies us to the moon. Religion flies us into buildings." - Victor Stenger
    17. Re:ASP.NET and C# by Anonymous Coward · · Score: 0

      I don't know, maybe it has something to do with your long history of blatant astroturfing? Did you even get modded down to -1 (your at +4 right now) or do you just start there now?

    18. Re:ASP.NET and C# by xaxa · · Score: 3, Insightful

      So I provide a valid opinion and reasons why it's good to do web development with and it gets modded to -1? WTF Slashdot?

      You aren't a subscriber, and your five-paragraph comment was submitted within a minute -- and I'm being generous -- of the article being published.

      You are clearly being paid to post here, so "your" "opinions" are worth less than nothing.

      ("Redundant" would be a better moderation than "Troll".)

    19. Re:ASP.NET and C# by Anonymous Coward · · Score: 1

      If you are proficient with PHP - stick with it. You are good at it - don't experiment if you want to get the job done. You can experiment for some small tasks with some other technology and introduce it when you are briefly familiar with it.

      That said - ASP.NET is basically language + half framework. What you get in .NET you can get elsewhere in PHP - most of the stuff at least - by introducing 3rd pary libraries and other stuff.
      On the other hand with ASP.NET you are pracitcally stuck with IIS and Windows. And IIS is rather annoying HTTP server. That's major drawback IMHO.

    20. Re:ASP.NET and C# by cshark · · Score: 1

      I wish I had mod points for this one.

      --

      This signature has Super Cow Powers

    21. Re:ASP.NET and C# by Anonymous Coward · · Score: 4, Interesting

      PHP is nowhere near being a framework. It is a scripting language, similar to Python and the like, but with a few things added in to make it better for web development. However, those things were added in in a time when the web was a lot simpler. Nowadays developers require more - MVC by default, a decent ORM perhaps, that kind of thing. When you need those, you turn to a PHP framework.

      I think that one of the reasons that PHP is criticised so much is that anyone can shove up a .php file and it'll run straight away - it's a lot easier to get into developing with PHP than with other frameworks where you have to learn about MVC, etc. As a result, there's a hell of a lot more dodgy code out there. With languages like Python, however, even using CGI it's a bit more in-depth (and really, you need a framework with Python).

    22. Re:ASP.NET and C# by Canazza · · Score: 1

      that Microsoft Certified Solutions Provider logo seems to impress the businesses you're making stuff for, I guess

      I can attest to that!
      They give you lots of free stuff too.

      *not an MS Shill honest

      --
      It pays to be obvious, especially if you have a reputation for being subtle.
    23. Re:ASP.NET and C# by jez9999 · · Score: 5, Informative

      OK; because for some strange reason nobody has raised this criticism, I will:

      Going down the Microsoft (ASP.net/C#/Visual Studio/SQL Server/etc.) route is EXPENSIVE. You will have to pay ongoing licensing fees for EVERYTHING. It simply isn't an option for a small-time developer without much cash; you need to be a small-to-medium sized business at least, I'd say.

      That's a significant consideration, and is the primary reason I tend to avoid it for my personal projects.

    24. Re:ASP.NET and C# by scamper_22 · · Score: 3, Insightful

      Considering PHP was a 'language' built for server-side scripting, it is hardly just a 'language'. There would have been almost no reason to 'invent' PHP just as a language on its own.

      Actually interestingly enough, WIkipedia also generally compares PHP to ASP.
      http://en.wikipedia.org/wiki/PHP

      A programming language in general usage is a function of both its syntax and its libraries and even its tools. A discussion of a programming language just on its 'syntax' would be a fun discussion for a few in academia I suppose. But for the rest of the world, it includes everything.

      In the same vain as those who used to rant about operating systems being just the kernel. It's not. It's about the whole platform and can ever blur into common applications.

      Most often, what is discussed is the basic install provided in the prepackaged form.

      In that way, PHP is indeed comparable to ASP.NET.

    25. Re:ASP.NET and C# by AJH16 · · Score: 5, Informative

      To throw my personal thoughts in to the fray. It really depends on what you are trying to do. For slimmed down front end, I prefer PHP. If you came from a PHP background, I would expect ASP.Net's UI to be infuriating to get used to. (I also come from a very strong PHP background and the shift to ASP.NET webforms for a project at work has been a major headache.) That said, ASP.Net MVC functions much more in the PHP style that you are used to. Overall though, unless you need to have the same front end and back end, I would recommend working the front end in whatever you are the most comfortable with. If that is PHP, I don't see any reason it should cause you trouble.

      As for the backend, it could be done in PHP and I've done back ends in PHP before, but you will need to either use a third party framework or write a lot from the ground up. My preference has been to build from the ground up, but I've also typically worked on very specialized solutions. This is where ASP.Net really shines though. In terms of data handling and providing web services to back your site. C# and .Net offer a lot of very powerful tools and nice enterprise compatibility. The debugging tools are also excellent. If you are using MSSQL to back the project, then it is almost a no brainer, but my understanding is that MySQL and Postgres support isn't bad either. ASP will also let you easily switch the type of web service you are using by simply swapping out the interface or in some cases, simply updating a config file.

      If it is just your personal site though, then again, PHP will probably serve you just fine, particularly if your hosting provider doesn't support ASP.Net.

      --
      AJ Henderson
    26. Re:ASP.NET and C# by Anonymous Coward · · Score: 0

      Who says I'm not a subscriber? Because I am.

      Because you don't have the asterisk near your user name that indicates you as such.

    27. Re:ASP.NET and C# by CastrTroy · · Score: 5, Insightful

      I'm a .Net developer, and I find a lot of what you say is true about .Net especially with respect to the standard controls. However, there's nothing stopping you from writing PHP style code in .Net. That exact line (if statement) you wrote out in PHP could easily have been done exactly the same in C#. Personally, after using .Net for 10 years, I have never actually used the standard controls, but rather just went about using the language to generate HTML because that's what seemed to cause the least friction. You end up generating your own libraries for the standard interface elements your applications uses. I've found this true of just about every programming language I've ever used. The standard stuff is sufficient for getting a prototype out the door quickly, but if you have a big project, you end up having to write a lot of custom code, because the included stuff never dose what it's needed to. The PHP style code ends up being the best starting point, because you don't waste a lot of time trying to bend the included stuff to do things it was never meant to do.

      --

      Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
    28. Re:ASP.NET and C# by Anonymous Coward · · Score: 0

      In case you don't know:

      the "HP" in PHP stands for "Hypertext Processor". Sort of.

      PHP is a language and web framework that happens to assume CGI services.

      People don't like PHP because it brings amateurs into the field. The amateurs drive down industry quality and salary with their competition. And also tend to create 'cleanup' work for consultants. Lots of cleanup work. That's very hard to bill or sell until you convince management of the magnitude of the clusterfuck the idiot before you created. Or more likely until the whole thing dies horribly and takes out the filesystem and database on the night before christmas.

      PHP was /made/ for web use, the same as some other languages.

      Frankly though--an idiot, a highschool kid working for their uncle, or my former manager could've written poor code in any language. But in my experience--they all gravitated to PHP. I'm not sure what it is about PHP, but in my ten years (take it or leave it...there's people with way less, and people with way more), PHP tends to attract...the worst of the programmers. I've seen bad examples in everything, but the real abominations (aside from accidents) were always in PHP.

      If you want to gripe about it, a more legitimate target would be that it was made for 'old' style web--when HTML was written by hand, unvalidated, and tested by eyeballing a browser. I'm sure PHP has extensions that fix that.

    29. Re:ASP.NET and C# by Anonymous Coward · · Score: 0

      You are confusing ASP with ASP.Net. ASP is a language, comparable with PHP. ASP.Net is a web-framework, comparable with Zend, etc.

    30. Re:ASP.NET and C# by lucm · · Score: 5, Funny

      Sorry man. I deal with ruby, php, perl, .net, asp.net and bar none, .net and asp.net are not even close to being as reliable as php or ruby. I would never recommend .net to a client, ever.

      This is hugely convincing, I'll bring your valid points to my clients in the future. I think the "bar none" is the big selling point here.

      --
      lucm, indeed.
    31. Re:ASP.NET and C# by cyclomedia · · Score: 1

      I wrote my own take on .Net that bootstrapped MS's parsing and loading code then went off on its own set of controls, to do what you are attempting to do I'd use controls called "fragments" and simply load and stuff each on to the page as needed in whatever order I felt like.

      These fragments can also be loaded and nested to your hearts content, have placeholders and their own internal logic. I'd recently started making them able to be easily AJAXed up too, but that work is mostly incomplete.

      it's also Mono compatible and had its own form controls, such as a date picker input that knows if you are using a HTML 5 browser and/or have javascript enabled and outputs suitable HTML. Also I actually made it more stateless (less stateful?) than standard ASP.Net as frankly, i found it's bloody viewstate a pain to work with. Oh and unlike ASP.Net you can have multiple independent forms on one page.

        I've used it on a good fewof websites and did have a page up about it but that's dead now. If I get around to it I'll be putting it on codeplex. I know, that's helpful isn't it.

      --
      If you don't risk failure you don't risk success.
    32. Re:ASP.NET and C# by morgauxo · · Score: 1

      Yuck. I program .NET at work because we are a .NET shop and I love my employers but hate the platform. .NET encourages horrible programming style. Instead of objects which actually represent the type of data you are working with everything is DataSets, objects which represent databases. So, most .NET coders, even all the way up to the view layer are still writing stuff that looks like sql code rather than simply calling descriptively named methods in descriptively names objects.

      Not to mention strong typing! I write more code trying to convert data from this type to that than actually executing an algorithm. This is especially the case when working with data from a database. Maybe it's better with MSSQL since it's all from Microsoft. We are using MySQL with .NET and it seems like any time we update the ODBC drivers or MySQL .NET changes it's mind about what datatypes it converts to and we start getting errors all over our program. And no, it does not make good decisions. For example, an unsigned in in MySQL becomes a signed long in .NET. Yeah, that is efficient!

      Your code will be much easier to maintain, both debugging and adding new features in the future if you stick with PHP and a good, well thought out MVC framework.

      And has anybody ever seen an ASP page that stays up reliably? All the ones I have ever seen crash frequently. Usually in the middle of the night. Mod Mono? Really? Does that even support all of ASP?

    33. Re:ASP.NET and C# by Taty'sEyes · · Score: 1

      While I have no opinion or advice on the submitter's inquiry and therefore no constructive comment or true understanding of the points you made; I was thinking the exact same thing as you, "why did they mod him -1 troll'? I try not to use MS products in my daily life (but I often have to and I like VS), I think this is why you got slammed.

      /me prepares to take a beating...

      --
      We show geeks how to get their dream girl at EyesOfOdessa.com
    34. Re:ASP.NET and C# by lucm · · Score: 1

      So I provide a valid opinion and reasons why it's good to do web development with and it gets modded to -1? WTF Slashdot?

      You aren't a subscriber, and your five-paragraph comment was submitted within a minute -- and I'm being generous -- of the article being published.

      You are clearly being paid to post here, so "your" "opinions" are worth less than nothing.

      ("Redundant" would be a better moderation than "Troll".)

      This baseless accusation is worth +5 and the original answer to the actual question is -1?

      Posting something about the benefits of a Microsoft technology is even better than the Voight-Kampff test to get an emotional response.

      --
      lucm, indeed.
    35. Re:ASP.NET and C# by Anonymous Coward · · Score: 0

      Going down the Microsoft (ASP.net/C#/Visual Studio/SQL Server/etc.) route is EXPENSIVE.

      If you consider free to be expensive, then yes it is. The only thing you have to pay for is the OS to run IIS. And, as the original poster pointed out, you can use Mono if you don't want the latest features.

    36. Re:ASP.NET and C# by Dishevel · · Score: 2

      Not saying he is not a shill but you do realize that you can choose in your settings to not display the fact that you are a subscriber.

      --
      Why is it so hard to only have politicians for a few years, then have them go away?
    37. Re:ASP.NET and C# by madprof · · Score: 1

      I wish I had mod points...too funny.

    38. Re:ASP.NET and C# by Bill,+Shooter+of+Bul · · Score: 1

      How do you use MS SQL Server for free?

      --
      Well.. maybe. Or Maybe not. But Definitely not sort of.
    39. Re:ASP.NET and C# by rev0lt · · Score: 1

      Which web funcionality are you missing? The first ASP incarnations couldn't even process file uploads, let alone complex stuff.

    40. Re:ASP.NET and C# by rev0lt · · Score: 2

      The big advantage of Zend Framework is that it is an hybrid framework - if you want a specific component, they probably have it. If you want to use the full framework, you can also use it all. You can integrate Zend Framework with your application without needing to rewrite it to use Zend's structure.

    41. Re:ASP.NET and C# by Anonymous Coward · · Score: 0

      SQL Express is free.

    42. Re:ASP.NET and C# by Anonymous Coward · · Score: 0

      You can get express versions of SQL Server.

    43. Re:ASP.NET and C# by number6x · · Score: 1

      This isn't a troll, this is pure sarcasm!

      How could anyone seriously write:

      "One of the great things about ASP.NET is also that you can use your favorite language to develop for it, as long as it supports .NET. This means you can use VB.NET, C#, J#, Delphi.NET etc."

      and not be spewing pure sarcasm?

      VB.NET?, J#?, Delphi.NET? Seriously?

      Would anyone use C# if Microsoft didn't push it like they used to push VB? C# wouldn't even exist because it adds nothing that isn't available in other languages.

      If this is a troll, it will have developers running from ASP.NET.

    44. Re:ASP.NET and C# by superwiz · · Score: 1

      I can't believe this is ranked insightful. Of course, the platform matters more than the language. The platform is what you spend most of your time working with. It will be your main skill specialization.

      --
      Any guest worker system is indistinguishable from indentured servitude.
    45. Re:ASP.NET and C# by g0bshiTe · · Score: 1

      I agree with this. As a longtime PHP user, I've recently (read the last year) started to use C# as my weapon of choice in both stand alone app development and web development. I absolutely love the language. You can even use it with Apache and PHP, using Mono!

      --
      I am Bennett Haselton! I am Bennett Haselton!
    46. Re:ASP.NET and C# by Samantha+Wright · · Score: 2

      Holden: You're in a desert, walking along in the sand, when all of a sudden you look down...
      Leon: What one?
      Holden: What?
      Leon: What desert?
      Holden: It doesn't make any difference what desert, it's completely hypothetical.
      Leon: But, how come I'd be there?
      Holden: Maybe you're fed up. Maybe you want to be by yourself. Who knows? You look down and see a domain controller, Leon. It's crawling toward you...
      Leon: Domain controller? What's that?
      Holden: [irritated by Leon's interruptions] You know what a Windows server is?
      Leon: Of course!
      Holden: Same thing.
      Leon: I've never seen a Windows server... But I understand what you mean.
      Holden: You reach down and you press the domain controller's hibernate button, Leon.
      Leon: Do you make up these questions, Mr. Holden? Or do they write 'em down for you?
      Holden: The domain controller slowly begins to shut down, its hard disks baking in the hot sun, thrashing its write heads as it tries to dump its RAM to nonvolatile storage, but it can't. Not without your help. But you're not helping.
      Leon: [angry at the suggestion] What do you mean, I'm not helping?
      Holden: I mean: you're not helping! Why is that, Leon?
      [Leon has become visibly shaken]
      Holden: They're just questions, Leon. In answer to your query, they're written down for me. It's a test, designed to provoke an emotional response... Shall we continue?

      --
      Bio questions? Ask me to start a Q&A journal. Computer analogies available for most topics!
    47. Re:ASP.NET and C# by MichaelKristopeit423 · · Score: 0

      PHP is fine, but if you want to learn about a better, enterprise-ready languages I would suggest using ASP.NET

      you didn't provide facts... you provided opinions... opinions that in my opinion are false.

    48. Re:ASP.NET and C# by NewWorldDan · · Score: 4, Insightful

      Very well, C# (a language) is a very excellent language. It can be used for server side scripting, just like PHP. Same with Java. However, it's generally assumed that your language of choice is going to be couple with some sort of framework. The great thing about Java and C# is that the skillset is easily transferable to areas outside of writing web pages. This is very important for me, as my application is more than a web page. It's an ecosystem of several applications that work together; emailing reports, collecting data, managing billings, etc. It allows me to reuse code and have one data access layer for all of my programs ensuring that they access the database in a uniform fashion. I don't know if it's possible, but I certainly don't know anyone personally who is writing desktop LOB applications using PHP.

      On a related note, Silverlight is an awesome platform. I won't touch it or use it because I don't think it has a future, which is unfortunate. It's certainly easier, faster, and more elegant that writing ASP.NET web pages. Frankly, web development sucks, and I look forward to a day (and I'll probably be retired by then) when there's a good universal client/server paradigm that's not based around HTML and JavaScript.

    49. Re:ASP.NET and C# by Anonymous Coward · · Score: 0

      Posting to undo moderation.

    50. Re:ASP.NET and C# by Eirenarch · · Score: 1

      The idea that someone pays people to post on /. is so funny.

    51. Re:ASP.NET and C# by GreyLurk · · Score: 3, Insightful

      Seriously? Mod_mono_module? Have you even tried using that on an existing ASP.NET app? About 1/3 of the important features are broken.

      ASP.Net/C#/MSSQL/Windows/Visual Studio is great as long as you're willing to dump $10-15 grand for the whole stack of software. If you do, a ton of stuff "just works", and you can be incredibly productive. However, take one step outside of that stack, and you're back to writing just as much code as a PHP developer would, and you're due for some major headaches. Swap out your MSSQL server for MySQL or Oracle? Entity framework breaks, and Linq isn't very functional either. You're back to writing ADO.NET. Want to drop the $1500 Visual Studio? Sure you can edit with Notepad and Nant or MSBuild files, but welcome to a world of hurt, not to mention there's barely any documentation or support on blogs, books, or IRC channels. Try running on Mod_mono? Hope you didn't build anything that uses WebForms, or WCF, because if you did, you're going to be rewriting them. Prefer Python over C#? Sure, there's IronPython, but there's basically 0 documentation, and you're on your own.

    52. Re:ASP.NET and C# by GreyLurk · · Score: 1

      Ok, to be fair, C# is actually a pretty damn good language. I would rank it up there with Python and Ruby in terms of flexibility and modern features. It's actually a way better language than Java, because it hasn't been hindered by the 10 years of analysis paralysis that Java has.

    53. Re:ASP.NET and C# by elsurexiste · · Score: 2

      Heh, relax. Sure, GP is interchanging those terms and it's wrong, but overall he's right once you filter the crap (C# supports .Net, lol). Besides, on these days, the programming language is named as its main platform or virtual machine (Python, Java and PHP, just from the top of my head). He said that PHP is fine, but ASP.Net, the de facto platform for the web for .Net, have a few advantages. I agree with most of them, but a few are just crazy talking.

      I like my languages dynamic, so I prefer either Linux + Apache + Python + Django or Linux + Apache + PHP (plain, no framework on top of it). Plus, I wanted to try Linux + Haskell + Snap. Obviously, I wouldn't count C# support as an advantage (I could try C# 4.0, but I found the syntax unappealing). I also wouldn't put a language's level of support or paradigm as advantage, since it has more to do with your personal taste and the task at hands. I'm pretty sure that having multiple support for languages is *not* an advantage, though: having three different languages in a single project is a recipe for disaster!

      If I'm developing on Windows, it would be crazy not to use IIS + Asp.Net, as managing the server is a brain-dead activity. Sure, I can do it manually and write my own scripts, but it's easier the Microsoft Way. Management for PHP and Python is mostly by command line. I remember using a neat GUI for managing Apache (rapache, I guess?), but it had problems to represent my particular settings (it had something to do with Proxy / Proxypass or virtual addresses, can't remember).

      Since the IDE is instrumental for development and deployment, it should also be factored. Visual Studio is the best IDE, period. Eclipse's plugin system is utterly broken and Netbeans suffers from instability, so for me it's either gedit or vim for Python and PHP.

      In general, I noticed that, "for the enterprise", people prefer static-typing. A good friend of mine said that Java and C# acted like abusive mothers that will hit you mercilessly. They will stop your show if you mess up your types or common mistakes, so it's nice for novices and people "he can't trust" (yeah, those words). But if he trusted on its team, he would use Python and Werkzeug. I guess that, in that context, it makes sense. To be honest, my only grudge with PHP, as a language, is its idiotic $var[] syntax, and the lack of try-catch-finally.

      --
      I rarely respond to comments. Also, don't ask for clarifications: a brain and Google are faster, believe me!
    54. Re:ASP.NET and C# by Eirenarch · · Score: 2

      So the only reason you have stated is that MS are not developing the Linux port? BTW I have not met a PHP dev who has used ORM yet. I kind of doubt the quality of PHP ORM solutions :)

    55. Re:ASP.NET and C# by Toonol · · Score: 1

      Oh, come on. I normally don't jump on the accusation bandwagon, but you're just trolling, here. I don't even think you're shilling; nobody would recommend ASP.NET, and a shill wouldn't want to raise red flags by saying something so obviously wrong.

      Everybody is free to make their own conclusions, of course. I'm not anti-Microsoft, and I think they make some fine development tools. But ASP.NET? With a straight face? Come on.

    56. Re:ASP.NET and C# by stridebird · · Score: 2

      Is that true? Not how I recall it. Classic ASP was/is an application container exposing various web-type things like request objects and the like. Generally, the language was VBScript but it didn't have to be: ECMAscript was an option too.

    57. Re:ASP.NET and C# by Anonymous Coward · · Score: 0

      "needed to have a detailed understanding of how ASP.Net worked and all sorts of scary things"

      The problem isn't with .NET, it's that you're an rtard. Learn to read.

    58. Re:ASP.NET and C# by anss123 · · Score: 3, Interesting

      A couple of weeks ago I evaluated asp.net vs PHP for a web project I'm working on. Asp.net isn't bad IMO, but it quickly felt like I would have to model my website to asp.net instead of the other way around. I didn't try "doing things from scratch" though.

      I ended up with Apache2/PHP 5.3/MDB2/Smarty3 and the latest oracle client. The biggest frustration with PHP is setting it up really. I haven't bothered getting line by line debugging working, for instance, but got that "for free" with asp.net. Another annoyance is that you have to make sure the various components are compiled against each other, if they're not you get cryptic errors that aren't exactly straight forward to figure out.

      PHP5.3 seems to be surprisingly nice all in all. It got classes, access modifiers, exceptions and even closures now; so that you can do things pretty much the same way as one would in C#. The only annoyance is that you can't "compile" the source files, to check for syntax issues, but perhaps there are dev environments that can do just that.

    59. Re:ASP.NET and C# by Eirenarch · · Score: 1

      Everything is DataSets? What year do you live in 2003?

    60. Re:ASP.NET and C# by Anonymous Coward · · Score: 0

      Except: Windows. No.

    61. Re:ASP.NET and C# by Yert · · Score: 1

      What it is about PHP is that the barrier to entry is negligible. With ASP.NET, there is a perception that the platform requires several expensive components just to meddle with it and learn. With PHP, you can throw Apache/MySQL/PHP on any windows or linux box - there's even livecd LAMP distros - and whip up your first PHP-based database-driven website in a matter of minutes.

      --
      Truck driver, plumber, Linux systems engineer.
    62. Re:ASP.NET and C# by spongman · · Score: 2

      great if you don't really know how to program, but for professionals, not so great

      strange, i read your excuse at failure to mean the opposite...

    63. Re:ASP.NET and C# by moderatorrater · · Score: 2

      PHP is a fine language, with the right framework. Although most people think "PHP" and "Zend Framework" are synonymous, and don't know there are others (like Yii or Cake).

      I would go a little further than that, actually. Done right, PHP is as good as any "enterprise" language out there for tasks done on the web. In addition, the language itself is geared towards web development, and there's a library for everything imaginable.

      Outside of web programming it's the wrong choice, but for pure web programming I would probably choose it every time.

      Note: this is coming from a 5 year PHP programmer who also uses many other languages (java, C/C++, python, etc)

    64. Re:ASP.NET and C# by Anonymous Coward · · Score: 0

      The entity framework is "only recently"?

      Arrr me hate M$FT arr

      And then recommends RoR.

      haha. kids

      Use what works. That's generally not RoR.

    65. Re:ASP.NET and C# by zombiechan · · Score: 1

      Datasets? Are you guys working with .Net 2.0? I don't know any .Net shops that still uses Datasets anymore.

    66. Re:ASP.NET and C# by KlomDark · · Score: 1

      Dude, Entity Framework is up to v4.2. Get it, learn it, love it. It addresses all the issues you brought up. Auto-Strong typing. No datasets.

      And don't be stupid like I was and think Entity Framework is the same as Enterprise Library, they are completely different and both have their uses.

    67. Re:ASP.NET and C# by Anonymous Coward · · Score: 0

      Pythong has some great frameworks too ...

      Ah, I see I'm not alone with that typing error.

      Does anyone have an idea why that mistake happens? I do it all the time too. Almost every time I type "python" my fingers want to type "pythong" for some reason, it's weird. It must be some sort of common typing pattern similar to a different word. I wonder how often other people mistype it the same way.

    68. Re:ASP.NET and C# by LWATCDR · · Score: 5, Insightful

      Actually PHP is pretty bad as a language. Like Perl it does nothing to encourage proper design or even readability.
      What people don't understand is that a good programer can write a good, stable, and scaleable program in just about any language. The best can do it in Assembly language.
      Bad programers can write crap in any language.
      The problem is that most programers fall in the middle. A good language will help them write good code.

      So what is good about PHP? That is simple, it is popular, everywhere, and has a lot of support. IMHO it is the Microsoft Basic of the web. I have not played with Yii, Cake, or Zend but they all sound very interesting.
      One may want to go one step higher and possibly look at something like Drupal or Joomla instead of a framework. What the original poster wants to do may already be available in one of those CMSs or could be added to it as a module.

      --
      See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
    69. Re:ASP.NET and C# by dna_(c)(tm)(r) · · Score: 1

      This is the reason PHP will never be a well considered language and linux will not pass 1% on the desktop. Dickheads like you giva the bad name to FOSS in general. So Fuck you, asshole.

      Oh, I think you just persuaded me to switch to your windows world. You and the shills.

    70. Re:ASP.NET and C# by Bengie · · Score: 1

      Guy at my work who does everything Linux. He hates PHP saying that the language is inherently broken because "one should not mix instructions with data". The code should be separate from the HTML, not mixed.

      Side question. Does PHP support parameterized inputs? I see a lot of "sanitation" functions/methods/whatever. Does PHP support streaming data in/out of a database?

      Not saying it doesn't, but I can't seem to find examples or discussions about these kinds of questions.

    71. Re:ASP.NET and C# by bjourne · · Score: 3, Informative

      This is mostly correct. The ORM:s developed by MS are mostly crap. First there is the Entity Framework which is a bloated overcomplicated steaming pile. Then there is Linq2sql which actually is a passable ORM - to bad they deprecated it in favor of the EF! With MS, there is just as much api churn as with the most extreme free software projects and you get none of the benefits the latter has, such as ability to see the source and hack it yourself in case the provider discontinues it. But asp.net is (mostly) not tightly integrated with any persistance provider, so you can swap it out for NHibernate which is exactly like Hibernate, except for .net. You just lose some databinding controls such as LinqDataSource and Visual Studio support.

    72. Re:ASP.NET and C# by spongman · · Score: 1

      ouch, there's no excuse for bad architecture. You're correct - passing stuff around in DataSets is BAD. but this is not the fault of the framework. there's plenty of ways to do this right in .NET.

      as for MySQL, steer clear of ODBC, go with a native provider or consider switching to SQL Server.

    73. Re:ASP.NET and C# by Anonymous Coward · · Score: 0

      A while back now I had to do a project in ASP.Net, after being a long time PHP developer and I have to say I found it incredibly unpleasant. PHP's problem is that you have to write everything from scratch, however ASP provides you with a tonne of controls that allow you to get up and going really quickly. The problem though, is as soon as you try to do something a bit more complex with ASP.Net controls, it all falls in a heap.

      I remember having to print a list of products, and there would be sub headings mixed in amongst the rows to divide product families....

      Product Family 1
      Product 1 - $Price
      Product 2 - $Price
      Product 3 - $Price
      Product Family 2
      Product 4 - $Price

      Now I was pulling these products from a database as one giant table, and then binding the data set to the Repeater control. The problem is that ASP.Net only has templates for a Row and alternating rows, so I couldn't easily insert the separators for the different Product Familys. All of the sudden I'm having to create my own custom controls that inherited from repeaters and needed to have a detailed understanding of how ASP.Net worked and all sorts of scary things. Needless to say, it was incredibly frustrating.

      On the other hand, the same solution in PHP is solved with,
      if($PreviousProduct.Family != $CurrentProduct.Family))
      { //New Family row code goes here.
      }

      1 Line vs alot + stress. To me, that kinda summed up ASP.Net, great if you don't really know how to program, but for professionals, not so great.

      That said I love C#, and I definitely wish that PHP was more like it, PHP is a terrible mess, but its fast, simple and you can build things fairly rapidly. Combine it with a framework, and you're in pretty good hands. Although I'd really love for them to make it harder for noobs to create security issues. :\

      did you just concatenate the string family to an object? quite the professional PHP programmer here.

    74. Re:ASP.NET and C# by Bert64 · · Score: 1

      Surely it would make sense to simply install a linux distro that comes with packages for all the PHP components you want to use? Then it should be as simple as an apt-get or equivalent command, without the hassle of having to compile and resolve dependencies etc...

      --
      http://spamdecoy.net - free throwaway anonymous email - avoid spam!
    75. Re:ASP.NET and C# by Anonymous Coward · · Score: 1

      I understand what you mean about PHP's history, but you're wrong about it being "essentially a framework," and it's also not accurate to say it hasn't evolved much. Rather than a framework, the best way to think about PHP is like a toolbox.

      PHP is kind of like your grandfather's big old tool cabinet that sits out in the garage: chances are there's a tool in there that does what you're looking for. Sure, it's not a precisely-organized, polished, brand-new set of tools, like those pristine and endless ratchet sets you see at Home Depot, which are like ASP.NET and RoR. Sure, if you buy a snap-together piece of furniture from IKEA, you don't really need any tools beyond a hammer to put it together, and there are frameworks like CakePHP that try to go this route. But PHP (in the absence of a framework) is a collection of time-worn, trusty, and sometimes unusual tools that a craftsman, given some wisdom and expertise, can build almost anything with.

      PHP is a language that grew out of a framework, to be sure, and the marks of that heritage are all over it, from the several modules with overlapping functionality (mysql, mysqli, pdo, for example) to the complete lack of discernable naming conventions. And further complicating the situation is the fact that, as it evolved, the creators worked hard to maintain as much reverse-compatibility as possible. That's the biggest reason why 80% of the PHP projects out there STILL look like they were written in 1997. But don't judge the capabilities of the language by the nonsense people write with it; if writing something lousy made a language invalid we'd have to give up on English too.

      If you've ever seen modern (5.3 or later), object-oriented PHP written by someone who actually knows what they're doing, it's fantastic. I would still highly recommend grabbing a framework from somewhere, but it's also pretty easy to just pick and choose parts of the Zend Framework and PECL and assemble them into your own framework. And for everyone who just threw up into your mouth at the phrase "assemble them into your own framework," understand that in PHP this isn't as tedious as it could be in other languages. (My experience developing with Java frameworks was like being stuck in a hell of mirrors, but that's another story.) Almost everything snaps together, the things that don't require only minimal massaging.

      PHP was designed by people who just want to shut up, sit down, and get the website written. It's easy to grok, it's straightforward to write, it's well-documented, and it lets you write code fast. And why? Because your grandfather, once upon a time, needed to do the same thing, and he had a tool for that exact purpose, and it's still in the toolbox out in the garage.

    76. Re:ASP.NET and C# by Anonymous Coward · · Score: 0

      Yes, I have. SQL 2008 R2 Express with Advanced Services is free to use and redistribute. To quote " Designed for easy deployment and rapid prototyping, SQL Server 2008 Express is available at no cost, and you are free to redistribute it with applications."

      Source: http://www.microsoft.com/download/en/details.aspx?id=1695

    77. Re:ASP.NET and C# by Bengie · · Score: 1

      The licenses are the cheapest part of running a datacenter. "dumping $10-15 grand" is nothing.

      "$1500 Visual Studio"?! We pay $800(~$266/year) per person and that covers 3 years of MSDN . That gives us full access to betas, the newest Visual Studio, and all the products for devel purposes. I can download anything from Win 3.11 to Win2008R2 datacenter.

      "there's basically 0 documentation, and you're on your own" Not on my own. MSDN also gives me access to MS devels. Something like a max of a 2 working day turn around on forum posts, although most get answered quickly by the general community. I've posted questions that no one could answer, then had the senior developer of said tech give a detailed response.

      I'm not saying MS is better, but not nearly as bad as you portray them to be.

    78. Re:ASP.NET and C# by Requiem18th · · Score: 1

      Also having experience in both Let me take this opportunity to throw my two cents.

      ASP.NET truly is impressive, but it will probably drive you crazy. ASP:NET has some remarkably sophisticated tools to do things that other frameworks can't dream of. Custom ASP controls are much more powerful than ToscaWidgets for instance, and they are even installable via GUI by the grunt programmers.

      Where it fails is at the middle level, where I suspect a seasoned web developer will spend most of his day. In ASP, anything that is not insultingly easy is deeply mysterious. You will constantly find yourself doing a lot of research trying to twist the framework into doing some fairly simple things from a PHP developer view point. And you will end up with a mess that's not portable at all. But if you spend even more time researching trying to do it "the right way", who knows, maybe you will end up with something that you can resell later, but unless you are interested in selling ASP extensions you will wonder why did you had to go to that extent to make something that would be trivial in PHP.

      ASP is really geared towards a combination of a couple senior gurus surrounded by an army of highly replaceable (and constantly replaced) code monkeys.

      Consequently, the kind of applications it favours are "wide", meaning, applications with a huge set of relatively simple functionality, as opposed to a small set of complex behaviour.

      --
      But... the future refused to change.
    79. Re:ASP.NET and C# by Anonymous Coward · · Score: 0

      can /. advise me on a nice place to get socket sets

      I believe you people refer to it as "Yerp".

    80. Re:ASP.NET and C# by anss123 · · Score: 1

      I don't control the server. Also, I doubt you get the oracle client with a simple apt-get. I would prefer to use something else than Oracle as well, but that's where the data is stored.

      Fortunatly I didn't actually need to compile anything. And if your happy with PHP 5.2 it's fairly straight forwards on Windows anyway, but for 5.3 you have to have a correctly compiled Apache 2.2 and the latest oracle client. The last bit took me a couple of hours to figure out as I wrongly assumed you needed the v.10 client for a v.10 database, and the error message made me think it was a configuration issue as it almost worked, PHP found the client, just not the database.

    81. Re:ASP.NET and C# by datavirtue · · Score: 2

      I started building a framework the first time I got serious with PHP and said: "Wait a minute!". That's why I posted this question to /. If I had just continued on the route of building my own framework I sensed it would have worked fine and it would have been simple. I just wanted to exploit the experience of this community so I didn't shoot myself in the foot, and I have limited time. In addition to pursuing CodeIgnitor I will probably dabble in my own framework creation for simple projects. It feels good to work in PHP after nosing through a medium sized Java application for the last five years. With Java there is an hour (or three) of setup before I can get rolling on a simple application. It feels good to work with a simpler scripting language, but here I am again--knee deep in frameworks--and playing with objects. :(

      --
      I object to power without constructive purpose. --Spock
    82. Re:ASP.NET and C# by Requiem18th · · Score: 1

      Sorry I need to correct that last statement. When I said "applications with a huge set of relatively simple functionality, as opposed to a small set of complex behaviour." I shouldn't have used the words "simple" and "complex".

      "Simple" ASP pages features such mind bogglingly roundabout behaviour that will make you wonder if they were striving to appear in The Daily WTF. What I should have said is "default" or "vanilla" behaviour. And instead of "complex" I should have said "customised" or "controlled" behaviour.

      ASP itself does not hinder complexity at the business layer, it can be as complex as necessary. As long as you lose any expectations of controlling the application output, you shouldn't have a problem with it.

      --
      But... the future refused to change.
    83. Re:ASP.NET and C# by Galestar · · Score: 1

      You do not have to use the controls. You can always use Response.Write("etcetcetc"), which I generally do because I truly dislike the WebForms architecture. ASP.Net to me is more about the ".Net" than it is the "ASP" - you get C#, access to the BCL/any other .Net assembly + JIT compilation.

      Of course, you could also always go with ASP.Net MVC which is a very powerful platform that once again does not use that WebForms bullshit.

      All that being said, it would be hard for anyone to convince me that PHP is a better language than C#. Most of the complaints directed towards ASP.Net are against the back-asswards WebForms framework.

      --
      AccountKiller
    84. Re:ASP.NET and C# by Bert64 · · Score: 1

      You can get cut down and/or evaluation versions cheaply or for free... You will find that features are missing, or that the license terms only allow for testing/development use etc... This is generally called bait and switch, since you can develop your application cheaply but when you come to actually run it in production you are faced with high costs, and little choice but to pay them since it will almost certainly take significant work to port your application to a different platform.

      The full featured products are very expensive, and will have some differences from the free versions that could hinder deployment and ongoing support.

      Much better to use a stack which is free from the top down, so you can run the exact same stack from development all the way through to production...

      There's also the issue of scaling, software which incurs a per server cost (or worse, per cpu/core) is not going to scale well financially... Software can often cost more than hardware, and if your application becomes popular enough that it needs hundreds of servers to support it then the cost could easily be double what it would have cost just for the hardware.

      --
      http://spamdecoy.net - free throwaway anonymous email - avoid spam!
    85. Re:ASP.NET and C# by datavirtue · · Score: 1

      I sensed contempt for PHP while watching the 28c3 video covering the hashing exploit in web frameworks (languages). Although I also noticed contempt for Java which I saw was given unequal treatment compared to another framework (forget which) that was weaker than Java in the same metric. So I guess I shouldn't have read into their disdain as much. Just figured they probably knew something I didn't (about PHP) since I was rather inexperienced in this regard.

      --
      I object to power without constructive purpose. --Spock
    86. Re:ASP.NET and C# by Hognoxious · · Score: 1

      Perhaps you're thinking of underwear that gives you a wedgie? It's a perfectly understandable association.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    87. Re:ASP.NET and C# by nschubach · · Score: 1
      --
      Every time I start to have faith in humanity, I ruin it by driving to work between 7 and 8 am.
    88. Re:ASP.NET and C# by datavirtue · · Score: 1

      Although I've had issues with Netbeans could you please elaborate on the mention of "suffers from instability?" I've used it extensively on Linux and Windows and haven't had many problems. No more than I would expect with any massive IDE. I've had WAY more instability out of my Linux desktop than I've ever experienced with NetBeans for that matter. Maybe it was just the new Gnome iterations (I recently switched to Mint on my main dev machine) as I never had any issues with Ubuntu 10.

      --
      I object to power without constructive purpose. --Spock
    89. Re:ASP.NET and C# by datavirtue · · Score: 1

      Streaming data in when each page is a new execution, not a good idea--although *you could* build your own "native" streaming initialization function for PHP. Streaming out I think would be a hack, but what do I know. What streaming applications do you have in mind? Typically it would be a server (custom) that maintains requests through UDP (with keep alive type protocol) to a customized client for something like Spotify. In a situation like this PHP doesn't really enter the picture. Streaming in just gives me the heebyjeebies unless it is a secure channel.

      The inputs are variables established from HTML form elements that are passed to the PHP script, no it is not parameterized (in the PHP script you just hope your variables are waiting for you in an array of sorts $_POST[]). Of course the functions you create in PHP can have parameters but everything must be sanitized at every turn or you run risks. I'm sure buffer overflow situations are prevented by the PHP engine but parameter types must be verified by your function before if you care.

      I see the technical point of separating the presentation from the data, but this is the web. It wasn't built for this from the beginning, it is all a hack. Things are much better but application development is not terribly straight forward and far from optimal. The frameworks separate the data, control, and presentation (MVC) while still using PHP.

      --
      I object to power without constructive purpose. --Spock
    90. Re:ASP.NET and C# by b4dc0d3r · · Score: 1

      All of the sudden I'm having to create my own custom controls that inherited from repeaters

      Welcome to Object Oriented Programming. This is exactly what you are expected to do. Or to do a very simple change, override a base function with your version of the code. In your case, the DataBind event

      The difficulty of .NET is that there are so many controls with different events, methods, members, it's hard to find what you're looking for. There is too much to memorize, and it is not as consistent as I would like it to be, so you can't easily transfer learning from one control to another.

      But I've never failed to find exactly what I needed, a complete working example, by throwing a few keywords into Google. A few app-specific tweaks and it works.

      And if you want to skip that and write your own from scratch, or use things from CodeProject or MSDN or other sites, there's nothing stopping you there. It took me a long time to realize this is how it works, but now it makes sense and I see that it is very easy to get up and running, and likewise with a bit of work customize just about any aspect of any control.

      For your example, there are many options. I searched for the binding events on MSDN, decided I'd like to add a row before or after some event, and googled "add row after RowDataBound" and within a few clicks found this:

      http://forums.asp.net/t/1251362.aspx

      The example is verbose, but essentially you handle RowDataBound() and then insert a new GridViewRow with DataControlRowType.Separator specified. It should be 4-5 lines max, including the function declaration.

      Honestly, with so much to know Google writes half of my applications. I get paid to know what to search for, and to strip down the responses to their basic implementations. Nothing is ever directly copyable, as people have their own application logic in there.

    91. Re:ASP.NET and C# by PickyH3D · · Score: 1

      Why is someone that doesn't understand how to actually write code using MVC being promoted? Because I suppose a lot of moderators both hate Microsoft and have no idea what a good design really represents.

      I have not coded with ASP.NET since 2004 and even I know that ASP.NET provides multiple ways to do custom data binding. The poster just didn't figure it out. As was pointed out by other replies, you can spaghetti code your entire ASP.NET application if you want. People don't because that's not how you write good, clean, reusable code. Sometimes it is unavoidable, but most of the time it is avoidable, and doing so just shows developer experience.

      In PHP, you should have long-ago written yourself a class or function to spit out that HTML given a list and currently selected value. Instead, you are going to be trapped rewriting the same crud over, and over again. That is why people choose Java or ASP.NET for serious development. PHP is certainly a great prototyping language, and it's more than capable (see Facebook) once you have started coding like Java and ASP.NET encourages you to code. But coding PHP like the above coder is a scary reason to adopt it.

    92. Re:ASP.NET and C# by Medievalist · · Score: 1

      PHP is like DCL or Perl or TCL; it evolved by accretion during actual use, rather than being built to a design. It has no overarching consistency to its syntax or structures. So, unsurprisingly, it is both ugly and very useful, like a battered old 4-way lug wrench.

      People whose sense of self-worth is dependent on their programming chops will prefer Java or ASP or C#, because those languages are so much harder to learn. If you're a basement-dwelling man-child with no girlfriend, you can always console yourself with your elite status as a lisp programmer or whatever.

      OK, I was just kidding about lisp, no need for the torches and pitchforks, I - hey! Ow! Stop that!

    93. Re:ASP.NET and C# by datavirtue · · Score: 1

      Don't worry, ASP causes me to experience the taste of puke in my mouth.

      --
      I object to power without constructive purpose. --Spock
    94. Re:ASP.NET and C# by chrb · · Score: 1

      Funny yes, but having seen the activities of a real marketing department, nothing would surprise me. Fake "insider" blogs, fake customers web pages and blogs, using dodgy "seo" companies who spam random web sites with positive text about your products to try and increase page rank. It really does happen, and there are people who are making a good income from it.

    95. Re:ASP.NET and C# by the_B0fh · · Score: 1

      you are shitting me right? It's perl with web oriented tooling?! just because it's a scripting language?

      You're a mammal, the monkey is a mammal, so you're a monkey?

    96. Re:ASP.NET and C# by the_B0fh · · Score: 1

      try python and django. Biggest problem with php is that it's hard to do it securely - most of the frameworks are insecure pieces of crap.

    97. Re:ASP.NET and C# by datavirtue · · Score: 1

      In my book the web is LAMP/open source. Microsoft web platforms are a passing annoyance heaped on by the Universe's innate chaos.

      --
      I object to power without constructive purpose. --Spock
    98. Re:ASP.NET and C# by CastrTroy · · Score: 1

      What a lot of people seem to forget is that you don't have to use SQL Server with ASP.Net. You can use .Net with MySQL, and in many cases, it's actually quite a good compromise for price and functionality. A copy of Windows Server "Web" edition, is only $400. Pair that with running free database software like MySQL, and you have pretty cheap solution. Visual Studio Express is free, but even if you want the professional version, that's only $500 or so. Sounds kind of expensive, but if you're making a serious business venture, spending $1000 on software to start up isn't that bad at all. You will surely spend much more on many other aspects of your business.

      --

      Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
    99. Re:ASP.NET and C# by elsurexiste · · Score: 1

      Well, I started using Netbeans when it was 3.6 (it was faster than Eclipse and BlueJ). Up to 5.5, it was on par with Visual Studio (perhaps a few features were missing, but it was cool). I used it both in Linux and Windows, and everything was smooth. When I switched to 6.0, it started to fall apart. I couldn't create a Java project (or any project) without the IDE throwing an exception (yet, after restarting the IDE, the project worked perfectly, go figure). The Python plugin never worked, opening a project group took forever, and when I did the switch to Java SE 7 and downloaded Netbeans 7.0, it never started, not even once. There were times, though, when all I did was program for Java SE, that everything did work nicely. Of course, I know I only have one data point, but it's still my experience. Perhaps it has to do somehow with the fact that in three years I never reinstalled the OS, or that I have now Ubuntu 11.10 with yucky Unity (I cry blood :( ). Either way, I missed those "5.5" days. What version are you using and which OS and JVM? Perhaps I should give it another try...

      Visual Studio was also massive, and also had its share of problems, but they weren't as painful to me as Netbeans' . VS 2010 was a hell of a mess and I had to juggle with Service Packs and updates. In the end, the only thing that didn't work was the .aspx visual editor and preview, but at that point I already programmed using the text editor only, so I hardly bothered.

      --
      I rarely respond to comments. Also, don't ask for clarifications: a brain and Google are faster, believe me!
    100. Re:ASP.NET and C# by Daimaou · · Score: 1

      I don't believe PHP is fine at all. It encourages poor development practices by making it much easier to combine database calls, business logic, and presentation all in the same file than it is to code things right. It also becomes unweildy with even modest-sized websites, in my opinion. ASP.NET, though more manageable, also encourages poor coding practices with the VB-esque features for ASP.NET in Visual Studio by mixing logic and presentation into the same file (unless it has gotten drastically better during the last five years since I last used it). I also don't particularly like the way ASP.NET deals with HTTP headers and sessions, though it has been so long I can't really remember what it was I found repulsive.

      I would recommend one of the many ORM-based MVC frameworks available, e.g. Ruby on Rails (Ruby), Django (Python), Play! (Java/Scala), etc. These types of frameworks encourage good coding practices by keeping your business logic and HTML code separated, as they should be. It is also a lot easier to use an ORM rather than trying to hand code a bunch of SQL statements yourself. Of these three examples I mentioned above, my preference is Django because I think Python is a more clear, productive, and expressive language than the other two, but there are many frameworks to choose from, so you can work in a language that you like.

      If you really like PHP, CakePHP is a MVC option, but in my only experimentation with it, I found it too inflexible. It may have improved since then though. I don't know.

    101. Re:ASP.NET and C# by Anonymous Coward · · Score: 0

      After searching around I see that it's not an uncommon occurrence. No strong theories as to why but I just tried typing out some other words that end in "on" (eg. marathon) and I also instinctively add a "g" to the end of those too. It's probably because there are so many words that end in "ong" which causes the pattern to get ingrained.

      It seems to happen mostly on words I don't type very often. For example "common" isn't a problem even though it does feel very natural to type "commong".

    102. Re:ASP.NET and C# by Anonymous Coward · · Score: 0

      No thanks, because I do not (again!) want to tie my company down with Microsoft products. Took far too long and cost a bomb to extract us from that mire.

      PHP, Python, MySQL for development stuff, Drupal for CMS.

    103. Re:ASP.NET and C# by Oligonicella · · Score: 2

      "A good language will help them write good code."

      No it won't. It's a nice myth, but it's not really true. Programmers will output crap at their level regardless of the environ.

      "Actually PHP is pretty bad as a language."

      Your only argument is it doesn't 'shepherd' the programmer enough. That's not a negative from my perspective.

    104. Re:ASP.NET and C# by Oligonicella · · Score: 3, Funny

      "In the same vain as those who used to rant..."

      You could have probably stopped there and been completely accurate. Good choice of words.

    105. Re:ASP.NET and C# by the_B0fh · · Score: 0

      bullshit. PHP stands for Pretty Home Pages.

    106. Re:ASP.NET and C# by Anonymous Coward · · Score: 0

      I look forward to a day (and I'll probably be retired by then) when there's a good universal client/server paradigm that's not based around HTML and JavaScript.

      Uh, well, there's Java and QT, to start with.

    107. Re:ASP.NET and C# by LWATCDR · · Score: 1

      Will if I must.
      Scoping is a mess in PHP
      http://php.net/manual/en/language.variables.scope.php

      --
      See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
    108. Re:ASP.NET and C# by taradfong · · Score: 1

      Your post summarizes beautifully the fatal flaw with MS tools and Market-tectures.

      They work great if you go down MS's beaten path.

      They leave you in a lurch if you need to go off the path.

      All along, Microsoft will trumpet the technology as the answer to everything and cause countless developers pain as they follow the same unreliable path only to fnid they can't ship anything interesting. It was a big eye-opener to me the day I realized that Microsoft told everyone to use MFC but shipped no MFC-based apps themselves.

      Got to admit, though, that C# is pretty nice as a language.

      --
      Does it hurt to hear them lying? Was this the only world you had?
    109. Re:ASP.NET and C# by Mia'cova · · Score: 2

      As a self-described "good programmer," there are a lot of language features which improve my productivity and the end-result. Easy examples include features like typed-variables, garbage collection, and exception handling. I can keep track of all that manually but I don't get it right 100% of the time, especially not the first time. Regardless of the language, framework, and existing codebase quality, we set our test-bar appropriately for the product and schedule the appropriate amount of time to get there. Most of the time, it works out fine. But if you don't think better tools HELP write better code, you're vastly overestimating people's talent. The fewer details I have to think about, the better the end-result.

    110. Re:ASP.NET and C# by Anonymous Coward · · Score: 0

      Heh, my primary freelance income comes from fixing headaches MCSP's have caused. Preferably in PHP (my personal favorite) on a LAMP stack.

    111. Re:ASP.NET and C# by Mia'cova · · Score: 1

      I haven't touched PHP in years but isn't there a strict-mode you can turn on which will force the syntax to check out? Or does that still only do things line-by-line on the fly?

    112. Re:ASP.NET and C# by Xest · · Score: 2

      "No it won't. It's a nice myth, but it's not really true. Programmers will output crap at their level regardless of the environ. "

      Perhaps he should have phrased it as "will help them write much better code", rather than "good code", if he had then it'd be absolutely right. Code written in C# or Java for example will be inherently better because more errors are checked at compile time (i.e. invalid type conversions), and hence can't result in issues at runtime.

      "Your only argument is it doesn't 'shepherd' the programmer enough. That's not a negative from my perspective."

      It shouldn't be. In an ideal world where all programmers are perfect and there are plenty of programmers you'd be right, but here in the real world truly good programmers are hard to come by and most fall into the middle ground where they simply don't have the skill to be trusted to avoid the pitfalls of a language like PHP day in day out. This is why PHP is far and away the language most responsible for the proliferation of SQL injection attacks on the web to this day- because it encourages use of direct SQL querying, rather than say, parameterised SQL and so forth to perform database tasks to name but one example of the problems it leads to.

    113. Re:ASP.NET and C# by Lando · · Score: 1

      In this same vein, when I teach programming to non-programmers, I use Python because indentations are enforced and i focus more on coding style. My criteria for a program is basically.

      1) Readable -- The ability for someone to read the program and tell what is going on. This includes comments, indentation, etc.
      2) Does is work -- This is the ability for the program to run and produce the desired results regardless of whether the program crashes or not. If the program doesn't work that is automatic failure. Does it work is focused on bugs and other "features" in the program.
      3) Efficiency -- How efficient is the program is it O(1), O(n), O(n^2) Although the first couple of weeks are spent on logic and examining BigO it's just a stepping stone to the other criteria.

      So that is how I grade and evaluate work in that order.

      Now that being said, when I was preparing for my last class, I looked at a number of languages. PHP may or may not have worked, but looking at Ruby, the language is extremely flexible perhaps even more flexible than perl, which in part is why I rejected it. For an experienced programmer, flexibility is nice, but for new programmers I prefer more of a structured language.

      Hmmm, I seem to have lost the point of what I was talking about so I guess I'll end this post there. Just throwing in my .002 cents.

      --
      /* TODO: Spawn child process, interest child in technology, have child write a new sig */
    114. Re:ASP.NET and C# by Anonymous Coward · · Score: 0

      I would give your advice in reverse order. CMS solutions like Drupal and Joomla are great for people who want to create web pages, but who do not have any (or very limited) programming skills. Frameworks make the job easier for programmers at a cost of increased overhead, and also enable programmers with limited skills to do more. The pros use bare-metal PHP for maximum performance and flexibility.

    115. Re:ASP.NET and C# by Xest · · Score: 3, Interesting

      Be wary of the number of responses in favour of PHP and the moderations given to posts here, it's hard to have a sensible debate about PHP, because it is so easy to pick up, use, and hack something together it's used by people in greater numbers, coupled with the fact that Slashdot's moderation system is built on numerical consensus means that a popular opinion will get modded up, and an unpopular modded down, but popular does not mean correct.

      So with that out the way, here's my view as a lead software developer at a firm who develops for large clients from BP, to Swiss Re, and from Britain's MoD to GE using a large array of languages from C# to Java, and C++ to Ruby and PHP. Fundamentally if you're a good programmer and know the ins and outs of programming, both generally, and in a language specific way you'll be able to write good PHP code, as the GP says - as good as any other framework to an extent. My only caveat with that would be that PHP just doesn't scale as well at the high end as other languages as the likes of Facebook have found out, hence why they wrote a PHP to C++ translator, and now a Java-esque VM to try and get their PHP to work at the same level of performance as these languages. The flip side of that is that most web applications will never need that kind of performance, and hence good developers can write code with PHP just fine without any real side effects at the end of the day.

      But the reason many professional developers who have experience across many languages look down on PHP are many, the language itself has always been well behind the curve, it didn't properly support fundamental concepts like classes, namespaces, and closures until more reecent years, and that's pretty inexcusable, not in that these are expected features for a modern language, but that they're fundamental to the design of a language and adding them later will only result in headaches, and with PHP it certainly has. It also has many other quirks, associativity of the ternary operator for example is backwards in PHP compared to most other languages, variable scoping is fucked, namespaces use the escape character as the separator and these are the sorts of things that will trip new, and even many moderately experienced programmers up as to why things suddenly aren't working.

      It's also the case that interpreted languages in general face the problem that code can appear to run fine until errors are encountered, whilst with compiled, or bytecode compiled languages like C# and Java more errors are detected, and hence must be corrected at compile time, preventing some nasty errors ever reaching the end user. This in itself is less of a problem if there is great testing supporting for an interpreted language, but even PHP's unit testing tools are way behind the equivalents in again, languages like C# and Java. On top of this, the rest of the tools for languages like C++, C# and Java are just that much more mature offering features that just let you write better code faster.

      Of course, PHP is still used heavily, and this is because it does let you get things done quickly, in the real world there just isn't always time to properly write well architected, and well tested code, this is really sad, as it almost always inevitably leads to problems in the long run, but it's also an unescapable, no matter how unwanted reality. The fact is if you have a pushy client or boss then just may not even have time to write a beautifully architected, well tested C#/ASP.NET MVC, or Java/Spring application no matter how superior that option would be.

      So fundamentally it comes down to how much freedom you have with your software development schedules, if you're being given time to do things right, then use something like C# and ASP.NET MVC, or Java and Spring if you can't use Windows Server to host. If however you're being forced to get things done quickly then you may well find it's best to stick to PHP, but if you do then please, do one thing - work your arse off learning PHP in depth, learn it's quirks, it's pitfalls

    116. Re:ASP.NET and C# by Bill,+Shooter+of+Bul · · Score: 1

      SQL Express is not the same. Its like suggesting a Smart car is a good substitute for a F1 Race car. Yes, they may have a simular manufactorer and interface, but come on.

      --
      Well.. maybe. Or Maybe not. But Definitely not sort of.
    117. Re:ASP.NET and C# by Bill,+Shooter+of+Bul · · Score: 1

      Those are all either

      A) Time Limited
      or
      B) Feature reduced

      Some of them both. It really is the same business model as a crack dealer.

      --
      Well.. maybe. Or Maybe not. But Definitely not sort of.
    118. Re:ASP.NET and C# by JAlexoi · · Score: 1

      Having a 6 digit UID, I would expect you to actually know the history of PHP.

    119. Re:ASP.NET and C# by JAlexoi · · Score: 1

      I use Silverstripe and have been using PHP ever since version 3. Having 3 years of Perl prior to PHP, I can safely say that it's still not a long way off from Perl.

    120. Re:ASP.NET and C# by JAlexoi · · Score: 1

      As a language it's still a modified Perl.

    121. Re:ASP.NET and C# by ExCEPTION · · Score: 0

      If you are going to use ASP.NET, please do yourself a favor, use ASP.NET MVC. Creating a site through WebForm is like making a monster that will crash it's creator eventually.

    122. Re:ASP.NET and C# by Firehed · · Score: 2

      Security is hard. I agree that yes, most frameworks suck at security (my team has reported security bugs, with implementation details, to the framework authors. They were rejected as "not an issue", demonstrably false by running the example we sent which followed their own best practices guidelines).

      PHP is no exception, but security with it is no harder than with any other language. But as a powerful set of tools with relatively few safeguards, it's easy to do stupid things. And if you know what you're doing, it's also pretty easy to lock down. Some poor default settings did not help here, but they have been deprecated for the better part of a decade (PHP5 was introduced, what, six years ago now?). If Wordpress had been written in Python or Ruby, do you think it would suddenly be more secure? It was written by lousy coders that needed to hack together a functional product, and poor security is part of that baggage.

      --
      How are sites slashdotted when nobody reads TFAs?
    123. Re:ASP.NET and C# by Firehed · · Score: 1

      A decade ago, it stood for Personal Home Page. It's stood for PHP: Hypertext Preprocessor since PHP3 or so.

      --
      How are sites slashdotted when nobody reads TFAs?
    124. Re:ASP.NET and C# by narcc · · Score: 1

      I think that one of the reasons that PHP is criticised so much is that anyone can shove up a .php file and it'll run straight away

      This. For some bizarre reason slashdotters absolutely HATE any tool that is easy to use.

      Granted, PHP has more that it's fair share of warts; still, the flaws it has certainly don't warrant the enmity you see for the language on this and other tech sites.

      Really, it's VB6 all over again. Of course, this time, the same zealots who bashed VB for its poor performance are the same zealots promoting Python at every opportunity! So, why did VB get nothing but hate while Python somehow maintains a decent reputation? Because any idiot with some spare time can write a half-way functional application in VB where it takes considerably more effort to do the same in Python. VB was so easy to use, beginners could get up and running with little more than a short tutorial. (This lead to some seriously amateur code, but who *didn't* write crap code when they were first learning?) Those zealots didn't care that VB was a great tool for things like CRUD apps, all they knew was that if beginners could use it, it must be bad!

      PHP is the same. It's astonishingly easy to use, and so it attracts those evil novices slashdotters hate so very much. (How dare they write their own code!)

      Bash PHP, and you may chase off a few of those nasty beginners. Sure, it means they'll be forced to use more complicated tools, but that's okay with them -- both their job security and their tiny fragile egos are wrapped up in their ability to write computer programs. (Just don't try to maintain the garbage they hack together! Those sorts of developers are highly prone to jump on the latest fad, claiming it's the future or "essential for serious development" without reason, just to so that they can feel superior to anyone who doesn't buy in to the latest buzzword fad.)

    125. Re:ASP.NET and C# by narcc · · Score: 1

      What are talking about? Those scope rules make perfect sense!

      Why, in your opinion, do you think "Scoping is a mess in PHP"?

    126. Re:ASP.NET and C# by snookums · · Score: 1

      You're confusing (classic) ASP with ASP.NET. That's about the same as confusing GWBasic with Java.

      PHP is quite similar to classic ASP. ASP was really just a simple web API and COM-object container, but almost all code for it was written in VBScript, so it makes sense to consider those together.

      ASP exposes request, cookie, response objects, PHP has $_GET, $_POST, $_COOKIE arrays and some functions for manipulating the response (echo, header). Both have some kind of session storage, and both provide database access (ADO and PDO respectively). Neither provides "framework" type functionality, like HTML widget and form generation and processing, MVC structures, template engine, authentication/identity services, etc.

      As far as the actual language and class/function library, PHP has always been much richer than VBScript (which lacks even a native associative array data type). Java and the .NET framework probably equal or surpass PHP in their native utility functions.

      --
      Be careful. People in masks cannot be trusted.
    127. Re:ASP.NET and C# by narcc · · Score: 1

      Code written in C# or Java for example will be inherently better because more errors are checked at compile time

      Don't be silly. Java's overzealous checked exceptions, for example, lead to *worse* code as lazy developers code to satisfy the compiler, rather than write efficient code. How often have you seen (or done this yourself) large blocks of code wrapped up in a try/catch that ignores whatever exception that might be raised just to get around the compiler (to test something out, or even just to keep the code legible?)

      I won't even start on the problems caused by Javas overly strict type system and the code-horrors that nightmare has forced on the world. (Java generics are a non-solution to a problem caused by bad language design.)

      Just trying to keep the code readable while still satisfying the compiler means that lazy developers will do remarkably stupid things just to keep their code short or easy to read (in an effort to combat the cruft and clutter). Using string where they should use stringbuilder, for example, is a common problem caused by the developer trying to save a few lines of code and avoid littering clean-looking lines by sprinkling toString() all over.

      This bizarre belief that you can trust the compiler to spin your crap code in to gold needs to die. Bad code is bad and no overly strict compile-time checking is going to change that.

      I've seen WAY too much bad Java code to believe your claims that the language will help them write better code. The same goes for C#. You've not see spaghetti-code until you've seen a large Java or C# project! Those languages practically encourage you to create a personal class dependency hell -- not surprisingly, in an effort to create additional levels of abstraction to avoid writing more compiler-placating cruft!

    128. Re:ASP.NET and C# by Anonymous Coward · · Score: 0

      'One may want to go one step higher and possibly look at something like Drupal'

      Exactly what someone with minimal experience should do. A framework is great but you end up needing more than one framework (usually) and then need to construct the sort of basic bits needed to make it work. Easier to jump to the top of the class and use Drupal.

    129. Re:ASP.NET and C# by anss123 · · Score: 1

      Hmm. There's apparently an E_STRICT that's not enabled by setting E_ALL. I'll give it a try, thanks.

    130. Re:ASP.NET and C# by ComaVN · · Score: 1

      The code should be separate from the HTML, not mixed.

      That's why you use a framework, or at least a templating engine like Smarty. There's no reason not to do MVC with PHP other than ignorance or (short term) lazyness.

      Does PHP support parameterized inputs?

      Yes

      The later versions of PHP (from 5.2 or so) support pretty much anything you'd expect from a modern scripting language. The only problem is, because most of these features were bolted on later, with backward compatibility an important factor, the syntax is less than ideal. In the same way, the standard library is an insane (but reasonably complete) mess in terms of naming conventions, etc.

      If you can look at the first table here without wincing you've been doing PHP for too long :P

      --
      Be wary of any facts that confirm your opinion.
    131. Re:ASP.NET and C# by Ice+Tiger · · Score: 1

      Even in the global enterprise where I work there is a movement to move away from Microsoft / Oracle for this very reason, it's too expensive in the modern world compared to the technologies used by Internet startups / companies.

      --
      "Because we are not employing at entry level, offshoring will kill our industry stone dead."
    132. Re:ASP.NET and C# by Anonymous Coward · · Score: 0

      Actually that's not entirely true. Visual Studio comes in free Express editions; SQL Server as well, and it's not the only choice for a database engine - I've used MySql with .net quite successfully. Depending on your needs you could even start with SQL Server Compact. Or go cloud (not sure about the costs for Azure but I think they're comparable to other cloud providers). Indeed, once you want enterprise-level tools you'll need to pay for them - just look at what Oracle is charging.

    133. Re:ASP.NET and C# by AlanBDee · · Score: 1

      I don't remember where I read this but as I understand it the reason mono is not complete is that it lacks the DRM components of Silverlight. The problem is that the DRM component needs kernel access, which Linux won't allow. Apple and Android may have opened it up for it but the Linux community won't. So I believe mono not being complete is more an architectural problem then lack of cooperation from MS.

      This is an argument I read somewhere and made sense. But since I can't confirm it so I reserve the right to be wrong.

    134. Re:ASP.NET and C# by Xest · · Score: 1

      "Don't be silly. Java's overzealous checked exceptions, for example, lead to *worse* code as lazy developers code to satisfy the compiler"

      How is it worse than a problem outright occuring as it would under PHP because the developer would remain oblivious to the problem even existing? It may be a hack, but at least it means the developers been forced to recognise that there's a potential problem there, whilst in PHP the problem may remain unnoticed.

      "Just trying to keep the code readable while still satisfying the compiler means that lazy developers will do remarkably stupid things just to keep their code short or easy to read (in an effort to combat the cruft and clutter). Using string where they should use stringbuilder, for example, is a common problem caused by the developer trying to save a few lines of code and avoid littering clean-looking lines by sprinkling toString() all over."

      I agree these are problems, but fundamentally the code is still more efficient at execution time due to JIT compilation than what is simply interpreted PHP code.

      "his bizarre belief that you can trust the compiler to spin your crap code in to gold needs to die."

      Look, you're changing the nature of the discussion to suit your point now, the point was whether Java allows developers to write shit code, the point was that Java forces the developer into a situation where his code is at least more efficient.

      "You've not see spaghetti-code until you've seen a large Java or C# project!"

      Right, but I've seen plenty of good large Java and C# projects, but if we're sticking to the original discussion are you seriously suggesting large PHP projects are somehow always more organised?

      Look, I don't disagree with your point that bad code can still exist in Java and C# but that wasn't the discussion, the discussion was that it's at least not as bad as with PHP where bad developers will often end up with half arsed object orientation resulting in hard to trace code, because of spurious use of global variables, as well as failing to follow any decent design principles because the frameworks, like CakePHP, encourage it, due to the fact the frameworks themselves can't even do simply things like implement MVC properly. At least C# and Java force some kind of sensible class hierarchy, force you to deal with some of the more braindead problems caught at compile time, and the frameworks tend to be written to best practices which absolutely isn't the case with PHP.

      The point is that some of the most terribly fucked up code doesn't even compile and hence become semi-usable in C#/Java, but PHP does allow code with some of the most awful errors to execute, and that's fucking dangerous.

    135. Re:ASP.NET and C# by Xest · · Score: 1

      "For me it's easier to write complex broken code when you have dynamic typing."

      FTFY.

      Besides, with .NET 4 and the DLR you have the best of both worlds anyway. So if you really do think you know what you're doing and are competent enough to write good solid dynamic code you still can. Perhaps the best part is you can control the way dynamic typing works if you know your shit when it comes to expression trees and so forth.

    136. Re:ASP.NET and C# by valugi · · Score: 0

      true. Try to count the number of SQL server instances and to calculate the cost that Facebook will have if it would run a M$ solution. :)

    137. Re:ASP.NET and C# by lsatenstein · · Score: 1

      PHP and LAMP is free (only have the hardware costs). There is a Linux equivalent to C#

      --
      Leslie Satenstein Montreal Quebec Canada
    138. Re:ASP.NET and C# by godefroi · · Score: 1

      Nah, if he was being paid to post, his information would at least be *accurate*.

      ASP.NET always had a templating engine, just like old ASP classic did. It's how web pages are built, unless you're doing it with printf(). I believe what he's talking about is ASP.NET MVC, but that didn't come about until much later than "ASP.NET 2" whatever that is.

      --
      Karma: Poor (Mostly affected by lame karma-joke sigs)
    139. Re:ASP.NET and C# by godefroi · · Score: 1

      Remember back when file uploads WERE complex stuff?

      Ah, those were the days. Working in the call center replacing 14.4kbps modems, hardly a care in the world...

      --
      Karma: Poor (Mostly affected by lame karma-joke sigs)
    140. Re:ASP.NET and C# by LWATCDR · · Score: 1

      Really?
      The fact that you can access global variables two different ways makes sense to you?
      I will give you that it is "slightly" better than Perl's scoping.

      --
      See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
    141. Re:ASP.NET and C# by zootie · · Score: 1

      Rather than MVC, I think he is referring to Master pages. MVC came some time after .Net 2.0, while Master pages were included in this version (and can be considered more of a template than the inline code execution/replace that we've had since ASP classic).

    142. Re:ASP.NET and C# by GreyLurk · · Score: 1

      Sure, $10-$15k may be "the cheapest part of running a datacenter", but for someone starting a new business, bootstrapping themselves up, A $10-$15k up front expense can be pretty prohibitive. Let's say you buy a pair of $4000 servers, (Web and DB) and drop them in a colo charging somewhere around $700-$1000 a month. With open source software, you can be up and working on about 10 grand initial investment, plus $1000 a month. After the first year, you're at $22k. Now, Let's look at microsoft licensing: SQL Server Web is ~$4.5k per processor, plus $1k for the OS so my dual core DB machine is $10k up front. The web server is cheaper, ~$500 up front for the OS, and that includes IIS. Then add in two Developers with MSDN Professional, Microsoft list price of $1,200 each ($800 might be possible with "volume licensing", but probably not for 2 developers) and you're looking at a total of $13k.

      So: to sum up, Open source/free tools: $10k first month, $21k for a year. $33k for a second year, and $45k for a third year. Microsoft toolstack: $23k for the first month, $34k for the year, $46k for the second year, $58k for the third. So, basically, buying Microsoft for a small shop ends up costing you about 1 year of your hosting budget.

      And sure, forums with the MS Professionals are useful, but as a secondary form of documentation. When I'm the only person at my shop, and I'm trying to solve a problem, if I have to pause my dev process for 2 days to wait for a response, that's cutting 1% off of my profit margin.

    143. Re:ASP.NET and C# by shutdown+-p+now · · Score: 1

      You can keep using LinqDataSource if you use a third-party ORM which provides LINQ support. Last time I checked it in NHibernate it was still rather limited, but other frameworks (e.g. LLBLGen) are very good in that regard

    144. Re:ASP.NET and C# by narcc · · Score: 1

      I'd hardly say that two ways to access globals makes PHP's scoping rules "a mess". Scope in PHP is mindlessly simple and perfectly obvious.

      If you want to see some weird scope rules, take a look a javascript some time.

    145. Re:ASP.NET and C# by LWATCDR · · Score: 1

      I never said that Javascript was a clean language.
      I never said that no one should us PHP just that it really isn't a great language. I have used it myself and you can knock out some projects really fast but it was no fun.

      --
      See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
    146. Re:ASP.NET and C# by Mia'cova · · Score: 1

      I decided to look it up.. turns out I was remembering things wrong. That's just strict variable declarations. What you want is the -l command-line option. That'll do full syntax checking for you.

      Reference: http://us3.php.net/manual/en/features.commandline.options.php

    147. Re:ASP.NET and C# by shutdown+-p+now · · Score: 1

      When talking about ASP.NET, you need to remember that there are two different frameworks there that share some common part.

      One is the "traditional" ASP.NET, what is usually referred to as WebForms - which is what you seem to be referring to. It's the one that offers many controls, and overall tries to hide the stateless nature of web apps from the programmer. That is flawed for many reasons - because the abstraction is leaky, and because the controls are not very configurable. On the other hand, it's decent for in-house intranet apps, where you don't care much about look and feel, or 100k postbacks, and just need to churn out usable data entry forms fast.

      The other, newer framework is ASP.NET MVC. That does not use the "control" abstraction at all, but rather - as the name implies - deals with the usual concepts of views (page templates), controllers, and data models. It's a much better framework that lets you retain full control over everything that goes on.

    148. Re:ASP.NET and C# by Caesar+Tjalbo · · Score: 1

      N00bs who've learned to code in Microsoftland. They whip up an application in no time with hardcoded SQL in the click events with minimal input validation. Asked me what I thought of their handywork and I said I'd prefer objects over datatables. After a brief silence came "but datatables are objects" to which I didn't bother to reply. It's true though, .Net encourages you to take the shortcuts with data binding regardless of how clueless you are as a coder.

      Confused the hell out of them when I separated my database stuff from my objects from my business logic from my screen handling. WTF, all that code all over the place and in different files. I fear they still haven't figured out how a 'person' object automatically has person.Age when only the person.DateOfBirth was set.

      --
      "I'm not much interested in interoperability. I want substitutability. I want to be able to throw your software out."
    149. Re:ASP.NET and C# by narcc · · Score: 1

      The point was that PHP's scope rule can't really be called "a mess", considering their simplicity. I was offering an example of scope rules that may more legitimately be called "a mess".

    150. Re:ASP.NET and C# by spongman · · Score: 1

      Its like suggesting a Smart car is a good substitute for a F1 Race car

      it really depends on what you need a car for...

    151. Re:ASP.NET and C# by victorhooi · · Score: 1

      heya,

      Lol, it's not ease-of-use that they rail against, it's that every man and his dog thinks that putting together a script somehow makes them "software engineers".

      Like it or not, software design is actually *hard*. Installing Windows XP on your mother's PC, or updating your Norton AV signatures is not hard. But designing software that is both architecturally sound, easy to maintain, and has low number of bugs per LOC is actually quite difficult.

      PHP attracts people who really shouldn't program. I'm sorry, but it's just a brain thing - some people just don't have the right-brain logic to do it. Just like I would never wield a paint-brush, or consider myself a poet by any stretch, likewise some people just can't code. It's not a criticism of any sort, it's just...

      I've seen some badly written VBA code, or Excel macros. Awful, awful spaghetti code, with horrible edge-case bugs, no documentation of any sort, and no actual thought given to the design to speak of. I've also seen some awful PHP code. I have a feeling most of the other "haters" on this forum has as well, hence the source of their hate.

      Python is not some magical bullet that means you can't write bad code. However, it is designed around good design. It encourages good indentation (where good == standardised), if nothing else. The official tutorial encourage good programming practices, as does the community. And there is clear advice on the "Right" way to do things (or the idiomatic way.)

      And Python also has a slightly higher learning bar than VB/VBA and PHP - and it also doesn't try to hide all details from you. People rea encouraged to read and learn about how things are done, and what's under the hood, so to speak.

      So it's got very little to do with elitism or scarying away newbies, as simply not giving somebody who's never seen a gun before a loaded handgun with the safety off before either A. teaching them handgun safety, or B. taking the handgun away from them very slowly.

      Cheers,
      Victor

    152. Re:ASP.NET and C# by Anonymous Coward · · Score: 0

      Interesting.

    153. Re:ASP.NET and C# by narcc · · Score: 1

      Like it or not, software design is actually *hard*.

      Yes, it is. Of course, I don't expect an interested hobbyist to start off writing code that's easy to maintain any more that I expect a first year engineering student to be able to competently inspect a bridge. They've got to start somewhere, so why trash the tools that give them an easy start?

      Python is not some magical bullet that means you can't write bad code.

      I agree. It may even be the exact opposite of that :)

      However, it is designed around good design. It encourages good indentation (where good == standardised), if nothing else.

      I wouldn't go that far! Besides, they'll learn the importance of indenting code as they begin to write longer, less trivial programs in any language.

      So it's got very little to do with elitism or scarying away newbies, as simply not giving somebody who's never seen a gun before a loaded handgun with the safety off

      I disagree. If not for elitism, why artificially raise the bar? It's not like they can hurt themselves with bad code! Sure, a few idiots will try to go pro once they've grasped the basics (and we've all see what happens then!), but it's a pretty low price to pay to encourage kids to take an interest in the field.

      Take VB for example, the most hated language on slashdot. It was perfect for a broad range of application at the time, and was very easy to use. It was easy for a good developer to write good code in VB, unfortunately, it was also easy for a bad or inexperienced developer to write astonishingly bad code that still managed to work.

      A novice could get started in VB with just a few hours of effort, and learn virtually on their own from there. They would eventually learn how to write good code, but the mess armatures working professionally (totally inappropriately) is what gave VB such a bad reputation. This wasn't the fault of the tool, it was the products amateurs produced with that tool that experienced developers objected to. Still, they blamed VB for the rash of bad code and not inexperienced developers.

      Any tool that's easy for a novice to use now gets trashed by the elites afraid of a VB repeat. I remember seeing these same elitists bashing Java for being too easy to use! (As most of us here know, it's really hard to write good code in Java, and ridiculously easy to write bad code. The barriers to entry there are much higher than good old VB, still, they persisted...)

      So, yes, I do see this as elitism. Raising artificial barriers is a hallmark of elitism, and that seems to be exactly what you're advocating with the gun analogy.

      Really, I don't see how anyone can learn to write good code without making lots of mistakes and, of course, writing lots of unmaintainable, bug-ridden, code. I've taught computer programming for years, and I've found no better way to teach students good practices aside from first letting them fail, and later offering advice. Give them examples to emulate and problems that force them to manage complexity and they will improve. Give them a list of best-practices, however, and you'll see some really interesting failures that manage to conform to the letter! They simply won't understand the purpose or value of [whatever] until they actually see how it benefits them.

      Writing code is skill, like painting; and the slashdot crowd wants to take away the novice's crayons just in case they try to hang their pictures in the front-room instead of on the fridge. (All the while lobbying to have crayons outlawed!) After all, only professions should be allowed to paint, considering how difficult planning a painting actually is...

    154. Re:ASP.NET and C# by zakkie · · Score: 1

      Fuck Microsoft. Really. Even if it works fine, is less hassle and quicker to implement, do you have no grasp of their history, their lack of ethics and their deceit? Why people don't take harder stances against bad business practices baffles me.

    155. Re:ASP.NET and C# by Bill,+Shooter+of+Bul · · Score: 1

      It only makes sense to talk about ENTERPRISE solutions when the whole topic is the cost of a MS ENTERPRISE solution.

      This is the thread condensed:

      1) PHP Is not an enterprise solution use MS!

      2) MS Is expensive

      3) But not if you use it as a non enterprise solution!

      --
      Well.. maybe. Or Maybe not. But Definitely not sort of.
    156. Re:ASP.NET and C# by godefroi · · Score: 1

      Unless you're using some EXTREMELY narrow definition of "template", any system (such as ASP classic, PHP, or ASP.NET) that replaces special "tags" such as or is a templating engine.

      --
      Karma: Poor (Mostly affected by lame karma-joke sigs)
    157. Re:ASP.NET and C# by Anonymous Coward · · Score: 0

      Short story.... You're not doing it right. ASP.Net is very powerful and straight forward. If your list of products does not have any row specific inputs/postbacks then there is no reason not to use a simple Literal control and build and emit your HTML to that. The data bound controls are only useful if you need to 'know' at a later time what is inside them.

    158. Re:ASP.NET and C# by the_B0fh · · Score: 1

      I do. I also have a 4 digit UID that I lost access to. History of PHP makes me puke.

      Now if you said "similar to..." I might be OK with that.

    159. Re:ASP.NET and C# by Bert64 · · Score: 1

      It always seems to be the commercial cruft that causes problems... If your not using anything like that, it's much easier but as soon as you add some commercialware to the mix your faced with non standard installers, no central updating, dependency hell etc.

      --
      http://spamdecoy.net - free throwaway anonymous email - avoid spam!
    160. Re:ASP.NET and C# by anss123 · · Score: 1

      Strange, slashdot allows me to moderate your post despite the fact I've posted on this topic earlier. Something new or a bug?

      The worst bit with commercial software is the lack of good documentation. With commonly used open source programs a quick google is usually all you need, as other people has encountered and asked questions about whatever issue you're facing. With oracle I actually have to figure out the issues myself, and it does take longer.

      For future googelers: Oracle will happily translate whatever internal charset it uses into UTF-8, you just have to set the charset when connecting. No need to look into nls_lang.

      Running explain on prepared statements can crash PHP/the oracle client. Never happened on MySQL, but I assume the problem is that my old debug code isn't supplying parameters to the prepared statements.

      Oracle may occasionally shut down the database for no apparent reason. It may look like the database is still running, even to an experienced admin (who's not me), as oracle itself will still be running and other databases will still work.

      Oracle is slower than MySQL at establishing new connections. The workaround is to use persistent connections.

      And, of course, to get the oracle client working at all I use a small script that sets an environment variable before starting apache 2.2. The client has no installer, just copy the 100MB of files to some folder and either edit PHP.ini or set that environment variable. Yes, the oracle client alone is bigger than all of MySQL. Oh, and you don't need to run any of the installation .bat files, as all they ultimately do is to copy the folder.

      Finally, on the PHP side you need the very latest version of pear/MDB2/the oracle driver if you want to use MDB2 with PHP 5.3. Yes, it's beta software, and if you want to use E_STRICT you must set "static" in front of a few MDB2 method calls. You also have two oracle drivers for PHP itself to pick between, pick the 11g version. As in, 11g client, 11g PHP driver, latest beta of MDB2 and the beta MDB2 oracle driver, and you're good to go. It does not matter if the database itself is 10g or older, 11g all the way. (I believe this may be true for Linux as well).

    161. Re:ASP.NET and C# by crutchy · · Score: 1

      Like it or not, software design is actually *hard*

      software engineers design software for the sake of designing software. non-software engineers design software for a particular purpose. just because they may not develop software in the same way as a software engineer doesn't mean it won't satisfy its purpose.

      as a professional mechanical/structural/aeronautical engineer, i write engineering software in php that does what i need it to do, on a keep it simple stupid model because i've found this to result in increased reliability. my current project is only a few thousand lines of code, which is no doubt tiny in the big bold world of software development, but it does the same job as software packages that are marketed for thousands of dollars per seat. i don't spend a heap of wasted time trying to design the program to meet the needs of an impractically varied user base (i design it for me and my engineering colleagues only). it produces correct results that are spot checked and scrutinized by good ol' "engineering judgment". commercial packages might have all sorts of bells and whistles and be checked a million times, but my little php script fulfills its purpose. i've come across numerical bugs in commercial engineering software, so even expensive matrix testing and whatnot, while reducing the probability of incorrect results, doesn't eliminate the possibility outright.

      i refuse to use code from the web as most of it is garbage (good for ideas though), and many web programming "experts" (in blogs etc) seem to be incapable of simple things like maintaining code etiquette, which i think is perhaps the most important programming habit, and good code etiquette can reduce the need for blathering documentation and pointless flowcharts. maybe i was fortunate because i broke my teeth on delphi for a good ten years before i got into php (borland VCL source is good basis for developing code etiquette, and pascal is a very typecast language so less laziness with variable assignment).

      there's nothing wrong with newbies writing useless code. i scoff at code i wrote years ago, and i'm sure even software engineers would do the same. its how we learn. everything must be taken in context - i might not buy any software written by an inexperienced programmer, but at the same time i wouldn't trust a software engineer to be competent in developing software for engineering compliance without input from experienced engineers in the respective fields.

      many software bugs are harmless, and even bugs with security implications are usually at most embarrassing and/or expensive. the bugs that are scary are the ones that can kill people - in engineering software, the "garbage in = garbage out" idiom has more significance than in a lot of other software because if your program incorrectly indicates compliance when in reality the inputs can result in an unsafe condition, people might be hurt or killed, and being a "software engineer" doesn't imply any sort of expertise in finding or preventing this type of bug because they aren't specific to software development.

      and while i'm sure software engineers could bitch about the pitfalls of my php code and/or philosophy till they're blue in the face, at the end of the day i'm glad i don't have to put up with or rely on their elitist bullshit.

    162. Re:ASP.NET and C# by Anonymous Coward · · Score: 0

      Idiots like this guy here are exactly why there is so much hate for PHP. Here is a classic example of someone comparing PHP - a language - to a full blown web development framework. Ruby on Rails people do exactly the same.

      The original author asks specifically about "web development platforms." It is apparent to me that the author is trying to ask about web architectures, frameworks, tech stacks, or similar topics, but can only frame the question in terms of his or her own experiences with PHP.

      In my experience, you can't just compare web technology programming languages face-to-face...you have to analyze the goals of the services that you are offering and combine the technologies that best support your goals into your architecture.

    163. Re:ASP.NET and C# by ukyoCE · · Score: 1

      I would agree with PHP being a bad language comparable to Perl if you're looking at PHP 4. When Magic_quotes and register_globals and the like were on by default, it was encouraging things to be done Very Wrong by default. Unless you have a penchant for language-enforced whitespace, I don't see any reason with PHP5 or 6 that PHP is any worse than Python.

    164. Re:ASP.NET and C# by ukyoCE · · Score: 1

      Can you explain why you feel speed is a particular problem with PHP compared to other web languages? Pointing out Facebook's improvements/hacks isn't very relevant considering they are one of the highest-traffic sites on the entire internet. Most Java container servers have simply never been used for anything approaching the traffic Facebook deals with. And even then, Facebook is just optimizing to cut costs (reduce total server count+power usage), not to make their site load faster for users. It's trivial to add servers to a cluster, and the only real downside is cost, not speed.

      The real bottleneck you run into LONG before hitting application server problems is your datastore. That's the one that requires real thought and hard work to deal with once you've pushed "buy a bigger database server" to its limits. Your failure to mention this or acknowledge how little application speed matters makes me wonder how experienced you really are with high-traffic websites.

      Looking at an 'average' website, the ones that are most consistently slow or downright bad are Java sites. Having seen this in development first-hand, it's because Java gives you more than enough rope to hang yourself with if you're a clueless off-shored developer (as so much java software is written by). Too many Java websites do a horrific job handling session scoping, cookies, caching (lets cache the whole database in the app layer and loop on it, right?), and so on. By comparison, your standard php, python, or ruby website will be "defaulted" to doing things the correct, scalable way, unless you go out of your way to screw things up. Ruby is the most immature of the 3 from what I've seen, but PHP and Python are great choices over any compiled language for the vast majority of websites. And with PHP, unlike any of those other languages, you already know it can scale to running the biggest site on the internet! ;)

  2. PHP is great by InformativePost · · Score: 4, Informative

    Most hate towards PHP comes from elitist snobs who don't know how to use the language. PHP is perfectly fine language to use, and it is extremely powerful and flexible. If you are going to develop for web, I suggest using some framework, as it makes the process much more straightforward, faster and better. I personally use CodeIgniter, which is fast and has a good library of helpers and other essential framework stuff. CakePHP is often suggested for persons new to frameworks, but I would stay away from it. It's slower and it's more pain in the ass to learn.

    There's also other good things about PHP. First of all, it works with practically every web host out there, and doesn't require you to play around with it to get it work. It has an extremely comprehensive library, amazing documentation and almost all API's have client libraries for it, if they just have some. PHP, being the #1 platform on the web, gives you that advantage.

    1. Re:PHP is great by Anonymous Coward · · Score: 0

      No, most hate for PHP comes from enterprise software developers who have had to maintain the spaghetti code that is an "enterprise" PHP app. PHP is a hack language best suited for small projects - scaling to support an enterprise is nearly impossible. Even Facebook admits this on their blog.

    2. Re:PHP is great by Sneeka2 · · Score: 2

      Out of genuine interest, what makes a well written (emphasis on WELL WRITTEN) PHP app so much harder to maintain than an equally well written *.NET app?

      --
      Bitten Apples are still better than dirty Windows...
    3. Re:PHP is great by Anonymous Coward · · Score: 0

      PHP has no built-in support for multithreading.

    4. Re:PHP is great by d4fseeker · · Score: 1

      Nothing. But it's a pain in the ass to get people to write well if they can just be lazy...

    5. Re:PHP is great by Rhaban · · Score: 5, Funny

      Out of genuine interest, what makes a well written (emphasis on WELL WRITTEN) PHP app so much harder to maintain than an equally well written *.NET app?

      You have to actually read and write code, you can't just click checkboxes until it works.
      It is really hard.

    6. Re:PHP is great by Anonymous Coward · · Score: 0

      Youll have to explain how PHP is more prone to spaghetti code than other platforms, and in my experience it scales just fine. Web servers are infinitely scalable horizontally, so the scaling issues are mostly with DB backends ( if that's what you meant by scaling ). Scaling something to facebooks size and traffic is going to be hard on any platform, but I'll concede that PHP might not be the best choice for them, simply because I have no experience with a web app of that size.

      People used to cite lack of OOP, but as of 5.2 it has most ( if not all ) the OOP features you'd want
      The main reason many people hate PHP is because its so easy to learn and use, and so lot of bad php-code is written. Us PHP-devs get a bad rep because of this.

    7. Re:PHP is great by Anonymous Coward · · Score: 0

      First of all, it works with practically every web host out there, and doesn't require you to play around with it to get it work.

      I don't think this is really true. I experienced quite a few situations where a web application written in PHP required me to install third-party tools (eg. imagemagick), tinkering with my php.ini, and/or use different compilation flags for the PHP module itself -- a luxury you don't always have when merely having signed up to a PHP hoster where this cannot always be achieved without haggling with the hosting company.

    8. Re:PHP is great by binarylarry · · Score: 1

      Nice, you sound like you have a lot of experience with enterprise webdev.

      LOL

      --
      Mod me down, my New Earth Global Warmingist friends!
    9. Re:PHP is great by danbeck · · Score: 4, Insightful

      This is completely true, but very unimportant. PHP under Apache (And really what serious professional would use anything else?) as a module and needs no threads; that's the job of the httpd daemon itself.

      If you need threads; if your Java indoctrination only allows you to solve problems by creating huge monolithic applications, ignoring excellent work by engineers who are much, much smarter than you, then yeah... PHP won't cut it for you. You'll need a language that will be better suited to reinventing the wheel. That is definitely not PHP's strength.

      (Ah, I love it when a good straw man argument comes together.)

    10. Re:PHP is great by CastrTroy · · Score: 1

      I would say that for the most part, while just about every hosting company out there supports PHP, they don't all support the same PHP. Firstly, there's a question of which version they are running, and then, there are tons of components available, some host support a lot, others support only a few. The API (if you can call it that) is pretty much all encompassing, but is so inconsistent that it makes my head hurt. Half is Object Oriented, half isn't. 3 different choices of APIs for connecting to databases. Documentation is lacking, and is only sufficient with the user comments, many times I don't want to have to read through pages of user comments to find something that should have been in the docs in the first place. Also, it's interpreted at runtime, which means that it's about 10x slower than other options like .Net and Java. This doesn't matter for small sites. But for large sites, it ends up becoming a huge problem. Twitter had to switch to a new platform (Java I think). Facebook compiles all their PHP to C to get the needed performance out of it. In the end, it doesn't really matter, as you can create a good project in any modern language. However, If I had a choice, I wouldn't use it.

      --

      Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
    11. Re:PHP is great by InformativePost · · Score: 0

      PHP under Apache (And really what serious professional would use anything else?)

      Just as a side note, nginx is much faster, more lightweight and better web server. Point still stands tho, you don't need threads for web serving. I have also wanted threads in PHP for scripting, as it is the only thing missing in PHP.

    12. Re:PHP is great by lthorne · · Score: 0

      You have to actually read and write code, you can't just click checkboxes until it works. It is really hard.

      ROTFLMAO! that is every Microsoft developer I've ever met. Microsoft is making developers dumber.

    13. Re:PHP is great by ByOhTek · · Score: 2

      Given all the shitty Perl, Python, C#/VB.NET, Ruby and Java code I've seen out there... I'd have to say, hate the developers that made that crap code, and not the language. Any developer can make crap code in any language. Some languages make it easier (Perl, Ruby and Python come to mind VERY quickly), but that certainly doesn't make them bad languages.

      --
      Self proclaimed typo king, and inventor of the bear destroying coffee table (patent not pending).
    14. Re:PHP is great by JAlexoi · · Score: 0

      You have seen beautiful Perl code? Really!?!?!?!?!

    15. Re:PHP is great by Anonymous Coward · · Score: 1

      Out of genuine interest, what makes a well written (emphasis on WELL WRITTEN) PHP app so much harder to maintain than an equally well written *.NET app?

      Nothing - similarly, bacon is just as healthy as lettuce, provided that the bacon is from a unicorn.

    16. Re:PHP is great by datavirtue · · Score: 2

      In a way PHP is like a collection of macros that let anyone just start turning out things that will work. You don't have to be a programmer, know web standards, or understand much of anything to start coding in PHP. Therein lies the danger. Judging from this I can only assume there is a vast swath of "spaghetti code" in production. A lot of companies manage to turn incompetent people loose on "real" languages in more complicated environments so you can imagine the state of some PHP apps floating around. Usually, what starts out being a simple project often morphs into a ZOMG ultra important application, so if you do not plan for this when coding with PHP you will get in trouble fast. Right away I noticed I was going to need some advice when I started playing around with PHP. It was appearant that just barfing up code wasn't going to cut it (as usual), at the least you have to make use of PHP object oriented features.

      --
      I object to power without constructive purpose. --Spock
    17. Re:PHP is great by ErGalvao · · Score: 1

      So, you're basically admitting that the language has nothing to do with your complain. There are lazy people in every programming language and it's possible to write spaghetti code in every programming language as well.

      --
      Er Galvão Abbott - IT Consultant and Developer
    18. Re:PHP is great by JAlexoi · · Score: 1

      Monolithic? Ignoring excellent engineering? Are you comparing it to the same PHP that I know?
      PS: Reinventing the wheel is exactly what most, if not all, of PHP developers that I know of are excellent at. And I know a crapload of them...

    19. Re:PHP is great by oneandoneis2 · · Score: 1

      Modern Perl is a beautiful language

      --
      So.. it has come to this
    20. Re:PHP is great by orasio · · Score: 1

      Most hate towards PHP comes from elitist snobs who don't know how to use the language. PHP is perfectly fine language to use, and it is extremely powerful and flexible. If you are going to develop for web, I suggest using some framework, as it makes the process much more straightforward, faster and better. I personally use CodeIgniter, which is fast and has a good library of helpers and other essential framework stuff. CakePHP is often suggested for persons new to frameworks, but I would stay away from it. It's slower and it's more pain in the ass to learn.

      That's right. Most people who hate PHP don't know enough of it. That's why I hate it. I could never learn how a well built application should look like in PHP.
      That's why _I_ wouldn't buy anything made in PHP, it's too hard to tell good from bad, for non experts.
      If you are an expert in PHP , it's OK to use it, I wouldn't pay you to do it, because it's too hard to tell if you are really an expert, and it's too hard to get another expert if you change projects.

    21. Re:PHP is great by Tim4444 · · Score: 1

      I think he's saying those languages make it easier to write bad code, "but that certainly doesn't make them bad languages."

    22. Re:PHP is great by cshark · · Score: 1

      They complain a lot when something forces them into a real ide, which they resent instinctively. After all, as any of them will tell you... visual studio is the best ide ever developed.

      --

      This signature has Super Cow Powers

    23. Re:PHP is great by Anonymous Coward · · Score: 0

      It is possible, take a look at Magento.

      You're just not well-informed enough. I had to deal with a spaghetti code written in c#, with extreme copy and paste technoques. It just sucks as well.

    24. Re:PHP is great by ByOhTek · · Score: 1

      No, I meant easier to write hard-to-be-human-readable code. Perl, in my experience, is the worst of the bunch. I used to work in a shop where we did mostly Perl, I was the only one who attempted to make it readable. Everyone else used every trick and shortcut to make it concise, but also make it totally unreadable.

      --
      Self proclaimed typo king, and inventor of the bear destroying coffee table (patent not pending).
    25. Re:PHP is great by Xugumad · · Score: 3, Insightful

      Out of curiosity, if I wanted to have a web application that used AJAX to listen for change events from the server (long-poll style), how in PHP would I notify any waiting requests of a new message to be sent out?

    26. Re:PHP is great by Khazunga · · Score: 1

      ... PHP under Apache (And really what serious professional would use anything else?) ...

      Just about any serious professional. nginx + php-fpm is by far a better configuration. Configuration is simpler, the http daemon is a lot more efficient without having to deal with php processes, and you can separately scale static content servers and dynamic content servers horizontally.

      My personal default setup for any medium-sized website is nowadays nginx (load balancer) => varnish => nginx (static content) => php-fpm

      --
      If at first you don't succeed, skydiving is not for you
    27. Re:PHP is great by cshark · · Score: 1

      5.2 doesn't. But 5.4 certainly will.

      --

      This signature has Super Cow Powers

    28. Re:PHP is great by Applekid · · Score: 1

      I think he's saying those languages make it easier to write bad code, "but that certainly doesn't make them bad languages."

      I would argue that the whole point of using higher order languages is to make it easier to write good code, and a good language should discourage bad code. For example, strong typing can help with the latter.

      Part of it, I think, is recognizing that we of flesh and blood aren't perfect and a good language definition, along with development tools for that language, can help pick up what we miss. For me, anyway, this is the driving force for being completely obsessed with warning-free cleanly-compiling code.

      Does PHP have that kind of analysis (compilers or some kind of code analysis) to detect errors during design time or do you still have to wait until run time? Last time I was into PHP had to have been 5 years so I'd hope improvements have been made.

      --
      More Twoson than Cupertino
    29. Re:PHP is great by Anonymous Coward · · Score: 0

      Use XAJAX

    30. Re:PHP is great by Anonymous Coward · · Score: 0

      You got to be kidding me!

      That's typical of that type of web "developers" who think because they once read a book about HTML, they are now web hacker gurus and "know the language".

      Let's see... how well do you know the thing really?
      I know tons of small corner cases and gaping holes in php.
      Like the one where you can write plain text right smack in the middle of the code, and php doesn't complain, because "thanks" to its cast-the-shit-out-of-it attitude, it just thinks it's a constant. Or a string. And if it's on its own line, that's apparently awww-right.
      The whole auto-escaping auto-casting thing is a debacle. You can never trust the thing.

      And then there's the function library. With literally two dozes functions that only differ in the order of their arguments or tiny things that would be solved by adding a flag to one of the functions. Look at the string manipulation functions, and you know what I mean: strpos, strrpos, stripos, strripos!
      I wish I were making this shit up!

      Also, the whole classes concept that they tacked on... Holder of the world record of inelegance. The whole thing feels like the hack it is.

      Add to that the slowness, and you've got the VisualBasic (before .NET) of the web. Oh wait, at least VB could be compiled to something halfway fast.

      But I should have know you're exactly the type you describe in your first sentence, when I read the word "framework"....

      -- Somebody who used PHP since it was still just a simple template language, and has now moved on to Haskell.

    31. Re:PHP is great by interval1066 · · Score: 1

      ONE of PHP's problems is it is by very nature web processed. That means the entire script is processed in one after it is requested, and the next one, and the next one... the very thought that a PHP script can spawn threads, be object-oriented, or be used as a system-level service is laughable to me, but its there in the code, one can create objects that supposedly do these things. But still, adding these features to a language thats only alive when the web server passes through and acts on it seems a little like adding a laser beam to the forehead of a frickin' piranha; not going to work very well. For enterprise level stuff you really need access to these features. And there's really no substitute for the JMS in PHP. Can one really build a scalable, distributed app with PHP?

      --
      Python: 'And then suddenly you have a language which says "we're all stuck with whatever the whiniest coder wants".'
    32. Re:PHP is great by interval1066 · · Score: 1

      ...visual studio is the best ide ever developed.

      It is, and this isn't coming from a Microsoft fan.

      --
      Python: 'And then suddenly you have a language which says "we're all stuck with whatever the whiniest coder wants".'
    33. Re:PHP is great by GPLHost-Thomas · · Score: 1

      PHP under Apache (And really what serious professional would use anything else?) as a module and needs no threads

      I suppose you forgot the world "run" after PHP. If that is the case, then NO. In most serious environment, you would run PHP as a CGI, because this way, you can run it in a chroot. I maintain sbox in Debian for doing just that: chroot in the folder of the vhost, and setlimit() calls to avoid nasty effects of bad scripts and setting reasonable limits. And NO, that's not a lot slower as one might think. I have real production environment to back-up what I'm saying. I could see no difference in the load average graph of a busy shared hosting server after switching to sbox. Oh, and for maintaining a common (but customizable) chroot on all vhosts, I use aufs, which is great! :)

    34. Re:PHP is great by GPLHost-Thomas · · Score: 1

      Just as a side note, nginx is much faster

      To put it simple: NO. It's slightly faster, but when running heavy PHP scripts, you wont see much differences.

      better web server

      Better as in what? More hyped, maybe. But I do think it's like people talking about Ruby and spitting at PHP. It's more or less the same, but there's always one to tell that one is so much better than the other.

    35. Re:PHP is great by sneakyimp · · Score: 1

      Not strictly true:
      http://us.php.net/manual/en/intro.pcntl.php

      I've written a multi-threaded PHP program that runs from the command line. Works like a charm.

    36. Re:PHP is great by GPLHost-Thomas · · Score: 1

      Firstly, there's a question of which version they are running

      Most of the time, you don't care that. Your scripts MUST be able to run on any decent PHP (that is, >= 5.2). If not, then it's entirely your fault.

      there are tons of components available, some host support a lot, others support only a few

      If you need some of the components and your host refuses to install them, then choose a better host! Most will have lots of them anyway.

      Documentation is lacking, and is only sufficient with the user comments, many times I don't want to have to read through pages of user comments to find something that should have been in the docs in the first place.

      Strange that you think this way. I always have found the php.net website a very good reference, and very few times, I need to look at users comments (which you should take care a lot when reading, some have very poor level, and even sometimes, you see security issues in the code).

      Also, it's interpreted at runtime, which means that it's about 10x slower than other options like .Net and Java.

      That one is plain BULLSHIT. First, Yahoo made some benchmarks, and PHP is faster than Java in many cases (and that's why they use it). Second, if you use things like php-apc (available in main in Debian 6.0), then there's very efficient caching mechanisms.

      Facebook compiles all their PHP to C to get the needed performance out of it.

      But that doesn't at all mean PHP is slower than .NET or Java!!! It just mean that Facebook is huge, and that when you have thousands of servers to run a website, it might be cheaper to invest in a PHP to C compiler than buying more servers.

    37. Re:PHP is great by rjha94 · · Score: 1

      ... PHP under Apache (And really what serious professional would use anything else?) ...

      My personal default setup for any medium-sized website is nowadays nginx (load balancer) => varnish => nginx (static content) => php-fpm

      second that. which serious professional is still with Apache + mod_php? excuse me please! The serious professional world (at least the people who can decide their destiny) has already moved to NGINX

      --
      No .sig
    38. Re:PHP is great by CrispyZorro · · Score: 2

      ROTFLMAO! that is every Microsoft developer I've ever met. Microsoft is making developers dumber.

      I couldn't agree more. I feel the same way about word processors. That's why I use LaTeX.

    39. Re:PHP is great by LordThyGod · · Score: 1

      Facebook?

    40. Re:PHP is great by tibman · · Score: 1

      I think you have spent more time bashing php than looking at it. Google turned this up: http://sourceforge.net/projects/phpmq/
      Looks like JMS for php.

      Also, php isn't required to run through a web server. You can make cli and gui apps just as easily. Try to have a more open mind about the language.

      --
      http://soylentnews.org/~tibman
    41. Re:PHP is great by art123 · · Score: 1

      As a user of visual studio (for c++ desktop, .net asp.net/mvc, silverlight), eclipse (for android java), and sometimes xcode (iOS), I can say that, for me, visual studio is the best ide.

      What is a "real" ide and how does visual studio not qualify?

    42. Re:PHP is great by rev0lt · · Score: 1

      That could be said for any CGI language. As for JMS, there are plenty of solutions available, but don't expect to program in Java with PHP.

    43. Re:PHP is great by Peter+Trepan · · Score: 1

      ...visual studio is the best ide ever developed.

      By a mile. Visual Studio is indistinguishable from magic. I can't understand how the same company can produce both it and Internet Explorer.

      --

      Step into a huge movement. Don't Tread In Me.

    44. Re:PHP is great by rev0lt · · Score: 1

      The problem is, most people don't know bad C/C#/Java when they see it, but bad PHP is like headlights direct in your eyes. And I think that is actually a good thing.

    45. Re:PHP is great by Anonymous Coward · · Score: 1

      For an example of a scalable, distributed app written in PHP, maybe you should look at www.facebook.com, which is one of the top 3 most heavily trafficked sites on the net, easily handling billions of page views per hour.

    46. Re:PHP is great by DdJ · · Score: 5, Informative

      Most hate towards PHP comes from elitist snobs who don't know how to use the language.

      Maybe. But not all of it.

      I have been using PHP, for both business and personal stuff, since it was called "PHP/FI" ("personal home page / forms interface"). My old startup company would never have been successful without stuff we did in PHP. I've written and contributed C-based PHP extension code which was distributed with the core for years (until the underlying libraries fell so far out of use that there was no point including it anymore).

      I still use PHP sometimes. But I prefer not to use it for important stuff that needs to stick around for a long time if it has any complexity.

      Here's why: in my own personal experience (YMMV, of course), PHP has not been terrific about separating security fixes and bug fixes from feature evolution. It was far too easy to write code that would break with a version upgrade (eg. because an API or behavior changed), and to be forced into that version upgrade because security hole fixes were only available for the newest versions.

      It's certainly the case that if you were very careful, you could avoid the problems. But, you had to be careful, and I saw a lot of novice programmers who weren't. (Our startup company provided PHP APIs for our product -- as well as Perl, Python, Java, and even TCL, this being the mid-to-late 1990s -- so I got to interact with a lot of novice PHP programmers.)

      It's also certainly the case that for home/hobbyist use, you can mitigate some of the trouble by getting your PHP as part of a Debian distribution instead of getting it directly from upstream sources. The Debian folks are kinda insane about backporting security fixes to regarded-as-obsolete versions of software, and I love 'em for it. This is what I do on my household servers. (Yes, I still run my servers myself, not via a hosting provider -- have since about 1988, when they were Sun and VAX systems instead of the Linux I use today.)

      It's certainly possible that PHP has gotten significantly better about this than it used to be. I haven't had reason to go check.

      But anyhow, that's where my own ... hatred is too strong a word, let's say maybe "concern"? ... for PHP came from.

    47. Re:PHP is great by rev0lt · · Score: 1

      I had the same opinion you have, until I benchmarked it. How can a CGI process be faster than an in-memory integrated parser?
      Nginx will blow out of the water any Apache installation for any static content and/or connection processing. The side effect is that the fcgi-served PHP is actually faster, because it is served faster to the client. I run several Magento installations with Nginx (how's that for a heavy script), and they kick Apache's ass, not to mention the weird Apache limitations with thousands of simultaneous clients (do you ever had to tweak Apache source so prefork can create more childen? I had). Is Nginx appropriate for everything? Probably not (I use apache with mpm_itk on shared hosts, and there's no alternative to mod_security). But for everything else, Nginx is awesome.

    48. Re:PHP is great by gazbo · · Score: 1
      If your preference is for a full-on strongly typed language then PHP is a poor choice for you. However there are things that can go some way to providing this sort of safety - you can use type hinting to specify what types must be passed to a function (including support for polymorphism, interfaces as you'd expect). But this is still a run-time feature as there is no compile phase. I honestly don't know whether there's a static analysis tool that can use this data along with type-inference techniques to provide "compile-time" type safety, but there may be.

      But I reiterate: PHP probably isn't the language for you. I understand your position, as I'm completely anal about code being free from all warnings too. However; I'm also of the opinion that strict type checking actually provides comparatively little benefit. When I fix bugs in our codebase it's almost never due to type mismatches, in fact I can only think of two instances ever where I've thought strong typing would have prevented a bug. On the one hand you may claim that's two bugs too many, but on the other hand that's several years of IMO faster development gained by not having to jump through hoops.

      I've yet to use a language with a full type inference system, but it seems like that may be a pretty awesome compromise.

    49. Re:PHP is great by mangobrain · · Score: 3, Insightful

      Unfortunately, I don't have a good answer for you. However, I would like to point out that in my opinion, your question typifies what is wrong with trying to use HTML, HTTP and JavaScript as a general purpose development platform. The reason this isn't easy is because long polling is a hack, as are all "push" technologies. HTTP was only designed as a simple, one-way request/response protocol; clients make requests, and the server responds.

      I'm not entirely convinced that running arbitrary code directly from the browser is a good idea, regardless of whether or not it works across many platforms; but if people really want to take application development in that direction, can we please design technologies which are up to the task, and stop abusing ones which were never intended to be used that way?

      Disclaimer: at $DAYJOB I develop a web proxy; HTTP abuse makes me cry.

    50. Re:PHP is great by Mad+Merlin · · Score: 1

      What is a "real" ide and how does visual studio not qualify?

      Vim, and it's not Vim, respectively.

    51. Re:PHP is great by fyngyrz · · Score: 1

      Modern Perl is a beautiful language*

      *for certain values of "beauty" not normally encountered in human experience, e.g., "that tangled ball of rattlesnakes is beautiful."

      --
      I've fallen off your lawn, and I can't get up.
    52. Re:PHP is great by Anonymous Coward · · Score: 0

      Your scripts MUST be able to run on any decent PHP (that is, >= 5.2). If not, then it's entirely your fault.

      Better tell the PHP developers that all the work they put into the new features of PHP 5.3 was wasted, since GPLHost-Thomas has decreed that no-one's allowed to use them.

      (Not to mention that older versions have bugs that can potentially break scripts, but oh no, our Lord and Master says that those bugs are retroactively the fault of anyone who tries to write code that would be affected.)

    53. Re:PHP is great by interval1066 · · Score: 2

      I don't. I don't expect to program anything in PHP, ever. Hopefully.

      --
      Python: 'And then suddenly you have a language which says "we're all stuck with whatever the whiniest coder wants".'
    54. Re:PHP is great by Xugumad · · Score: 1

      > Disclaimer: at $DAYJOB I develop a web proxy; HTTP abuse makes me cry

      This will probably be your equivalent of Cthulhu mythos then (induce gibbering madness): http://wiki.secondlife.com/wiki/Reverse_HTTP

    55. Re:PHP is great by Quirkz · · Score: 1

      I've had to edit Perl that looked more like ASCII art than language. I've puttered around in a lot of languages and can usually figure out what's going on, but Perl is the only one where I've had lines I felt were indecipherable.

    56. Re:PHP is great by fyngyrz · · Score: 2

      The "serious professional" doesn't use PHP at all, lol.

      But you carry on!

      --
      I've fallen off your lawn, and I can't get up.
    57. Re:PHP is great by brezel · · Score: 1

      facebook does not serve its pages using php.
      http://developers.facebook.com/blog/post/358/

    58. Re:PHP is great by Anonymous Coward · · Score: 0

      What would you use for web development in linux, say Ubuntu?

      This is a serious question. I was looking around at the half-finished sort-of works shit in the repository.

      Eclipse with some plug in? I already have eclipse set up for droid work, I find if you try and use it for more than one things, you end up in dependency hell (plugin X v0.3.3. only works with eclipse V.343043, plugin Y only with V.3.4343).

      Something else? is there anything else?

    59. Re:PHP is great by Anonymous Coward · · Score: 0

      I was aware of hiphop when I wrote my comment, but I don't think hiphop is relevant to the OP's question, because facebook.com is still coded in php, which is then compiled and run using hiphop to achieve higher performance. It's just a performance optimization strategy, but the language used in developing the site is still PHP. The OP can code his/her site in php and use hiphop to boost performance too if he/she needs to do so. So using hiphop doesn't negate the fact that a huge high performance site is coded in php.

      If you are suggesting that the fact that facebook is using hiphop means that their site really isn't using php, then you could argue that no serious programs use c/c++ etc. because c/c++ programs are compiled into native machine code before they are run, which is not a valid argument, in my opinion.

    60. Re:PHP is great by Vicarius · · Score: 1

      Out of curiosity, if I wanted to have a web application that used AJAX to listen for change events from the server (long-poll style), how in PHP would I notify any waiting requests of a new message to be sent out?

      You would use "J" to send an "A" request and then use "J" again to interpret your "X" response. Notice the lack of "P" in AJAX.

    61. Re:PHP is great by Jawnn · · Score: 1

      Too bad my mod points went away yesterday. I'd love to reward the well-crafted sarcastic riposte, thrust deep into the belly of the snob.

    62. Re:PHP is great by tompaulco · · Score: 1

      Well that is about 5 responses in this thread about how Visual Studio is the best IDE out there. I use Eclipse and Visual Studio Express. I have to assume that VSE must be dumbed down tremendously from Visual Studio, because it doesn't have 1/10 of the features or ease of use of Eclipse. Maybe if my company bought the full version, it would be awesome but from what I have seen in VSE, I can't recommend that they buy the full version.

      --
      If you are not allowed to question your government then the government has answered your question.
    63. Re:PHP is great by Anonymous Coward · · Score: 0

      The fact that great tools can make shitty products does not mean the tools are shitty.

      Perl can be gloriously beautiful and robust. It's just that a lot of people who call themselves "Perl programmers" don't understand it.

    64. Re:PHP is great by Bengie · · Score: 1

      Unknown Source: “Perl is write-only. You ask someone what the code is supposed to do and rewrite it.”

    65. Re:PHP is great by ByOhTek · · Score: 1

      o.O

      How can people not notice bad code in a given language?

      --
      Self proclaimed typo king, and inventor of the bear destroying coffee table (patent not pending).
    66. Re:PHP is great by GPLHost-Thomas · · Score: 1

      The side effect is that the fcgi-served PHP is actually faster, because it is served faster to the client.

      fcgi aren't usable when you have hundreds of hosts in a shared environment: it uses too much memory. Which is why I use AddHandler and Action directives, with our custom cgi wrapper.

      I agree that nginx might be a good choice when you do ONE custom application, and can decide for everything. But when you're running a generic hosting thing, you need mod_cband, mod_security, (and mod_log_sql in our case), and so on, which nginx doesn't have.

      Anyway, performance wise, most of the time is spent on serving small images, not big PHP scripts. Adding a reverse proxy solves most of the load issues on busy sites because of this (varnish is a nice choice for this, btw).

    67. Re:PHP is great by GPLHost-Thomas · · Score: 1

      Modern Perl

      There's no such thing in this world. :)

    68. Re:PHP is great by Cryophallion · · Score: 1

      I use netbeans, and I have no issues with dependency hell...

    69. Re:PHP is great by GPLHost-Thomas · · Score: 1

      Does PHP have that kind of analysis (compilers or some kind of code analysis) to detect errors during design time or do you still have to wait until run time? Last time I was into PHP had to have been 5 years so I'd hope improvements have been made.

      If you're searching for some kind of "lint for php", then yes, such thing does exist.

    70. Re:PHP is great by GPLHost-Thomas · · Score: 1

      php-fpm doesn't scale if you have too many vhosts (it takes too much RAM for each site, with processes that will wait doing nothing). A cgi wrapper like sbox has my preference for shared hosting, with the added bonus that it also works for Ruby, Perl and Python (yes, the same wrapper...).

    71. Re:PHP is great by mangobrain · · Score: 1

      Yeah... the first version is never going to work through a proxy. If the proxy supports HTTP 1.1 and is well coded, it may either strip the upgrade header (in which case the server will drop down to the fall-back method), or respond with something like an error 501 (unimplemented), in which case the client could drop down to the fall-back method itself (i.e. re-send the request without the upgrade header). If the proxy only supports HTTP 1.0, it will probably send the upgrade header on to the server blindly without understanding it, in which case it will come down to how well behaved the server is: if it notices the request version is only 1.0, it should technically drop to the fall-back method, since the upgrade mechanism wasn't defined in 1.0; however it may not do so, in which case things will go wrong, most likely in the form of the server's response being truncated.

      The second version is slightly less bad. Polling might not be great for resource usage, but at least it remains within the realms of valid HTTP. The fact that the server's response bodies are actually queries, and the client sends the answers as POST request bodies, is neither here nor there from the proxy's point of view. It's still a hack, but there's no reason a well-behaved proxy shouldn't handle the data.

      The particular proxy I work on purposefully downgrades requests to HTTP 1.0, to get away from a variety of HTTP 1.1 "features" where support is assumed rather than negotiated, such as chunked transfer coding. This still doesn't stop the occasional broken webserver from sending a response branded as HTTP 1.0 but using features which only exist in 1.1. One thing I can say for the "protocol" you linked to is that at least it's correctly negotiated.

      I think part of the problem stems from a common assumption amongst developers that "uses HTTP" equates to "works through firewalls", which is just plain wrong. I can kind of understand why HTTP abuse happens in the context of JavaScript, but when the client isn't even a browser - as is the case with the SHOUTcast/Icecast abomination, where data travels over port 80 and kinda looks like HTTP but isn't (responses begin with "ICY", for starters) - just make a new protocol, FFS!

    72. Re:PHP is great by PickyH3D · · Score: 1

      I actually think that PHP can be good when it is written like an enterprise Java or ASP.NET application. But, most are not written that way.

      However, PHPMQ has no website (the linked one has nothing to do with it), one rating, zero reviews and it was last updated in March, 2010 (though, it has been around since 2004). Being able to find a link to a project matching a description is a lot different than finding a serious alternative.

    73. Re:PHP is great by datavirtue · · Score: 1

      Each product is its own company.

      --
      I object to power without constructive purpose. --Spock
    74. Re:PHP is great by rsborg · · Score: 1

      The "serious professional" doesn't use PHP at all, lol.

      But you carry on!

      You might want to inform Facebook devs [1] that their language isn't "professional". Go on, I'll just wait here.

      [1] https://github.com/facebook/php-sdk

      --
      Make sure everyone's vote counts: Verified Voting
    75. Re:PHP is great by Blakey+Rat · · Score: 1

      Try to figure out why MS SQL Server, a great database system, has such a completely incompetent installer. (For that matter, VS's installer ain't nothing to write home about.)

      The answer is that Microsoft products are extremely siloed. IE and VS might as well be in different universes. It's always been that way, and it's a little odd, but you can't argue with the results-- while Adobe's "consolidated" approach is turning all their products into the same warmed-over crap, Microsoft products live and die by their own merits.

      Plus Internet Explorer 9 is kind of amazing. If you were talking about IE7, then, well, ok. But 9? They've completely turned that product around.

    76. Re:PHP is great by rev0lt · · Score: 1

      As I said, Nginx isn't really suitable for a shared environment. But there are literally a ton of big-ass installations (MediaTemple comes to mind) that rely on fcgi.
      Regarding Nginx vs Apache, in my use cases the difference is not marginal, it is huge. Using Nginx may well be the difference between needing a reverse proxy or not (and Nginx is also nice choice for a reverse proxy).

    77. Re:PHP is great by rev0lt · · Score: 1

      I have the same feelings about Java :D

    78. Re:PHP is great by Anonymous Coward · · Score: 0

      Then don't. But I hope you're not expecting to write distributed apps with PHP.

    79. Re:PHP is great by Anonymous Coward · · Score: 0

      I don't know. I have yet to see one. Magento is the largest enterprise app I've seen. And that's a freaking mess.

    80. Re:PHP is great by shutdown+-p+now · · Score: 1

      PHP is a horribly designed language, period. This has nothing to do with being "elitist snob", and is simply a matter of fact. It's not any more powerful than a dozen other dynamically typed languages, not less verbose, and not more readable. The only reason to use it is because you don't know anything better, or because you want cheap hosting and/or cheap developers.

      One simple example to prove the point. In PHP, $a[8] is the same associative array element as $a['8'], but $a['08'] is a different one. Explaining why this is so is left as an exercise for the reader.

      I rest my case.

    81. Re:PHP is great by shutdown+-p+now · · Score: 1

      It is definitely possible to write spaghetti code in any language, and it is also possible to write good PHP code. The point is that PHP encourages writing messy code out of the box with its built-in template engine, weak typing, non-OO standard library etc. If you know which parts of PHP to never ever touch, and which parts to replace with something better, than it's okay. But there are other languages and frameworks when you have the right tools - and only the right tools - out of the box. That is clearly a superior arrangement.

    82. Re:PHP is great by shutdown+-p+now · · Score: 1

      The answer is that Microsoft products are extremely siloed. IE and VS might as well be in different universes.

      For what it's worth, Chakra (IE9 JS engine) is actually a DevDiv project.

      But overall, yes, this is how things are.

    83. Re:PHP is great by shutdown+-p+now · · Score: 1

      Some languages make it easier (Perl, Ruby and Python come to mind VERY quickly), but that certainly doesn't make them bad languages.

      The criteria that make a "bad language" are obviously subjective, but I don't see why it's unreasonable to say that the language that is tolerant or encouraging of bad code cannot be called a "bad language".

  3. Voting to close by Sneeka2 · · Score: 4, Insightful

    ...as Subjective and Argumentative.

    Oh, wrong site.

    --
    Bitten Apples are still better than dirty Windows...
  4. Django by troon · · Score: 5, Informative

    I've been using Django for a while now on my web app, having moved away from home-brewed PHP. Very easy to use, and encourages well-written and elegant code.

    --
    Ydco co ,df C erb-y go. a Ekrpat t.fxrapev
    1. Re:Django by Anonymous Coward · · Score: 1

      If copying and pasting code otherwise perfect code is your primary source of errors, consider yourself blessed (and the coders who have to deal with your mess cursed).

    2. Re:Django by DarwinSurvivor · · Score: 3, Informative

      Whitespace is something the human eye is VERY good at seeing, a missing curly-brace on the other hand is NOT. Every language has it's pitfalls, but honestly, code indenting in python is usually not a problem after a couple weeks at the most.

      I personally use django for a number of my projects and my only problem with it is the templating language. It's fine for most stuff, but I'm going to look into more powerful templating languages for my next project (preferably something DOM-oriented).

    3. Re:Django by mhh91 · · Score: 1

      I personally think of it as a feature, it prevents you from blindly copy pasting code.

      Sure, I had my problems with indentation when I first started learning it, but now I'm used to it, I think of it like curly braces in the C family of languages.

    4. Re:Django by Anonymous Coward · · Score: 1

      White-spaces to denote code-blocks is genius, it forces you to write well formatted code and you are also rid of all the clutter with brackets.. Furthermore the language is on of the most readable and easy to understand languages out there plus it has a huge user base and many rich libraries and frameworks. But i guess its personal preference.

      Personally i use python on google app engine with the webapp2 "framework", and i love it ! You get things out the door unbelievably fast. Comming from a background of .NET and PHP ive never been happier with my switch to python !

    5. Re:Django by Anonymous Coward · · Score: 0

      Copy/paste with python? Come on, leave that crap to PERL sysadmins 15 years ago.

    6. Re:Django by Verunks · · Score: 1

      indeed I've been using django from quite some times and it's absolutely great, the only downside is that it's not supported by every hosting providers and it's a little harder to setup, it's not just copy & paste the php file on the ftp

    7. Re:Django by BasilBrush · · Score: 4, Insightful

      If copying and pasting blocks in Python is not working right, then get an editor that is aware of Python indenting. And switch on the option to always convert tabs to spaces.

      Whenever anybody mentions indentation as their one argument for/against Python, I'm pretty sure they know very little about the language. It's like the very first thing about the language you learn.

      How a language denotes blocks is just a detail. You learn best practice for that language and get on with it.

    8. Re:Django by rnturn · · Score: 0

      ``Whitespace is something the human eye is VERY good at seeing, a missing curly-brace on the other hand is NOT.''

      Isn't that why most programming editors include a feature like Emacs' "Paren Highlighting"? Turn it on and all those cryptic messages about runaway statements go away. Or, when you are beginning a block enclosed by "( )", "[ ]", or "{ }", add the closing parenthesis, bracket, or brace immediately so you don't forget it. Python's a fine language but switching languages because the coder in unable to remember to close blocks seems, to me, just silly.

      --
      CUR ALLOC 20195.....5804M
    9. Re:Django by f1vlad · · Score: 2

      Look at Amazon Cloud Services, they give you blank Linux elastic box and you can [relatively] easilily set it up there. Seconding Django. I've been using Django, then hybrid like https://github.com/hmarr/django-mumblr.

      --
      o_O
    10. Re:Django by nschubach · · Score: 0

      You can still program in "curly brace languages" and keep indentation. In fact, it's much more robust because it ignores white-space convention and allows the developer to have a preference. You, however, do not have that option with meaningful white space languages. I like using tabs and turning on white-space characters in my editor because it gives me nice clean columns in code. I can quickly and easily see where a block of code starts and ends. I don't have to rely on the editor having support for indentation marks.

      It does turn into a problem, however, when you don't like/can't stand the "standard convention." You lose some expression and environmental preferences when moving to a language where you have to program like everyone else. The bracketed notation allows each developer to work the way they want without really impacting anyone else on the team (tabs, spaces, all one line, etc.)

      Personally, I'd like to see a language that allows the IDE to save the code in raw text without line delimiters for easier source control. When you check out that code, your IDE would format it to your tastes and allow you to work on it without having to get used to someone else's formatting preferences. Upon checking in the code, all line breaks and formatting is stripped. You could do that with some of the bracketed languages already by removing single line comments (and using /* */ instead) or by using a Lisp variant, but you would run into a shit-storm of pain trying that with one of the meaningful white-space languages.

      That's not even covering the issues of displaying multiple spaces on web-pages that strip more than one sequential space. You have to go through special effort to ensure that doesn't occur.

      --
      Every time I start to have faith in humanity, I ruin it by driving to work between 7 and 8 am.
    11. Re:Django by Anonymous Coward · · Score: 0

      I always love when someone uses the arguments:
      1) Get an editor that supports it.
      2) It's the standard, deal with it.

      It shows just how much they don't like other people and preferences.

    12. Re:Django by dbrueck · · Score: 3, Insightful

      I've been using Python for over a decade and the whitespace is a total non-issue. Maybe in theory it could be a problem, but it just isn't in practice. Hate the language for other reasons if you want, but that's just not an actual problem that occurs in the real world.

      Seriously, we've used it on tiny projects to massive applications, from small teams to large, multi-department teams, from "systems programming" to web dev to desktop apps to mobile development, and off the top of my head I can't remember whitespace copy/paste problems. Ever. Maybe it happened once and was noticed and fixed so quickly that nobody ever talked about it? Who knows, it most definitely isn't on our top 100 (or top 1000 AFAICT) problems encountered during development.

      Python is a fantastic choice for many situations. The choice of language to use is somewhat subjective, so if it's not for you, so be it, but IMO it's really hard to argue that significant whitespace is a practical or objective reason to not use it. In fact, I'd argue the reverse - there are real benefits to it. We use a fair amount of C++ and Javascript as well, and all of the code is indented anyway. It always feels strange in those other languages to indent /and/ give some additional cue to the parser about the structure of my code. It's redundant. :)

    13. Re:Django by dbrueck · · Score: 3, Insightful

      I don't think he said that was the only reason for switching languages. Python has a lot of other stuff going for it too - significant whitespace is just one of them.

      Anyway, from the perspective of developers whose first choice is Python, it's just that those curly braces are fluff, they are redundant noise. They don't necessarily make the code more readable (whitespace is used to denote the structure of the program anyway), they exist because the parser needs them, so it *feels* like a weakness in the language. It's like, "I've already taken the time to format the code to make it readable and at the same time to express my intent, unfortunately I also need to put in additional annotation to make the parser happy."

      It's not a huge issue, but it's just one of the reasons I like Python: it doesn't get in my way. Anytime I find myself doing something because the language requires it and not because I need it, it's annoying. If I've been working in Python for a few days and then switch over to C++ or ObjC, I'm always forgetting braces and semicolons. Why? Because *most* of the time they serve no purpose and exist only because the language requires them. Omitting them does not indicate a logical or algorithmic error, rather some busywork required by the language.

    14. Re:Django by GPLHost-Thomas · · Score: 1

      Come on! OF COURSE, this alone, can be a blocker. Especially when there's stupid people that advise you to use spaces instead of tabs. That becomes a real mess, and having to fight with spaces and tabs on top of the real code itself is really stupid. I do like python to some degree, but I hate that "feature".

    15. Re:Django by GPLHost-Thomas · · Score: 0

      Whitespace is something the human eye is VERY good at seeing, a missing curly-brace on the other hand is NOT.

      No. Human are good at seeing whitespaces (with an S), but it's very easy to miss just one single missing space. Also, please explain to me how you make the difference between spaces and tabs. Simple: you DON'T see it.

      but honestly, code indenting in python is usually not a problem after a couple weeks at the most.

      I don't agree with that. Code indenting in python is the most annoying thing of that language, and even after years, you might run into issues because of it.

    16. Re:Django by GPLHost-Thomas · · Score: 1

      I personally think of it as a feature, it prevents you from blindly copy pasting code.

      Saying "copy/pasting" is totally missing the point. Most of the time, you'd be refactoring, so you'd be CUT/pasting, when moving things to a new function, which of course, require re-indenting. And that's when it becomes so annoying: you have to completely rework the indentation and make sure that you didn't miss even ONE space/tab. That's totally stupid and time consuming for no valid reason.

    17. Re:Django by Anonymous Coward · · Score: 0

      It's like the very first thing about the language you learn.

      Doesn't mean you have to like it....

    18. Re:Django by ilsaloving · · Score: 1

      My biggest problem with Django is from the sysadmin stand point.

      A while ago, someone gave me a django app to deploy. It was a trivial app that took some data and stored it into a mysql database. The code itself was pretty nice and elegant.

      Except RHEL (at the time) doesn't provide the necessary mysql libraries for django to work.

      Django also doesn't provide said libraries either, instead requiring me to compile the libraries myself from source.

      And those sources had dependancies on a variety of other dev libraries.

      I don't care if your language/framework/whatever lets you take your own feces and turn it into gold. If you can't provide me with the precompiled (and thus presumably tested) binaries for me to deploy onto a production web server, then your code is not going on my server. Period.

    19. Re:Django by Anonymous Coward · · Score: 0

      And screwed up indentation is perfectly fine in any other language?

      Hint: I'm not talking about the code merely running correctly...

    20. Re:Django by Anonymous Coward · · Score: 0

      Quite a few times I've seen sloppy or careless refactoring lead to code blocks not matching the indentation. It can lead to really hard to spot bugs. I can't remember ever having problems due to indentation in python...

      Ok, so if you mix tab/space you'll get an IndentationError, this is a feature.

      I understand it's not what you're used to, and thus you don't like it. That's perfectly ok (and a valid reason for not using it!), but has nothing to do with it being a good or bad choice for others.

    21. Re:Django by X3J11 · · Score: 1

      I find white-space denotion unintuitive and awkward at best. I also think it is a fallacy that it improves code formatting habits when compared to braces. It all comes down to the consistency of the individual programmer(s). Perhaps it is my code upbringing (mostly C and C-like languages) but I'll take my Whitesmith over anything else any day. To each their own.

    22. Re:Django by debrain · · Score: 1

      I've been using Django for a while now on my web app, having moved away from home-brewed PHP. Very easy to use, and encourages well-written and elegant code.

      Another neat framework similar to Django is Flask.

      Jinja2 is essentially a drop-in replacement for Django templates, and some consider Jinja2 to be superior.

    23. Re:Django by horza · · Score: 1

      I find Django the best environment. I use it for in-house projects. For clients I still use PHP as clients are reassured they can find plenty of coders to maintain/extend after I hand over. For templating I use TinyButStrong. If it's a basic site, I prefer to write a theme/plugin for Joomla/Drupal/Wordpress as then you don't have any worries about maintaining/upgrading the CMS and the client has a wide selection of plugins they can use for free.

      Phillip.

    24. Re:Django by lee1 · · Score: 2

      I guess that you know this, but for others reading: you need not use Django's template language, or any template language, to use Django. In fact, Python's string interpolation is so convenient that you can use that instead of a special-purpose template language.

    25. Re:Django by lee1 · · Score: 1

      But any decent editor lets you indent or unindent blocks as a whole, so it not really a problem. Especially because Python does not enforce a particular indentation, as long as you are consistent within blocks. You'd be fixing the indentation after refactoring in C, too; there's no more work in Python.

    26. Re:Django by GPLHost-Thomas · · Score: 1

      But any decent editor lets you indent or unindent blocks as a whole, so it not really a problem.

      It is, because there's no way to really SEE what's going on, you're just betting that it will be ok. Just saying that your editor can fix it is just wrong. An error in the indentation can cost really a lot of wasted time, and that is a big issue.

      But any decent editor lets you indent or unindent blocks as a whole, so it not really a problem. Especially because Python does not enforce a particular indentation, as long as you are consistent within blocks.

      The issue is the "as long as". When you work in teams, people have different coding habits, some using spaces, some using tabs. I know, they shouldn't, and in any given project, people should use the same standard. But that is the reality you always face. So this consistency is often not there, and often, you run into issues.

    27. Re:Django by Anonymous Coward · · Score: 0

      "beginners always miss it" - yep, right on. So get some experience already.

      "Using whitespace to denote code blocks is ridiculous at best"
      There is no way you can tell me that:

      getfile()
              {
              fil=`(zenity --file-selection --title=$task)`
              if [ $? != 0 ]
              then
                      exit
              fi
              key=`(zenity --entry --title "Password" --text "Enter password key")`
              if [ $? != 0 ]
              then
                      exit
              fi
              }

      is more difficult to read than:

      getfile()
              { fil=`(zenity --file-selection --title=$task)`
              if [ $? != 0 ] then exit fi
              key=`(zenity --entry --title "Password" --text "Enter password key")`
              if [ $? != 0 ] then exit fi ...........and that's not even Python...... and it is wrong.....

    28. Re:Django by Em+Adespoton · · Score: 1

      I personally think of it as a feature, it prevents you from blindly copy pasting code.

      Saying "copy/pasting" is totally missing the point. Most of the time, you'd be refactoring, so you'd be CUT/pasting, when moving things to a new function, which of course, require re-indenting. And that's when it becomes so annoying: you have to completely rework the indentation and make sure that you didn't miss even ONE space/tab. That's totally stupid and time consuming for no valid reason.

      This is completely true... if you write Python in notepad.

      Any programming editor worth its salt will adjust the indents for you automatically.
      Also, when refactoring, it's often a GOOD thing to have to review the code to ensure you didn't mess something up. If the code is so big that this is not doable, then maybe the refactoring is being done in a less than logical manner?

      I've stumbled across enough mishmash code mixing tabs and spaces from various people's additions, and always found that vim (as my editor of choice) and even IDLE and XCode would let me re-balance everything with minimal fuss.

      If you're going through manually replacing blocks of spaces with tabs or vice versa, you don't have a problem with the language, you have a problem with your use of your text editor.

    29. Re:Django by jjohnson · · Score: 1

      If you're doing a lot of copying and pasting code, you're doing it wrong.

      --
      Anyone who loves or hates any language, platform, or manufacturer, doesn't know what they're talking about.
    30. Re:Django by fliptout · · Score: 1

      Um, that's 'cause Django lets you use SQLite, Postgresql or Mysql. I use Postgresql.

      Yum on redhat didn't install mysql and all the dependencies satisfactorily?

      --
      A witty saying proves you are wittier than the next guy.
    31. Re:Django by ilsaloving · · Score: 1

      IIRC, it did *have* the necessary dependencies, however Django demanded a newer version of the mysql library (I can't remember which version it was now) which didn't exist in any packaged form anywhere, including the main RHEL repos, RPMForge, EPEL, etc. The only option was to compile that specific library from source.

      Django should never have demanded such a version of mysql library. Alternatively, the developer should have used an older version of Django which (presumably) did support the older library.

      The end result was a completely nightmare of a deployment that left a really bad taste in everyone's mouth. We'll probably never touch Django again.

    32. Re:Django by Anonymous Coward · · Score: 0

      Agree. Our website, admin site, backend tools were all developed in Django and we couldn't be happier. www.amantiart.com

    33. Re:Django by Caesar+Tjalbo · · Score: 1

      1) Yes.
      2) That's not the point. Marking a block of code is an abstraction, whether you use indention or curly braces doesn't really matter as long as the compiler/interpreter gets it. Don't use Python if it offends your fine taste, that's alright.

      --
      "I'm not much interested in interoperability. I want substitutability. I want to be able to throw your software out."
    34. Re:Django by Terrasque · · Score: 1

      By "the mysql library" I assume you mean the python mysql library?

      One of my previous comments about pip might have helped.

      At least it keeps the nonstandard mess in a seperate folder, instead of infecting the core server system :)

      --
      It's The Golden Rule: "He who has the gold makes the rules."
    35. Re:Django by ilsaloving · · Score: 1

      It may have helped, but it doesn't negate the point that Django shouldn't have demanded obscure versions of libraries in the first place.

      Ok, I think I found it.
      MySQL-python. Centos 5.4 (I think that was it...), included v1.2.1
      What did django demand? 1.2.1p2

      Which of course, at the time didn't exist anywhere in a packaged form.

    36. Re:Django by Terrasque · · Score: 1

      Seems a bit weird, but I did some digging, and it appear that versions before 1.2.1p2 weren't thread-safe. According to details at http://wolfram.kriesing.de/blog/index.php/2006/multithreading-with-mysqldb-and-weakrefs

      From here:

      If you are using the older version you will see
      bugs. There is no question about this. It's just dangerous in production
      environments. So we should be up front about it.

      You don't say which version of django you were trying to run, but apparently v0.96 (where the requirement bump happened) they added an option to still run with the old mysql backend, but it wouldn't be maintained in the future..

      https://docs.djangoproject.com/en/dev/releases/0.96/?from=olddocs#mysqldb-version-requirement

      While I do understand the change, I also understand the frustration of old packages (and various hacks to get newer versions installed). And in the python ecosystem things still happen rather fast. Which is why I've changed to use virtualenv and pip for my development and deployment, and that mostly take all the problems out of it. I have a system that's deployed to gentoo, debian stable and newest ubuntu release - before virtenv and pip it was a royal PITA to keep everything synced up. Now I can more or less deploy it effortlessly on just about any unix. I haven't tried on windows, but most of it should be working there, too.

      But generally, making a large python / django app these days without either pip+virtualenv or buildout (or equivalent) is just irresponsible. Both makes it incredibly easy to reproduce an exact python environment, and makes both testing and deploying much, much easier (often, its a 1-2 command deploy, instead of 1-2 days deploy + debug all the different versions)

      Anyway.. Sorry to hear of your problems, and I'm a bit sad to see it being necessary.. But there was a reason for it, and there are tools to make it much easier on the sysadmin (lovely feeling knowing that all that crazy stuff is contained in one user directory, and does not touch anything system-wide). And also, next time someone mentions django, maybe you won't dismiss it out of hand :)

      --
      It's The Golden Rule: "He who has the gold makes the rules."
    37. Re:Django by ilsaloving · · Score: 1

      Thanks for the info! I hope someone else notices this post and mods it up. It would have been outstandingly useful to me a year or so ago. ;)

  5. PHP is an ugly programming language by YEPHENAS · · Score: 2

    PHP is an ugly programming language. Just look at a comparison with some other languages to get a feel for its ugliness: http://hyperpolyglot.org/scripting

    1. Re:PHP is an ugly programming language by ErGalvao · · Score: 0

      "An ugly programming language"? PHP syntatically follows the same style as Perl and C, so you're basically saying all three are ugly? Or maybe you're saying that only about PHP because it makes you look so cool? Seriously now, if you wanna criticize a programming language do so by using technical arguments, this is not a beauty pageant.

      --
      Er Galvão Abbott - IT Consultant and Developer
    2. Re:PHP is an ugly programming language by Anonymous Coward · · Score: 0

      Exactly how would this matter in any way? This kind of comment always come from the comp sci nerds who never did any programming themselves, and always failing with getting anything done, because they're too busy being know-it-alls and making pointless remarks about petty awkward details in this and that piece of software.

      Just imagine if you will, a carpenter who would refuse, or as in your case, being incapable of working or completing a task because he didn't have have his favorite hammer available, or being supplied the wrong color toolbox. Yeah, exactly.

    3. Re:PHP is an ugly programming language by Anonymous Coward · · Score: 3, Insightful

      Perhaps a better word is 'inelegant'. A massive global name space, inconsistent function names and argument order, tacked on object model, crappy exception handling.

      There's almost nothing that php does better than other modern scripting languages.

    4. Re:PHP is an ugly programming language by Sneeka2 · · Score: 4, Informative

      There's almost nothing that php does better than other modern scripting languages.

      Very true; but it's ubiquitous, very easy to get into and has great documentation. Choose your evil.

      --
      Bitten Apples are still better than dirty Windows...
    5. Re:PHP is an ugly programming language by YEPHENAS · · Score: 1

      "An ugly programming language"? PHP syntatically follows the same style as Perl and C, so you're basically saying all three are ugly?

      I honestly think that Perl and C++ are ugly. And C to some extent, too.

    6. Re:PHP is an ugly programming language by Anonymous Coward · · Score: 0

      What do you mean by ugly? It is as ugly as the other languages (sometimes it is the same thing).

      I mean, why people hate PHP in such a blind manner?

    7. Re:PHP is an ugly programming language by Xugumad · · Score: 1

      > PHP syntatically follows the same style as Perl and C

      Yes, but writing web applications in C is fairly much a guaranteed sign of madness (prior or soon to be).

    8. Re:PHP is an ugly programming language by Dhalka226 · · Score: 3, Insightful

      I don't think that evaluating the elegance of the code is entirely unreasonable. If nothing else, it aids maintainability, particularly as the original developers of projects move on and new people have to get up to speed with the code base.

      However, it should not be a primary concern. Those would probably be performance/scalability and speed of development, the order of which varies person to person and project to project.

      To the OP: PHP is a fine language overall. It is not particularly elegant, but it does scale pretty well compared to alternatives and it also is easy to get started with, and has very good documentation. The most frustrating part of it is probably that there are some annoying internal inconsistencies. The one that always ends up getting to me is stristr( $haystack, $needle ) for checking if one string is contained in another versus in_array( $needle, $haystack ) for checking if an element is contained in an array. The argument reversal is just frustrating.

      So far as PHP frameworks, the one I have used the most is CodeIgniter. It is not bad, neither in features nor in learning curve, and it is reasonably fast. I have also heard some good things about Yii, but do not have personal experience with it.

      I personally really enjoy Ruby and Ruby on Rails as language/framework, but I can not deny that there are scalability issues sooner than with PHP, and it is also harder to find cheap web hosts that support it well if that is a factor. It is a beautiful language though, and you can get a basic website up and running at lightning speed. In my experience it is also a very hot language with good job prospects if that is a goal. Some people worry about using it for their projects because of the comparably small number of developers for it, but those that do typically pay quite well.

      Bottom line: If the only reason you are not using PHP is other peoples' disdain, screw them. It is a fine choice. If you want somebody else to pick the best choice for you and your project, we can not do it; we lack the information, if nothing else, and all you will get is a bunch of replies about peoples' pet frameworks. You seem to like PHP, so go with that. Google "best PHP frameworks" and I am sure you will turn up a chart somewhere comparing a bunch of them for you and you can make the choice from there. All I would really concern myself with is a nice bit of database abstraction (so that it can handle SQL injection issues for you) and performance; the rest is choice or gravy on top. I personally prefer ones that do not have a specific template language and instead just allow me to continue to use PHP in my views. I do not see the advantage of learning yet another "language" and abstracting further away from the code that is ultimately going to be run, but if you do that is your choice.

    9. Re:PHP is an ugly programming language by mikael_j · · Score: 1

      Lexical scope. PHP needs it desperately.

      <?php
      if(true) {
      $mycar = "volvo";
      }
      echo $mycar; // Disturbingly enough, this prints "volvo", causes all sorts of interesting quirky behavior if you forget about it...
      ?>

      --
      Greylisting is to SMTP as NAT is to IPv4
    10. Re:PHP is an ugly programming language by Anonymous Coward · · Score: 0

      Yes there is: it executes fast - faster than Perl, faster than Python, faster than Ruby. Not sure why I even bothered mentioning the last two senior citizens. Performance matters, always, and if you can't get your job done in PHP there's something wrong with you as a programmer, not the language. Period.

    11. Re:PHP is an ugly programming language by next_ghost · · Score: 1

      In this case, the ugliness isn't about syntax but about how much spaghetti code the language will eat before it barfs. Perl and C both force you to write much better code than PHP does.

    12. Re:PHP is an ugly programming language by Galestar · · Score: 1

      So does .Net. PHP has absolutely no advantages.

      --
      AccountKiller
    13. Re:PHP is an ugly programming language by jakuaii · · Score: 1

      stristr( $haystack, $needle ) for checking if one string is contained in another versus in_array( $needle, $haystack )

      Netbeans, PHP support, Alt+Space. Problem solved :)

      Generally, PHP all the way for me, without web frameworks or anything. Some things that I find helpful in PHP:

      • Heavily use the object-oriented features (e.g. use classes with static methods for lexical scoping).
      • Liberally add comments in the source code (makes the Netbeans autocompletion/help work nicely).
      • Make one central database access library in your project (based on PDO), and use that library throughout your project.
      • Define central configuration in a config.php file.
      • Separate presentation-oriented PHP files (to be treated as "templates") and back-end (which have a starting php tag at the beginning, and no ending tag throughout the file).
      • Use AJAJ (with JSON) if needed. Both PHP and Javascript can do it natively, and it's faster and much simpler than XML.
      • Consider REST-style interfaces if your project is big.
      • Use sane parameter semantics: POST parameters in forms, GET parameters only very rarely.
      • Use the PHP session to store context.
      • Do not trust user input; check string lengths, options, and run all inputs through regexes to validate the allowed characters. Put this string/number/option checking code into a separate backend library, and use that everywhere else.
    14. Re:PHP is an ugly programming language by shutdown+-p+now · · Score: 1

      If you keep choosing the evil you know, you'll never discover the good that you don't.

      Next time you want to donate something, consider buying a Python or Ruby book for any PHP guy that you know. You might just save one lost soul from the hell that he got so used to he can't even imagine what heaven is like.

  6. PHP & Python by truthsearch · · Score: 4, Informative

    I use PHP for 90% of my work because it's the right tool for the job. We can also bring other developers up to speed on our own framework and projects pretty fast.

    There are times when Python is a better fit. The fact that it remains running across page loads can be very handy (as opposed to every request to PHP being completely distinct, which has its own advantages). A continuously running app is often better for backend processing, especially when interacting with third party systems.

    1. Re:PHP & Python by cicatrix1 · · Score: 1

      PHP can run like that, too, via FastCGI. Check out php-fpm.

      --

      I know more than you drink.
  7. ASP.NET Is Bloated by Anonymous Coward · · Score: 1

    ASP.NET is bloated--it's only good for web applications where you aren't concerned with the user experience. The downside of using it's existing libraries is that a simple task becomes thousands of lines of JavaScript. PHP is much simpler for your every-day dynamic site, and you'll have a better experience working with hosting providers (not to mention plans that typically cost less).

    1. Re:ASP.NET Is Bloated by Canazza · · Score: 1

      only if you use ViewState. if you use something like MVC then you cut out a shittonne of JS.

      --
      It pays to be obvious, especially if you have a reputation for being subtle.
    2. Re:ASP.NET Is Bloated by ancientt · · Score: 2

      I second the AC, you can use pretty much anything as long as you're good at it, but not ASP.NET. Every implementation I've seen has fared poorly when compared to similar projects done on other platforms. I can't really say why, after all it *seems* like it should do well and developers seem happy at first, but after a couple years, every one seems to falter and either start suffering performance wise (bloat? rot?) or climbing maintenance costs. It shouldn't be that way of course, but that seems to be the common trend.

      PHP is fine if you enjoy working with it and can keep it up to date, particularly if you have a framework you like to use it with... to a point. If you expect the code to be maintained by a team of people in the future, and need the best possible performance you can squeeze out of it, then you might want to look at something else. It is nearly always easier and cheaper to buy more hardware than it is to rebuild code, but sometimes foresight before the project can give you better bang for the buck down the road.

      From a developer standpoint, I've had really good luck with my own PHP. Years after it was written, I've been able to go back in and do maintenance with little effort. Mostly that's because my programming tendencies tend to be pretty static (stagnant?) and I do comment. Facebook is running on PHP and Wikipedia is running on PHP, so there is no question that it *can* handle the big jobs, just a lot of questions as to whether it is best suited or not.

      The same can be said for Perl. If you can handle maintaining it well, and you're good at it, you can work with Perl for years and years and get good performance from it. It runs /. after all, so it can handle a pretty serious load and scale if it really needs to. It has much the same issues as PHP, it *can* but is it *best* is the question.

      By far the best web experiences I've had from the consumer side were compiled code. C, C++, C#, Go, Visual Basic, or whatever floats your boat as long as you're good at it and can manage the support for it. Yet, the difference in performance isn't all that great, so I still do recommend Java or Python. I don't particularly love using either one, but both perform well and seem to be enterprise capable, in fact, I really recommend looking at AppEngine if you can stomach it because it will give you a good testing platform and huge scalability later if you need it.

      --
      B) Eliminate all the stupid users. This is frowned upon by society.
    3. Re:ASP.NET Is Bloated by dreemernj · · Score: 1

      it's only good for web applications where you aren't concerned with the user experience

      I have to disagree because I really like the user experience on Stack Overflow. I value one concrete success over many anecdotal failures.

      --
      1 (short ton / firkin) = 89.1432354 slugs / keg
    4. Re:ASP.NET Is Bloated by datavirtue · · Score: 1

      Microsoft platforms are not even a consideration. I should have specified open source I guess.

      --
      I object to power without constructive purpose. --Spock
  8. Catalyst? by kurisuto · · Score: 1

    What do you guys think of Catalyst these days? Does Catalyst still have enough support behind it to make it worth my while to sit down and really learn Catalyst?

    This is assuming that I already know Perl well, and that I'm also not interested in switching to another language at the present time.

    1. Re:Catalyst? by oneandoneis2 · · Score: 3, Informative

      Yes, it's still very actively developed. Especially if you throw in Moose and Plack.

      --
      So.. it has come to this
    2. Re:Catalyst? by tknd · · Score: 1

      I recommend using Dancer. It is much newer but borrows/learns from many of the mistakes in Catalyst and other language's frameworks. It has fewer dependencies and will more likely install correctly. It is also PSGI/Plack ready. It is also designed to be more configurable so you can easily switch the templating system via a config file.

    3. Re:Catalyst? by Lazy+Jones · · Score: 1

      Catalyst seems to be the framework everyone "ought to know" and recommends, but very few people actually seem to use it successfully for complex projects (as opposed to e.g. Mason). Its main drawback for me is that I hate reading through 1000s of lines of generated code. Frameworks should hide complexity, not autogenerate it and throw it into your face. If I were to choose something new (over plain mod_perl2), I'd look at Mojolicious::Lite or Mason 2 and I'd definetely use Plack/PSGI. The main lesson I learnt over the past 15 years (and several 100.000 loc) of web development in Perl is that while Perl gives you quick results with very little effort, some of the effort it spares you, you will miss soon after because it would have prevented ugly bugs. Also, its Unicode support is (still) terrible.

      --
      "I love my job, but I hate talking to people like you" (Freddie Mercury)
    4. Re:Catalyst? by Anonymous Coward · · Score: 0

      Check out http://mojolicio.us/

    5. Re:Catalyst? by kurisuto · · Score: 1

      How does the size of the user base of Dancer compare to that of Catalyst? How do the growth curves compare? Are these things known?

      Having a larger support community is one factor I need to consider, partly because it's easier to get help when I need it, and partly because a more widely-used framework is likely to continue to be supported over time. The inherent technical superiority is, of course, another factor to consider.

    6. Re:Catalyst? by chromatic · · Score: 1

      What are you doing that Catalyst has generated thousands of lines of code for you to read?

      What have you found that handles Unicode better?

  9. J2EE by bfandreas · · Score: 2

    It does have its flaws but there are a plethora of Java based frameworks out there.
    The sheer amount of options you get at zero cost(some of it actually Free) and the quality of API documentation is simply astounding.

    --
    20 minutes into the future
    1. Re:J2EE by Anonymous Coward · · Score: 1

      The API documentation of JEE is like an Ikea assembly manual. At first it all neatly plays along, but then you always end up cursing and swearing.

    2. Re:J2EE by Khazunga · · Score: 2

      The J2EE model of web app execution is fundamentally flawed. The logic of keeping one instance of the app alive for each user steers you towards hitting a very fast bottleneck on memory usage. Yes, the model has been adapted, with state serialization and essentially paging out the app when the user is not executing requests, but the root problem is there, and it still shows: It's very very hard to serve a few thousand simultaneous logins.

      --
      If at first you don't succeed, skydiving is not for you
    3. Re:J2EE by Anonymous Coward · · Score: 0

      Score: -1, Completely Uninformed?

      Nothing about J2EE forces a "memory bottleneck" - only idiot developers that stick everything under the sun in a user session (which, incidentally, is possible in PHP and every other web development language as well.)

      I used to do PHP work. The language itself is fundamentally flawed. (Java is as well, but its warts are not nearly as big as PHP's - I'd rather deal with the idiosyncrasies of type erasure/generics than the godawful half-assed reference semantics in PHP any day.)

      If you want to build reliable, maintainable web applications, go with a decent language and a framework that allows for easy and convenient unit testing (read: uses some sort of IoC pattern and testing with mock objects), along with real MVC separation:

      Java/Hibernate/Spring, Unitils/EasyMock
      Groovy/GORM/Grails
      Python/Django

      The slide down the slippery slope into unmaintainability is far, far easier in PHP than it will be with any of the aforementioned software.

    4. Re:J2EE by bfandreas · · Score: 1

      Java/Hibernate/JSP Java/Hibernate/JSF Although Hibernate is tricky to get right. Especially if you only need an ORM.
      Annotations and Generics made life in Java so much easier.
      ASP.NET is a might fine thing too but if you also want to use it professionally then you will have to pay for each hammer, screw and nail all along the way. I can't speak for the US but in Germany it is very tough to find a big customer who actually allows for IIS. Most of them have been carpetd bombed from space with Oracle licenses. WebLogic. Hate it or despise it when all you need is a small web application. This definitely rules out ASP.NET. Those who haven't been carpet bombed with Oracle licenses tend to run on Linux. But that's just the subset of customer I have here. Server-side Microsoft is a non-event.
      Client-side Microsoft is a given and there .NET(using WPF) might be the better choice. .NET is not a bad platform. But you have to pay for libs you'd simply download from Apache when you are using Java.

      --
      20 minutes into the future
    5. Re:J2EE by maple_shaft · · Score: 1

      I wish I had mod points to mod this up. Everything about going with Java/Hibernate/Spring/Easy Mock (or Mockito) lends itself towards steering developers to writing scalable, loosely coupled, highly cohesive, unit tested applications. With that being said, you can lead a horse to water... The fundamental problem with PHP is that it is TOO EASY to get started, so right off the bat you are encouraged to develop for immediate gratfication and not for scalability or maintainability. Also this attracts a subset of developers who suck at writing quality software, the mouthbreathers that hurr-durr when you ask them about using mocking in their unit tests on an interview. There are smart PHP developers out there who do things right, but the bad ones give them an unfortunate prejudicial repuation that can be hard to shake.

    6. Re:J2EE by Slashdot+Parent · · Score: 1

      I've done a lot of work with J2EE, and I disagree with your suggestion. With a background in only PHP, this guy is going to have a huge learning curve. He'll have to learn Java, Object Oriented principles, the JDK, various Apache libraries, and that's before even getting started with the J2EE framework. Sooooo not worth it.

      All he wants to do is make a frickin' website. He could probably hack something together in PHP in a few hours or a few days at most.

      --
      They don't grade fathers, but if your daughter's a stripper, you fucked up. --Chris Rock
    7. Re:J2EE by bfandreas · · Score: 1

      You do not have to go full monty on your first outing.
      I usually take a good long look at the job and may opt for a simple JSP/JDBC solution if it is applicable. And that's where you start. There is so much you could do wrong with JSF/Hibernate it's not funny anymore. But thing is, this is true for many fully fledged development platforms. If I had a pizza for each Swing application that did IO and heavy computation in the render thread and users complaining about Java being funky, I'd be a very fat man.
      The good thing about Java in general is documentation. Javadoc is one of the best API documentation formats on this planet. All OOP best practices apply. The sheer free and Free tool set is beyond belief. Also I think the Collections framework is a piece of art.

      Pity tho, that Oracle won't fully let us in on its plans for Java/Glassfish and the lot. That's the only reason I feel uncomfortable with it. I'm also not sure about the relationship of Apache and Oracle. Apache is so important to Java and if they decide they are out then we will have a dying platform on our hands. If that relationship turns even more sour then it's a sign for me to give up on it.
      OTOH Bastion was implemented in .NET. Then again IL-2 Sturmovik used Java for some bits I couldn't just quite figure out.

      Those are IMHO two very good platforms but Java is the more flexible one. I don't think this is a bad advice. At all.

      --
      20 minutes into the future
    8. Re:J2EE by Slashdot+Parent · · Score: 3, Informative

      We're going to have to agree to disagree on this one, then. I completely agree with all of your points on Java and J2EE being a great platform and community, and I share your concerns about Oracle. But think about the sheer quantity of learning you're asking this PHP guy to bite off, recognizing that his project is probably, at most, something he could hack together in about 20 hours, tops, if he used PHP.

      If you look closely, I think you'll see that you're making my point for me. You say that an inexperienced developer could mess things up quite righteously using JSF/Hibernate, and I agree with you. But then you suggest that he use JSP/JDBC? And this is an improvement over Pear/PHP, how? I vomited enough vomit over JSP/JDBC code between 1999-2001 to know that JSP/JDBC is not the correct solution to any problem. In order for the OP to be effective in any Java-based web framework (J2EE, Spring, whateverYourFavoriteMightBeThisWeek), he's in for hundreds of hours of work, assuming he doesn't first give up in frustration.

      After considering the matter, I'd advise OP to do his web app in one of the many PHP MVC frameworks. Cake or Symfony would be great choices. That way, he can begin to educate himself on good web design principles using a language that he's already familiar with. Good design principles are always more important than choice of language, anyway.

      --
      They don't grade fathers, but if your daughter's a stripper, you fucked up. --Chris Rock
    9. Re:J2EE by datavirtue · · Score: 1

      I also should have mentioned that I'm relegated to shared hosting at the moment which means I can't run Java applications. Wish I could.

      --
      I object to power without constructive purpose. --Spock
    10. Re:J2EE by CynicTheHedgehog · · Score: 2

      In most JEE apps I've dealt with the only think kept alive is HTTP session state. Using a framework like Seam, a session- or conversation-scope component can be instantiated, have the session state applied, have its dependencies injected, process the request, and then be disposed of (although typically object pools are used to avoid the overhead of instantiation).

      (Granted, vanilla JSF is prone to session-scoped managed bean proliferation/abuse. I personally have never managed to get very far with plain JSF before inventing some sort of conversation scope. The view model and its state can get rather large and tends to pollute user sessions, but that can be stored on the client side.)

      In the rare case where a stateful session bean is needed (hardly ever) a similar thing happens with passivation and activation. But more importantly, stateful session beans are released at the end of a conversation/unit of work and are most certainly not kept alive for the duration of the users session.

      Memory was never really an issue for us (except maybe permgen space due to Hibernate proxies). The problems I've had dealt with resource contention in the DB due to JEEs rather aggressive transaction management defaults and distributed transactions. PHP et. al. avoid such issues by leaving transactions entirely in the hands of the user and RBDMS providers.

      If you're writing an application (data model, web services, etc.) then JEE is a good choice. If you're writing what is essentially a group of pages with some dynamic bits, then PHP, Python, etc. is probably a better choice.

    11. Re:J2EE by maple_shaft · · Score: 1

      A quick Google search turned up two such shared Tomcat hosting providers with full MySQL backend databases. http://javaservlethosting.com/index.jsh http://www.hostjava.net/ With Tomcat 6 I can run the latest versions of JSF, Spring, and Hibernate (which can be configured for MySQL easily). It is reasonably cheap too, not quite as cheap as a PHP hosting provider, but still affordable, and much cheaper than leasing a VPS.

    12. Re:J2EE by Anonymous Coward · · Score: 0

      Developing web applications with java has been the pain in my ass for almost 10 years now. Even the simplest thing is so complicated that it feels like trying to scratch your head with a robotic arm designed to do the ultimate complicated thing in the entire universe but after all it is your head and all you need is a simple hand.

    13. Re:J2EE by Anonymous Coward · · Score: 0

      Nonsense--there's a difference between data and executable code. Any J2EE app that keeps "one instance of the app alive for each user" has to have been written that way, intentionally or not.

      J2EE keeps session data for each user to preserve state between requests, but the instantiation of objects is under the control of the programmer. One copy of the executable (byte code) of each class is kept in the JVM, and multiple threads run against the same copy by maintaining separate instruction pointers. When a class is multiply instantiated, the JVM contains one copy of the class's executable code, a copy of the object properties for each instance, and copies of method-scoped data for each method invocation in the pertinent stack frame. There's no hidden redundancy.

      Certainly J2EE programmers run into bottlenecks as the number of users increases. This is generally because newbies ignore prudent scoping practices and throw the entire data model and every execution variable into session scope and never clean it up (session.removeAttribute) or kill it (session.invalidate) on logoff. Poorly written Java methods that run slowly and tie up their hosting threads either by unnecessary groveling or by waiting on external dependencies are also a leading cause of bottlenecks in J2EE.

      A well-written J2EE app with rational session usage, running in a JVM with decent thread and memory allocation is extremely scalable, as I have proven on numerous large J2EE apps for government and industry. And if you really need to serve more users than your app can handle in one JVM, there's always horizontal scaling by addition of servers, load balancing, even full clustering if you're got internal memory and bandwidth to burn. Just try that with your favorite toy language.

    14. Re:J2EE by WuphonsReach · · Score: 1

      Being that I'm slowly getting into Java/Spring (along with Roo, Maven, Eclipse, Hibernate and either Spring Security or Shiro), I know that pain.

      The biggest problem in Java land for a new player is that there are a zillion choices, a zillion different project names, and it's very hard to figure out how things fit together. Which server do I use? Which application server goes with that? How do I link Apache to Tomcat? Do I need Websphere or Geronimo or something else? Spring? Grails? Something else? What's a JPA? Do I need to learn JSFs? Where do the JSPs get stored? The alphabet soup is very overwhelming in J2EE land.

      Things definitely clicked a lot faster once I got SpringSource's STS installed and figured out Spring Roo. But I'm about 2 months in to a lot of book reading, a lot of online tutorial videos and trying to learn the intricacies of Eclipse and Subclipse.

      --
      Wolde you bothe eate your cake, and have your cake?
    15. Re:J2EE by bfandreas · · Score: 1

      I wasn't aware Tomcat could now run JSF. Is this true? Tomcat has been irrelevant to me for the last 8 or so years. Back then it was only a servlet container with a funky database connection pool.

      --
      20 minutes into the future
    16. Re:J2EE by maple_shaft · · Score: 1

      I wasn't aware Tomcat could now run JSF. Is this true? Tomcat has been irrelevant to me for the last 8 or so years. Back then it was only a servlet container with a funky database connection pool.

      Totally true, it just doesn't run it out of box. You need to include the jars and dependency jars in your WEB-INF/libs. In fact the beauty of Tomcat in my opinion is that the default install is so Vanilla, that as an application developer I know to include everything I need and it will consistently run the same and look the same. Other application servers like JBoss, WebLogic, and Glassfish that come prebundled with a number of frameworks and tools can look and act slightly different for the same web application.

      Further still, I included Quartz, which is a Java library for running cron jobs on a servlet container. Utilizing Quartz in my web application means that I do not even need more advanced Java EE functionality that are typically the domain of the enterprise application servers.

  10. PHP is not great by Anonymous Coward · · Score: 0

    PHP is quick and dirty (not to mention easy - but in a bad way), but it has scaling issues. Frameworks are nice and all, but in the end it's still a hodgepodge of code spaghetti. Personally, I prefer Django with Python because of the built-in ORM, security features (i.e. CSRF protection), modularity, a "true" built-in templating engine plus native OOP w/MVC design coupled with the power (and conciseness) of Python. Scalability is also easier because Django "out of the box" supports Memcached, CDN's, tiered architectures, multiple database types, etc.

    1. Re:PHP is not great by datavirtue · · Score: 1

      Thanks. Looking at CodeIgnitor and how "easy" it is there is definitely scaling issues at play with PHP. Hell, I think there are scaling issues with web apps period. Maybe this is more of a problem because I'm not on a VPS or dedicated server so I can't just fire up tomcat and sidestep trying to build apps with PHP. I like PHP, it is great when you don't want to setup an application server and deal with all that, but for long term projects it is probably much better to use a more enterprisey setup. I can see FB having issues now that I understand these situations better. They can throw hardware at the problem and divide the work among as many people as they need to solve the problem for now.

      --
      I object to power without constructive purpose. --Spock
  11. Every language sucks by mveloso · · Score: 4, Funny

    Use the language of Money and buy someone to build it for you. Problem solved!

    1. Re:Every language sucks by datavirtue · · Score: 1

      Then I wouldn't learn anything which is unacceptable.

      --
      I object to power without constructive purpose. --Spock
  12. BASIC, of course! by tomknight · · Score: 3, Informative

    ... well, not really. But there is such a thing for the web: http://www.runbasic.com/

    --
    Oh arse
    1. Re:BASIC, of course! by datavirtue · · Score: 1

      Oddly enough, PHP feels like BASIC to me in that it is extremely easy to get started and inadvertently build unscalable mounds of cruft.

      --
      I object to power without constructive purpose. --Spock
  13. why to hate php by cthlptlk · · Score: 1

    First, let me commend the original poster on an irresistible troll.

    "I'm not a real programmer. I throw together things until it works then I move on. The real programmers will say 'Yeah it works but you're leaking memory everywhere. Perhaps we should fix that.' I’ll just restart Apache every 10 requests." --Rasmus Lerdorf, the Original php guy

    1. Re:why to hate php by datavirtue · · Score: 1

      Are you new here? It isn't a troll. I seriously thought I could get to the heart of the best wisdom and gain the knowledge of ideal solutions by asking my favorite community. It worked! You have to "frame your questions in the form of a troll" (TM) to get your submissions posted on Slashdot. I do not know to what end the quoted material was directed but I hope you weren't trying to suggest I'm not a "real programmer." Hey wait! Your'e a troll! Crap!

      --
      I object to power without constructive purpose. --Spock
  14. Wt by paugq · · Score: 5, Interesting

    Wt is the best one I have tried. I use the C++ version, although there is also a Java version (JWt).

    What makes Wt unique is its approach: widgets. You develop web applications like you were developing desktop applications. Also, the API is Qt-like (but using Boost).

    I gave up on Rails after I used Wt.

    Want a virtualization console? Take Wt, libvirt and an HTML5 VNC client and you are done.

    Need Active Directory authentication? Wt, Samba (or Windows APIs if you are on Windows), done.

    Streaming? Wt, ffmpeg libraries, done.

    Forgetting about bindings and being able to use the millions of C/C++ libraries out there was a huge relief.

    Also, size: Rails, Django (and even PHP) just do not fit in an embedded environment. Wt does.

    1. Re:Wt by vlm · · Score: 1

      Also, size: Rails, Django (and even PHP) just do not fit in an embedded environment. Wt does.

      Last time I used witty, years ago, it was very thirsty for memory... has that changed?

      It does embed smaller than Rails, that is for certain. But perl is/was a whole order of magnitude (or more) smaller.

      --
      "Science flies us to the moon. Religion flies us into buildings." - Victor Stenger
    2. Re:Wt by paugq · · Score: 1

      Are you sure you are not confusing Wt with something else? Wt works with 2 MB of RAM.

      http://redmine.webtoolkit.eu/projects/wt/wiki/Wt_embedded

    3. Re:Wt by Anonymous Coward · · Score: 0

      RAM per session is what is interesting. And Wt needs to keep a session alive at all times.

    4. Re:Wt by Anonymous Coward · · Score: 0

      Agreed! One of the strengths of Wt is that it is easy to integrate with other C++ and C tools. I've used it with libharu for Web PDF creation apps, for instance. You have control over pretty much everything you need, it's trivial to get a basic server running, and widgets are pretty easy to hack on. (I had to modify the file upload one (since improved in Wt) to meet my needs, it was easy!)

    5. Re:Wt by Anonymous Coward · · Score: 0

      Also, size: Rails, Django (and even PHP) just do not fit in an embedded environment. Wt does.

      Sorry to say it, but if any part of your decision on which web framework to use is "can I use this on an embedded device", you're not thinking in the mindset of 95% of web development out there.

  15. Zend + HTML + jQuery by konmpar · · Score: 1

    Zend is a php-framework ready to do almost anything. It has a very active community which updates very often the code. Very easy to learn it although the documentation is lacking a lot of things.

    Along with some html/css/javascript tricks you can do a lot of amazing things that they are not allready exists in the wild.

    --
    //LIFE WOULD BE EASIER IF I HAD THE SOURCE CODE!
    1. Re:Zend + HTML + jQuery by Anonymous Coward · · Score: 0

      Embarcadero's RadPHP XE2 is an excellent IDE that uses Zend ... http://www.embarcadero.com/products/radphp

  16. mod_perl by Anonymous Coward · · Score: 0

    Only thing worth using is based on mod_perl

    Just template toolkit should be ok

    or you can use a framework like catalyst

    (If it is good enough for Slashdot likely good enough for you).

  17. Go C++ with Witty! by scorp1us · · Score: 4, Interesting

    Wt ("witty") is a C++ toolkit that is modeled after Qt. It uses boost and STL, but you get to use familiar Qt concepts - signals & slots, Model view, etc. Basically think of Qt-based web pages. It fully supports AJAX and can handle the data server-side or on the client. It also has a C++ -> JS converter so you can just make a function for conversion to JS and have it exec on the client. Of course it runs as a module, or it comes with its own server. It fully supports CSS, DOM, etc.

    I reall like this approach because my two complaints of PHP:
    1. It is unstructured
    2. it is ugly (both syntax, and having code embedded in pages)
    are alleviated.
    1. C++ object orientation encourages a structured approach.
    2. The "it's 100% C++" ensures that you focus less on the presentation in PHP and just on the application logic. This helps encourage a model-view-controller approach. While you might have to write CSS, you will never have to write HTML and you won't ever have to mix the two in a CPP file.

    Another reason is speed. Everything is compiled and runs natively, or compiled to JS and moved to the client.
    Yet another reason is security. Wt has several protections built in. See the features link below.

    If you're looking to do web pages entirely differently, this is it.

    Additional features list

    --
    Slashdot's rate-of-post filter: Preventing you from posting too many great ideas at once.
    1. Re:Go C++ with Witty! by vlm · · Score: 1

      Three comments about witty:

      1) GPL for open source redistribution, you pay up quite a bit if you want to sell without releasing source. Obviously not an issue for internal-only apps, or open source apps (duh). If you thought you'd develop and sell a closed source app under a BSD license using witty, its not that simple, gotta pay to license witty first. AFAIK its GPL not LGPL unless they recently changed it.

      2) Packaged for Debian "apt-cache show witty" "apt-get install witty" etc. So installation and long term upgrading is not an issue, rolls out as easy as rails.

      3) You'll find that less than 1 in 10K web devs understand C++ so ... I think scorp1us and I might be the only /.ers to have ever used witty? I don't currently use witty (long irrelevant story) so I can provide no advice other than it worked and it was pretty cool when I tried it some years ago. Nice to see its still going. I wish there was a cross platform library that spoke both AJAX etc like witty AND rendered natively to kde, wx, something like that, so I could write an app and compile it for either web or native. As far as I know this does not exist other than crazy hacks (like running a webserver on the loopback interface, accessing via browser, and pretending that's "native"). Maybe thats been added to witty in recent years, I can't be bothered to read all the docs to find out.

      --
      "Science flies us to the moon. Religion flies us into buildings." - Victor Stenger
    2. Re:Go C++ with Witty! by scorp1us · · Score: 1

      Two comments to your 3 comments.
      1. Most websites are not "distributed"
      --skipping 2--
      3. I have been working on this (Wt/Qt hybrid) on my own and I call it Ct, or Cutie. It exists as a cutie.h file and some modification to the Qt MOC that will take the UI file you define and it will substitute the Wt includes and classes. It works! However there is a problem in that the ideal here would be a single file that you can just throw a compiler flag and switch between the Qt and Wt version. I've been working on this and it just does not work well, mostly because Qt has a "QWidget" which is both drawn and a container, and the Web does not have anything like that. (In theory you might be able to use Qt's Lighthouse feature (just released in 4.8) to produce a HTML5 canvas for the application surface). I think I can over come that. But the other challenge is that Wt uses boost and STL and Qt uses its own boost-like features and containers. This to me means Wt should be implemented in Qt (using only core, network, sql modules) However such an effort is beyond myself at this time. The resulting work could be LGPLd as it would be based off Qt.

      --
      Slashdot's rate-of-post filter: Preventing you from posting too many great ideas at once.
    3. Re:Go C++ with Witty! by paugq · · Score: 1

      I think scorp1us and I might be the only /.ers to have ever used witty?

      I too use Wt (I'm the Debian packager)

    4. Re:Go C++ with Witty! by Anonymous Coward · · Score: 0

      I've used Wt! Have had great experiences with it-- really nice library, I wish more frameworks were like it. Throw something like ZeroC Ice on the back-end of your app, and you've got cloud computing. Sweet! I've found it to be nice, even though I usually find GUI programming of any sort-- and Web-flavored things in general-- pretty tedious.

  18. it's the apps, stupid by Anonymous Coward · · Score: 0

    The programming language itself is pretty irrelevant. You won't find huge differences between the popular choices. What will make a much bigger difference is the platform. I ran my website with Drupal (PHP, drupal.org) for years. When it came time to move to a new platform, I chose WordPress (PHP, wordpress.org). The fact that WordPress is also based on PHP was of secondary importance. I wanted the biggest community and the biggest selection of prebuilt components to save time.

    1. Re:it's the apps, stupid by Sneeka2 · · Score: 1

      I really don't get why people refer to Wordpress as a "platform". It's a blogging system for crying out loud. If the app you're building is very close to a blog, yes, it makes sense to customize Wordpress. Even if the core of your system is very CMSish, Wordpress may be a decent choice since its admin interface is quite extensive and ready to go. But don't refer to Wordpress as a "platform" for any other purpose, please.

      --
      Bitten Apples are still better than dirty Windows...
    2. Re:it's the apps, stupid by cshark · · Score: 1

      Why not? It's as much a platform as Drupal is. It's flexible, easy to extend, with a full service api (which is actually more evolved than other frameworks) and the admin control panel is built for you. Wordpress does things out of the box that even Drupal 7 is lacking in terms of standard functionality, and it's not prone to the same kind of bloat the Drupal is (in my experience). Granted, there are things all wordpress developers seem to do that are totally unnecessary, and facilitate poor programming practices. I think the templating system in Wordpress as most people implement it is terrible. That said, it's pretty powerful, and mostly secure if you do it right. I think it qualifies as a platform for those reasons.

      --

      This signature has Super Cow Powers

    3. Re:it's the apps, stupid by Anonymous Coward · · Score: 0

      and it's not prone to the same kind of bloat the Drupal is (in my experience

      Which bloat? The derpy developers enabling four thousand contrib modules thinking it will have no effect on performance bloat? Or the all-but-mandatory requirement of a reverse proxy cache and external database caching just to get decent performance regardless?

  19. php is fine but.. by Anonymous Coward · · Score: 0

    use a good framework.

    1. Re:php is fine but.. by cshark · · Score: 1

      or develop your own, if you have the skill.

      --

      This signature has Super Cow Powers

  20. Depends on your application by Anonymous Coward · · Score: 0

    I'm just another peon in the startup world, but if I were starting out on a new project in a new language right now, then I would pick one of two languages for server-side.

    Ruby on Rails: The speed of development with RoR is remarkable. As a framework, it is incredibly well supported, and for most tasks, an ideal candidate. Not only is it a great language, but it's probably one of the easier languages to find capable, ambitious young talent in. It has a lot of ... conventions ... and RoR will punish you for going outside of them, but all in all, they're reasonable conventions. There have been complaints about performance, but they are being addressed with every release.

    Node.js: If you're building a web application in which users interact in real time, or for some other reason need some kind of timely event notification, node.js is a good candidate. Built on top of google's V8 javascript engine, it's very fast (gaining advantage from every advance Google puts into its web browser), can connect into C/C++ to link with your existing infrastructure, but its defining feature is being able to maintain a large number of long lasting connections.

    PHP is fine, and there's something to be said for 'going with what you know'. Also, there's no question you'll be able to find cheap labour to build out your project in PHP. There are some great PHP frameworks, too.

  21. I would use PHP.... by Anonymous Coward · · Score: 0

    PHP is just fine. There's nothing wrong with PHP at all and it powers some of the largest sites on the internet. If you want something slow and awkward, choose Java just like all of the banking websites use.

    1. Re:I would use PHP.... by maple_shaft · · Score: 1

      PHP is just fine. There's nothing wrong with PHP at all and it powers some of the largest sites on the internet. If you want something slow and awkward, choose Java just like all of the banking websites use.

      There is a significant difference between Java and the Java EE stack, and just because banks write slow software doesn't mean that Java is inherently a slow language. The JVM is rather optimized and in many cases runs comparably if not more efficiently than similar C++ code.

      Further, the vast array of frameworks and libraries available give an immense range of choices that allow for efficient, scalable, maintainable and unit tested code to be written rapidly. If you hate the verboseness of Java and wish to use a more modern language, there are a number of newer languages available that all compile to JVM byte code and run on top of the byte code, Scala comes to mind.

  22. Nothing wrong with PHP. by gfxguy · · Score: 5, Insightful

    I've been doing a lot of web programming, and I evolved from PERL to PHP to Python. I happen to prefer Python these days, but there's nothing wrong with PHP. I wrote my company's PTO system using PHP (LAMP) and it works great. I would also suggest JQuery or similar for richer content.

    Most "disdain" for any given language is mostly elitism and people self-validating their own choices. It's true PHP can be messy, but I recall having a Ruby developer look at my PERL code and be surprised at how readable it actually was... in other words, it's up to the programmer. I can make some pretty ugly programs in any language.

    --
    Stupid sexy Flanders.
  23. Use Javascript by Anonymous Coward · · Score: 1

    I'm sure you will receive a lot of suggestions for server side MVC frameworks such as Rails, Django, Play, Asp.net mvc, etc...

    How about a different direction and use javascript without a server side MVC framework at all. Node.js can run on the server and serve back json for your service urls. Should you need to provide pages in addition to just the service urls, you can return static html documents and use something like jQuery and Knockout to fetch the json from your service url and render the model to the page.

    If you'd prefer to use something statically typed on the server side, using Scala and a framework like Scalatra or Unfiltered for the web server gives you a lot of power in a concise syntax.

    1. Re:Use Javascript by cshark · · Score: 1

      And it's amazing... until you start getting real traffic. Then it bombs.

      --

      This signature has Super Cow Powers

  24. Good luck by beowulfcluster · · Score: 4, Insightful

    You might as well ask which religion is the best one.

    1. Re:Good luck by cshark · · Score: 2

      Oh, Judaism, clearly.

      --

      This signature has Super Cow Powers

    2. Re:Good luck by buglista · · Score: 2

      I know this one! "emacs".

    3. Re:Good luck by ancientt · · Score: 2

      You might as well ask which religion is the best one.

      Oh, Judaism, clearly.

      Please, please, please tell me that there is a programming language named Judaism!

      --
      B) Eliminate all the stupid users. This is frowned upon by society.
    4. Re:Good luck by iggymanz · · Score: 1

      yes, all the keywords are consonants though vowels can used as syntactic sugar. the compiler is hard working and very intelligent (except on Shabbat and certain holidays when neither it nor code will work), it always takes in all tokens ("shekels" first and always produces something useful. Run time exceptions are called an "oy vey!" which can be caught and handled by the Mother module, but it will make many GuiltyFeelings logging messages for you.

    5. Re:Good luck by ivi · · Score: 1

      You might as well ask which religion is the best one.
         

      Oh, Judaism, clearly.

      Please, please, please tell me that there is a programming language named Judaism!

      Not yet AFAIK, but NLP may be close to what I think you're looking for.
            (Neural Linguistic Programming)

    6. Re:Good luck by Anonymous Coward · · Score: 0

      There is, but you better hope nobody wants to use your website on Saturdays.

    7. Re:Good luck by shutdown+-p+now · · Score: 1

      The lack of it, obviously.

      I.e., if you value your sanity, don't do web apps. The way things are right now, it's a giant architectural clusterfuck of technologies that were originally intended for different things altogether (e.g. HTML) or for smaller scale (e.g. JS) lumped together in a way that makes you use ten times the effort compared to a desktop app doing the same - and still runs slower.

  25. I know.... by 3seas · · Score: 1

    The one with the least amount of security.... That way everyone will know... if it connects to the internet, there is no privacy... rather than lying babel saying otherwise.

  26. It's more than just the language by Anonymous Coward · · Score: 0

    The reason why there is so much disdain for PHP programmers is because the language is only one part of the picture which many PHP programmers don't learn. Having good project layout and design is important. Picking the right technology choices for backend, frontend, ORM, plugins and modules is important because they will all eventually roll in to a big ball of mud. Ultimately bad and good PHP software degrades due to a lack of automated testing or bad coverage. You should seriously consider learning a good testing suite first before you foray in to actual development. Lastly, rather than invent your own framework and methodologies, consider using well adopted web frameworks with a good community behind them.

    As far as I am concerned, I really enjoy developing in Ruby and Rails. RoR has really reached the maturation plateau where it's no longer necessarily so cool but great people are getting great work done with it. There is a significant amount of culture surrounding it so that is important and you can really isolate yourself and not write RoR code well if you don't pay attention. If you need scalability from the get-go, it doesn't matter what language or platform you use; if you don't know how to write scalable apps you're going to fail at that regardless of what you use. Consider visiting and then joining your local user groups. I attend the local Ruby on Rails group and have built some great relationships with other local devs in town as well as learned who all the significant employers in that space are.

  27. Githubs, anyone? by Crimsane · · Score: 2

    Nobody should be allowed to register an opinion in this topic without linking to their githubs.

  28. Don't listen to them. by GNUALMAFUERTE · · Score: 5, Insightful

    Here's a little secret for you: Anyone that uses the word "enterprise" is full of shit. It is used by mediocre developers who work at relatively big corporations and have been forced through the years to work with a bunch of bureaucracy. This people can't release a fucking shell script without 10 formal test cases, 50 meetings, 10 flowcharts, and it's own repository.

    Serious huge projects are written in C++. Serious huge projects that need incredible performance are written in C with assembly optimizations. When somebody tells you that you can't write anything if it's not done in Java, that guy is a corporate droid. If somebody tells you the same for Perl, he's an old monk. If somone tells you that for Ruby/Python/Brainfuck, he's a snob and a fan of that particular language, ignore him too.

    Truth is, leaving aside the obvious differences, when it comes to features that help organize huge projects, C has nothing that PHP doesn't implement on some way. Don't get me wrong, I'm not comparing the base of all modern computing with a modern and not very well designed interpreted language, I'm talking about features that some idiots would call "corporate". And yet, there are incredibly HUGE projects written entirely in C. And yes, there are also huge projects written in PHP.

    Truth is, if you are a good coder, you'll do a good job even if you have to use Basic. And if you are not, you'll write spaghetti code even in C++.

    PHP is a simple, straight to the point language, with a very clear syntax, that is great for web development. It's syntax is very much C-like, just like Javascript, and that certainly helps when you are writting web apps. It's easy to find PHP coders, and that certainly helps too.

    The problem with PHP's reputation is that it's incredibly easy to just write some script or modify an existing one, and call yourself a coder. So the amount of bad PHP code out there is incredibly huge and incredibly public. Of course, if you reviewed each of those Corporate-enterprise-mega-super-jumbo java apps, you would find as many WTFs as you could in your average PHP project, the only difference is that the assholes rooting for Java won't show you their code, and they'll act very dignified.

    Also, avoid the motherfucking frameworks. You don't need them, at all.

    --
    WTF am I doing replying to an AC at 5 A.M on a Friday night?
    1. Re:Don't listen to them. by Anonymous Coward · · Score: 0

      Angry much?

    2. Re:Don't listen to them. by Anonymous Coward · · Score: 1

      Avoid the frameworks? Worst advice ever.

    3. Re:Don't listen to them. by bongey · · Score: 5, Informative

      "We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil" http://en.wikipedia.org/wiki/Donald_Knuth

      So please cut the oh write everything in C/C++ crap, I write in all the languages you mention but there is no reason to write something in language when it isn't needed. If you are writing a web site PHP is just fine(see the big website called www.facebook.com). If you are writing a realtime stock trading application , then use C/C++ would be warranted.

      Avoid motherfucking frameworks

      See http://badprogrammer.infogami.com/ "3. Deficient research skills / Chronically poor knowledge of the platform's features."
      Don't know if you meant "web frameworks" , but writing everything from scratch is just crazy.

    4. Re:Don't listen to them. by Anonymous Coward · · Score: 1

      I agree that - by far - the most important factor of a good solution is the developer, but some languages are so poorly designed that they get in the way, and IMHO, PHP is one of them: __FILE__ should not resolve symlink paths.

    5. Re:Don't listen to them. by maple_shaft · · Score: 3, Insightful

      You just went full troll... The fact that you got modded +5 makes me lose all faith in the Slashdot community moderation process.

      Somebody who doesn't clearly understand the importance of frameworks, detailed scalable software designs, enterprise level consistency, and maintainable code that is appropriately decoupled and unit tested, is somebody who shouldn't be writing software of any kind. Oh and if given the chance I would very willingly share with you some of my source code, because I am a nice guy and would like for you to learn something about software development in corporate environments.

    6. Re:Don't listen to them. by Anonymous Coward · · Score: 0

      I get the impression that you do a lot of arm waving to get almost absolutely nothing done while programming.

    7. Re:Don't listen to them. by Anonymous Coward · · Score: 0

      If you think the only possible reason to use C++ is speed then you're a deluded idiot.

    8. Re:Don't listen to them. by Anonymous Coward · · Score: 0

      I agree with you on everything but the frameworks and Ruby/Python points. I'm not a "real" web developer and I don't want to be, but with a framework (I like Rails 3, especially with CoffeeScript and jQuery) and a language that deals with text much better than C/C++ string handling (Ruby) I've been able to make some very nice web apps in a short amount of time. The portability is amazing too, I can move a web app to another host easily because of things like package [gem] bundles and ORM, whereas had I written PHP or CGI in C with raw SQL there could easily be issues. On top of that having a rich community to refer to and a standard model to develop apps in makes it so I spend less fumbling around and less time explaining things when working with or passing code off to other developers.

      You are so spot on about the "Enterprise" Java developers. I love the whole "if it's not Java it doesn't scale" thing too - yet I can't immediately think of any mega-scale web apps written in Java or even any major web app written in Java.

    9. Re:Don't listen to them. by danbeck · · Score: 1

      This is +11 insightful.

      "Also, avoid the motherfucking frameworks. You don't need them, at all."

      I couldn't agree more. Frameworks in a web development environment, especially PHP are crutches for the ignorant.

      I'm sure there will be a mountain of Jeremiah's and MVC/Framework prophets proselytizing and predicting my doom for this.

    10. Re:Don't listen to them. by Anonymous Coward · · Score: 0

      Frameworks are for people who don't want to reinvent the wheel to prove how l33t they are, ya know, people who want to be productive.

      I would say certain web languages like PHP are crutches for the ignorant.

    11. Re:Don't listen to them. by Anonymous Coward · · Score: 0

      Truth is, truth is, truth is

      You are full of shit, and probably not any sort of a coder.

    12. Re:Don't listen to them. by maple_shaft · · Score: 1

      Truth is, truth is, truth is

      You are full of shit, and probably not any sort of a coder.

      I am sure he is some sort of coder, just probably the worst possible kind of coder. You know the one that does everything his/her way without regards to standards or consistency, ignores design documents because he/she thinks they are stupid, has an ego the size of Alaska and takes personal offense about every little thing brought up in a code review.

      It is okay though, because as long as these guys write shitty webapps then there will always be job security for guys like us to clean up the mess.

    13. Re:Don't listen to them. by TheDarkMaster · · Score: 1

      80% from my headaches on actual and serious development are caused by big, bloated, and simply stupid frameworks.

      --
      Religion: The greatest weapon of mass destruction of all time
    14. Re:Don't listen to them. by TheDarkMaster · · Score: 1

      when you do real coding and the framework goes on your way, putting megabytes of unnecessary code and many unnecessary layers of code on your execution stack, you will understand why frameworks is not a "silver bullet to all problems" and why in some cases yoy need to avoid then.

      --
      Religion: The greatest weapon of mass destruction of all time
    15. Re:Don't listen to them. by Anonymous Coward · · Score: 0

      The OP asked about building some web pages. You're talking about enterprise apps. Of course, a lot more rigor goes into the development of, say, a banking transaction system than a website.

    16. Re:Don't listen to them. by GNUALMAFUERTE · · Score: 1

      I own a software development company, among other things, we develop a DVR solution that is partly server-side, partly distributed hardware in the customer's premises. As we speak, my systems are handling and recording ~160 thousand megapixels per second. I know a few things about scalability.

      Now, having a consistent development environment when developing huge applications is not just important, but mandatory. But we where talking about web pages, and a guy that is trying to get started with it. Do you think that using 50mb of frameworks to support 100k of code is a good idea?

      Regardless, stock frameworks don't scale nicely either, and when you get close to the really-fucking-big-system side of development, they are a liability.

      --
      WTF am I doing replying to an AC at 5 A.M on a Friday night?
    17. Re:Don't listen to them. by Anonymous Coward · · Score: 0

      Well, I and my six figure salary have never been so insulted, sir!

    18. Re:Don't listen to them. by Terrasque · · Score: 1

      Look. You kinda need a framework. If you don't use an existing one, you'll start making your own. And re-visit a lot of the problems and pitfalls existing frameworks have already solved.

      Either that, or you'll be the king of copy-paste (and even that copy-pasted code is arguably a small framework).

      --
      It's The Golden Rule: "He who has the gold makes the rules."
    19. Re:Don't listen to them. by TheDarkMaster · · Score: 1

      Ahhhh ... To be clear then. I agree to the frameworks that are basically large usable "code libraries", you use them when it's convenient but have the option not to use them where they are inadequate. Things like "convenient small and simple library to upload and download files". My problem is with the big fucking frameworks that stupidly try to be "the solution to all problems in the universe" but they do the things in the most ineffective way imaginable (bloatware) and even worse, force you to do things in the most ineffective way possible.

      --
      Religion: The greatest weapon of mass destruction of all time
  29. Too many unknowns by Anonymous Coward · · Score: 0

    The submitter left out far too many criteria to make this a useful Ask. We can't possibly know what platform(s) would suit his endeavors. But he sure succeeded in starting a bunch of little flamewars :)

  30. Django by CHJacobsen · · Score: 1

    The thing about PHP is that it is very easy to get started with, and gets a big user base partially because of that. Because it has a large userbase, people sometimes assume it is by default the best choice.

    It is a decent language, and after all, you can use it for most tasks.

    However, i'd strongly recommend you to give Python and Django a try before you settle for PHP. It is so much nicer than PHP once you get used to it.

    This video is a good (although slightly old) intro:
    http://www.youtube.com/watch?v=p-WXiqrzAf8

  31. Go with what you know. by Anonymous Coward · · Score: 0

    The bigger hate that most people have expressed is the randomly put together hack jobs of code that people need to support and it is apparent in any language. I have had C# and PHP projects that I have looked at a few weeks later and simply said "What the hell was I thinking?".

    If you know PHP, it is a perfectly capable web framework and great for development. If you want to learn something else, there is a lot of other languages out there but the time to become a proficient developer in another language that does the same thing as PHP to me is not worth the hassle. Depending on the project, pick the language you know. If it is a larger scale project then I would simply choose PHP because I know it well and how to write clean code. If I was doing some smaller project, I may pick another language or framework to start to learn and grow on.

  32. They all suck by Alkonaut · · Score: 5, Insightful
    Honestly all web platforms have drawbacks, and all of them will have supporters claiming they dont.
    • python: pros: easy, decent tools, good frameworks. cons: syntax is difficult to check for correctness (non-compiled).
    • perl: pros: it's free: cons: Its perl
    • .net: pros: techincally bloody excellent, good tools. cons: practically win-only, no free server software
    • javascript (e.g. node.js): pros: it is the same on the client if you want one. Cons: it is still bloody javascript.
    • java: pros: widespread, good servers. cons: a million frameworks to choose from and none is great, next year all will be obsolete and 100 new ones will come. Slow language development (java 8 is .net from about 2005)
    • php: pros: easy, straightforward, multiplatform cons: practically web-only

    They all suck, which one sucks the least depends on the circumstances of your project (time, budget, techincal aspects, what you already know, what you would like to learn, performance requirements, scalability requirements).

    1. Re:They all suck by dbrueck · · Score: 2

      Python and related languages are compiled on the fly, so you don't get all of the same compile-time checks you would in e.g. C or Java. In practice this isn't usually a bad thing though: if you're testing your code (even informally by just exercising the code), then it's more or less impossible for those errors to slip by, and if you aren't exercising your code, then you have bigger problems to worry about.

      There are of course pylint and other code checkers out there, and a few times in the past I've tried them out for a day or two, but in the end I always abandon them because for me encumbering the dev process a little doesn't provide enough benefit - like I mentioned above, the real problems are caught if you're doing even a modicum of testing.

    2. Re:They all suck by TheSpoom · · Score: 1

      php: pros: easy, straightforward, multiplatform cons: practically web-only

      I'm obviously a bit biased as a (primarily) PHP developer, but I should point out that PHP isn't completely web-only or dependent on a web server. It's not the best shell scripting language, but it has its uses there too.

      --
      It's better to vote for what you want and not get it than to vote for what you don't want and get it.
      - E. Debs
  33. "Why shouldn't I use PHP?" by Anonymous Coward · · Score: 0

    1. documentation for basic features still sucks. You're lucky when you can find what you need out of the comments. This was and still is the single worst thing about PHP, IMHO.
    2. PHP forgets state after each request unless you save it in the session. Just having your state NOT thrown away is a huge advantage when you know how to make use of it.
    3. Performance. Apache+PHP is slow compared to Tomcat or Jetty, even with frameworks like Wicket above them.

    On a nice side note, I read the comments above and the "criticism" about other approaches than PHP are mostly ad hominem attacks.

  34. On PHP, religion, and why I'm always right. by milimetric · · Score: 1

    The reason I dislike PHP is because it has a bunch of bizarre patched together conventions that don't make sense to me. But if they make sense to you and you're absolutely sure that your code is safe and maintainable, then it's the best framework for you. Someone mentioned asking this is like asking about religion and they're right. Since you asked, I'll point out the advantages I see with two frameworks I'm using today:

    1. Google App Engine: super easy to get started and have something running. Lowest amount of code / task of any framework I've used.
    2. ASP.NET MVC 3: clean separation of concerns that uses reflection and dependency injection (so there's very little configuration required). Lots of support on stackoverflow and asp.net/mvc.

    Both of those are great for me mostly because I like and respect HTML/HTTP and want full control over some aspects of the request/response paradigm when I need to do fancier things like domain based routing. Both frameworks allow me to dive deep without complicating themselves too much. And I like C# 4.0 & Python 2.7, both are very pleasant to work with.

  35. Start Learning Python by mrtwice99 · · Score: 2

    I'd recommend that you start learning Python. I moved away from PHP to Python in late 2008 and have NEVER, even once, looked back. Its just a better engineered language and the community is more deliberate and professional. SQLAlchemy is the best database library/ORM ever! And there are plenty of web frameworks to choose from (start with Flask or Pyramid).

    Here are some thoughts from 2008 that got me moving away from PHP towards python. The python web community has grown a lot over the last few years, so my comments about Python being hard to get started in can be considered somewhat deprecated:

    http://old.nabble.com/Creole-is-Dead,-long-live-Python!-p20488959.html
    http://propel.tigris.org/ds/viewMessage.do?dsForumId=1093&dsMessageId=88191

    Finally, Python is much more general purpose than PHP, so the Python skills you learn while doing web development can be put to use in other programming areas (I do a lot of scripting and data manipulation with Python).

  36. Re:-1 True by Anonymous Coward · · Score: 1

    If you'd suggested a half broken, totally unsupported open source framework which triples development time in exchange for little or no benefit you would have gotten +5 informative instead.

    he did suggest mono and and is well in the +n informative...

  37. Use good design principles and javascript/PHP by Anonymous Coward · · Score: 0

    I've written a large web app that uses PHP on the backend (currently using MySQL, but by using a abstraction layer it can be switched to any major database), and javascript on the front end. This has proved to be one of the best decisions I could have made when starting this project 2 years ago. Browser javascript engines are being constantly upgraded and the web app, which was responsive to start with, is faster now on the same hardware.

    As far as a front-end platform I really like YUI. It has good documentation, an active user community, and a BSD license. For the backend, I don't think you need a full platform since it's mostly database stuff, so design a good backend architecture, using some database abstraction layer so you can switch databases easily.

    Here are some things that I have learned from this web app:
    1) use MVC on the front-end. It's a good design pattern for a reason
    2) make the app RESTful. I didn't start out with this, but then had to make a major design change to add needed features and this has been wonderful. Users can use the browsers forward and back buttons and URL's can be bookmarked/emailed and the app will know exactly what should be displayed.
    3) learn to use firebug
    4) add the following debug information to app in the beginning
            a) When the frontend requests data, send the data and the SQL statement back to the frontend if debug is turned on.
            b) Log the errors and queries in the database ( When in production mode and debug is turned off, users will have problems and you can look at the error log (table) and see what was going on, by using the database you can search the error log easily
          c) my app needs to email people when certain conditions are met, this takes a lot of time ( seconds instead of tenths of a second ), so make email asynchronous, so the app feels snappy.
    5) put a waiting (retrieving information) dialog box up whenever the app is waiting on the backend. Hopefully most of the time it disappears so quick the user doesn't notice, but when there is the occasional network lag, the user knows what is going on, instead of thinking the app is unresponsive.

  38. PHP == Pretty Hard to Protect by DieByWire · · Score: 1

    Relax, PHP Taliban. It's a joke.

    Sort of.

    --
    Never shake hands with a man you meet in a fertility clinic.
  39. Modern Perl is worth your time and consideration by PlainBlack · · Score: 2

    First, I should state that it's really not about the language, it's about the coder. You can build great and crappy things with any language. And every language has it's warts.

    That said, the best language I've used in the past 20 years of programming has got to be Modern Perl. Not the chicken scratch Perl you saw 5 or 10 years ago, but Modern Perl. Here are some of the strengths of modern Perl:

    It's object system: https://metacpan.org/module/Moose
    It's web frameworks, especially Dancer: https://metacpan.org/module/Dancer
    It's ORM: https://metacpan.org/module/DBIx::Class
    It's package installer: https://metacpan.org/module/App::cpanminus


    And so much more. Do yourself a favor and at least have a look at Perl.

  40. How about a JS backend? by mallyone · · Score: 1

    Something like node.js, narwhal with wsgi or ringo.js? On a really basic level, coding the front and backend in the same language has really saved my little brain quite a bit of frustration, especially when I'm using plus's to concatinate in php and dots in javascript. I work with node and know that a properly architected event driven server can be wicked fast (not just fast, but WICKED FAST!). There is quite a bit of middle ware available and why not work with mongodb in the backend to create a perfect trifecta of javascript? node is really simple to setup and test with apache bench (ab), narwhal and ringo took a bit longer for me (I was trying to run them in google apps engine though). Curious what you end up going with.

    1. Re:How about a JS backend? by maple_shaft · · Score: 1

      What is it with the JS on the server crowd on Slashdot? I have to admit that I have respect for anyone that can take a toaster and turn it into a microwave. It is a feat worthy of praise, however it doesn't mean that it should be done.

  41. PHP and Python by shish · · Score: 2

    I've done professional projects with PHP and Python (Pylons specifically, with Mako for templates and SQLAlchemy as ORM; and a few small projects with web.py)

    After a couple of years with Python, every week or two I'm still learning a wonderful new thing that makes me smile and makes life easier.

    After a couple of years with PHP, every day (sometimes several times per day) I'm finding some bug, design flaw, or general retardation in the standard libraries that makes me want to simultaneously cry and punch a PHP developer. Taking a look down my commit logs for the past week:

    • - There's no function to modify one part of the URL (eg, input="/foo/bar?a=32&b=cake", "a=123", output "/foo/bar?a=123&b=cake")
    • - "string" + "string" is valid code, runs fine, doesn't raise a parser error. Does it equal "stringstring"? No, it equals numeric zero.
    • - parse_str(). What does this function do? From the name we can gather that it parses... some sort of undefined string? Great. Actually, it parses a URL query string, which is sort of useful. Can we assume that it returns the parsed values as a dictionary, like most functions return their return values? Nope, this one returns null on success and will overwrite any arbitrary global variable with the user supplied data. WTF.
    • - Tons of platform-specific WTFs, like how symlink() works on windows, and will create the NTFS version of a symlink - but then is_link() will return False if you later inspect it.
    • - The abstraction libraries (in this case PDO) will have major differences in behaviour depending on their backends; MySQL has username and password as part of the connection string, Postgres requires them to be separate paramaters. Also, MySQL allows multiple SQL paramaters bound with the same name, and Postgres doesn't. Looking up the bug report for this, it seems that this useful feature used to work fine on all back ends, but they removed it because it wasn't documented as working; but they just didn't do a very good job of removing it from the mysql backend...
    • - Tons of configuration-specific WTFs; lots of things break in weird ways under "safe" mode, things like checking if a disk has space available are banned.

    6 WTFs and it's only Tuesday. This in addition to all the regular and well-known retardations, like how they thought it was a good idea to automatically escape all input data assuming that it would be inserted into a mysql database - but they escaped it in a broken way, so even if you did want to insert it into a mysql database you'd need to un-escape it and then re-escape it properly (remembering to use mysql_real_escape_string, because mysql_escape_string is buggy and insecure. Not that anyone should be building SQL strings by hand anyway...)

    The one and only positive thing I have to say about PHP is that it has a low barrier to entry; any monkey can take your code and install it on their cheapo shared web host, and do simple modifications for themselves.

    --
    I mod down anyone who says "I will be modded down for this", regardless of the rest of their comment
    1. Re:PHP and Python by Anonymous Coward · · Score: 0

      "There's no function to modify one part of the URL"
      Because you're running a front loaded controller, duh. Check your Cake how-to don't blame PHP.

      "string" + "string" is valid code
      No, it's $string.$string. What you wrote is Javascript. Again, don't blame PHP if you can't keep your syntax separate.

      As for your parse_str() rant, it works as advertised. I would recommend you RTFM.

      The symlink() not working as advertised on windows is a Windows / Linux operating system compatibility issue that Microsoft won't fix. It has nothing to do with PHP.

      Your issues surrounding PDO and MySQL, Postgres, MsSQL etc.. exist with all Languages, even on Windows. So I don't see how this has anything to do with PHP, at all.

      "lots of things break in weird ways under "safe" mode"

      Yeah, that safe mode, total crap. People should be told to not rely on it, it should totally be deprecated, there should be better more reliable ways to protect your database from SQL injection, and OH WAIT! There is, there are, there have been for a few years now... If you can't keep up, don't blame the language.

      "any monkey can take your code and install it on their cheapo shared web host, and do simple modifications for themselves."

      Apparently not. You should consider Logo.

    2. Re:PHP and Python by shish · · Score: 1

      "There's no function to modify one part of the URL" Because you're running a front loaded controller, duh. Check your Cake how-to don't blame PHP.

      Third party frameworks are required for basic web functionality, in a language whose explicit primary market is web apps?

      "string" + "string" is valid code No, it's $string.$string. What you wrote is Javascript. Again, don't blame PHP if you can't keep your syntax separate.

      Wrong, "." is correct for string concatenation, "+" however is perfectly valid PHP syntax. PHP will accept the code, run it, and do something stupid with it. Using "." for concatenation is rare, but I can live with it, and I accept that it's my fault for getting them confused - however, "foo" + "bar" should in that case be a syntax error or a cast-to-int error, not a valid way to specify numeric zero.

      In general, the PHP philosophy of "we know parse errors are annoying, so we'll silently make a guess at what you might mean, and then do something unrelated" is a really bad philosophy for a programming language to have.

      As for your parse_str() rant, it works as advertised. I would recommend you RTFM.

      I have RTFM, I know that it works as advertised. The way that it is advertised as working is retarded and inconsistent, even by PHP standards :-) "It's documented, so it's a feature" is a terrible excuse, but it's the excuse that seems to be used for pretty much the entire platform (see: some function names have underscores and others don't, see also func($haystack, $needle) vs func($needle, $haystack), see also how all across the documentation there are caveats, warnings, and gotchas that a developer needs to know, where in any good language the standard library just works no questions asked...).

      The symlink() not working as advertised on windows is a Windows / Linux operating system compatibility issue that Microsoft won't fix. It has nothing to do with PHP.

      If it doesn't work, why is the function there? In several other cases, platform-specific functions are left undefined on some platforms, so you can do "if(function exists) {use function} else {use backup}", which is fair enough. But now I have to do "if(function exists and platform isn't windows)" because it's defined but broken. If PHP was at least consistent in its brokenness, I could put up with it; but every part of it seems to be broken in a different way.

      Your issues surrounding PDO and MySQL, Postgres, MsSQL etc.. exist with all Languages, even on Windows. So I don't see how this has anything to do with PHP, at all.

      False, the issues I've mentioned in PDO aren't there in any of the Python or Java database abstraction layers I've used. Sure, the SQL syntax can be different depending on the back-end; but in PHP, the abstraction layer itself acts differently depending on the back end.

      "lots of things break in weird ways under "safe" mode" Yeah, that safe mode, total crap. People should be told to not rely on it, it should totally be deprecated, there should be better more reliable ways to protect your database from SQL injection, and OH WAIT! There is, there are, there have been for a few years now... If you can't keep up, don't blame the language.

      My own servers are relatively up to date, but when I'm writing code to be distributed, I need to keep dealing with PHP's inbred mutant history. Yeah, all languages improve and writing to a legacy spec is annoying, but I've never met a language whose legacy is as horrible and as alive as PHP's.

      This also reminds me of the red vs blue quote; PHP proponents keep admitting that version $current-1 was completely stupid and broken, claiming that version $current is good. It isn't, it's still crap, it's just going to take you until version $current+1 to realise it. Again, yes, other languages improve -- but when I look back

      --
      I mod down anyone who says "I will be modded down for this", regardless of the rest of their comment
  42. Use good design principles and PHP/javascript by rob_osx · · Score: 1

    I've written a large web app that uses PHP on the backend (currently using MySQL, but by using a abstraction layer it can be switched to any major database), and javascript on the front end. This has proved to be one of the best decisions I could have made when starting this project 2 years ago. Browser javascript engines are being constantly upgraded and the web app, which was responsive to start with, is faster now on the same hardware. As far as a front-end platform I really like YUI. It has good documentation, an active user community, and a BSD license. For the backend, I don't think you need a full platform since it's mostly database stuff, so design a good backend architecture, using some database abstraction layer so you can switch databases easily. Here are some things that I have learned from this web app: 1) use MVC on the front-end. It's a good design pattern for a reason 2) make the app RESTful. I didn't start out with this, but then had to make a major design change to add needed features and this has been wonderful. Users can use the browsers forward and back buttons and URL's can be bookmarked/emailed and the app will know exactly what should be displayed. 3) learn to use firebug 4) add the following debug information to app in the beginning a) When the frontend requests data, send the data and the SQL statement back to the frontend if debug is turned on. b) Log the errors and queries in the database ( When in production mode and debug is turned off, users will have problems and you can look at the error log (table) and see what was going on, by using the database you can search the error log easily c) my app needs to email people when certain conditions are met, this takes a lot of time ( seconds instead of tenths of a second ), so make email asynchronous, so the app feels snappy. 5) put a waiting (retrieving information) dialog box up whenever the app is waiting on the backend. Hopefully most of the time it disappears so quick the user doesn't notice, but when there is the occasional network lag, the user knows what is going on, instead of thinking the app is unresponsive.

  43. PHP is scripting for retards by Anonymous Coward · · Score: 0, Troll

    Seriously, anyone who 'develops' in PHP can't call themselves a programmer. It's a simple, half-assed scripting language for simple people. If you can't code websites in Assembly then you don't deserve a computer.

  44. Not True by cyclomedia · · Score: 1

    You can develop ASP.Net easily enough using MS's free "Express" studio and SQL offerings (I do). Obviously hosting completed sites is another story (but in my case - working contracts - that's not my problem), but you can be a small web developer without coughing up MS licence fees that way.

    --
    If you don't risk failure you don't risk success.
    1. Re:Not True by LordThyGod · · Score: 1

      Until they make a version that runs natively on Linux, you still have to buy (or acquire) a version of Windows. So there is some cost / hassle there for some of us, and the biggest reason I can't consider them as a development platform.

    2. Re:Not True by rev0lt · · Score: 1

      MS Express is a crippled product. Try using it with a SQL Server installation on your IDE and you'll see what I'm talking about.

    3. Re:Not True by Eirenarch · · Score: 1

      So what is "MS Express"?

    4. Re:Not True by rev0lt · · Score: 1

      A crippled product oriented to the hobbyst developer, without ASP.NET support out-of-the-box, without decent MSDN documentation and without SQL Server integrated on the IDE, not to mention several enterprise features. SQL Server Express and SQL Server are different products.

    5. Re:Not True by spongman · · Score: 1

      you can download & install the full-blow SQL Management Studio for free. It connects to SQL Express just fine. But seriously, there are so many ways to get this stuff for free or cheap, it's not really an issue.

    6. Re:Not True by snookiex · · Score: 1

      I think he/she meant that it's actually "MS Visual Studio Express" :P

      --
      Open Source Network Inventory for the masses! Kuwaiba
    7. Re:Not True by Bengie · · Score: 1

      Why would someone use this? The current VisualStudio express and SQL express versions fully integrate. SQL Express uses the same engine as SQL enterprise, just stripped of the enterprise features.

      VS rocks
      MS-SQL rocks
      IIS is annoying and not cross-platform
      Being stuck on Windows sucks

      I've done nothing but MS, so my knowledge of opensource is not first hand. From what I've read, this is the way I would go Nginx+python+postgresql

    8. Re:Not True by PickyH3D · · Score: 1

      Buying or acquiring Linux is somehow less hassle than buying or acquiring Windows?

      If that's a serious concern for you, then you have no basis for talking about it as a development platform. Visual Studio is by far the best IDE. It's my biggest regret as I code in Java.

      Now, MS SQL Server is something I would prefer to avoid. But, .NET does not force you into using MS SQL similar to JDBC in Java.

    9. Re:Not True by datavirtue · · Score: 1

      I'm a student who has access to all that stuff but it really doesn't interest me. Except for the free SQLServer license (normally $65000.00 per 4 core cpu).

      --
      I object to power without constructive purpose. --Spock
    10. Re:Not True by LordThyGod · · Score: 1

      Buying or acquiring Linux is somehow less hassle than buying or acquiring Windows?

      Yes, significantly so. Its just an apt-get upgrade every now and then. I'd say pretty close to hassle free.

    11. Re:Not True by PickyH3D · · Score: 1

      Only because you already have it installed. Discrediting an entire development suite because it is on the most widely used platform is a pretty huge mistake. You have no idea what you are missing, and that's not a logical position to be in.

      I can understand not buying into Windows and, particularly, not buying into Visual Studio. But to act like getting Windows is a show stopper for anyone except the most devoted is a stretch, and to use that reasoning to discredit Visual Studio is a joke. There are free versions of Visual Studio, which are still better than the alternative IDEs out there. I was using Netbeans, but it has gotten worse as time has moved on, and I have moved onto IntelliJ, which is pretty good. However, if I get the chance to do any C# or C++ development at work, then I will be strongly pushing for Visual Studio, even when it's not my C++ compiler.

      You seem to be missing out on a lot of things, and you do not even know it. And that blind faith to a platform is a pretty big negative. It's no different than a Windows user proclaiming that Linux sucks without ever using it, simply because they have to go download/get and install it. It's egotistical and down right ignorant. That's not a good position to be in professionally.

      It makes me wonder if this is why Netbeans has sagged so poorly recently--so much so that I switched to IntelliJ; I never could get used to Eclipse's way of doing things. This blissful ignorance seems pretty systemic throughout the community. It truly is preventing a lot of good features from appearing in each toolset, and that only serves to slow down the developers using those tools.

    12. Re:Not True by taradfong · · Score: 1

      For web applications, you're dreaming if you think MS is the most widely used platform.

      --
      Does it hurt to hear them lying? Was this the only world you had?
    13. Re:Not True by rev0lt · · Score: 1

      As I said, SQL Server and SQL Express are different products. Shure they share the same codebase and even have some form of binary compatibility, but the Express version has severe DB size limitations, active connections capping, cpu/core limitations, and no replication whatsoever. This is hardly the setup you'll use to troubleshoot performance problems on your applications.
      I don't like VS, so I actually use SharpDevelop (on Windows) to do C# development. I also don't use LINQ nor SQL Server (my DB apps are mostly PostgreSQL and SQLite).

    14. Re:Not True by LordThyGod · · Score: 1

      I was really just responding to your comment about "no license fees". There is fees for Windows, and most of the MS developer and production stuff. There is the outright cost of those licenses, and then the hidden costs of security, viruses, etc, and the hidden cost of having to install a bunch of stuff just to be productive. Its not an environment I can be as productive in. Its that simple. I have had plenty of occasion to use Windows, and I just plain don't care for it. I am not necessarily discrediting it as something someone else might find useful. The good points, are outweighed by the bad. At least for me. I am constantly reminded of that every time I am on a MS system and want to set up multiple desktops, use a decent text editor, open a terminal, try a grep, rsync a webserver, and so on. A significant part of what I do is to manage my employer's servers (virtual and not), and most of those are LAMP (web production). MS is just not in the game there.

    15. Re:Not True by cyclomedia · · Score: 1

      I consider Visual Studio Express's lack of ASP.Net support a feature, not an issue. It allows you to create the web site backend code as a standalone DLL (just reference System.Web) and bake your ASPX pages by hand rather than have the IDE fuck your markup up.

      --
      If you don't risk failure you don't risk success.
    16. Re:Not True by Bengie · · Score: 1

      "Express version has severe DB size limitations, active connections capping, cpu/core limitations, and no replication whatsoever"

      Those are all enterprise features that you pay for(connection limit has been removed in 2008R2). I'm not defending MS, but you're trying to make it sound as if the product is bad when it's the licensing. 10GB per DB isn't that bad(16DB limit for a total of 160GB). If you need more than that, the licensing cost of the full product is probably cheap. MSSQL is one of MS's better products. When you have to start using transactions, it does( or did a year ago when I read the reviews) much better than the competition(factors, not percentages).

      I work in an MS shop and the licensing is such a small portion of the overall cost, it's almost moot. Most of our cost is in having staff monitoring our servers and upgrading servers/infrastructure and electricity/cooling, stuff like that.

    17. Re:Not True by rev0lt · · Score: 1

      Yeah, you are absolutely right - MSDE did have a connection limit, but not SQL Server Express. Don't get me wrong - SQL Server Express is a great free product, with an almost painless upgrade to a paid version, but it's not the kind of technology you'd base your development on. It's ok to use it on small deployments, but any perfomance-wise optimization, troubleshooting and benchmarking should be done on the actual full product instead of the "toy version".


      I don't know what you call "competition", but I'm quite satisfied with PostgreSQL performance in our applications. The cost is usually a false issue (in the line with the declaration that "open source is free") - but I have a full featured SQL Server license, and still prefer to use PostgreSQL.

  45. Be careful — PHP is a trap! by Tommer · · Score: 1

    Raw PHP makes it far too easy to just throw something together and have it work, for today at least. Be sure to use a framework that encourages better behaviour. Markup and code should never be in the same file — user interface should be kept far, far away from application logic.

    I recently returned to web development after a hiatus of a few years and I have been loving Perl Dancer, which is inspired by Ruby Sinatra. http://perldancer.org/ ... it's a very lightweight framework that just gets out of your way and doesn't prescribe any particular way of doing things. I had a whole pile of back-end application logic set up before I started on the web front-end, and Dancer allowed me to keep that separated from the web logic, and the user interface separated from both, very cleanly.

    It's to the point where I can work on application logic and web behaviours in the same sandbox, and check in one or the other very easily, because the two parts of the system don't overlap in any files. A very good sign when I'm not even asking much of the source code management system!

    --
    -- Tom Rathborne
    1. Re:Be careful — PHP is a trap! by GreyLurk · · Score: 1

      Wait, your'e suggesting dumping PHP for Perl because it's easy to write hackish code in PHP?

      Don't get me wrong, Perl is a neat language, with lots of cool features, but I don't think that I'd push it to a PHP developer looking for better options.

    2. Re:Be careful — PHP is a trap! by Tommer · · Score: 1

      No, I'm suggesting avoiding raw PHP in favour of a framework that separates application logic from user interface logic. Sinatra and Dancer provide this brilliantly. Is there such a framework for PHP? I'm also suggesting that a related best practice is to keep code and markup strictly separate, which is contrary to PHP's basic structure.

      As for the hackishness of code, that's an orthogonal problem. Looks like PHP finally got real closures in 5.3, though clumsily: due to lexical scoping you still have to explicitly specify which variables fall under the closure. Oh and 5.3 introduced namespaces ... with \ as the separator. Brilliant. Maybe PHP is growing up.

      --
      -- Tom Rathborne
  46. It is an HR issue. by jellomizer · · Score: 3, Insightful

    ASP.NET or JAVA EE are all perfectly fine and their real advantage in Enterprise development is the ability to find good Professional Software Developers.
    PHP as a language is a personal preference... However many of the PHP Developers do not do too much Enterprise coding so PHP code tends to be sloppy. While ASP.NET or JAVA EE Code seems to be written in more of a professional way.

    You can write good PHP Code that does everything that ASP.NET or JAVA EE does and it may even be better and faster. However the people who tend to write PHP do not code thinking of enterprise teer development

    --
    If something is so important that you feel the need to post it on the internet... It probably isn't that important.
    1. Re:It is an HR issue. by Ice+Tiger · · Score: 1

      Have a look at the languages and technologies used by the top 20 busiest web sites on the Internet today and then tell me if you still think your statement is true.

      --
      "Because we are not employing at entry level, offshoring will kill our industry stone dead."
  47. If you love PHP by shadowrat · · Score: 1

    Why not use it? You aren't going to find any platform that doesn't have haters. Every platform also has some kind of poster child high visibility large scale application that's implemented using it. PHP seems perfectly capable of anything. You already know it. You like it. Without doing anything, you are months farther down the road than you would be by picking the platform du jour.

    In the end, nobody really cares about what's on your server. If you want to tout a platform that is trendy, just talk about how HTML5y your site is.

  48. You're doing it wrong by Anonymous Coward · · Score: 0

    From the sounds of things your .NET shop is doing everything horribly, horribly wrong. 'Everything is DataSets'? WTF? Maybe if you're stuck maintaing an ancient classic ASP webapp this might be true, but if you're using a vaguely modern version of the ASP.NET MVC framework then you should seriously consider working elsewhere as your developers are fucking idiots.

  49. Ups and Downs by GreyLurk · · Score: 2

    So, you have a couple options, each with plusses and minuses:

    1) PHP, with Zend or Cake (or some other framework). PHP is not the fastest executing, but it's easy to learn, easy to find developers for if your project grows, and is perfectly functional for front and back end coding. I strongly recommend going with Zend or Cake. There's a steeper learning curve, because you'll have to pick up some OO principles, but 5 years down the line when someone is maintaining your codebase, they will curse your ineptitude slightly less. Even if that person is you.

    2) Railo with ColdBox. Railo compiles its code to Java Bytecode, and is extremely efficient. It's blazingly fast compared to PHP, still relatively easy to learn, and with the ColdBox framework, you'll still end up with some pretty clean, maintainable code at the end of it all. You have to run it on a Java Servlet Container though, which will have a large server footprint, and carries along with it some higher priced dependencies than just a simple LAMP setup.

    3) Python with Django: Dead simple to get a development environment up, very fun language to code in. A lot of support in the open source community. Python/Django is a very popular choice. Just about any outside communication you want to undertake is well supported in Python, with native libraries often available from the API providers. Moving from PHP to Python may be a bit tricky though, and some people don't like the fact that Python is "whitespace sensitive", so the formatting of your code is very specific.

    4) Ruby and Rails: A TON of support in the Open Source world. Very Sexy, though less so than it was 2-3 years ago. Very easy to code in and update. However, there are downsides: Ruby people are in demand, so hiring extra developers will be expensive, and the Rails framework itself is constantly in flux. Just looking at the last 5 years, Rails is very different today than it was then.

    5) Microsoft Stack: ASP.Net MVC, Visual Studio, SQL Server, IIS. Look, a ton of people hate on Microsoft, but honestly, if you buy their stack top to bottom, a ton of stuff "just works". Building a simple app on MS Servers, with MS tools, in MS's recommended style can be done in no time flat. However, deviate from their master plan just a bit, and watch your house of cards fall apart. Want to run ASP.Net on a linux server? Mono is missing huge chunks of functionality. You'll probably have to re-write your app. Want to Connect to a MySQL or Oracle Database? Suddenly Entity Framework breaks down, and you're back to writing SQL in DAOs if you're lucky. Don't want to pay the $1200 license for Visual Studio? Sure you can try using MonoDevelop, but it'll take you 3 times as long to code your app, and any tutorial or blog posts you read you'll have to put through the "mental translation" of Visual Studio to MonoDevelop. Oh, and that's leaving aside the cost. Potentially tens of thousands of dollars sunk into the stack just for the software, not to mention the hardware that runs it.

    1. Re:Ups and Downs by GreyLurk · · Score: 1

      Scanning through, there were a few I noticed, that I didn't give my opinions on:

      6) Node.js - Blazingly fast with nonblocking IO, and the V8 JS engine. It's got a ton of rabid supporters, and is very sexy. However, it's purely single threaded, so it's easy to write code that will lock up your webserver and run away with the code, especially if you're not used to working in event/callback ways. As a single-threaded app, it can't take advantage of multicore or multiprocessor servers very well. Further, I believe it's still pre-1.0 release. Like Ruby, expect to pay a lot for hiring additional developers

      7) Java Play - A lot of the same ups as Railo, Mostly the same downs. It'll be easier to find Java Developers than Railo developers, but learning Java as a PHP dev is a little higher of a cliff than learning CFML (Railo's Language)

    2. Re:Ups and Downs by The+End+Of+Days · · Score: 0

      Just a quick note: Node.js now takes advantage of multiple cores with the Cluster API.

  50. Zend Framework by BiggoronSword · · Score: 1

    Zend Framework not only provides a great framework in terms of programming, but also as a learning guide. Zend Framework helps provide everything that is described above. Using the source as a reference, it helps develop good programming habits and understand proper design patterns.

    --
    interactive hologram, or it didn't happen.
  51. Mojolicious by Anonymous Coward · · Score: 0

    I'd recommend Mojolicious - a fantastic web application framework. For most functionality that's not provided, you can find a CPAN module...

    Switch from PHP to Perl and you won't go back!

  52. Re:enterprise by Anonymous Coward · · Score: 0

    when i hear the word Enterprise I keep thinking of Star Trek, not computer software/platforms. Seriously.

    anyone tried JSP? I think a few websites run JSP

    oh, and someone mentioned running ASP.net on Linux/Unix. I guess a Linux or Unix user would need a Windows computer to develop (write code) for the ASP.net website and database. I wonder if the programmer could use mono to compile a website compiled with C# or VB.net.

  53. Depends on Your Goal by Slashdot+Parent · · Score: 1

    If your goal is to develop a website, then use what you know: PHP.

    If your goal is to learn a new web stack, then choose one that you will give you the most value for learning. Perhaps you want to use it professionally. Perhaps you want to use it for more websites. There are perhaps a dozen decent choices, but only you know which one might give you the most use.

    If you wanted to post some requirements, I'm sure you could get some helpful answers. But with no requirements, this is the best that anybody will be able to tell you.

    --
    They don't grade fathers, but if your daughter's a stripper, you fucked up. --Chris Rock
  54. xforms by Anonymous Coward · · Score: 0

    Use xforms. Use Orbeon or Chiba to translate xforms into html/ajax. Hopefully someday browsers will support xforms directly, and you'll be ahead of the curve.

  55. haXe has it all: PHP, Flash, JS, node.JS, C++, ... by Anonymous Coward · · Score: 0

    One language and code base for server & client: see www.haxe.org

  56. Requirements first - Small vs Large Website by Anonymous Coward · · Score: 0

    Forget language/framework selection at this point, you need to define your requirements. After that, you can start eliminating possible solutions. That will leave you with a smaller subset for more detailed research.

    * DB size
    * TPM
    * Transaction sizes
    * Pages/sec expected
    * Page size (including all those JS, CSS, IMG files)
    * Ave Page size
    * Available infrastructure, if any.
    * Budget limits (HW, SW, Hosting, Developers)
    * Security demands (SSO or OpenID or something else?)
    * Client browser support needs
    ** Desktops only
    ** Smartphones
    ** Feature phones
    ** Tablets
    * Protocol support
    ** HTTP
    ** HTTPS
    ** XML
    ** JSON
    * Complexity
    * Reverse proxy and/or load balancer requirements
    * Desired OS platform
    * 3rd party affiliate support
    * 3rd party content delivery
    * Payment affiliates

    Different solutions will support these requirements at different performance levels and price points.

    Security professionals don't like PHP for a number of reasons, real or imagined. Personally, I avoid using PHP on public internet services due to a poor track record of patches and that the average PHP developer is a rank noob when compared with the average Perl developer.

    I prefer Python over Php, but that's mainly a language choice - Python is a general purpose language. How many desktop php apps have you ever seen? Do you want to become expert in 2 languages when 1 as an expert and another as a familiar is all you need?

    For simple web apps, I've been using Perl with Dancer as the framework. When/if my apps outgrow Dancer's capabilities, I'll migrate to Catalyst. Perl doesn't force anything, so you can always drop outside the framework. That's part of the Perl way. OTOH, if you want to find cheap labor to help with your project, Perl isn't as sexy, so php or python could be better choices - from that perspective.

    There were recent issues publicized related to handling of some commonly used web-app. Ruby, Python, and Php were all impacted. Perl was not. Any of those impacted languages will need an update and the apps using them will need an update to close that hole. Just another consideration.

    Don't make the same mistake that the Twitter guys made in choosing Ruby. I love ruby as a language, but it still has scalability issues. Rails doesn't like it when you don't do it the "rails" way either.

    Regardless of the final solution, start with the requirements.

  57. You can use any language you want to with FastCGI by rdebath · · Score: 2

    If you write your program as a "FastCGI" process it's running as a normal process that accepts tasks one at a time from the web server and sends the results back for the webserver to forward to the client. Your process keeps running so you don't have the overhead of continually restarting your web program that you get with plain CGI.

    It is, in theory, possible to have a FastCGI server using a shell script. But pointless because FastCGI is supposed to be used to eliminate cost of starting of processes. Otherwise any language that makes normal executable program can be used, if a library exists or you write something following the (pretty simple) documentation, but for really limited languages you may need a wrapper.

    Once you're writing your own persistent program in your own choice of language to service the requests the rest is supposed to be easy. :-)

  58. I WOULD USE THIS LANGUAGE FOR A WEB PROJECT by Anonymous Coward · · Score: 0

    Based on responses from 2052 people : http://therighttool.hammerprinciple.com/statements/i-would-use-this-language-for-a-web-project

    For a new project, I would personally either go for Python or JS based web app - try NodeJS with RailwayJS or Web2Py if you are still learning python.

  59. Some options by Anonymous Coward · · Score: 0

    There are a lot of good web frameworks out there. Some might be better suited for your skills and project, but its hard to say without more details. Coming from PHP, I have a feeling you'll really enjoy Rails or Django. I'm also partial to Grails, which is similar Rails, but based on Groovy/Java.

    A good place to hang out to learn more is Hacker News (http://news.ycombinator.org/news).

  60. Groovy and Grails by stixn · · Score: 1

    Grails is a web application framework for Groovy, a new-ish (8 years?) language that runs in the JVM and is 99.99% compatible with java.

    Grails itself borrows the good stuff from Ruby on Rails, like convention over configuration. It's a springsource project that uses other springsource resources, like Spring Security and Spring MVC. The first time your build or parse XML/Json using Groovy you will fall in love. Database access is similarly easy using GORM (Grails Object Relational Mapping) which is built on top of hibernate (but without any XML configuration).

  61. I would use this language for a web project by minutetraders · · Score: 1

    Based on responses from 2052 people : http://therighttool.hammerprinciple.com/statements/i-would-use-this-language-for-a-web-project -- I would either go for NodeJS with RailwayJS or Python with Web2py.

    --
    Negotiate Before You Buy
  62. Don't start a NEW project in PHP by Sloppy · · Score: 2

    Each PHP release is better than the one before it, and it's getting close to being much like a "normal" language.

    Close. It's not there yet, and probably never will be, due to compatibility requirements.

    You can pretty much do anything in PHP you want, but the bigger your project gets, the more you're going to run into its weirdnesses. I don't have a list to enumerate for you, but please believe me, I run into "Holy shit, I don't believe this" language oddities every couple months, where PHP does something just plain weird and wrong compared everything else. After nearly 5 years maintaining some PHP code, I still get surprised once in a while.

    Another thing to look out for is that PHP versions deployed on various web providers vary, so when someone says PHP 5.3 fixed something that had been totally fucked-up-beyond-belief in the language before that, they might be right, but are you sure you're going to be using 5.3?

    Just look at the release notes to get some idea how bad things have been. I'm not saying that's a fair way to judge the state of the language as of the latest release, but when you see quotations from the past (as recently a just 2 years ago) about how great PHP is, and realize just how horrible PHP definitely was at the time the person said that, you'll realize that most PHP recommendations need to be taken with a shovelful of skepticism.

    That said, if you inherit and have to maintain a PHP project, I wouldn't worry too much about it. Your brain will eventually get used to all the damn dollar signs in the variable names, you will be able to get your job done. I've never been in a position where I could say "It's not my fault, PHP just can't do it" because it always can. There's always a way around PHP's problems and it has never stopped me from accomplishing a goal, but you are going to occasionally be expending more effort than programmers who use normal languages.

    Don't spread it. Don't start new projects in PHP, both for your own sake in case the project grows, and for the sake of whoever comes after you. There are plenty of not-broken languages out there.

    --
    As copyright owner of this comment, I authorize everyone to defeat any technological measure which limits access to it.
    1. Re:Don't start a NEW project in PHP by Anonymous Coward · · Score: 0

      "After nearly 5 years maintaining some PHP code, I still get surprised once in a while."

      If your PHP code base is over 5 years old your existing PHP4 code base won't work with PHP 5.2 so either you're lamenting the old PHP 4 and have no idea what PHP 5 is about or you just don't actually know PHP. Which also brings me around to your "probably never will be, due to compatibility requirements." I think you've just proven yourself wrong on all three counts there mate and I'm willing to take that further by saying it's your code that does unexpected things, and it has nothing to do with PHP.

      "PHP versions deployed on various web providers vary" That's not a language issue, but a provider and /user issue. The same can be said for .NET or Ruby. This has nothing to do with PHP. If you can't configure your PHP properly don't blame the language.

      I don't know who modded you up for this post but it's completely erroneous.

  63. Not mentioned yet by hene · · Score: 1

    Java + Google Web Toolkit

    GWT makes it relatively easy to write user interfaces, leaving coder to focus on site functionality. It has good performance. I find it little hard to code tough, but I'm not real programmer and lack the experience. I would be happy to hear why this is not considered as an option, sense I was going to learn it next.

  64. Java EE 6 by teefal · · Score: 1

    Having just finished a non-trivial project using Java EE 6, I'm very pleasantly surprised at how far things have progressed in the Java world.

    I used:

    * Glassfish (app server)
    * JPA 2 (EclipseLink)
    * JSF 2 (Mojarra)
    * EJB 3.1
    * PrimeFaces (excellent JSF toolkit)
    * Selenium/JUnit/Maven, etc.
    * Java 6+

    Java EE 6 completes the job started in Java EE 5, which is essentially ... re-do everything using the best practices developed in the last 10 years, learning from everyone's new ideas and jettison'ing the old. Convention over configuration, annotations, streamlining ... all decent throughout.

    Standard Java EE is now very robust, speeds development, assures safety, and aids test-driven development.

    I also think this particular stack will hang around for a good number of years, if not decades. They finally got it right.

    1. Re:Java EE 6 by melmut · · Score: 1

      I fully agree with that. I do lot of projects with just about the same technologies. The learning curve is there, but it's worth it. Java EE has one killer thing that I never saw in other platforms: standards, with multiple implementations. JSF might have a bad reputation due to it's past, JSF 2 manages to provide a cool, efficient tool for quick development. Same for EJB, JPA, etc. Plus, they all have multiple implementations. Nowadays, you can switch application server or JSF implementation quite easily, without having to touch the code. This makes things better than with any random framework: you will have years of backwards compatibility, you can evolve your application without rewriting everything if some implementation disappears, bugs aren't marked as "not a bug" (if it's a deviation from the JSR, it's a bug), etc. To answer the OP's question: if you need something simple to see how programming works, pick anything and try, the only thing you can lose is time. If you want something strong, strict, robust etc., pick up Java or .net. In my opinion, .net is technically better, but lacks the standardization and the multi-platform aspects.

  65. Drupal by SpzToid · · Score: 1

    I've got nothing against the merits expressed here for using django for php, or even python, but I use Drupal professionally for many years and here's my points for using it.

    There is using php, and then again there is using an open-source framework/api like Drupal. Just like you can write your own javascript, or instead learn to use jQuery for much greater efficiency and power. Except not only is the well-travelled road made smooth for you, but you get your own security team as a result of using Drupal, and you need that. Just use best practices and learn to apply updates to stay fresh; sort of like windowsupdate.

    Authentication, roles, permissions etc. Why write your own and reinvent the wheel, even if you just bought a nice book that says you can?

    Jobs. Seriously go look, on www.dice.com, www.authenticjobs.com You might start with a little website now, but like learning to develop a little something in linux, the sky is the limit. The Documentum corporation (for example) is not going to deny access of their 'advanced' software to you, and you will not be denied whatever documentation exists either. Jump in! Compared to wordpress this is wonderful. Name some big budget wordpress projects, because I'd like to know about them. I'll list a few Drupal projects here:

    Sony/BMG (artist sites, movie sites, etc.)
    Warner Bros
    whitehouse.gov
    congress.gov
    economist.com
    onion.com
    nasa.tv (actually I think they broke the URL for that)
    aol and yahoo have used it for their corporate and research sites respectively (research.yahoo.com)
    and many, many more

    --
    You can't be ahead of the curve, if you're stuck in a loop.
  66. Re:Modern Perl is worth your time and consideratio by Vijaysj · · Score: 1

    First, I should state that it's really not about the language, it's about the coder. You can build great and crappy things with any language. And every language has it's warts. That said, the best language I've used in the past 20 years of programming has got to be Modern Perl. Not the chicken scratch Perl you saw 5 or 10 years ago, but Modern Perl. Here are some of the strengths of modern Perl: {SNIP} And so much more. Do yourself a favor and at least have a look at Perl.

    In have been working with Perl5 for the past decade.... What exactly is Modern Perl? Is it perl6? Is perl6 out yet? How easy is deployment to unix and windows machines? For windows can I provide a self contained Executable or do I need to provide a list of instructions on how to install perl, how to download from cpan etc? How is the support on the shared accounts renting for $5/m? Does the default perl installation bundle all the modules you have mentioned?

    --
    To Share Is To care
  67. Hunchentoot by johnjaydk · · Score: 1

    I prefer the Lisp way. Hunchentoot on SBCL Lisp and hooked up to a Postgresql database through the postmodern interface.

    The whole thing runs excellent on Linux and You can download are all sorts of nifty packages available to simplify Lisp web development.

    If the load becomes too heavy then stick an Apache server in front to handle the static stuff and SSL.

    --
    TCAP-Abort
    1. Re:Hunchentoot by Patrick+May · · Score: 1

      Same thing for me, except with CLozure CL instead of SBCL. Works beautifully and the expressiveness of Lisp means that you get more functionality with less code.

  68. What about performance? by snookiex · · Score: 1

    I use PHP (and the great Symfony framework) for small or mid-size projects, but for enterprise class stuff I use Java. One of the main reasons (yet not the only one) is performance, but I acknowledge it's more of a personal prejudice. How is it going now? any reliable benchmark out there to support my preferences?

    --
    Open Source Network Inventory for the masses! Kuwaiba
  69. PHP is fine, don't bother with frameworks by Anonymous Coward · · Score: 0

    PHP itself is a fine language and allows you to write something very quickly without structure. That being said, like any language, it would be good to get into the habit of designing something first and then implementing it in a structured way. This is true of anything - C, C++, Java. The Object Oriented system within PHP5 and above is fine, and appears to be a rip-off from the Java design, which makes it quite simple but very useful.

    I would recommend avoiding frameworks for PHP. You will end up learning the framework, not the language. It would make more sense to build a core library of classes and functions that you use frequently and reuse them. When something breaks, you'll know why because you wrote it and won't have to get bogged down in getting used to someone else's coding style, naming conventions and clever/obtuse/bad coding.

    There is a lot of bad PHP code out there, but the same is true of many other languages, probably least of all C++ because nobody bothers learning it. A shame, as that too is a good language and is an excellent choice for desktop software given a decent GUI library, such as wxWidgets. If you're intending to make money from software you write, ensure that you choose BSD-style licenced stuff and avoid GPL and perhaps LGPL, depending on whether you're deriving the work or writing a library. PHP tends to get a bad press from fans of Java and the monks of Perl and Python, although I personally do not see why. Each of those languages is fine in some situations, the same as PHP is fine on a web server.

    For hosting, you'll find many hosts offering the typical LAMP stack. Although some databases such as PostgreSQL are nicer to work with in some instances, for 90% of the simple websites you'll find, MySQL is fine too but you might run into some headaches with it. There are workarounds though (such as creating triggers instead of using check constraints, as MySQL doesn't support check constraints).

    You will find PHP easier to read than Perl. For client-side stuff, you might like to look at Javascript libraries such as jQuery for fancy animations and AJAX requests. Read up on DOM and find ways of manipulating a static web page using Javascript before rushing into jQuery, as you'll end up learning frameworks instead of libraries and then be stuck when things break and you won't know why as you didn't learn the language.

    Get into your head that the Internet (and specifically dynamic websites) are just giant text generation machines. Take a request, work out what the user wants, grab some data from a database, and wrap it in XHTML, or generate XML and wrap it in XSL. The step to web services just involves not wrapping it in XHTML but returning JSON or XML instead.
    Read up on the very simple HTTP protocol. If you are coming from a desktop application development background, get it into your head that HTTP is stateless and unlike desktop apps where you might rely on a client-side dataset of data you've retrieved from a database, do modifications on it and then sync it back, dynamic sites generally are atomic. Even with AJAX, you will be fetching the data, displaying it, and sending back modifications without the concept of logically and deliberately storing a client-side cache.

    Give yourself sample problems to solve. Don't wait for someone to ask you to write something because you will run out of time and won't be driven.

  70. My 2 cents by Anonymous Coward · · Score: 0

    I've been working as a professional php developer for 5 years now. I do enjoy writing code in php. It was very easy for me to learn php coming from a C background since the syntax is very similar. There are certain issues with php but I believe this can be said about any programming language. One of my largest complaints is the lack of consistency with the ordering of parameters for string functions. I pretty frequently have to check the docs to make sure that I am using them in the proper order. This could easy be solved with writing your own string class or writing wrapper functions for php's built in functions.

    The company I work for uses the Zend Framework for development. I did a lot of research at the time we started using it and made this recommendation myself. I like how the components are loosely coupled, meaning you aren't tied into any particular way of doing things. I find the Zend community rather helpful also. I've pretty much always been able to get help when I've needed.

    I might recommend looking into python if you are starting completely fresh. I really love the language over all. It is truly object oriented and overall I feel like I do a lot less typing. But with php you will be able to find a lot more libraries and help if needed.

    I also highly recommend using postgresql over mysql. There are so many reason that I wont even get into it. But let's put it this way: postgresql is a real database and once you get used to it mysql feels like some micky mouse bullshit.

    Good luck.

  71. Use what you like. by lpfarris · · Score: 1

    If you are coding for yourself, and you are productive and have fun using PHP, go for it, don't worry about what other people say about the language. If you are going to hand it off to someone else, later, you need to be cognizant of how hard it is to find coders for your language of choice. I personally like picking up new programming languages, they affect the way I approach any programming task. My usual thing is to write a web-app in the new language. That being said, if I just have to get something working, and working well, I will go with what I already know well, if I can, or with what the environment requires, if I don't have a choice. Where I work, the choice is Java or Java.

  72. Once you go Django, you never go back (to PHP) by Anonymous Coward · · Score: 0

    I personally enjoy using Django (Python) for any complicated websites- Python is such a pretty language, very easy to learn the basics, and is great for rapid development. It's a strict language (which people coming from a Perl or PHP background might not like) but it rocks.

    For smaller applications I enjoy using CherryPy (Again, Python) as the server (and back end logic and actual serving), and just use JQUERY (and ajax) for any any dynamic content-- completely forgoing any template language (although whenever I have to use one, naturally I go with Jinja 2 since it's template syntax is very similar to Django's template language).

    Also Django has a wonderful community that is just the right size.

  73. Disdain isnt a reason to switch... by pjr.cc · · Score: 1

    If you like php, use it.

    Theres a simple quote who's origins i forget (think it was bjarne stroustrup) that goes "there are those languages that people complain about, and those that people dont use".

    Sadly, the more people who use language, the more you generate hate, and php is one of the most widely used in existence.

    PHP has alot going for it:
    - its an elegant language
    - its quite quick to write almost anything in
    - its generally quite fast
    - theres bucket loads of people using it, so finding solutions to problems is easy
    - lots of different frameworks if you need them
    - tonnes of api support.
    - almost every web host supports it.
    - the number of people using it generally just helps the code base, bugs get found and dealt with, etc etc etc.

    The only reason to switch to another language comes down to the goals your trying to achieve, which aren't really stated. Generally speaking you could achieve any type of web content in any language to an extent. There are few languages that have the support for api's that php does, thats for sure. Perl is probably the only one that beats it in terms of "i want to connect to from my web code".

    But it depends also on what you had in mind in terms of switching to.
    - Java is a reasonably nice language, very well supported (by vendors) and scales well, but requires significant development time and quite a decent amount of grunt - forces you to abstract your work ad infinitum but sometimes thats a good thing. Lots of different api's, though mileage varies greatly.
    - Dot-net i personally find to be somewhat on the buggy side, but again, well supported and well used - often forces you down an MVC framework path, which i dont like.
    - Python's probably a better language generally, but for web coding, you get caught up in the basics with python around choosing frameworks and so forth and later if you find the framework you choose wasnt that great, then its re-code time cause frameworks generally dont have easy migration options. My main annoyance with python is that learning python tends to diverge a fair bit from helping you with other languages (i.e. learning python wont help you with c/c#/c++/java/etc).
    - Ruby has similar traits to python - you get caught up in the frameworks, the language is nice but doesn't translate easily to other languages.

    There are other options, but personally, stick with the top three if its your first coding exercise for content - php, java, dot.net

  74. These days, It's Mojolicous all the way by MadMartigan2001 · · Score: 1

    All my web projects are now use mojolicous. It's a great platform to develop on and easy to get started. And make sure to try the websocket and events support. Very fun stuff.

  75. You should totally think inside the box. by toby · · Score: 1

    Or, here are some interesting alternatives.

    --
    you had me at #!
  76. You're doing it wrong by Galestar · · Score: 2

    I suggest your whole team takes some course on software architecture and design patterns. Contrary to what you say, .Net does not encourage that - you people simply don't know what you're doing. If you write that kind of crap in .Net I'd hate to see your PHP code.

    --
    AccountKiller
  77. Why not LAMPP-based Drupal? by Anonymous Coward · · Score: 0

    At least were suitable, Drupal seems to be an excellent choice.

    We've been exposed to the excellent tutorial videos by Lullabot,
    and impressed by the extendable capabilities of Drupal.

    Drupal seems a bit like Android: You start with a functionality core
    and add modules (analogous to app's) to expand from there.

    Interconnection & integration can be built into added modules,
    so, there's lots less time needed for designing & implementing
    "infrastructure"... leaving more time to explore & design inno-
    vative features for the target system to provide.

    I'd suggest that Drupal would be the choice for those, who
    do not want to be held under the thumb of their developers,
    at least, once there are enough Drupal developers around
    to meet all the needs - both current & future.

  78. Ruby on Rails by BigDaveyL · · Score: 1

    I've been slowly learning Ruby on Rails. Seems alright.

  79. Haters will hate by Anonymous Coward · · Score: 1

    No matter what you choose, there will be somebody who tells you it's a stupid solution. The most important thing is making sure it's not *you* who realizes it's a stupid solution in a short amount of time.

    I recently had to make a similar decision myself, having done everything in Perl for years and years, and knowing that on my new project I will likely want to had it off to have somebody else develop, if it takes off. I had to ask myself some honest questions about not only what I wanted to write it in (which is relevant, certainly), but also what kinds of resources would be readily available in the job market (or even the volunteer or partner market).

    Whether you're considering PHP, Perl, Rails, ASP.NET, Java, Python, or anything else... there will be those who want to say "It's a framework, stupid!" or "It's a language, stupid!", and will want to belittle languages they hate and promote languages they love. The truth is that we live in a time of many choices, which is a great thing. It's good that you're examining the pros and cons. I'm just not sure how much of an answer the Slashdot community is going to be able to provide :)

  80. Re:Modern Perl is worth your time and consideratio by miletus · · Score: 1

    I strongly second this, and mention frameworks like Catalyst and Mojo. I'd also mention PSGI/Plack middleware as a having a lot to offer. The Padre IDE is not too bad either.

  81. Re:Modern Perl is worth your time and consideratio by miletus · · Score: 1

    "Modern Perl" is, as I understand it, basically Perl 5 (preferably 5.10+) using more modern syntax and best of breed CPAN modules. I believe the book "Best Perl Practices" started the ball rolling, and the Moose object system is really excellent.

    The blog modernperlbooks.com goes into a lot more detail into what constitutes "Modern Perl".

    For Windows you might want to checkout "Strawberry Perl" which at least makes getting Perl and a big chunk of CPAN a lot easier.

  82. Web development with PHP or alternatives by Anonymous Coward · · Score: 0

    Rather than argue about inane language versus framework flames, I would recommend the article writer consider a Python based "framework" or complete Content management System (CMS) like Django framework or the Django-CMS. The advantages over any Microsoft based technologies are that

      (a) one is not tied into using Microsoft IIS HTTP server and all the other large, clumsy and expensive tools like SQL Server, Sharepoint Server, and other Dot.Net baggage.

    (b) The main advantages accrue to much greater security, better scalability/performance and (indirectly) reliability, since the developer can use Linux/UNIX foundation rather being stuck with MS Server. No comparisons, at least by independent, respected and knowledgeable testing/evaluation prganizations. Or just check the web structure for Google, Facebook, Twitter, LinkedIn, Amazon, ABC, CBS, Fox News and almost everyone else - no Microsoft there.

  83. I'm a fan of JEE by msobkow · · Score: 1

    JEE with Java 6 provides me virtually unlimited flexibility and much greater scalability than any of the scripting toolkits could ever dream of.

    But my only experience with web site development has been on systems that have to deal with hundreds of thousands of concurrent users, if not millions during the load peaks.

    Sure it's a lot more code and a lot more work to use JEE than a scripting tool, but whether that development effort is worthwhile depends on your scalability needs. Screaming about how great your favourite web tool is won't make it scale.

    I have nothing but contempt for MySQL on the same basis. It's a toy database with bare-minimum functionality and not suitable for complex business applications. The fact that there are hundreds of thousands of websites built on MySQL doesn't mean that organizations like Facebook haven't realized they made a bad decision putting their eggs in that underpowered basket.

    I design and develop systems with FUTURE needs in mind, not just a bare-bones implementation for the current requirements. In the long run, it saves you millions for large systems because you don't need to toss out v 1.0 and rewrite it completely to produce 2.0; instead, 2.0 is an evolution of sound decisions made in 1.0's design and tool selections.

    --
    I do not fail; I succeed at finding out what does not work.
  84. If you're unsatisfied with your answers... by Anonymous Coward · · Score: 0

    It's because the question kind of sucks. For basic web development, any language will do just fine. Really. Pick your poison and live with the pain in the places where your particular tool isn't strong, chain different tools / languages together to take advantage of the inherent strengths / weaknesses, and move on. Really there isn't any inherent problem with PHP, or ASP or Ruby or Python or Java (EE6). There are things that rock and things that suck about each and every language and framework out there. I had the misfortune of inheriting a PHP application (SaaS) which utilized extensive cURL calls and pcntl_fork to try to pull off a multithreaded concurrent PHP app. The problem was, none of it was reliable.. at all. Sure some of it came down to some bad design decisions which I was never a part of, but I've been working with PHP on and off for the last 13 years and in my opinion the real problem was that it wasn't really the right tool for THIS job or at least this part of the job. The biggest issue is they were trying to get it to do something that it really isn't good at namely concurrency and IPC. Yes, I know about semaphores and shared memory segments in PHP. Yes I know it's possible. I'm trying to say however possible, it's far from elegant. Especially compared to something like EE6. For a lot of things, PHP rocks. For this particular application, it was a nightmare.

  85. Play framework by mr_stinky_britches · · Score: 1

    Play-framework is a JVM web framework which works with both Java and Scala. It reminds me a lot of RoR and Django, with additional benefits, such as:

    • -High-performance JVM
    • -Real system-level threads
    • -Type safety
    • -Leverage existing libraries (jars), there are many fantastic resources available for the JVM

    I've been using this in production for 9 months now and haven't looked back. The community support on the Scala side (IRC, Twitter, Stack Overflow) has also been friendly and responsive.

    --
    Censorship is obscene. Patriotism is bigotry. Faith is a vice. Slashdot 2.0 sucks.
  86. Slashdot is not where the node crowd is? by danken · · Score: 1

    Skimming the posts above, I am astounded that so few slashdotters recommend node.js. Where on the Internet is the node crowd lounging?

  87. WORD ACCESS DAP AND VBA!!!! by Anonymous Coward · · Score: 0

    This is the best way to produce highly scalable web applications.

  88. My list (I'm a seasoned web software developer) by Qbertino · · Score: 1

    Languages:
    PHP
    The only widespread domain-specific language in existance. It's a strange combination of domain-specific and 'basic-anchestor' for the simple fact that it grew paralell to the web and was the first to be 'not Perl but on Apache, as in mod_php' and easy to pick up for n00bs. It started as a Perl templating engine - which shows to this very day - and has since turned into the prime got-to language for serverside web development. And for good reasons too. In recent years it has started to bit measurable chunks out of the Java space aswell, and ever since virtualisation, cheap hardware, PHP 5.3 and Facebook growing past 0.5 billion active users the last of the 'PHP doesn't scale' crowd have shut up aswell.

    It has by far the largest set of mature and seasoned web development and WCMS toolkits available, and the largest set of projects based on it that are still in high activity development and maintainance. If in doubt, chose PHP. The syntax is a weedy mix of Perl, C++ and other middle-ages semicolon languages, it has some very strange and bizar purpose-built integrated functions for web-stuff, but it gets the job done, and does that well. It has a community that doesn't have its head up its ass, like the Ruby guys (see below). Very n00b friendly and modest. Thus its popularity.

    Python
    My favourite language, although I do my webstuff in PHP (see above for the reasons about that). Clean, modern syntax, all the goodies of Perl and PHP minus the syntax suckage. Only a handfull of webkits and appservers in active development, but all of those are top-of-the-line. All in all, it's a better choice than PHP, popularity aside. Which is a bit of a shame. If you like Pythons syntax, use it for your webstuff and join one of the larger Python webkit projekts to spread the love. You'll be making the world a better place and the community will thank you for it.

    Ruby
    This is a tricky one. Neat language, with the one or other issue still to nitpick at, due to the fact that Rubys runtime coreteam isn't nearly as big as Pythons or PHPs. If you like it, you maybe want to look into it. The biggest problem with Ruby is its community, as the Ruby fans think they inventent web frameworks when they came up with Ruby on Rails and showed it to the Java guys. My encounters showed lots of un-sympathetic academic dick-waving here and tons of raving of how awesome web-dev has become with RubyOnRails, the Ruby persons go-to webkit. You have to hand it to the rails guys / 37signals though, they pratically invented show-case/off screencasts and FOSS websites that don't look like shit. Ever since Rails appeared, no toolkit or community can afford to have crappy websites anymore. An effect for which I personally am grateful. They also made webkits and easy script based webdev know beyond the PHP and Python community. If you like the Ruby syntax and are into PragProg Books about any subject on Rails, this might be your thing. Ruby and RubyOnRails go together though, that's basically what you buy into. Just don't mention Mojave or Zope around those guys or show them any of the countless mature PHP projects they'll either start crying or snap in to a tantrum, foaming at the mouth, raving on about how unbelievably awesome Rails and how professional and PHP is insecure by design and doesn't scale so on. Just *shhh*, mums the word. Or mention Facebook when the 'doesn't scale' thing comes up, but step back a little before doing that. :-)

    Java
    The FOSS Java community has since seen the light and has come up with its own small and neat set of usable webkits. If you chose Java, look into the wicket web framework. Appears to be the least scary of Java toolkits. I don't like Java and I don't like Oracle, but that's just me. You may have other priorities.

    Perl
    Neat old-school language, but I wouldn't bother. PHP came out of Perl to take care of the web domain. Which is precisely what happend. If you know Perl and like it, look for Perl webki

    --
    We suffer more in our imagination than in reality. - Seneca
  89. because it is not compiled by Ian-K · · Score: 1

    When the code starts to get (really) complex, it gets hard to keep track of errors coming up. In a compiled, statically typed language the extra nagging from the compiler really really pays off, as you know EXACTLY what the problem is and where to expect one. Then the debugging really comes down to hunting nulls and what-if scenarios. In PHP you basically have to keep track of almost everything having the right type etc.

    I grew up as a Java person (even got meself the SCJP) and I then had to cope with PHP on my work enviroment. I came to appreciate how you can do a lot of things really quickly, but now I spend my time hunting for errors that start appearing once the code passes a certain level of complexity (even though I did take care to design things in a proper OO manner). It's simply hard to keep track of things.

    Object orientation kinda sucks in PHP, btw and I have yet to come up with a viable solution to the "include" mess. In Java you have your packages and subpackages in specific folders. You add the right dir in the classpath and you're sorted. In PHP... most things are relevant to the location of the entry file. And packages... basically don't exist.

    Coming to which... I'm now trying to squeeze my way into J2EE... it's the "right" way for anything large scale but it's a bit daunting to begin with. And that's what's kept me so far from delving into it.

    Then I hear a lot of good things about the ZK framework, which I'm currently looking into and it seems quite promising. So, from what I've seen so far it looks like a technology well worth investing into.

    --
    I'm no longer fed up with MS Windows: I go rid of them :)
  90. ASP.NET MVC by Anonymous Coward · · Score: 0

    If you go with ASP.NET use the new MVC platform. Don't use WebForms. In WebForms you will inevitably be tempted to code as if you were on the desktop. Don't do it! The page life cycle of WebForms tries to mimic an event driven pattern like on the desktop. While you can avoid the dual curse of postbacks and viewstate you have to work to do it. Use jQuery/AJAX and ASP.NET MVC.

  91. PHP 5.3 by Anonymous Coward · · Score: 0

    ?php
    I would suggest developing into a nice OOP PHP 5.3 and use a newer framework like Fuel, Code Igniter, or Zend Framework 2.0, OR if you're developing something similar to a blog engine, Habari is shaping up nicely.

    I would avoid using Drupal, Mambo or Joomla; the top 3 reasons why people hate PHP so much and for good reason. PHP 4 was pretty bad and, as was mentioned above, their architecture forced bad programming habits. PHPBB and PHPNuke should be shot like the dead horses they are. But these are all the CMS's people tried to use a framework over the years... so a lot of what you read out there is now so old, it's silly. Like a lot of the grudges against PHP in this thread.

    I love PHP more and more with every release since 5.0 and I have become convinced that those people who dislike it should at least give it another go now that it has namespacing, interfaces and lazyloading. 3 features I have yet to hear anyone above mention. Personally, I think they're all holding a 4 year old grudge and it only persists out of ignorance. I would challenge them to break that grudge and give it another go.

    FTR: I've worked with ASP, C#, RUBY, Python, PERL, C++, JAVA. Heck, I've even coded in Pascal (incl. Turbo), Machine and Assembly.

    I would recommend going with PHP today *for a web app* with the suggestion of avoiding any library licensed with GPL v3 - Go with a MIT license instead. I would also make sure it's minimum requirement is PHP 5.x If it says it will run on PHP 4, run away.

    On that note, if you go with MySQL for your database be sure to use InnoDB. But that's a whole 'nother askSlashdot isn't it?

  92. Elephant in the room- Java by coder111 · · Score: 1

    Make it either full blown EJB/JavaEE, or something lightweight, it's up to you. Depending on how many features you need, the learning curve might be a bit steep, but you get:

    * Loads of features. Distributed caching, distributed transactions, webservices, messaging, clustering, high availability, OR mapping, database support, security, AJAX interactive webapps, you name it.
    * Choice of free/open source servers and frameworks.
    * High performance if you don't do something brain damaged.
    * LOTS of open source frameworks and libraries to do pretty much anything.
    * Cross platform.
    * Mature and proven- used in 1000s of applications all over the world.

    It's not without its drawbacks. It's not that easy to learn or to get things right. Although learning to work in enterprise Java is still quicker and better than writing your own half-backed implementations of some features provided as standard in JavaEE that are not readily available elsewhere. Hosting might not be as cheap as PHP. Getting application actually written might take a bit longer than PHP or Ruby. Getting everything set up migth be a bit tedious as well. Sometimes there are several libraries or frameworks or servers doing the same thing and chosing right one is tricky. IDEs (eclipse/netbeans) are slow-ish and sometimes buggy. Java serverside APPs take a while to start up- so compile/deploy/build cycle isn't as quick as with other languages/frameworks.

    --Coder

  93. PHP by Anonymous Coward · · Score: 0

    I do a modest amount of work in PHP. I found PHP to be basically what I was looking for due to a couple of reasons: 1 - free to use and develop with, 2 - readily accessible free examples for learning, 3 - it wasn't an MS product, 4 - it's available and supported on almost every web service provider, 5 - very robust in development.

  94. Java + Apache Tapestry by nwf · · Score: 1

    I use Java as my language of choice (because I know it and there are tons of libraries available.)

    For web sites that are use by people, I use Apache Tapestry 5 as the web framework. It's very easy to use, integrates with Hibernate, is very fast and makes me very productive. I find that I can write nice looking pages that work well in a very short amount of time. I end up writing very little actual code, so maintenance is easy. Live class reloading is a major plus, I just edit my page or Java class, hit save and the changes are ready to be used in my browser.

    However, there are many other Java web frameworks to chose from based on what you like best. Java is a bit bloated, but it's pretty fast and stable. And there are libraries for almost anything. (I generate PDFs, for example, using iText and everything works very well together.)

    I use Eclipse for my IDE, which while it could be faster and less bloated, seems to work pretty well.

    If you want to focus entirely on web services (e.g. SOAP or REST), then there are easier solutions for that in the Java world. (I use JAXB annotations with Jersey for REST services.) For SOAP I'd use Apache CXF based on what I've read. You can integrate both of these with Tapestry and Hibernate to create a cohesive web platform.

    --
    I don't know, but it works for me.
  95. Isn't mono patent encumbered? by walterbyrd · · Score: 1

    I thought the whole idea of mono was to set you up for a Microsoft lawsuit? Microsoft files frivolous patent lawsuits all the time, and MS threatens even more than that.

    I think I would steer clear of mono.

  96. PHP is uber-poop, and so is facebook by fyngyrz · · Score: 1

    Please, please... you think facebook, of all places, is a "professional" venue? It's a big venue, but it's at the cardinal opposite end from professional. Good grief, you can't find a poorer UI, a more clueless group of users who have no idea how to use it (partly because it's poor, partly because they're clueless), or a less valuable collection of content anywhere on the net.

    Hey, guess what I don't have? And don't want! A Facebook account. Did you guess? lol...

    You might want to inform Facebook devs [1] that their language isn't "professional". Go on, I'll just wait here.

    You infer, incorrectly, that I care what Facebook devs think. I don't. The site is a POS, designed for the least common denominator, very poorly put together, crippled by ridiculous policies, and reflecting the very worst of human nature from end to end in its mining of privacy and promotion of a false impression of importance driven by pseudo-popularity. And no, I don't think switching to a real development language would help at all. The problems are too broadly inherent to the idea. The poor choice of dev language is just a symptom of the LCD nature of the site itself.

    --
    I've fallen off your lawn, and I can't get up.
  97. Not again! by bgibby9 · · Score: 1

    I'm sorry but loaded questions like these should never make it to the list because THERE IS NO ANSWER only OPINION!

    Asking a question such as this is like asking what car is the best one for driving? It's subjective and only causes flame wars.

    What's the "best"? Well, the "best" is the "right tool for the right job".

    Find a language that suits the job (ie. does it require quick turn around and easy coding, go for a scripting language, if it requires scaling and enterprise level features then pick a language that suits), then if the language has frameworks that do what you need them to do, then select one based on those values rather than a blanket, "what's the best".

    Everyone in here stating that one language is better than another should be sent to the naughty corner as they should well know by now that EVERY bloody language has it's pro's and con's.

    --
    http://www.gibby.net.au
  98. Libraries by Tablizer · · Score: 1

    Over the years I've developed a library of utilities to draw and manage web forms, database interaction, etc. I've translated them originally from ASP classic, to Php and ColdFusion, and to a lessor extent Dot.NET with some minor changes (applying experience as I go). The libraries work best with "scriptish" languages.

    I have personal syntactic preferences*, but at the end of the day it doesn't matter that much which scriptish language I use as long as I have my trusted and time-tested libraries to use.

    It may take a few days to rewrite them in a diff language if I have to work in a new shop or diff app, but it's usually worth it. And I may customize them per flavor of app.

    Some claim Dot.Net is just such libraries, but the code is still about 3 times more verbose than my libraries. Microsoft automates bloat, not reduces it. My libraries read almost like pseudo-code. Plus it's hard to know what's going on under the hood with MS widgets. My libraries are relatively short and well-commented so they are easy to dissect if need be.

    I don't claim to be a great library writer, only that I learn and improve along the way via the hard knocks of real-world maintenance, and take pride in the craft of improving the libraries. It's evolution, not so much intelligent design.

    * Languages with powerful and flexible maps (dictionary arrays) seem to make life easier.

  99. Choose the right tool for the right job by AlanBDee · · Score: 1

    The biggest benefit to PHP is that it's easy, simple and just works. Most other platforms such as Ruby on Rails, ASP, and JSP derive from other languages such as C#, Visual Basic, Java, and Ruby that were not specifically designed for web development. PHP was designed from the ground up to build web sites.

    Ruby on Rails was designed for rapid development, great if your manufacturing web sites. Java and C# can do anything, including web services but they are best suited for enterprise applications that are likely to integrate with other systems that are far more complex.

    I think Steve McConnell said it best when comparing software solutions and how some projects are simple and can be built with simple tools. But if your designing and building a skyscraper you will use different tools and different expertise. http://www.codinghorror.com/blog/2007/09/steve-mcconnell-in-the-doghouse.html

    The disdain you sense in some circles is the contrast from the highly experienced software engineer vs the unfortunately common PHP coder who doesn't realize how ignorant they are. To play off Steve's analogy, it would be like one saying they can design a skyscraper because they did such a great job designing their dog's house.

    I was one of those arrogant PHP coders and thought I could do anything. Then I got a clue and realized that I knew nothing, as said best by Socrates. If any PHP programmers are reading this and are offended then simply ask yourself if you can name five design patterns. If you can then you are not the ignorant PHP developer I'm talking about.

    PHP is a very powerful language, especially when coupled with jQuery, Zend, Yii, Cake, or many of the other frameworks. Therefor if you are not sure what language you should use then you will want to use PHP.

  100. Java EE, Spring Roo and Google Web Toolkit by apetrelli · · Score: 1

    I am having lots of fun with Spring Roo and GWT (Google Web Toolkit). The latter is supported by the former.
    Roo allows to generate automatically a CRUD application with different technologies (AFAIK it currently supports GWT, Spring MVC and Web Flow). GWT allows to create single-page applications, using the server as a service and data provider only. In other words, let the browser do the hard work :-D
    Single-page applications are much faster than server-centric web applications. Security can be managed effectively at service level, for example using Spring Security annotations.

  101. Java. No doubt by WOOFYGOOFY · · Score: 1

    Please don't flame me, this is my opinion based on personal experience. Just as a language, I don't think PHP compares to Java. It's OK for building scripts / apps that can be characterized as "reacting to web page clicks in a simple way" but when you have very complex domains and object models it really starts to burst at the seams.

    I only deal in websites that are backed by very complex domains which need to be modeled. I get that not everyone does that or should do that.

    Java has well developed libraries for a huge number of deep and specialized domains which yet have very broad applicability- interesting things like Lucene and graph layout and genetics, not to mention world class graphics libraries. These are not things people program in using PHP, yet they are all interesting to web developers who are writing web-based front ends to these domains. Not all web programming is MySpace / Facebook-type programming.

    It's not that somewhere somehow some PHP programmer can't - through twisting the language and it's capabilities in a perverse way attempt to implement all this- "hey,. we're all Turing complete here", it's that result would be something like what Dr. Johnson is said to have observed upon seeing a dog walk walk on it's hind quarters:

    " The wonder of the thing lay not in the fact that it was done well; it is that it was done at all. "

    OK so you're telling me I really have to choose one? Then I'll choose Java. Just look at the Venn diagram. The smaller PHP circle is fully enclosed by the much larger Java circle.

    Let the flaming begin..

  102. Why is everyone stuck on PHP and ASP? by Anonymous Coward · · Score: 0

    You know, there are hundreds of other languages out there for server-side work. Just check wikipedia;

    http://en.wikipedia.org/wiki/Server-side_scripting
    http://en.wikipedia.org/wiki/List_of_programming_languages_by_category

    But the bottom line is - PHP and ASP have simply become the vanilla ice creams of the world. Are those the only good ice creams to eat? Certainly not. Of these languages, many of them have matured to a point where they can do everything - and more - than these languages. Developers focus of these two popular languages cause they think "that's where the work is" - where in reality, most of the high-paying work is in the niche languages. In addition, most client's don't even care what language you use - as long as the language can do what you want.

    Take Lasso, for example. This language, once owned by Apple, has been used to make millions of dynamic web pages since the mid nineties. It's faster, more secure, has more structure and is easier to install and develop with than PHP or ASP - but, it doesn't have the popularity of the other languages. And why? Cause it's not free. The Lasso world is going crazy, with thousands of developers using it and flocking back to it, but there's not a single mention of it here.

    That's because, Slashdot is no longer for the people who are looking for the new and interesting, but the things which everyone else already has found. It's not about innovation and early adoption, but is now hampered by Luddites with their open-source t-shirts and their long white beards.

  103. PYTHON Web2PY by Anonymous Coward · · Score: 0

    I think one of the best platforms is PYTHON and Framework WEB2PY

  104. use something you know by Ofloo · · Score: 1

    I would use a platform I know and has a good community supporting the platform, .. so if I write something I don't write 2000 exploits in just one script, and if i eventually do make a mistake or don't know how to do something, that i'll always got different points of view to fall back on.

  105. Regarding frameworks by Terrasque · · Score: 1

    I think all should see this video : DjangoCon 2008 Keynote: Cal Henderson - "Why I Hate Django"

    It's one of the flickr devs talking about Django, and frameworks in general. Now, it says Django, but he have a lot of really good points about frameworks and webdev in general, and I honestly think everyone working with webapps should see it.

    He touches on many points, among others when frameworks are good, when they are bad, what's annoying, things involved with scaling, and so on.. And he's entertaining too :)

    One of the points he makes : "Does it even make sense for a web framework to aim for top100 scalability? No. Most webpages are not in the top 100. In fact, all but about a hundred web pages are not in the top 100."

    --
    It's The Golden Rule: "He who has the gold makes the rules."
  106. PHP Developer 5+ years by Anonymous Coward · · Score: 0

    As a Professional PHP Developer of 5+ Years.

    Stay Away.

    Far Away.

    I've never seen more unprofessional software in my life. If you must use it, choose an enterprise stack such as Symfony2.

    Ruby, Python, Perl, and ASP.NET are all smarter choices.

  107. At first, you use PHP by Anonymous Coward · · Score: 0

    Early in your web development career.

    Then you take the training wheels off, grow up, and use Java.

  108. Restart: The basics of any programming. by Keybounce · · Score: 1

    "I'm about to embark on developing active content (database driven, and web services) for the first time for my website and I have grown to love PHP. Knowing that there are other web development platforms available, and noticing some disdain for PHP in some circles, I'm curious to know which platforms slashdotters prefer along with the reasons why. Before I get started into heavy development I would like to get some opinions and more facts. Why shouldn't I use PHP?"

    So lets actually look at the question:

    1. Developer has grown to love PHP.
    2. Developer is adding active content for the first time.
    3. Developer wants to get "the one right truth" before heavy development.

    Conclusion: Developer has forgotten the very basic rule of coding: You will throw it away and recode it.

    Repeat: You will throw it away and recode it.

    If you ever forget that, you do not know how to code.

    How do you write the best, high quality code? Answer: You understand the problem. How do you understand a problem? Answer: You write something that looked good initially, failed, and then understood why it failed.

    My recommendation: Write a proof of concept -- a small scale demo, something a little more than a mock-up.

    Learn from that, and then write the next version. This second version is first written in "english", or "file cards (*)", or "text files". Then it is re-written in some programming language.

    This version is the first real version (you just thew away version zero). This is the version that you expect to work. And, in the process, you'll understand exactly what you are trying to do.

    The process is no different for a desktop program, an HTML-output report generator, or an HTML/Javascript (with or without async) /CSS/Dom manipulation input and output program.

    The goals of programming, of a functioning program, are something along these lines:

    1. Work correctly.
    2. Work as expected.
    3. Work securely.
    4. Work fast enough.

    (you may switch the order of the last three.)

    Ideally, you want:

    5. Work quickly.
    6. Work with few resources consumed.

    Programmer time is a resource. Maintenance time is a resource. Disk space and CPU time are also resources.

    Security may be a pain, or impossible, in languages like PHP. Even if your code is 100% perfect, if you are using frameworks, you may have pain. Remember: We just had recent disclosure that most web development systems used some type of hash on the input data as part of their function, said input data was 100% under attacker control, and attackers could do major hash table collision attacks with very little resources consumed, and no way for the developer to counter it.

    You love PHP? Fine. Use that for your first trial. Don't fall in love with your first trial.

    *: Programming by file cards: This is a way to identify your classes and objects / primary data structures and operations. Get a bunch of file cards -- either 3x5 or 4x6, primarily based on how small you can still write legibly. On each card, you identify one data structure or class, and the primary operations you think you want to perform. If those operations require the use of other data structures/classes, you identify what you want to do with/to those structures.

    If a class's requirements -- including what other people want to do to it -- gets too big for your file card, break it up into parts.