Slashdot Mirror


HTML Web App Development Still Has a Ways To Go

GMGruman writes "Neil McAllister was helping out a friend whose web developer disappeared. Neil's journey into his friend's website ended up being an archaeological dig through unstable remains, as layers of code in different languages easily broke when touched. Neil realized in that experience that the ever-growing jumble of standards, frameworks, and tools makes web application development harder than it needs to be. Although the Web is all about open standards where anyone can create variations for their specific needs and wants, Neil's experience reminded him that a tightly controlled ecosystem backed by a major vendor does make it easier to define best practices, set development targets, and deliver results with a minimum of chaos. There's something to be said for that."

279 comments

  1. This just in... by sunking2 · · Score: 5, Insightful

    Knowing how to code is easy. Being a decent software engineer isn't. 90+% of web developers fall into the first category.

    1. Re:This just in... by Anonymous Coward · · Score: 0

      90+% of web developers fall into the first category.

      I belong with the other 20%.

    2. Re:This just in... by Saishuuheiki · · Score: 1

      I have to agree.
      As with any programming, proper commenting can clear up misinterpretations and confusion.

      The greater problem with web programming is not the inconsistency or complexity of it, but rather how easy it is. People who don't know the fundamentals of programming make a mess, and the people who hired them don't know any better until it explodes.

    3. Re:This just in... by ducomputergeek · · Score: 5, Insightful

      The problem I find with web developers is that they are too busy chasing the "Ohh shiny" of the month. I've worked off and on with a development group over the years usually as their systems & database guru during the planning stages. This is usually once or twice a year. And each time they are using a different framework "Because it has killer feature xyz". But then they get into it and it seems like it won't do A or B and they end up coding their own.

      Meanwhile, at the day job, we had a project that was very close to something I did 12 years ago and wrote in perl5. I dusted off the old scripts, installed, changed the path to perl to the new system and was up and running in less than an hour. I had to update a few lines of code to use new perl modules, but a decade later it still worked. We rewrote the backend to use PostgreSQL instead of flatfiles and updated the template files so the web pages generated don't look like something out of the NS4 days, but maintenance has been a breeze.

      --
      "The problem with socialism is eventually you run out of other people's money" - Thatcher.
    4. Re:This just in... by R_Dorothy · · Score: 5, Insightful

      On the flip side: Being a decent software engineer doesn't make you a good web developer. I've had to deal with a site built by decent software engineers who didn't understand the web and it fell seriously short in SEO, content management, analytics, degradation and a slack handful of other stuff that's second nature to a decent web developer.

      --
      Stupid flounders!
    5. Re:This just in... by abigor · · Score: 2

      This is a great post and deserves to be modded up. Well-designed, maintainable software is kind of timeless (barring the obvious) and is orthogonal to the technology used.

      The corollary to this is too many developers aren't taught how to design software. Instead, they learn about "features" and technology-specific stuff, when in reality the technology is just not that important.

    6. Re:This just in... by Migala77 · · Score: 4, Insightful

      Knowing how to code is easy. Being a decent software engineer isn't. 90+% of web developers fall into the first category.

      And 90 % of developers think they are a part of that 10%. And they disagree on who else is in that category.

    7. Re:This just in... by Imagix · · Score: 1

      As with any programming, proper commenting can clear up misinterpretations and confusion.

      I prefer some of the statements made by Fowler in his Refactoring book. To paraphrase, code sometimes has bad smells. There's two ways to fix it. First would be to refactor it into something that doesn't smell, or apply a liberal dose of deodorant known as comments. They don't fix the smells, they just hide them. Generally speaking it's better to rewrite the code into something that's understandable rather than commenting it. (and then later on, the code gets changed and the comments don't, and the world gets worse....)

    8. Re:This just in... by Anonymous Coward · · Score: 0

      From my experience, those that actually are in the top 10% don't think they are. Can't find the source, but there was a research study done on engineers. The bad ones always thought they were better than they were while the good ones always downplayed their accomplishments.

    9. Re:This just in... by Mongoose+Disciple · · Score: 1

      On the other hand, cleanly written code can make obvious what the code is doing, but it still sometimes requires good commenting to explain why.

      Was this code just never correct? Did the requirements change? Is there a good reason for what it does that may not be apparent to the coder? Will something break downstream if it's changed? (Ideally the answer to that last question will always be no, but the reality lies somewhere else.)

    10. Re:This just in... by Junior+J.+Junior+III · · Score: 4, Insightful

      First, minor nitpick though it may be, HTML isn't coding, it's markup. It shouldn't require a 90th percentile web developer to craft it. All you have to do is understand and follow about 2-5 pages of straightforward rules, and you can create a valid HTML file. It's not hard. People don't do it not because they're dumb, but because they can get away with it.

      HTML was designed to be as accessible to new developers as possible. If it had not been, and you could only do web development if you were in the 90th percentile of brilliant developers, it would not have taken off so explosively in the mid-90's.

      HTML was originally designed to be loose and forgiving about markup errors. This was both good (HTML was fault tolerant; you could still read a page even if the author didn't mark up everything perfectly) and bad (because now the browser had to do a lot of guessing to infer the intent behind the bad markup and render it somehow, and this made things very prone to error and inconsistent rendering). Ultimately it was recognized to be bad, so W3C tightened up the rules for validating correct HTML syntax, and web developers who cared learned to appreciate the benefits of valid markup. The browser is still forgiving of invalid markup, of course, so bad markup is still tolerated. But unless the web developer recognizes the value of valid markup (consistent rendering as intended), which isn't hard to author, they will tend not to worry about validation, and will continue to think that the web ecosystem still sucks as much as it did in the late 90's when browsers from various vendors were widely inconsistent.

      In the early days, the browser wars were not just about who owned the market share, but who could usurp the open standard for HTML and CSS through vendor lockin to unofficial vendor-specific HTML tags. Browser vendors thought they could win the browser wars if they could advance HTML and offer web developers incentives to develop web sites for a specific browser, and thereby steer the market toward using the preferred browser.

      As a result, browser developers routinely ignored, broke, or unofficially extended W3C recommendations in ways which made web development a horrible nightmare. When W3C released HTML 4 and CSS 2.1 recommendations, it took nearly 6 years for browser vendors to deliver browsers that actually supported those standard anywhere near decently.

      They STILL don't support the standards fully, 100%. W3C has never even finalized the CSS 2.1 recommendation, for that matter.

      We've been stuck in a decade of HTML4/XHTML1 + CSS 2.1 stagnation. Only the last 4-5 years have been decent for web developers to fully use clean, compliant HTML4+CSS2.1, and even then only if they elect to break compatibility for outdated browsers and focus on supporting reasonably modern versions of the major browsers that have finally gotten on board with supporting the W3C recommendations.

      The downside to this decade of stagnation is that we've been stuck with the limitations of HTML 4 and CSS 2.1 for a long time, long enough for other people to come up with other ideas. Things like tableless layout, fluid layout, rounded corners, transparency, server-provided fonts, multi-column text flow, and so on have frustrated web developers for the last decade. W3C really couldn't do much about it for the first half of that decade because it took browser vendors that long to just get their shit together enough to support the most recent standard. But now, they've been taking way too long to advance to the next level.

      HTML 5 and CSS3 are nearly here, and are already partly supported by contemporary mainstream browsers. This is good, but we really need to see a faster adoption, especially in the advancement through the Recommendation process. Unless innovation happens on a regular basis, other players out there are bound to realize that you don't have to serve only HTML over HTTP. Microsoft has something called XAML now, which they use to build rich interfaces for Silve

      --
      You see? You see? Your stupid minds! Stupid! Stupid!
    11. Re:This just in... by jellomizer · · Score: 1

      Agreed...
      Most of my programs are Web Applications but I wouldn't call myself a Web Developer. I am a software developer first who happens to use HTML for the data output and Javascript to streamline the User Interface. But most of the real work is behind the scenes. Creating database procedures (Yes there is a big debate about stored procedures if you should use them or not, I tend to like them), creating server side programs to gather the information correctly, manage security, and do any additional stuff that you can't or shouldn't do on the client. I use HTML, Ajax and Javascript as the last level to actually get the program to display and be useable (granted there is a lot of work on that side to) But I would be taking about the same amount of time in other languages making a solid UI in it anyways.

      HTML, javascript, AJAX (which is still javascript) and the server side development tools, are all good tools and if you know how to write software vs. just knowing how to code it means you can make a robust programs for the Web. It doesn't require all this extra stuff, it just requires good developers.

      There are a lot of junky apps that are hanging on by a thread that are non-web based too... No matter what tools you give them they will still make crappy software if they don't know how to make good software.

      --
      If something is so important that you feel the need to post it on the internet... It probably isn't that important.
    12. Re:This just in... by gorfie · · Score: 1

      I disagree that this is a problem with Web developers. Rather, it's a problem with non-Web developers stuck in the role of a Web developer. They are always trying to find ways around the stateless nature of the Web with the new "Ohh shiny" of the month. True Web developers are comfortable working with PHP, Classic ASP, and other technologies that don't try to obscure the fact that you're working with the Web (i.e. webforms). Up until the introduction of jQuery and ASP.NET MVC I hadn't really been excited about any of the "Ohh shinies" over the past decade.

    13. Re:This just in... by drooling-dog · · Score: 1

      One of the hardest aspects of starting a new project is just deciding which languages and tools - with their respective ecosystems - to employ. There is always pressure to jump to the new language du jour that all of the cool kids seem to be using, and as a result everyone spends half their time climbing one learning curve after another. How many developers out there have used 4 or 5 languages in the past two years? More than a few, I'll bet. Each new environment is the panacea for all of the frustrations encountered in the last project.

      OTOH, sometimes making a switch does pay dividends, despite the learning curve. The trick is to recognize those opportunities without simply succumbing to fad and fashion.

    14. Re:This just in... by MaWeiTao · · Score: 1

      I find it's the opposite. The vast majority of web developers seem overly eager to avoid extra work, routinely compromising the quality of the end product. This means they wont bother to clean their code, and instead of researching and learning more efficient ways to get something done they'll instead go with some clumsy approach that doesn't work well, but does work. And forget about expecting them to learn something new.

    15. Re:This just in... by eabell · · Score: 1

      Knowing how to code is easy. Being a decent software engineer isn't. 90+% of web developers fall into the first category.

      And 90 % of developers think they are a part of that 10%. And they disagree on who else is in that category.

      This is because of the Dunning-Kruger Effect (http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect), which has been studied.

      The more you know.

    16. Re:This just in... by Bigjeff5 · · Score: 1

      So let me see if I can sum this up:

      HTML is inadequate as a software platform - it's a markup language, not a proper development language.

      It is laden with hacks and "extensions" by individual browsers that are not officially supported and therefore not found in other browsers. Maintaining backwards compatibility creates a very difficult environment to develop web applications in.

      The W3C lacks the authority to reliably set standards and best-practices for the industry that a closed-source vendor would have.

      Pretty much a re-statement of the OP, and you make the case for the parent's post even while saying he's wrong. Interesting.

      --
      Security is mostly a superstition... Avoiding danger is no safer in the long run than outright exposure. - Helen Keller
    17. Re:This just in... by Anonymous Coward · · Score: 0

      Everything you say about XAML is already true about Adobe's Flex MXML & AS3 environment. And AS3 is Javascript, with optional strong typing.

    18. Re:This just in... by johnlcallaway · · Score: 1

      Knowing how to code is easy. Using the right tool for the job make's it easy.

      Learning to live within the limitations a language has, being willing to learn something new instead of just using the same old hammer, and knowing the difference between doing something useful and something that is 'cool' is why 90% of the web developers find web development hard.

      --
      I rarely read replies, it's my opinion and if you thought about your opinion a little more, I'm OK with that.
    19. Re:This just in... by raddan · · Score: 1

      The real problem is that HTML is not a platform; it's a document format. Javascript is essentially a macro language, but it's been asked to do a heck of a lot more. As a result, W3C bent over backward to make the DOM (ok, so we have structure now, good), but the DOM is not a platform either. Really, you need an architecture that supports the kind of semantics that we want from the start. [server-side-language-of-the-moment]+HTML+Javascript does not a good platform make.

    20. Re:This just in... by hesiod · · Score: 1

      Yes there is a big debate about stored procedures if you should use them or not

      Seriously? I have no idea why someone would NOT use them. Unless they are lazy and/or don't know how to use the tools at their disposal. Sure, I don't use them for stupid little hacks and whatnot, but at least for production code I do.

      Where is this debate raging?

    21. Re:This just in... by Junior+J.+Junior+III · · Score: 1

      You misunderstood what I wrote.

      I actually said that HTML4+CSS2.1 has deficiencies, among them an inability to do columns. True columns (where text flows from the bottom of Column A into the top of Columb B) are not possible using HTML+CSS. It's possible to do layout with divs or tables that look like columns, but they are not true columns, and positioning the divs correctly is not easy to figure out how to do.

      Shortcomings in the current recommendation are precisely what leaves the door open for a new technology such as XAML/Silverlight to come in and make regular HTML+CSS obsolete.

      What I said was easy is writing W3C-valid HTML+CSS. The rules for marking up a valid document are not hard to understand or follow.

      --
      You see? You see? Your stupid minds! Stupid! Stupid!
    22. Re:This just in... by Junior+J.+Junior+III · · Score: 1

      Right; XAML was just an example. It's not to say that there are not others.

      Any proprietary replacement for HTML that is better than HTML for web application development will have a good chance of supplanting plain old HTML if HTML does not advance and innovate to keep pace with the state of the art.

      --
      You see? You see? Your stupid minds! Stupid! Stupid!
    23. Re:This just in... by Junior+J.+Junior+III · · Score: 1

      So let me see if I can sum this up:

      HTML is inadequate as a software platform - it's a markup language, not a proper development language.

      Pretty much.

      That's not to say that you can't have applications which are embedded in an HTML document, such as java applets or javascript or flash objects, or whatever.

      As well, you can also have applications which present an HTML-based interface to a user, and generate more HTML-based stuff as their output (and do other things as well). In other words, your traditional "web application" that you access through a browser.

      It is laden with hacks and "extensions" by individual browsers that are not officially supported and therefore not found in other browsers. Maintaining backwards compatibility creates a very difficult environment to develop web applications in.

      Yes, although I see this as more of a history and legacy of HTML from basically the start of the browser wars until around 2005-6. While bleeding edge web development might still utilize hacks, the need for hacks for the stuff that is provided in the W3C Recommendations for HTML4+CSS2.1 is pretty much over.

      If you want to use HTML5+CSS3, you're back to working with hacks until W3C finalizes their Recommendation and browser vendors catch up and implement in a W3C-compliant manner. You don't *need* to do this, just wait for the Recommendation to be finalized and for browser vendors to implement it.

      But the point I am making now is that browser vendors have largely given up trying to hijack HTML and extend it with proprietary tags that no other browser vendor uses. Microsoft has shifted the war away from the browser and conceded on HTML being an open standard. They are now focusing on making HTML irrelevant by going beyond it and developing Silverlight.

      As the WWW moves further and further away from serving static content, and more towards application functionality, HTML will be forced to adapt and innovate, or else become irrelevant as XAML provides web app developers an easier way to make better user interfaces for web apps.

      Just because HTML *today* is a document markup language doesn't mean that HTML *tomorrow* has to be so limited. W3C could create recommendations that will provide open standards that will make HTML5- or 6- or 7- or whatever-based web apps easier to build and provide better interfaces. Indeed, I want them to.

      But we've been in a world of HTML4 for about a decade. The first half of that decade was spent waiting for the Browser Wars to settle out and for browser vendors to fall in line and deliver compliant implementations of W3C recommendations. During this time, W3C couldn't do much more than wait for browser vendors to catch up. The second half of the decade, HTML and CSS have stagnated. W3C have taken forever to finalize HTML5 and CSS3, and other players have realized that this creates an innovation vacuum and an opportunity for them to step in and usurp the open web by making better solutions that happen to be proprietary.

      W3C need to innovate and release more rapidly in order to be able to compete with Adobe AIR and Microsof Silverlight and whatever other proprietary technologies may emerge and threaten to make the WWW a proprietary domain. I want HTML5 to be great and serve the WWW for a long time, but if we don't see continuous development of innovative extensions to base HTML5, surely companies that have the means to provide these innovations in W3C's absence will do so, and thereby put the future of the open web in jeopardy.

      The W3C lacks the authority to reliably set standards and best-practices for the industry that a closed-source vendor would have.

      Kindof. The W3C doesn't call their Recommendations standards; they call them Recommendations for a reason. Nevertheless, their recommendations serve as a common and open standard that everyone can make use of, and this is a Good Thing. What's bad is that W3C haven't in

      --
      You see? You see? Your stupid minds! Stupid! Stupid!
    24. Re:This just in... by _anomaly_ · · Score: 1

      This really depends on the software's purpose.

      I'd bet anything that the piece of perl code the parent poster was referring to that he/she "dusted off" had very little, if anything at all, to do with user experience. The web has everything to do with user experience. Given that, updating your software (read "website", since that's what the topic is about, right?) becomes a fairly frequent thing if you want to "compete".

      Well-designed, maintainable software is kind of timeless (barring the obvious) and is orthogonal to the technology used.

      I would have to say that "the obvious" would be if the software has anything to do with the user interface. The technologies and techniques the software makes use of determines the user experience, and that changes so often; if you don't change with it, you'll be left behind.

      The corollary to this is too many developers aren't taught how to design software. Instead, they learn about "features" and technology-specific stuff

      No doubt. I have a Master's degree in Computer Engineering and too many of my fellow students, who actually graduated, were like this. It dumbfounded me. It follows that many, if not most, of the self-taught programmers of the world are the same.

      in reality the technology is just not that important.

      Totally disagree, though it may just be due to semantics. I believe the technology is very important. It's the platform (or framework or API) that is not.

      --
      "I have no special gift, I am only passionately curious." - Albert Einstein
    25. Re:This just in... by thetoadwarrior · · Score: 1

      That is because of frameworks and libraries. I think people need to learn the basics more first before jumping into frameworks and libraries to save time. The thing is you aren't going to convince people to do that when they feel they don't have to.

    26. Re:This just in... by inKubus · · Score: 1

      It's not the developers, it's the MANAGEMENT. They see something on Google or one of the shiny beta sites out there and say "why aren't we doing that" without asking the essential question, "Do we NEED to do that?" The idea that flashy interactivity and fancy UI with fades and such is a mark of professionalism should probably be challenged. Sometimes it has a use, but in most cases, we're talking about forms that submit to a database for most business cases. We don't need a bunch of crap that basically breaks cross-browser, breaks performance, breaks usability because we want to look like a fancy marketing company.

      I have to say, though, that the OP is correct. One of the best platforms has been .NET+Office+Sharepoint for a long time, but unfortunately it only runs reliably on Microsoft OS.

      I haven't seen any of the other "big names" come up with anything as cohesive. Yes, you have websphere, etc. but it's less than innovative and way to big for agile development. I'd use it for an IRS or bank website over .NET though.

      Java has a general lack of a single framework and dev environment that rises above all the others, but there's some good stuff out there. Spring, Struts, Eclipse is nice, etc. J2EE is a good standard but who owns Java again? What's going on with all the founders?

      PHP, you have Zend and Cake, and a few smaller players. I'm putting my money on Zend and their OCD about design architect.

      Python, you have django, which is OK. Nothing enterprise about python, and that's not the point I guess. Ruby is rapidly fading, as people realize that no one really wants to adopt a radical philosophy just to write software. Good for a few things, has a few new good ideas but too far off the beaten path to be a serious enterprise player.

      Any more, I'm really looking to simple client-server packages because it's become too big of a hassle to make apps work consistently with 30 different browser versions, especially if it's just a simple app we need on the LAN and not shared with the public.

      --
      Cool! Amazing Toys.
    27. Re:This just in... by Anonymous Coward · · Score: 0

      Web development technologies change quickly, and unfortunately the "Ohh shiny" is all too common. What too many web "developers" don't take the time to do is unit, performance and cross-browser compliance testing. Or use a well structured roadmap for feature implementation or bug fixes. I fell into this trap for a while, until running my first series of performance tests. When I saw that even simple functionality was being bogged down by the "shiny" features the realization came that things had to change. Since then, most of my time is spent on simpler things. Like how to properly structure a for loop in a complex scenario so as to not trash the browser.

      7 years of web development have taught me that it can be clean, scalable and easy to maintain, but extreme self control needs to be exercised. It's so easy to get lost in all the noise.

    28. Re:This just in... by Anonymous Coward · · Score: 0

      Don't forget that desktop devs generally lack skills in UI development and the style of languages used on the web.

      Desktop UI development generally sucks and lacks creativity; and, that's what people expect. Whereas, webapp UI development is expected to yield beautiful and amazing results. I think, most desktop devs shy away from (or criticize) webapps because desktop devs generally lack a sense of design (graphical not architectural).

      Plus, desktop languages are strictly more procedural/OOP (c languages, python, etc...) oriented whereas websites are more funtional/declarative language based (HTML CSS XML) with Client/Server side scripting being the obvious exception.

    29. Re:This just in... by Anonymous Coward · · Score: 0

      I think the bigger problem is the expectation of jobs that demand so much and want to pay so little, preventing developers from becoming "masters of their trade". Here are requirements from a recent job posting I found:

      "JEE (Java, Java Server Pages, Servlets, Struts2, JDBC) or .NET (C#, visual basic or C++) HTML, Cascading Style Sheets (CSS), Java Scripts, XML, XSL PHP, RDBMS (MYSQL or ORACLE) with strong SQL
      Any experience with NetSuite CRM/SFA is a plus "

      How does one claim to be an expert in all of that? You think that someone that has all of those skills knows enough about frontend development to explain the browser clearfix hack or the * HTML hack or how to maintain layout right-to-left as well as left-to-right on all platforms?

  2. Hmmm? by drc003 · · Score: 2, Funny

    "Neil McAllister was helping out a friend whose Web developer disappeared."

    What? Can you DOS people now?

    1. Re:Hmmm? by TheLink · · Score: 3, Funny

      Nah she'll be a beautiful Web 2.0 developer once she gets out of her cocoon.

      --
  3. C Development Still Has a Ways To Go by Gudeldar · · Score: 4, Insightful

    It is an ever-growing jumble of different libraries, standards and tools.

  4. "tightly controlled ecosystem"? Bullshit... by Assmasher · · Score: 5, Insightful

    The problem with web app development is that the environment was never intended for interactivity, it was designed for displaying information. Everything added since then to create 'apps' has been bolted on (sometimes cleverly, sometimes not so cleverly) and implemented differently between browsers and (relating to plugins/extensions) differently between operating systems. Developing for x86 machines running Windows and/or Linux isn't a "tightly controlled ecosystem" but you can certainly develop excellent applications, why? Because the environment was intended to run applications.

    --
    Loading...
  5. The problem is with the serverside code, not html by TheSunborn · · Score: 1

    The problem in his example is with the serverside code not html.

    And if you want to, it it simply to choose just a single vendors framework and use only that.

  6. Mostly by Poodleboy · · Score: 5, Insightful

    I can agree with all of this except the "backed by a major vendor" part, which seems superfluous... Design is all about maintaining a coherent vision of the end product, whereas hammering a tin shed on the side of the Taj Mahal is always a bad idea, particularly for maintainability and robustness. What isn't clear to me is why I need a vendor to supply my vision when I've already had years of education and experience...

    1. Re:Mostly by xtracto · · Score: 1

      The article is just pointing some things that we real software developers have known from a looooong time: it is easier to develop and maintain software that uses an integrated framework than a collection of frameworks.

      This is part of what software companies have been selling for some time, such as Microsoft's "solutions" like the DirectX platform, or the VisualStudio/WinForms/MicrosoftSQL platform. My preferred technology is however Java/JDK/JDBC/etc...

      Not that it is not possible to develop using bits and pieces from projects here and there... however in the long term and all other things equal (like the quality of the developer itself), having an integrated framework makes the code more robust.

      All that of course, in my opinion.

      --
      Ubuntu is an African word meaning 'I can't configure Debian'
    2. Re:Mostly by FooAtWFU · · Score: 1

      The glory of your vision may be more widely appreciated when a major vendor can hammer it into the thick skulls of the rest of the world's development community until they come around to appreciate it on their own. :)

      (Just sayin'. I mean, otherwise, why would they have even heard of you? Remember that these people aren't necessarily in on the Hot New Stuff in the grassroots developer community, and their employers probably are even worse.)

      --
      The World Wide Web is dying. Soon, we shall have only the Internet.
    3. Re:Mostly by theshowmecanuck · · Score: 1

      What I got from this is that he is saying that there is a preponderance of 'flavour of the day, week, etc.' as far a what the new silver bullet language or tool is. And when a company has a site that is any kind of old there can often be a jumble of all these silver bullets. It is better to stick with one technology if you can so that your code base is maintainable (my main complaint with the way most agile projects are implemented... the 'documentation is the code' doesn't help much ten years from now). If you use one vendor's solution, usually it means that the technology/implementation methods stays stable, except for any added functionality the vendor may add. That way the code base is coherent and people ten years ago don't have to learn all the languages that were considered silver bullets over the same time span. Granted, it doesn't mean you need to use a solution from a closed source vendor. I'm sure there are open source ways to go. Just don't switch to the language du jour all the time. But then again, I think we have heard the same thing many times here. And we will likely hear it again since people, especially programmers, like shiny new things. Meanwhile, businesses just want things to work, and don't care how, as long as it doesn't impede their revenue stream (like happens when something breaks and you can't find a programmer who knows some framework a programmer used on their system five years ago because he/she thought it was cool).

      --
      -- I ignore anonymous replies to my comments and postings.
    4. Re:Mostly by malkavian · · Score: 1

      All the management aside (sounds like this server many not suffer from a coding problem; it definitely suffers from a design/management issue though), the "backed up by a major vendor" doesn't even come into it.
      If you end up with a loose scrabble of .net, asp and whatever other techs Microsoft have released as web development languages over the years, I don't think a call to Microsoft would have helped in the slightest.

  7. Re:Book Development Still Has a Ways To Go by Anonymous Coward · · Score: 0

    It is an ever-growing jumble of different publishers, style manuals, and editions.

  8. Web development is hard for even talented people. by Anonymous Coward · · Score: 4, Interesting

    Even for excellent software developers, web development is difficult. It's not the concepts that are difficult, per se, but rather the jumble of half-backed hacks that make up ever layer of the web stack. The foundation is so weak that anything built upon it just can't stand well, even if it itself is well-designed (given the constraints of web development).

    Just look at the common open source technologies used by many web sites. MySQL is one buggy hack upon another. PHP is much the same, plus some security holes.

    HTTP has been over-extended well beyond its original use (cookies are a hack to get around its statelessness, it's caching mechanisms are fucked to high heaven, SSL and TLS are hacks).

    JavaScript is perhaps the most horrid hack of them all. Something meant for adding minor interactivity to a page has been misconstrued as being suitable for large-scale application development, although it lacks many of the most basic features necessary to do that sort of development effectively.

    It's difficult enough to fight with unclear and conflicting requirements alone. Toss in shitty technology, and it becomes very difficult even for the best seasoned professionals to develop even just mediocre software systems.

  9. back to perl! by slashnot007 · · Score: 1, Insightful

    The ultimate glue language. It's not pretty as python but it's a woodchipper when it comes to parsing and re-gluing outputs. Indeed that's what the acronym P.E.R.L strands for. My favorite reason to use perl is that you can do more things more easily with the core language. You don't have to depend upon importing libs. The surprise is that it's also not bloated at the core level: compare the thickness of the perl pocket ref to any other language. it's tiny.

    1. Re:back to perl! by Anonymous Coward · · Score: 0

      Except for one minor detail - perl isn't an acronym.

    2. Re:back to perl! by pantherace · · Score: 0

      I've been doing something in python, and I have to ask someone who thinks it's 'pretty' why there appears to be no for loops with floats (or hell, ints). You can write your own, as I have, but that's far from pretty, compared to almost any other language.

      Though, I don't think anyone would describe perl as pretty.

    3. Re:back to perl! by just_another_sean · · Score: 1

      Sure but's been backronymed so many times I tend to think of it as an acronym now. The best part is depending on mood and how coding is
      going there are a plethora of acronyms to choose from!

      Perl - A high level scripting language common on Unix-like systems, with the common backronym of "Practical Extraction and Report Language", but jokingly referred to as the "Pathologically Eclectic Rubbish Lister". Both expansions appear on the man page. More recently, "Parse Every Random Line", in honor of the extensions proposed for Perl 6. Another less colorful one is "Pathetic Excuse for a Real Language"

      from: wordIQ.

      --
      Creationist Textbook Stickers Declared Unconstitutional by CowboyNeal
    4. Re:back to perl! by bigredradio · · Score: 1

      I love Perl for web programming. That is my primary language. It is the one interpretor that is on almost every system (awesome for those who sometimes live outside the windows and linux world). One perl module that I cannot live without is objToJson . http://linux.die.net/man/3/json

    5. Re:back to perl! by kallisti · · Score: 1

      what exactly is wrong with

      for x in xrange(start, end, gap):

      that's a for loop with ints. If you thinking of writing a loop of the form for(float x=start; xend; x+=gap) then you really shouldn't. That's how rounding errors accumulate. You can make your own for loop with a generator

      def floatloop(start, end, gap):
          val = start
          iter = 0
          while(val end):
                yield val
                iter+=1
                val = start + iter * gap

      then the code is
      for x in floatloop(start, end, gap)

      so, floating loop in 7 lines of code with protection against accumulated rounding errors. Not bad.

    6. Re:back to perl! by goombah99 · · Score: 1

      because it's slow as a dog and it lacks the amenities like of a for loop construct.

      --
      Some drink at the fountain of knowledge. Others just gargle.
  10. Web development is easier than it should be... by Anonymous Coward · · Score: 0

    The suggestion that "Web application development [is]harder than it needs to be" is a false premise. It is because of this assumption that many developers choose the web application framework du jour, and then move on when something 'easier' comes along.

    In 6 years we haven't had to change our procedural plpgsql backends to our web apps. Changing from PHP smarty templates to Django templates is relatively hard.

  11. HTTP is the problem by Anonymous Coward · · Score: 1, Interesting

    HTTP needs a replacement for application development. It was designed for document retrieval not applications. For the past 15 years all these frameworks have been a hack to get over the limits of HTTP as a protocol used in application development. AJAX is the latest hack to overcome limits in this aging protocol.

  12. Re:Web development is hard for even talented peopl by drachenstern · · Score: 1, Offtopic

    Way to troll. It's so sad that every one of your points is fairly well wrong and could earn you a post nearly as long in refute for each. If you read that post and thought it was insightful, you've been trolled.

    Goodbye.

    --
    2^3 * 31 * 647
  13. So we should all be .NET monkeys? by Anonymous Coward · · Score: 0

    Neil's experience reminded him that a tightly controlled ecosystem backed by a major vendor does make it easier to define best practices, set development targets, and deliver results with a minimum of chaos. There's something to be said for that.

    So if that's the best ecosystem to work in... and Visual Studio is one of the best IDEs out there... we should all be .NET programmers?

  14. Re:Web development is hard for even talented peopl by mini+me · · Score: 2, Interesting

    although it lacks many of the most basic features necessary to do that sort of development effectively.

    Which features are missing, exactly? Cappuccino, for example, implements almost exactly the same APIs and conventions that native Mac/iPhone developers use, only in Javascript.

  15. Re:The problem is with the serverside code, not ht by dingen · · Score: 2, Insightful

    The serverside part of creating web applications is actually the easy part. It is indeed as you say: just pick a platform and a framework and use that. In most cases you have full control over the server side part of your web application, so you create it just the way you like it. The hard part is creating a good looking and well functioning interface for your clients using HTML, CSS and Javascript which will deliver (somewhat) the same experience, whatever the clients software, hardware or screen size may be. It's hard exactly because you don't know what the client will be using to access your application, as you have no control over this whatsoever.

    --
    Pretty good is actually pretty bad.
  16. Re:"tightly controlled ecosystem"? Bullshit... by Aladrin · · Score: 2, Interesting

    If it was 'never intended for interactivity', why are POST and DELETE part of the spec? They are designed for interactivity.

    If you want to get picky, 'computer' were 'never designed' for media playback, using your criteria. (That criteria being that only the initial thought counts, and not the years and years of changes afterwards.)

    --
    "If you make people think they're thinking, they'll love you; But if you really make them think, they'll hate you." - DM
  17. Are we trying to copy GUI apps too early? by bigredradio · · Score: 1

    I have built web applications that attempt to mimic already established GUI applications. One of the biggest problems I face is trying to recreate the GUI experience with widgets that are not available. Take for instance a true combo-box. This is a widget that looks like a dropdown, but allows the user to type in the text field as well. In trying to recreate a simple widget that is available in GUI toolkits, I have to mix javascript with a traditional select input field along with changes to the css and div tags. It is a lot of code to perform a basic GUI functionality. If we are moving toward a world of web apps, then the html standard needs to provide GUI-like widgets. Displaying video natively is great, but I want all the different selectors, calendar widgets, etc. to be standard. Otherwise it is still a lot of code to perform smoke and mirror tricks to look like an application.

    1. Re:Are we trying to copy GUI apps too early? by e4g4 · · Score: 1

      Were you using a Web UI toolkit? YUI comes with a combo box exactly as you describe, as do several others, I'm sure.

      --
      The secret to creativity is knowing how to hide your sources. - Albert Einstein
  18. "a ways" to go? From a veteran editor... by mi · · Score: 0, Offtopic

    Is not "ways" a plural? Can article "a" be used in front of it? Ever?..

    Could a native English-speaker kindly explain it to this Ukrainian immigrant?

    --
    In Soviet Washington the swamp drains you.
    1. Re:"a ways" to go? From a veteran editor... by RJFerret · · Score: 1

      "a ways to go" might be an idiom? Heck, "a ways" might be.

      In this case, "ways to go" might be thought of as singular, so "a ways to go" makes sense in a roundabout way.

      "He has a ways to go" would mean he needs to grow.

      "They have a ways to go" would mean they are far from reaching their goal.

      "They had a ways to go yet" would mean the destination is still quite a ways off.

      I don't know the proper grammar terminology/explanation for it, but it's correct.

    2. Re:"a ways" to go? From a veteran editor... by fuzzyfuzzyfungus · · Score: 1

      I think that it's just an idiom. Or, possibly, a phrase that was, at one time, correct under current usage rules, and has outlasted that set of usage rules. If something "has a ways to go" this means that it is a significant distance from where it needs to be. Occasionally, it contains a polite, if slightly pointed, suggestion that it may never get there.

    3. Re:"a ways" to go? From a veteran editor... by bsDaemon · · Score: 1

      Chances are, no, most native English speakers couldn't really explain it, at least not accurately. I'm a native English speaker, and I have a degree in Literature. I didn't really learn grammar in school until I took Latin and Spanish in high school, and more Latin and Japanese in college. I spoke and wrote well before the foreign languages, but largely because I have educated parents and grandparents and just sort of internalized it early on; it wasn't really taught to me. Like in 'My Fair Lady,' oh, why can't the English teach their children how to speak? The French they learn their French, the Greek they learn their Greek.

      Of course, countries such as France and Spain have "official" linguistic standards academies which are responsible for determining what "grammatically correct" French and Spanish are. Do the English still recognize RP and "the Queen's English" as official, or is that no longer politically correct? At any rate, its not as if Americans would go for it anyway... we can't even apparently settle between MLA, Chicago and AP style guidelines... and then the American Psychiatric Society has their own rules as well. A fat lot of b.s is what it is.

    4. Re:"a ways" to go? From a veteran editor... by Anonymous Coward · · Score: 1, Insightful

      None of those sentences make sense, because "a" is used for singular words.

    5. Re:"a ways" to go? From a veteran editor... by BitwiseX · · Score: 1

      Could a native English-speaker kindly explain it to this Ukrainian immigrant?

      Sorry dude. I'd help you but I'm American (southern at that).

    6. Re:"a ways" to go? From a veteran editor... by Kickassthegreat · · Score: 2, Informative

      In this case the term 'ways' is used synonymously with 'distance'. This comes from using the word 'way' to mean 'road' as in 'highway'. 'Ways' is then by definition 'a large distance'.

      'A ways to go' actually a colloquialism, so I understand your confusion.

    7. Re:"a ways" to go? From a veteran editor... by Tinamil · · Score: 1

      It's incorrect grammatically but still a common idiom, especially for spoken language.

      http://englishplus.com/grammar/00000270.htm
      http://idioms.thefreedictionary.com/quite+a+ways

    8. Re:"a ways" to go? From a veteran editor... by Bigjeff5 · · Score: 1

      "A ways to go" is an idiom, like "nest egg" or "tongue in cheek".

      You have to take the phrase in its entirety, it is not singular or plural, and it means (with some flexibility) "there is a lot left to be done".

      It's similar to "a long ways off", and the two are often interchangeable. Both suffer the problem of horrendous grammar that you pointed out, but that's English for you.

      In other words, there are a lot of phrases in English where you just toss all the rules right out the window (another idiom there!), because that is just the way it is said.

      --
      Security is mostly a superstition... Avoiding danger is no safer in the long run than outright exposure. - Helen Keller
    9. Re:"a ways" to go? From a veteran editor... by Anonymous Coward · · Score: 0

      The words "ways" in this context does not refer to a number of "way", or a number of different paths you may go down. It refers to a distance, as in "you have a distance left to travel". Another way of writing it would be something along the way of: "(it) has a number of distances left to go (before it...)".

      Yes, english is nasty. Not everything with an "s" on the end is plural, and not everything that is plural is prefixed by the right article. The best way to learn english is to speak it, and then learn spelling. Grammar ain't part of the current english language anyhow. :)

    10. Re:"a ways" to go? From a veteran editor... by Shimbo · · Score: 1

      Do the English still recognize RP and "the Queen's English" as official, or is that no longer politically correct?

      No, they probably aren't. Fowler's, probably, would be the usual reference.

      I notice another post references the Cambridge Dictionary of American Idioms. So the answer to the original poster's question is: "No don't do it, because you might be mistaken for an American".

    11. Re:"a ways" to go? From a veteran editor... by dcollins · · Score: 3, Informative

      Colloquial/idiomatic.

      ways
      –noun (used with a singular verb)
      way (defs. 7, 14, 20a).

      Usage Note: ... In American English ways is often used as an equivalent of way in phrases such as a long ways to go. The usage is acceptable but is usually considered informal.

      http://dictionary.reference.com/browse/ways

      --
      We know where leadership by an anti-intellectual "strongman" who scapegoats minorities and likes boisterous rallies goes
    12. Re:"a ways" to go? From a veteran editor... by TermV · · Score: 2, Informative

      The correct usage is "a way to go".

    13. Re:"a ways" to go? From a veteran editor... by misexistentialist · · Score: 1

      Usually "a long way to go" is said, so it is confusing even to native speakers. Maybe the same thing that leads people to say "anyways" instead of "anyway" is happening; maybe it's from the habit of saying "always"; maybe it's a weak attempt to distinguish the phrase from the congratulatory "way to go!" or make it less specific than, for example, "I found a way to go faster than the speed of light".

    14. Re:"a ways" to go? From a veteran editor... by 5pp000 · · Score: 1

      There's no explanation. Not only is it an idiom, it's really not considered completely correct -- "informal" is what the dictionaries call it. Personally, I avoid it in writing if not in speech, but it's fairly common in the US, at least. I think it was originally dialectal, meaning it originated in one particular region of the country.

      --
      Your god may be dead, but mine aren't!
    15. Re:"a ways" to go? From a veteran editor... by rfolkker · · Score: 2, Informative

      Actually ways is a pluralized singular word taken from an olde English word (1588) wayes. While it is the same as the word way, it does have very specific contexts that it is used in the English language, in both Queens and American English. Most people are just not taught it, and either pick up it's usage through general day to day speech. But either ways, it is just a reference to either the same idea or concept conveyed by it's non-pluralized brother as an adverb or noun.
      Common examples are:

      sideways - The hat sat on his head sideways.
      If you tried the same sentence using the word sideway it just doesn't work...

      Always - Not a fair example, but same root, same result. You will never hear someone say alway.

      ways - (n) The old man is stuck in his ways.
                - (adv) He had a ways to go, but he got there.

      While the first sentence may sound correct with way, the proper word is ways. It is not a colloquialism or an idiom, but rather proper speech. The second sentence could be a long way to go, but again, the proper adverb when not using an adjective is ways, not way. Just one of those wonderful bizarre details with the English language. We have too many words for the same meaning, and the context and usage matters. In this case, it's a very old word we just use, and most people no longer realize there is a difference between the usage of ways and way. But, there is, in a very subtle context.

      As a noun, it represents an idea of a pluralized singularity. All the ways are his. Whenever you try to summize a multitude into a single context, way becomes ways. Rare, but for some silly reason the context exists.

      As an adverb, it again works to pluralize a single context. There are multiple ways for "it" to go. It, being the context of the verb, creates a singular entity to focus the ways upon. I am not aware of any other word that actually operates in that fashion, but I am sure they are out there.

      And as far as as I am aware, ways is only used like this as an adverb or noun. At no other time can you create a context that can contain this odd scenario... But then again, I am not really that knowledgeable about the English language...

    16. Re:"a ways" to go? From a veteran editor... by thoughtsatthemoment · · Score: 1

      From what I read from w-m.com, It seems American English only uses ways in construction:

      a long ways from home

      Otherwise the example it gives is actually using way instead of ways:

      Main Entry: way 6 : the length of a course : distance <has come a long way in her studies><still have a way to go>

  19. "too many frameworks" by Aladrin · · Score: 1

    Has the 'too many frameworks' argument every held water? 'Too much choice' is not a problem, especially for a seasoned developer.

    --
    "If you make people think they're thinking, they'll love you; But if you really make them think, they'll hate you." - DM
    1. Re:"too many frameworks" by fuzzyfuzzyfungus · · Score: 1

      "Today, we celebrate the first glorious anniversary of the Information Purification Directives. We have created for the first time in all history, a garden of pure ideology. Where each worker may bloom secure from the pests of contradictory and confusing truths. Our Unification of Thoughts is more powerful a weapon than any fleet or army on earth. We are one people, with one will, one resolve, one cause. Our enemies shall talk themselves to death and we will bury them with their own confusion. We shall prevail!"

    2. Re:"too many frameworks" by coryking · · Score: 3, Interesting

      Off the top of my head, here are a few problems with the mryiad of many frameworks for the web:
      1) The super-ultra-awesome slider you want is for YUI but the rest of your site uses jQuery. If you want to use it, you'll have to have the browser pull down both jQuery AND YUI.
      2) Many of the frameworks conflict--prototype, for example, doesn't play nicely with a bunch of other frameworks.
      3) Each framework added to your stack increases the number of moving parts on your site. More moving parts = more chance for error.

      Seriously, it is a cruel joke when you find the-most-perfect-rich-text-editor but it was for MooTools instead of YUI.

      *That* is my problem with having so many frameworks. The world would be a better place if we all just used jQuery :-)

    3. Re:"too many frameworks" by DrgnDancer · · Score: 2, Interesting

      It is when the choice is put into the hands of monkeys with darts. That's the problem he's pointing out. Most small companies don't hire seasoned developers unless they specialize in software development. They get whoever they can for cheap, or, at best, they get what their limited experience tells them is the best person. They hire:

      1) Kids fresh out of college who know theory but have worked with very little.

      2) People with no actual formal computer training who simply "know about computers" and and will work for what a real developer (or even a kid fresh out of college) would consider shit. But which beats what the guy was making selling tires.

      3) People with experience, but in the wrong things. I'm a very senior sys admin type. My resume looks very fancy and technical. I'm sure I could convince some mom and pop to hire me as a web dev, especially if I was willing to take a pay cut (say I lost my job and needed something now). Could I build a web site? Sure. Could I make it functional? Absolutely. Would you want to come behind me and maintain it? I'd like to think so, but reality is I'm not an experienced web developer. I'm likely to make bad choices, especially in the beginning. Especially if mom and pop are breathing down my neck because they hired me to make them a web site dammit. It's been a week, where is the damn thing already?

      I'm not saying you're wrong of course. More choices is a good thing in theory. For the expert, it's nearly always a good thing. This doesn't change the reality of the situation though... most people aren't experts. Even the ones working in the field. Sit an inexperienced kid, an enthusiastic amateur, or a sys admin who needed a job (now) in front of the current embarrassment of choices, and we're all likely to make bad choices. Probably for the best of reasons. Then we're going to go get new jobs, and the next kid/amateur/sys admin is going to make new bad choices and pile them on top of the old bad choices with a little duct tape and some Gorilla Glue.

      It's a thorny problem. Fewer choices is bad, but the current situation isn't great either. Luckily I'm a sys admin, so you developer guys figure it out :-P

      --
      I don't need a million points of light, just two points of multi-mode fiber and a 10 Gig-E router.
    4. Re:"too many frameworks" by DrgnDancer · · Score: 0, Redundant

      It is when the choice is put into the hands of monkeys with darts. That's the problem he's pointing out. Most small companies don't hire seasoned developers unless they specialize in software development. They get whoever they can for cheap, or, at best, they get what their limited experience tells them is the best person. They hire:

      1) Kids fresh out of college who know theory but have worked with very little in practice.

      2) People with no actual formal computer training who simply "know about computers" and and will work for what a real developer (or even a kid fresh out of college) would consider shit. But which beats what the guy was making selling tires.

      3) People with experience, but in the wrong things: I'm a very senior sys admin type. My resume looks very fancy and technical. I'm sure I could convince some mom and pop to hire me as a web dev, especially if I was willing to take a pay cut (say I lost my job and needed something now). Could I build a web site? Sure. Could I make it functional? Absolutely. Would you want to come behind me and maintain it? I'd like to think so, but reality is I'm not an experienced web developer. I'm likely to make bad choices, especially in the beginning. Especially if mom and pop are breathing down my neck because they hired me to make them a web site dammit. It's been a week, where is the damn thing already?

      I'm not saying you're wrong of course. More choices is a good thing in theory. For the expert, it's nearly always a good thing. This doesn't change the reality of the situation though... most people aren't experts. Even the ones working in the field. Sit an inexperienced kid, an enthusiastic amateur, or a sys admin who needed a job in front of the current embarrassment of choices, and we're all likely to make bad choices. Probably for the best of reasons. Then we're going to go get new jobs, and the next kid/amateur/sys admin is going to make new bad choices and pile them on top of the old bad choices with a little duct tape and some Gorilla Glue.

      It's a thorny problem. Fewer choices is bad, but the current situation isn't great either. Luckily I'm a sys admin, so you developer guys figure it out :-P

      --
      I don't need a million points of light, just two points of multi-mode fiber and a 10 Gig-E router.
    5. Re:"too many frameworks" by DrgnDancer · · Score: 1

      Bah. Browser crash causes double post. There's an irony to this happening on a thread all about using a stateless protocol to perform stateful functions. :-)

      --
      I don't need a million points of light, just two points of multi-mode fiber and a 10 Gig-E router.
  20. The problem is not the tools... by khendron · · Score: 4, Interesting

    The problem is not the tools (well, not *always* the tools), but the developers. You can provide the best development tools in existence to an incompetent developer, and you will end up with a crap website. It has nothing to do with the quality of the tools or the maturity of the application frameworks.

    Hell, humans have been building houses for 1000s of years, yet an incompetent builder can still build a house that will fall apart. I don't think the problem is that the hammer and saw still have a ways to go.

    --
    Life is like a web application. Sometime you need cookies just to get by.
    1. Re:The problem is not the tools... by RJFerret · · Score: 1

      The problem might have been the client. The second developer might have said, "I'll have to spend X hours to recreate the existing framework and add your new requests."

      Client balking at cost, "Could you just add the new features using what's already in existence?"

      Developer, leery, "Technically that's possible, but it creates a mish-mosh you'll have problems maintain in the future."

      Client, believing the Developer is trying to make more money, "I'd rather just add the new features than rebuild what I already paid for please."

      Developer, "Okay, we'll do that then, but don't say I didn't warn you!"

      The THIRD developer saw that this was a problem client and did the wise thing, cut his losses, oh I'm sorry, as the summary put it "disappeared".

      Now this guy gets part of the story and is stuck with the cleanup. Meanwhile, the site owner never learns that it's cleaner/cheaper/more efficient to do invest a little bit extra up front to ease maintenance down the road--investing in the future almost always pays off.

      PS: Any wonder the "client" keeps needing new developers instead of one wanting to continue working with him?

    2. Re:The problem is not the tools... by cowscows · · Score: 1

      Exactly. Badly organized and poorly written code is certainly not exclusive to web development. A truly bad developer can practice his lack of craft in any language, and throw together a poorly designed system for any platform.

      Or as your analogy illustrated, while computers allow us to make mistakes more quickly than ever, humanity has been finding new and creative ways to do a crappy job at things for a long time. It's what makes us different from the animals.

      --

      One time I threw a brick at a duck.

  21. His anecdote seems orthogonal to his point... by fuzzyfuzzyfungus · · Score: 5, Insightful

    I honestly don't understand how an anecdote about a seriously fucked server setup is relevant in the slightest to the pros or cons of "HTML web apps" or their development.

    With HTML, whether the shiniest of web 2.0 or the seriously old-school stuff, there is clear separation between the client(where "standards" such as they are, matter) and the server, which can do absolutely whatever it likes, so long as it responds correctly to a few HTTP messages.

    If you want to deliver a webapp, the development of your client component is, indeed, somewhat constrained by the fact that "web standards" are more evolved than designed, and are somewhat inconsistently implemented. If you want to discuss the cons of web-apps, horror stories in this vein are the anecdote to use. If you want to discuss the pros, heroic tales of multiplatform, install-free deployment are to be used.

    On the server side, though, the vices and virtues of web standards(aside from seriously uncontroversial stuff like TCP/IP and HTTP GET) are basically irrelevant. It's your server. You can do whatever you want to deliver HTML, CSS, and javascript, and interpret responses from your clients. Totally in-house stack? If you feel like it. Modestly customized OSS job? Sure. Some single-vendor enterprise development solution? If that is how you roll. The fact that somebody's web-dev fucked up and then disappeared just seems completely irrelevant(can you think of any type of development, application or otherwise, where "the developer fucked up, then disappeared, and we had to call somebody else in to do a mixture of archeology and pacification" has ever been a good thing?)

    1. Re:His anecdote seems orthogonal to his point... by Anonymous Coward · · Score: 0

      Story: I recently saw some crappy C code..yada yada yada..C development has a long way to go.

      This guy has seen nothing. Almost all companies have lousy codebases like an explosion took place and then someone tried an implosion to put back everything together. In a Spaghetti restaurant.

    2. Re:His anecdote seems orthogonal to his point... by toxonix · · Score: 2, Insightful

      You said what I was thinking, without all the expletives. Thank you sir. I should have stopped reading at the title '... still has a ways to go'.

    3. Re:His anecdote seems orthogonal to his point... by Bigjeff5 · · Score: 1

      With HTML, whether the shiniest of web 2.0 or the seriously old-school stuff, there is clear separation between the client(where "standards" such as they are, matter) and the server, which can do absolutely whatever it likes, so long as it responds correctly to a few HTTP messages.

      We're talking about a hell of a lot more than HTML. HTML is actually the problem, it doesn't do anything we really need it to, so in the browser wars JavaScript was developed. Well, that still doesn't do anything close to what we need, so developers turned to Java, Flash, Ruby, jQuery, ASP, MooTools, YUI, etcetera, etcetera.

      HTML is easy. It's also next to useless. All you can do with it is throw up some images and text in a neat layout. Seriously, try using just HTML to build a website - it sucks. Even then, HTML4 isn't even 100% implemented by the major browsers. To do anything else you need a workaround, a hack. So we have all these frameworks for supporting those hacks, and trying to stay current means your website is a jumble of mixed frameworks that are barely holding together. The other option is to completely re-write your web app every time a new technology comes out that you want to use. Not the most efficient way to run a website.

      You can do whatever you want to deliver HTML, CSS, and javascript, and interpret responses from your clients.

      But certain implementations work better than others, and there is no way to tell until you actually get it all built up and realize that it sucks. Different browsers are going to do your HTML, CSS, and JavaScript differently, and you have to account for that. There are no best practices to follow, because best practices for Ruby are different from those for ASP, etc.

      You make it sound like you can do everything you want in a single framework, but that's the point: you can't. So you have to use multiple frameworks, and it becomes a house of cards, ready to topple at the slightest tremble.

      That's what the OP was talking about. It seems to be true of all large, open, consortium based standards. They cannot create the consistency that a single vendor can. I don't think it outweighs the value of keeping the standards open, and I don't think the OP is saying that either. He's just saying it isn't all downsides to closed standards. There are some real positives there.

      --
      Security is mostly a superstition... Avoiding danger is no safer in the long run than outright exposure. - Helen Keller
  22. Three words by spleen_blender · · Score: 0

    Ruby on Rails

    1. Re:Three words by Lord+Ender · · Score: 1

      Rails certainly streamlines web app development. But what about really asynchronous web app stuff, like comet?

      --
      A slashdotter who didn't build his own computer is like a Jedi who didn't build his own lightsaber.
    2. Re:Three words by Anonymous Coward · · Score: 0

      Are you mad?

    3. Re:Three words by spleen_blender · · Score: 1

      I know it really just boils down to "knowing what you're doing" in the design phase, which really seems to underscore this entire article, but RoR seems to make structure of async and comet design much more readable and modular than any other paradigm. But when you're talking about the structure and behavior INSIDE those modules you're back at square 0. It just boils down again to "knowing what you're doing" and doing it smart. So yeah, my statement was pretty trite in retrospect.

  23. Re:back to (UGLY) perl! by xanthos · · Score: 2, Insightful

    Perl is for coders, not web designers. As the former, I can pull together and correlate data from all over the place. The only problem is my output is ugly as hell. Since I don't do commercial work viewed by the general public that isn't a problem but it would be nice. Whenever I right click and look at the source for a fairly complicated webpage I get depressed. Seems way, way too complex and you are not seeing everything being brought in via CSS and JS libs.

    I keep looking for a way to bridge the gap between WYSIWYG page designers and plain text perl backends. Any and all suggestions are welcome.

    -Xanthos

    --
    Average Intelligence is a Scary Thing
  24. Re:The problem is with the serverside code, not ht by xclay · · Score: 1
    Upon reading the article more carefully, it looks like it was mostly administrative configuration problems. Take a look at what he's saying:

    If I copied the site to a new server, it broke. If I moved it to a different directory, it broke. If I tried to tweak the primary navigation, the page layout blew up. If I disabled a JavaScript function, suddenly all the images stopped loading

    Merely copying a site to another server won't do, you need to make sure you have correct extensions, and hopefully, the developer was conscientious enough to allow for easier relocation of the site so you can just change some settings on just one file rather than do a full-blown hunt throughout the code. Tweaking the primary navigation also heavily depends on the architectural design of the website. In summary, I think the developer just did a poor job of doing some basic designing prior to the creation of the website. Therefore, I think the article is just a big complaint to write something before the drop time for his article.

  25. Re:"tightly controlled ecosystem"? Bullshit... by mini+me · · Score: 1

    Java was on the right track, but was, perhaps, a little ahead of its time. Instead of rendering HTML, the browser needs to provide a virtual machine environment in which applications can be downloaded over the network, much like how web applications are loaded today, but implemented in languages suitable for development (which can include, but should not be limited to, Javascript).

    HTML does not need to go by the wayside, of course. If your goal is to display an HTML document within the browser, you can link to the appropriate rendering engine application. The cool thing about this is that you would have the power to instruct Internet Explorer, for example, to download the WebKit renderer in order to display your HTML. If your need is HTML with some wiz-bang feature that nobody has thought of yet, you can write or extend your own HTML rendering engine and have the browser use your engine instead.

    Where Java failed is that it tried to mimic the way native applications were installed and executed. It provided no benefit to the end user over a native application. WebStart attempted to solve the problem to some extent, but still did not hit the mark. We do not need to replace the browser, we just need to rethink what the browser needs to be capable of. A full virtual environment accessible to developers through the browser opens up a world of possibilities.

  26. Re:Web development is hard for even talented peopl by tepples · · Score: 1

    Which features are missing, exactly?

    How about procedural audio? Say I want to write a speech synthesizer in JavaScript. How do I send the samples to the speaker?

  27. Re:"tightly controlled ecosystem"? Bullshit... by Assmasher · · Score: 4, Insightful

    POST and DELETE

    You're confusing HTTP with HTML.

    If you want to get picky, 'computer' were 'never designed' for media playback, using your criteria

    Uhm, you're completely missing the point. Computers don't have to be 'designed' for media playback, media playback is simply an expression of the inherent capabilities available to a computer. A web browser is an application, not an operating system or hardware, that people are trying to force into being an application container. It is not meant for these types of things. People have found ways around these shortcomings; however, they generally tend to be poor, kludgy, and overly complex. This is, again, because HTML, XHTML, and such, are not intended to be used for application development.

    Flash is another example of something that was not intended to be used for application development, yet it has grown to accomodate these type of possibilities and since the introduction of Flex, it's far less horrid than previously - but it still isn't a good development environment because of all its legacy baggagejust like web browsers.

    --
    Loading...
  28. Meh by SmallFurryCreature · · Score: 4, Insightful

    Actually, web development is pretty easy. Just that you got to stay away from the "do it all frameworks" that you want to "customize".

    Either build it yourself or use off the shelf, but when you try to combine the two you get a mass.

    The tools/languages he mentions all do their own things. And since when are html, xml, json and css a language? Might as well call headers in C a separate language.

    Neither is cross-browser all that hard or rather, it doesn't need to be.

    As an experienced web-developer I see some very simple problems with web-development:

    • I want program X, now make it do Y. If you want wordpress, use wordpress. Yet what many a customer wants is to use Windows XP, then have it modded to be OS-X, with no budget, with MS supporting it. If you want to use off the shelf software then you got to use it as it is, or spend on customizing it and then accept that you got a custom solution that nobody can help you with.
    • A cheap developer is often a bad developer. There is a reason I charge a high hourly rate, I know what I am doing and more importantly, what I shouldn't do. This doesn't mean I am the best programmer you can hire. A programmer punches code. A developer gets you a working site. Anyone can punch out code but you will all to often end up with something that just doesn't work.
    • Outsource only if you are a master at cross-culture communication. Indians, Chinese, East-europeans, they just ain't got the same attitude as you do. Granted I only see the bad examples, were someone has outsourced a project, it turned bad and I am asked to clean it up, but there is so much work with this that i wonder if it ever goes right. And the outsourced code is often so fucking bad, you got to wonder how old the people involved were.
    • Know your tools. Really, what truck driver doesn't know anything about trucks? For that matter, what shipping company director doesn't know anything about trucks? We often don't realize how much we know about stuff, does a shop owner know a thing or to about real estate? That a door should be 2 meters tall or more? That it is handy if the door opens if you push on it? That lights inyour shop are handy? All basics stuff, but many have no idea at all about their own website. And if you don't know the basics, then how can you judge wether you got value for money? it would be like hiring someone to maintain a garden when you have never seen a garden, don't even know what the word means.
    • Time/Costs/Money. The web for a lot of customers is often what their little nephew did with the wedding pictures. Cute but hardly something that you want to build your company on. A webshop/site is expensive, especially if you want it customized. Renting a physical store isn't all that hard, but when you are done making it your store you are looking at a huge bill, and the same goes for your online presence.
    • Know what you want. Developers like me charge by the hour, so if you spend all day calling me up trying to determine the font/color of a something on your site, that will get you neat bill at the end. Yes, just for changing the color. If I don't charge you direct, I will do it indirect. KNOW what you want. If you are building a house, you don't tell the brick layer to tear the walls down again because you want to try a different look do you?
    • And finally. CONTENT. Get your content ready in time. I seen plenty of projects delayed endlessly because the content takes to long to be produced. A site needs content and anytime between delivery of the site and you getting it up and running is lost revenue.

    Really, web development ain't all that hard, but the customers often make it far more expensive then it needs to be.

    --

    MMO Quests are like orgasms:

    You may solo them, I prefer them in a group.

    1. Re:Meh by Anonymous Coward · · Score: 0

      >>> If you are building a house, you don't tell the brick layer to tear the walls down again because you want to try a different look do you?

      You havn't met my wife, have you?

    2. Re:Meh by Anonymous Coward · · Score: 0

      This probably has to be one of the most insightful posts on development (not just web, actually...some of these same problems happen in application development) that I have ever read. Brought tears to my eyes. Wish I could mod you up myself.

    3. Re:Meh by Anonymous Coward · · Score: 0

      You make some great points.

      "I know what I am doing and more importantly, what I shouldn't do"

      Hopefully taking care of spelling and grammar is not one of the services that you do!

      It's a great post none-the-less.

    4. Re:Meh by cyber-vandal · · Score: 1

      Anyone can punch out code

      If that was the case coding would be a minimum wage job.

    5. Re:Meh by ^Case^ · · Score: 1

      The tools/languages he mentions all do their own things. And since when are html, xml, json and css a language? Might as well call headers in C a separate language.

      HTML - Hypertext Markup Language
      XML - Extensible Markup Language

      The names seem to indicate that those are actually languages. Actually JSON and CSS are also languages. If you're not convinced you might want to read about what a language is:

      A language is a system of signs (indices, icons, symbols) for encoding and decoding information.

    6. Re:Meh by Anonymous Coward · · Score: 0

      HTML: HyperText Markup Language
      XML: Extensible Markup Language

  29. Re:Web development is hard for even talented peopl by mujadaddy · · Score: 4, Funny

    Say I want to write a speech synthesizer in JavaScript.

    There is no emoticon for what I am feeling.

    --
    Populus vult decipi, ergo decipiatur...
    "Force shits upon Reason's back." - Poor Richard's Almanac
  30. Re:"tightly controlled ecosystem"? Bullshit... by fusiongyro · · Score: 1

    You mean PUT and DELETE, which came in HTTP 1.1, significantly after HTTP 1.0 had defined all the methods as GET, HEAD and POST. These deal with the HTTP's resource model, which only deals with the URL notion of thing, not page-level interactivity which is what I think the OP was talking about.

    Still, I do like HTTP 1.1 and one thing I like about REST is that it builds on what appear to me to be fundamental assertions about the HTTP model. You're not fighting the model, you're working with it. Still, I do wonder about how we got where we are today. Things are much harder than they need to be. Many of the things that help initially wind up hurting in the long run, and staying current is a constant battle.

  31. It's just new by copponex · · Score: 2, Interesting

    x86 frameworks have been around for how many decades? HTML5 has been around for how many months?

    Web development may seem like a pain, but last I checked, it's the only truly cross platform development environment that has ever existed. If your bank, for instance, had to develop binaries for every platform, you'd never be able to login and move your money around at 2 in the morning.

    It's taken time to develop the standards that enable platform agnosticism of more vanilla HTML standards, and it will take time to flesh out new standards that compete with native toolkits for interaction. But it will happen, and compiled, single platform application development will be nearly unheard of.

    1. Re:It's just new by Assmasher · · Score: 1

      I agree that maturity is certainly a major aspect of the problems relating to web application development; however, the primary reason is still the fact that the web browser is built around displaying HTML/XHTML and HTML was not intended to be used for applications. x86 frameworks are specifically designed for the purpose of building application (although I'm sure we could find some that would make us say 'well, maybe not this one...' ;))

      "Web development may seem like a pain, but last I checked, it's the only truly cross platform development environment that has ever existed

      It's not only 'not cross platform' its not even 'cross browser'. Java Applets (and I am no fan of Java) are far better at cross platform capability than HTML when it comes to applications (and Java has issues in this department as well.) ANSI C code with a dizzying number of #ifdefs would qualify as 'cross platform' by that measure.

      I'm not saying things are hopeless and not fixable, I'm simply saying that the current environment for building web applications is not just poor, it's terrible.

      Chromium is an example of an attempt to bring a app container to the web world, but its problem is that you still end up using HTML to try and develop applications. W3C needs to superset HTML and leave HTML as the typographical/layout aspect of the internet. It should simply be a media type. Hell, look how long and painful (and still pretty crappy) the process has been for Flash to go from simple media container to Flex/AS3 application environment. You can make amazing full on applications in Flash that work very well across OS/Hardware architectures, but it's still kind of hokey.

      --
      Loading...
    2. Re:It's just new by 0xdeadbeef · · Score: 1

      It's taken time to develop the standards that enable platform agnosticism of more vanilla HTML standards, and it will take time to flesh out new standards that compete with native toolkits for interaction. But it will happen, and compiled, single platform application development will be nearly unheard of.

      The whole world, on one inferior runtime simply because it is the same everywhere? No, it did not happen for communism, and will not happen for web development.

    3. Re:It's just new by copponex · · Score: 1

      The whole world, on one inferior runtime simply because it is the same everywhere?

      Have you not heard of Javascript? Find me a major site that doesn't use it.

    4. Re:It's just new by Anonymous Coward · · Score: 0

      Back in the pre-internet days my bank did, in fact, develop binaries to allow clients to move money around over a dial-up interface. 'developing binaries' is a silly way to say 'develop on any language that exists for many platforms, then compile multiple times'

    5. Re:It's just new by 0xdeadbeef · · Score: 1

      Have you not heard of Javascript? Find me a major site that doesn't use it.

      Every application ever written in the history of computers that doesn't use Javascript?

      (I'm not sure what you mean by "site". Are you referring to the place where an application is installed, or where it is executed, or only where its data is stored?)

    6. Re:It's just new by copponex · · Score: 1

      will not happen for web development.

      Have you not heard of Javascript? Find me a major site that doesn't use it.

      Every application ever written in the history of computers that doesn't use Javascript?

      Don't move the goalposts of your own argument. It makes you look petty.

      I'm not sure what you mean by "site".

      Ditto for retreating under an all too convincing cover of feigned ignorance.

    7. Re:It's just new by 0xdeadbeef · · Score: 1

      Goalposts? I'm not the one arguing a tautology. Perhaps you misunderstood my original comment. I was comparing the ideology of communism to the ideology of web development, and in particular, the belief in the historical inevitability of them both sweeping the world.

      They'd like to think the web browser is special, but it is nothing more than a document viewer that has been coerced into being a runtime. There are better runtimes, and there are better toolkits for writing applications. Native development is not going anywhere. In fact, thanks to Android and the iPhone, it is going through something of a resurgency in spite of all the "web 2.0" hype. And for some reason, despite having perfectly capable modern browsers on these phones, many web properties are distributing native applications instead of improving the mobile version of their web interface.

    8. Re:It's just new by Belial6 · · Score: 1

      There are literally dozens of truly cross platform development environments. C64, Atari 2600, NES, SNES, Genesis, Amiga, Atari ST. They may not have good network features built in, but as cross platform compatibility goes, they are WAY more compatibly than HTML will every be, and noticeably more compatible than Java. If you write an application and it runs on the C64, you can bet it will run on just about every platform that any user sits in front of. Heck, Apple had to ban it from the iPhone to keep it from running there. The single code base will easily run on over 25 different platforms.

    9. Re:It's just new by exomondo · · Score: 1

      There are literally dozens of truly cross platform development environments. C64, Atari 2600, NES, SNES, Genesis, Amiga, Atari ST. They may not have good network features built in, but as cross platform compatibility goes, they are WAY more compatibly than HTML will every be, and noticeably more compatible than Java.

      You sure you're not just thinking of platforms that have emulators that run on other platforms? You certainly cannot just run a C64, NES, Genesis, etc... binary on any platform therefore making it definitely not cross-platform.

    10. Re:It's just new by Belial6 · · Score: 1

      The discussion is on the subject of getting code to run on multiple platforms. Splitting hairs between "Emulator", "Framework", "Markup Language with code engines" is just arguing symantics. No, you cannot run C64 GEOS Write on any platform without VICE or it's equivelent as a container, but then you cannot run any Web apps without a browser as a container, and you cannot run any Java apps without a Java virtual machine as a container. Every single person in this conversation up until this point has accepted cross platform as including code that runs inside of another container as being a valid method to achieve cross-platform status. Thus Code running in a C64 emulator most definitly IS cross platform.

      There is one simple question that can let you know if something is cross platform: Can it run on multiple platforms?
      If the answer is yes, then it is cross platform.

      The silliest thing to do would be to try to claim that Java code is cross platform, but C64 code is not. People seem to live in some alternate reality where if you name your emulator a "Virtual Machine", fail to give it a decent UI, and fail to produce an hardware reference platform it somehow isn't an emulator. Java IS an emulator. No different than a C64 emulator other than the lack of a decent UI. When Java was first introduced, Sun even claimed that they would be producing actual Java processors. When they discovered that the x86 could emulate a Java processor faster than any real Java chip Sun could produce, they changed their marketing tactic.

    11. Re:It's just new by exomondo · · Score: 1

      The discussion is on the subject of getting code to run on multiple platforms. Splitting hairs between "Emulator", "Framework", "Markup Language with code engines" is just arguing symantics.

      It's not semantics at all. Cross-platform software executes natively on the target platform as it is compiled from a generic source to platform-specific code - that of the target platform - at runtime. Software running in an emulator does not, it executes platform-specific code on a virtual implementation of the original Hardware/OS platform implemented in software.

      There is one simple question that can let you know if something is cross platform: Can it run on multiple platforms? If the answer is yes, then it is cross platform.

      No, that is a simple, misinformed assumption. As i stated above there is a clear difference.

      When Java was first introduced, Sun even claimed that they would be producing actual Java processors. When they discovered that the x86 could emulate a Java processor faster than any real Java chip Sun could produce, they changed their marketing tactic

      Wrong again. Java was always designed, from the very beginning, to be a set of technologies for cross-platform development, abstraction layers created so that from a programming perspective the underlying Hardware/OS is irrelevant as it is compiled at runtime, hence the term 'write once, run anywhere' that they coined for the idea at the time. Later they announced the possibility of developing CPUs optimised to run java, but obviously bytecode cannot be executed in hardware, it has to be JIT-compiled at some point, even if that is in some sort of hardware-based compiler. The Java runtime is not emulating any kind of Hardware/OS.

    12. Re:It's just new by Belial6 · · Score: 1

      It's not semantics at all. Cross-platform software executes natively on the target platform as it is compiled from a generic source to platform-specific code - that of the target platform - at runtime. Software running in an emulator does not, it executes platform-specific code on a virtual implementation of the original Hardware/OS platform implemented in software.

      If that is the case, then Java as it was originally written and frequently implemented is not cross platform. Neither is any web development beyond ActiveX. You would also have to exclude Flash, Silverlight, Python, Perl, and a ton of other commonly accepted cross platform solutions. Heck, you can't even count X86 Assembly by your definition, since frequently that is run in 'microcode' on the processor. You are defining cross platform by the solutions you want to include, not including the solutions that meet the definition.

      No, that is a simple, misinformed assumption. As i stated above there is a clear difference.

      If you don't want to define cross platform as being software that runs across different platforms, that is ok, but it puts you in a different conversation that the rest of the people in this thread.

      Wrong again. Java was always designed, from the very beginning, to be a set of technologies for cross-platform development, abstraction layers created so that from a programming perspective the underlying Hardware/OS is irrelevant as it is compiled at runtime, hence the term 'write once, run anywhere' that they coined for the idea at the time. Later they announced the possibility of developing CPUs optimised to run java, but obviously bytecode cannot be executed in hardware, it has to be JIT-compiled at some point, even if that is in some sort of hardware-based compiler. The Java runtime is not emulating any kind of Hardware/OS. Revisionist history. Sun was clear that the reason they were implementing emulators for the other platforms was because they knew they could not get enough software written for their platform quick enough to get people to migrate off of windows. So, they took the approach of writing emulators so that people would write software for their platform even if they were still on windows. They expected to be able to run the code faster natively than they could emulated. They were wrong, so they revised history.

      As for Java isn't an emulator...Really? What do you think "byte code" is? it is machine language. Calling it "byte code" is just smoke and mirrors. JIT compliling byte code to speed up running a virtual machine IS JIT compiling machine code to run in an emulator. The words and the meanings are synonymous.

      The "Write Once, Run anywhere" slogan, besides completely failing to deliver, was an attempt by Sun to out Microsoft Microsoft. It was an attempt to embrace (Windows), Extend (Java), and Extinguish (with the JavaOne processor). The fact that their emulator completely sucked caused this plan to fail.

    13. Re:It's just new by exomondo · · Score: 1

      As for Java isn't an emulator...Really? What do you think "byte code" is? it is machine language. Calling it "byte code" is just smoke and mirrors.

      You seem to be under the misguided and misinformed impression that there is no difference between native machine code and interpreted code.

      If that is the case, then Java as it was originally written and frequently implemented is not cross platform. Neither is any web development beyond ActiveX. You would also have to exclude Flash, Silverlight, Python, Perl, and a ton of other commonly accepted cross platform solutions.

      Wrong again, you clearly don't understand the definition. Those languages are not tied to any platform by the definition of platform in the context of cross-platform, which is a specific Hardware/OS. Dumping a software version of that platform (hardware/OS) on top of another platform (hardware/OS) and running it's software does not make that software cross-platform. Again, the ignorant view that there is no difference between native machine code and interpreted code.

  32. Don't know what he's talking about by abigsmurf · · Score: 2, Funny

    You don't need to know many languages to develop a good webapp! It only takes HTML, CSS, Javascript, SQL, PHP and a bit of Linux knowledge to put together a simple app!

    1. Re:Don't know what he's talking about by Anonymous Coward · · Score: 0

      Not to think about the many versions of CSS for each damn browser!!

    2. Re:Don't know what he's talking about by Nadaka · · Score: 1

      You forgot that you also need to know xml and apache configuration settings, plus make if you want to make it into an easily deployable package, and etc...

    3. Re:Don't know what he's talking about by Anonymous Coward · · Score: 0

      Leave out Javascript. For 99% of the apps, it is useless eye candy.

    4. Re:Don't know what he's talking about by lwsimon · · Score: 1

      Oh crap, I agreed before realizing this was meant as a joke...

      --
      Learn about Photography Basics.
    5. Re:Don't know what he's talking about by Anonymous Coward · · Score: 0

      yes "a Simple app!"

  33. Re:Web development is hard for even talented peopl by Anonymous Coward · · Score: 0

    although it lacks many of the most basic features necessary to do that sort of development effectively.

    Which features are missing, exactly? Cappuccino, for example, implements almost exactly the same APIs and conventions that native Mac/iPhone developers use, only in Javascript.

    Holy mother of god. That's so incredibly scary ... from their site ...

    Cappuccino was implemented using a new programming language called Objective-J, which is modelled after Objective-C and built entirely on top of JavaScript. Programs written in Objective-J are interpreted in the client, so no compilation or plugins are required. Objective-J is released alongside Cappuccino in this project and under the LGPL.

    Fucking hell. This is a hack built on top of a kludge built on top of a monstrosity and then delivered through your web browser. Make it stop!!

    This is just shit piled on top of shit, with HTML and HTTP still sitting at the bottom. The web has done more to mangle software development than almost anything else. It's all workarounds to try to overcome the fact that the underlying technology is outdated and useless.

    There's been so many attempts to make something workable on top of this mess -- having one's browser running an object-oriented framework and platform abstraction layer in an interpreted language is about as boneheaded as you get.

    It's all one big giant steaming turd.

  34. The problem is that their code is bad. by quietwalker · · Score: 1

    I've been around for a while, dealt with a lot of code that had a missing developer, and one thing I noted was this simple truth:

    Every significantly complex piece of code you didn't write, every system you didn't design is "bad".

    It doesn't matter if it's well formed, makes sense, works well together, you'll always find a way to complain about the coding style used, the design choices made, the libraries used or ignored, and until you've sat in it for a while, none of it will make sense to you. Not sure what I mean? Try spending some time in a few of the programming centric IRC channels, and watch everyone rip into someone else's code. The #python channels are especially funny since the loudest individuals there appear to be some sort of religious adherents in the church of python. In general, these folks won't even answer simple questions until the code is reorganized in the manner they're accustomed to.

    The thing is, we're all like that. It's the same each time you pick up a new language, or you're tackling a new library. This isn't a web-based phenomenon - this is every piece of code ever, regardless of it's actual quality of lack thereof.

    This is the sort of thing that you can't fix with single-vendor lock-in, or strict adherence to protocols, and it's not exacerbated by mixing and matching OSS projects. Inside a given company, it can be regulated to a point by having architectural guidelines, strict coding conventions, and well spread code reviews that ensure conventions are used - but the code will still be 'bad' to people outside the company.

    I do have a fix for it, but I don't think the author will like it. You should make sure that YOU as a developer experience as many of the frameworks and languages and systems and such that are out there, continue to expand your awareness of program design from data structures to lifecycle management, and that way, when you experience one of these 'bad' systems, you'll be able to absorb what the previous developer was thinking a little quicker than otherwise.

    of course, it could just be terribly written code, and not just subjectively bad, in which case I always end up voting 'slash 'n' burn'.

  35. Wanting better tools??... by Tei · · Score: 2, Interesting

    As a webmaster, if found the article strange.

    We have better tools today, than years ago. Firefox and his amazing extensions (like Firebug or Webdevelopper) make analizing what is going out here, much easier. JQuery itself make writting javascript predictible (so if it works here, it will work on other browser). There are not lacks of good Code Editors. We use to have good HTML Wysiwig editors, but these are outdated by now (I could be wrong, but the better pad nowdays seems the brain of the designer).
    So.. what you need? REDMINE to track proyects? Good debuggers? Inspectors? Documentation?

    Working with HTML could be hard (specially if you have to support webpages that have to run on Internet Explorer 6), HTML itself is crap, Javascript is much more evil than people know (but I love it, like a bad girlfiend)... but.. the tools? what tools you need? tools that automagically write code (good code) for you? Visual Studio seems to have some of these, and while I don't use these myself, I have ear good things... (if you are into wysiwig and how bloated any code touched by microsoft looks. ). What you want exactly?

    Could be, maybe, that you don't know what tools we the professional webmaster have available? :-)

    --

    -Woof woof woof!

    1. Re:Wanting better tools??... by coryking · · Score: 1

      What you want exactly?

      A tool that merges and optimizes all the CSS used in your site. A tool that magically figures out what CSS rules are not being used anywhere. A tool that suggests "hey, that selector is a bit more complex than needed for what you seem to be doing".

      In otherwords, better tools to manage my stylesheets.

    2. Re:Wanting better tools??... by Tei · · Score: 1

      Part of what you describe already exist as a firefox extension (the tool that check for unused CSS)

      But, I get your point. I want what you describes, too.

      --

      -Woof woof woof!

    3. Re:Wanting better tools??... by coryking · · Score: 1

      Awesome!

      For those who dont know, there is a Firebug addin called "CSS Usage". Get it here: https://addons.mozilla.org/en-US/firefox/addon/10704/

  36. Re:back to (UGLY) perl! by Machtyn · · Score: 1

    I think the problem with looking at html code from many webpages today is that it is all auto-generated by a back-end server. And, IMO, auto-generated code is almost never pretty, producing a jumble of hard to read code.

  37. Re:Web development is hard for even talented peopl by mini+me · · Score: 1

    Yes, it is a mess, no doubt. But the features are not missing.

  38. "backed by a major vendor " by Anonymous Coward · · Score: 0

    Fail. And he was doing so well up to that point. A decent software engineer doesn't need the software equivalent of a drug pusher (IBM, Microsoft).

  39. Commie! by rbrander · · Score: 1

    There's also something to be said for a tightly-controlled economy backed by a government with absolute power. Nobody starves, and all that.

    Alas, that situation turns out to be unstable in the long run because it can't cope with an ever-changing, inherently uncontrollable world, the "absolute power" thing corrupts absolutely, and various other defects not visible within the tightly-controlled system, even after they are visible to everybody else.

    Long run, it appears that the unplanned, unmanageable, chaotic, unstable, failure-allowing "free" system actually works better. It even let fewer people starve, oddly enough.

    Since communism provably killed and tortured more people than Nazism, the rhetorical device is at least as offensive and overblown, so I would now like to claim the fastest implementation of Godwin's Law in Slashdot history!

  40. Re:Web development is hard for even talented peopl by tepples · · Score: 1

    JavaScript on the HTML DOM is the lowest common denominator in much the same way that Java applets used to be. If not in JavaScript, then how else should I make an app that synthesizes speech on the client side without requiring me to write a native app for each platform, get the app digitally signed by the platform's controlling organization (in the case of non-PC platforms), and convince PC owners to allow its installation?

  41. Smells like corporate propaganda to me by walterbyrd · · Score: 1

    Neil's experience reminded him that a tightly controlled ecosystem backed by a major vendor does make it easier to define best practices, set development targets, and deliver results with a minimum of chaos. There's something to be said for that."

    So whatever you do, don't use open standards, open standards screw up everything. Only develop for MSIE, and other "standards" used by major corporations to embrace-extend-extinguish.

    And this coming from infoworld? Why do I smell a corporate propaganda thinly veiled as some sort tech commentary?

  42. Re:Web development is hard for even talented peopl by K.+S.+Kyosuke · · Score: 1

    Even for excellent software developers, web development is difficult. It's not the concepts that are difficult, per se, but rather the jumble of half-backed hacks that make up ever layer of the web stack. The foundation is so weak that anything built upon it just can't stand well, even if it itself is well-designed (given the constraints of web development).

    Just look at the common open source technologies used by many web sites. MySQL is one buggy hack upon another. PHP is much the same, plus some security holes.

    Uhm, deficiencies of MySQL and PHP don't necessarily mean that web development in general has to suck. What about the Seaside framework? To me, Seaside is a clear demonstration how much it helps sometimes to step away a bit and rethink an old thing.

    --
    Ezekiel 23:20
  43. JS by Anonymous Coward · · Score: 0

    The problem is JavaScript. It's the tranny hooker of web development: looks like OOP, wants to be OOP, and you can try to use it like OOP, but once you get her skirt off you want to run from the building screaming.

  44. FUD by Anonymous Coward · · Score: 0

    Not pictured: The author's big fat cheque from Adobe

    "Neil, we don't care that you don't know much about web dev. Just make up some really bad anecdote and hope it sticks"

  45. Two words by Anonymous Coward · · Score: 0

    Shit sux.

  46. Re:Web development is hard for even talented peopl by Dishevel · · Score: 1

    having one's browser running an object-oriented framework and platform abstraction layer in an interpreted language is about as boneheaded as you get.

    Sorry. I thought that was how 50% of the web "worked". :)

    --
    Why is it so hard to only have politicians for a few years, then have them go away?
  47. Re:Web development is hard for even talented peopl by K.+S.+Kyosuke · · Score: 1

    In my experience, the tools for web application development are overwhelmingly crufty, and a stateless, connectionless protocol is a nuisance.

    Then make your application architecture stateful! Use continuations, Luke.

    --
    Ezekiel 23:20
  48. Web Development by hackus · · Score: 3, Interesting

    There are a couple of problems I see in web development:

    1) Unlike the systems programmers, myself included, for a given topic area tools are adopted and standardized.

    Web developers seem to get jobs based on the flavor scripting language of the year.
    (All of which is crap in my opinion....i.e. php, javascript....python...)

    It always seemd too me, that XML, XSLT CSS and Java servlets are really all you need and you can build marvelous interfaces. Tried that once, but the response I got was (thats too hard, lets use javascript).

    2) The closest I have come to a decent application framework for building web apps is Java. It has clear security controls, recognizes the importance of Virtual Machine technology to compartmentalize access in a dangerous online world. It even has a very straightforward debugging environment which is quite impressive to track down bugs.

    But curiously, it is shunned because if you don't know the scripting language flavor of the day, people don't want to build web sites or won't hire you.

    Which is one of the reasons why I don't write web applications anymore. Because when your job and pay is based on how fast you can memorize the scripting flavor of the year, and it doesn't bring anything new to the table (in many ways it can be even worse) to solve the problem of writing a web app, well...it becomes just a money game.

    I mean really, I don't mind learning new languages, but I haven't seen anything new since Java 1.6 was released that is any better...just mostly worse.

    3) Finally the field has become too greedy. I mean, there is no reason why it has taken this long to standardize video and audio, except for the fact that greed is everywhere.

    It is really sort of disgusting, and the crap you have to go through to get video onto a persons browser is just way over the top, mainly due to Adobe and Apple being greedy idiots.

    Maybe when the Video and Audio tags get full support for open protocols I will write web apps again. It isn't rocket science, but it is currently a science of idiocy.

    -Hack

    --
    Got Geometrodynamics? Awe, too hard to figure out? Too bad.
    1. Re:Web Development by clintp · · Score: 1

      It always seemd too me, that XML, XSLT CSS and Java servlets are really all you need and you can build marvelous interfaces. Tried that once, but the response I got was (thats too hard, lets use javascript). ... [other tech] All of which is crap in my opinion ... The closest I have come to a decent application framework for building web apps is Java.

      Whereas I read your comment and that of many others in here and see tool bigotry. Maybe my preferred methods are Perl and HTML4 + CSS. Bob has a boner for Ruby and Rails. Both of us think XSLT is a dead methodology, and bicker constantly over whether to do Ajax with jQuery alone or to use YUI. We'll all glue our crap together hope it works. In the end, any product we three produce will suck just like the topic web product.

      Even if we settle on a framework and a set of technologies my Java will read like finely crafted Perl, and Bobs will reek of Ruby. Neither one of us will be happy with our XSLT and they will work like hell until you re-code them (or try to anyway). Our biases will be reflected in our styles, at least until we've used enough of this alien toolset to become comfortable in it.

      Now consider an innocent bystander on a different project maybe in a different company. He's selected (or had selected for him) a PHP/HTML/YUI based framework. If he likes our widgets and layouts and our product is "open", he's now down to patching together dissimilar technologies to get what he wants. Our advice to him is a mish-mash of opinions and crap. His product will also suck just like ours.

      Web development is a patchwork quilt laid out by the geometrically challenged and color blind.

      --
      Get off my lawn.
    2. Re:Web Development by Anonymous Coward · · Score: 0

      I'm not sure which web shop you worked for that made you learn the newest flavor of programming language every week, but I can tell you I'm a Java developer at a Mid-size (approx. 600 people) shop and I've only coded Java backends. We standardize on .NET and Java, and although the base languages are the same we do use a lot of different frameworks, but that's mostly to match the skill sets of the IT department that has to support the web app.

      Eclipse and the related plugins are great tools. Most major frameworks also have eclipse plugins that help with checking annotations or xml configurations.

      My company only works with large corporations, as we are very expensive, and I think that's the difference. Large corporations are much less willing to take risks and like going with proven frameworks so they're not always chasing the flavor of the month.

      I think if I was a freelance developer or working with small clients it would be a bigger problem, shops that are desperate for work will always promise too much to the client or promise skill sets the developers are supposed to learn on their own time.

    3. Re:Web Development by MillerHighLife21 · · Score: 2, Insightful

      And I can related. I used to be in the "J2EE is the only proper way to do things" camp too. Read about 4,000 pages worth of books cover to cover about everything from Struts, Hibernate, Tapestry, and EJB's on. Also thought all interfaces should be done with XML and XSLT because it was just the right way. Preached about it to people.

      Then reality actually hit. I went to work for a large telecom company who's upper management constantly was obsessed with converting everything into J2EE but because I had some PHP experience I ended up doing both and got to live in both worlds.

      The result was was that, of about 80 different internal and external websites that worked 75 of them were PHP, 4 were J2EE, and 1 was ASP (pre.NET). Our team of 3 developers maintained all 75 PHP sites and 1 of the J2EE apps. The other three J2EE apps each had a team of 8 people on average, dedicated DBA's (because the application "required" Oracle). The ASP app only worked in IE6 and had 3 people responsible for it.

      Now, exactly what does it say about maintainability when 3 people can maintain 75 different sites and have spare time for new development. After a while, when my eyes were officially opened to the man hours / licensing fees wasted on pursuing the "right" way of doing things we convinced our VP to let us rewrite a particularly buggy J2EE app that we had to interface with a lot. This system had take 6 months for 5 people to build.

      Our team rewrote the entire thing in 1 night, bug-free for at least the next 1.5 years too (I left for another job after that).

      The lesson that we learned was simply this: practical abstraction.

      You can strive for ideals all day long, but if the ideals are so bloated that it takes 8 people to do the job of 1 person it is no longer cost effective.

      With J2EE you spend so much time learning all of the "right way" to do things that it prevents you from having any amount of time to learn all the other surrounding web technologies. You also end up with people who are literally afraid to learn anything new because they've invested so much time into learning what they already know. Ever meet Java people who think EVERYTHING needs to be done in Java? That's why.

      At the same time, a language like PHP that you can be polished with in a week is a powerful tool in the hands of a good developer. It gets a bad rap because it's so easy to learn a little bit at a time that designers and other people with no formal programming background at all are able to jump in and create some bad code.

      For further reading material, check out "The Top 10 Signs You're a Crappy Programmer (and don't know it)." http://damienkatz.net/2006/05/signs_youre_a_c.html

      --
      "Don't teach a man to fish, feed yourself. He's a grown man. Fishing's not that hard." - Ron Swanson
    4. Re:Web Development by MagicMerlin · · Score: 1

      I agree with most of what you said except for the comments on javascript. As a systems programmer you should understand that it is inefficient and silly to force the interface to refresh an entire page just to pull small pieces of data from the server and render them. There are many other wonderful things that javascript provides in terms of interface and user experience. Of course, I'd prefer a cleaner, more strongly typed language than what is probably the most informal language ever invented, but javascript is a big part of what makes the internet what it is today. applets and flash need to die though,

    5. Re:Web Development by Late+Adopter · · Score: 1

      Web developers seem to get jobs based on the flavor scripting language of the year. (All of which is crap in my opinion....i.e. php, javascript....python...)

      It always seemd too me, that XML, XSLT CSS and Java servlets are really all you need and you can build marvelous interfaces. Tried that once, but the response I got was (thats too hard, lets use javascript).

      You seem to be confusing server-side and client-side languages. Javascript doesn't belong in the same list as PHP, Python, and Java. Java servlets are a fine (ideal?) technology on the server, but you'll still need Javascript for processing on the client side if you have any interactivity demands.

    6. Re:Web Development by Anonymous Coward · · Score: 0

      2) The closest I have come to a decent application framework for building web apps is Java. It has clear security controls, recognizes the importance of Virtual Machine technology to compartmentalize access in a dangerous online world. It even has a very straightforward debugging environment which is quite impressive to track down bugs.

      But curiously, it is shunned because if you don't know the scripting language flavor of the day, people don't want to build web sites or won't hire you.

      Java suffers the same problem with proliferation of web frameworks. AFAIK the number of web frameworks for Java is probably the worst of any platform. This is a good example of the problem.

    7. Re:Web Development by olau · · Score: 1

      Javascript has been around for over 10 years now. Python predates Java with several years. Wake up! Java is not the end of the world, just because you made some effort to learn it doesn't mean everything must be written in it.

      Also as if everything was standardized in systems programming. Yeah, because everybody is using C. Oh wait, C++. Oh wait, Java. Oh wait, .NET...

  49. Humans can only learn so fast by mangst · · Score: 1

    There are so many web frameworks out there, like the author says. New ones are released and existing ones are updated on a regular basis. The truth is it takes time to learn a framework and become comfortable with it. We can't possibly keep up with it all.

  50. Re:Web development is hard for even talented peopl by Anonymous Coward · · Score: 1, Insightful

    While i am one to admit that Web Dev is, for some parts, a bunch of hacks, most of it isn't.

    JavaScript, the DOM, and CSS are all highly detailed on W3C site. The only ones who chose to ignore the standards was Microsoft. (although it seems they are turning around now)

    All the stuff you said is literally the exact same crap we deal with in Operating Systems NOW.
    Not all programs run on all OSes the same. I've had cross-platform programs run faster / slower on other machines, use more / less memory, look different occasionally, etc.
    Let's not forget how much of a bitch it is in the first place to MAKE a cross-platform executable. Compared to web dev, web dev is making a cup of coffee, cross-platform software development is like building the machine to make the coffee granules. (actually make them, AKA 3D printer or something like that)

    If you actually READ the standards on W3C and work with them, you shouldn't ever screw anything up outside of IE browsers, or working-drafts, or on the rare occasion where there is a legitimate bug in finished implementations of standards.
    JavaScript doesn't lack a damn thing when it comes to application development for the most part, it is the DOM model that is the mess, and methods and attributes across some browsers. (see keycodes and other such things)
    You either haven't used JavaScript at all / are trolling, or you just plain suck at it.
    The only other problems are really memory management and leaks with functions and objects. (which varies between each browser)

    Again, this is all just sounding more like software development in general: it all sucks, it is all a mess, but those who stick to the standards get by fine without any problems, it is the ones who have to deal with the idiots who went outside the standards and generally fail at decent coding styles (no indent, awful naming, etc)

    The worst thing of all web development is the web browsers.
    All these people developing them refuse to do huge changes to the base code to actually stick to the standards simply because it will break websites.
    SCREW THEM, if the developers in both cases stuck to standards, none of this mess would exist!
    People who code shit deserve to suffer incompatible mess.
    If everybody done it at the same time instead of pussyfooting around with minor changes, we'd look back at this day with a smile and sigh of relief.
    Ditch compatibility modes as well. If people refuse to update, they don't deserve to be on the web.
    Backwards Compatibility is the worst thing in development, it just results in a mess.

  51. Re:Web development is hard for even talented peopl by mini+me · · Score: 1

    You can use data: URIs to send the generated audio data to the browser's media player. Not exactly pretty, but it is possible. Wrap it in a sane API and it needs to be no more difficult to use than a native audio API.

  52. Re:Web development is hard for even talented peopl by Anonymous Coward · · Score: 1, Insightful

    I think he's talking about JavaScript missing critical language features. You know, things like proper namespaces, exceptions, static typing, a sensible object model (or even something like the approaches to prototype-based OO that Self and Io take), and so on.

    There's a big difference between a scripting language like JavaScript, and scripting languages like Python, Perl and Ruby that are much more advanced and suited to large-scale development. Even then, there's a much bigger gap between those languages and languages like C++, Java and C#, which are suitable for huge-scale development projects.

  53. Ask Slashdot: PHP/JS Dev environments by QJimbo · · Score: 1

    Are there actually ANY good development environment for working with PHP and Javascript simultaneously? I use NetBeans but it doesn't really keep track of say, when a javascript function loads data from a php with the xml loader and things like that. I always end up with a strange hybrid of serverside and clientside code that is impossible to sensibly keep track of. Any suggestions?

    1. Re:Ask Slashdot: PHP/JS Dev environments by flanaganid · · Score: 1

      My suggestion is to only use frameworks as they were designed: PHP is for server-side generation of HTML, and Javascript is for the manipulation of HTML. The PHP should generate well-formed HTML that works even without the Javascript layer, and the Javascript should only be used to manipulate the HTML without affecting anything server-side. If you must, a small implementation of AJAX could be used, but only to insert other HTML into the DOM, not to make database calls or changes. But really, it's best practice to simply generate all of the HTML you'll need, and then use Javascript to show/hide it as needed. That guarantees that you'll have a site that's compatible with virtually any platform, even should the user have Javascript turned off (or in some cases, not even supported).

      If done correctly, it's easy to keep track of. It's all referencing the same HTML, and if it's well-documented and well-formed, nothing will get lost.

  54. Re:"tightly controlled ecosystem"? Bullshit... by DannyO152 · · Score: 1

    The other point is typography was a (still not completed) after-thought. At the outset html was for replicating the scientific paper and HTML's terseness and simplicity was its strength. Control for layout was given to the client browser and academic papers could be read in Mosaic or in lynx; one need not worry about what the user was using. Tables and images were added later because these are needed for academic writing. Because there is a standard flow of information in the academic paper and because the entire paper is the singular object of interest, the need to break up presentation with content wasn't manifest.

    The web took off, and, as is human nature, folks looked at this low cost communication medium as an opportunity for commerce. Now, that brings in security, authenticity, state, content/presentation separation and typography. Persuasive communication is very important to effecting a sale. Persuasive communication is structured and in the specific cases of visual advertising, the movement of the eye and the rhythm of presentation matters a lot. Now page hosts had to have a large degree of certainty that the elements of their page did not more around as they were transmitted to their visitors, even though the heterogeneity of the client machine was and is a complication. The grid is a fundamental graphic design and was not (is not?) available explicitly in html and the later css. So, designers went and hacked the best alternative, using the <table> element. We also had spacer or invisible.gif, a one pixel by one pixel non-visible <img> element. I've always been a hand-coder, so I have no idea if the professional tools of fifteen years ago were using the hacks in order to provide a rigid structure to the page. I do know, from helping co-workers learning Dreamweaver, that ten years ago the font stuff was still being set per paragraph.

    Incidentally, Flash provided a grid which helped it spread and why it is (my opinion, formed in the days of dial-up) overused.

    As for the op, I'm okay with it being a jungle out there. While the computing analog of the strong man brings with it consistency, places where it happened also demonstrate how often power corrupts. Sun wanted everyone to use java, but didn't want java to be of more benefit to another vendor's products. Understandable, but it should seem obvious that their motive conflicted with the write-once run-anywhere mission. Everyone uses their products to cross-promote other products of theirs. Thus, the browser wars and the remaining inconsistencies in document models and rendering, like so many trenches, craters and unexploded ordnance in the 1920s Belgian countryside.

    Any way, the web is what it is. As the world wide web was an outgrowth from academic communication, vendor neutrality is in its DNA, to use a cliched construction of the day. And there is a lot of bad web design/interactivity implementation out there. Oh indeedy, some clients will have and are going to pay to have their prior designers' works unraveled. Some of that is a natural consequence of multitudes shooting at a moving target. Some of that is because the clients didn't spend the money at the outset to hire someone who would do it correctly.

  55. Re:"tightly controlled ecosystem"? Bullshit... by Nadaka · · Score: 1

    And that is exactly why I wanted xhtml2 instead of html5. It has a real framework for web applications between xforms and xml events. It is almost exactly what I would have done for my perfect web application format. The only thing I would add would be the ability to send a model from one page to the next without transmitting the data to the server.

  56. I see a day coming by ClosedSource · · Score: 1

    when so many frameworks are available that if the original developer of a site gets hit by a bus, they'll be no person in the world qualified to maintain it.

  57. You're right, let's all go back to Frontpage by Anonymous Coward · · Score: 0
  58. Re:Web development is hard for even talented peopl by Anonymous Coward · · Score: 0

    Not to mention all the vastly different things a web developer needs to know to even stay afloat - a single project usually requires knowledge in CSS, HTML, JavaScript, some form of server-side language (PHP, ASP, etc), a database (MySQL, MSSQL), etc. Add on top of that all the different browser quirks one has to take into account (like how the 3 major flavors of IE - 6, 7 and 8 all render differently and require different hacks to make standards-compliant markup actually render properly) and the different vectors of attacks that have to be accounted for (XSS, SQL Injections, Local/Remote File Includes, Cross-Site Request Forgery, etc.).

    Not to mention the disdain that web developers see online all the time regarding their profession from their kin in the software development world, or the fact that the rising popularity of do-it-yourself CMS systems like Drupal, Wordpress and Joomla are bringing mom and pop into the picture...

    What's the word for it? Ah yes, "clusterfuck"...

  59. my current development scenario: by circletimessquare · · Score: 1

    database ->
    stored procedures ->
    ashx (c#, know your libraries) ->
    xslt (still version 1.0, grrrr) ->
    html (which version?)

    + css

    + js support files (javascript, know your libraries)

    + maybe flash, which is its own parallel universe

    the js part is a huge deal when dealing with ajax schemes, xmlhttprequest... which loops back to another completely parallel track of the main DSAXH sequence above

    and then you need to take into consideration the different browsers and their rendering quirks

    it really is pretty nutty the number of languages and open windows you need to jump back and forth between and what you need to take into consideration

    you also need to set up and configure the web server os and webserver software

    but you know what? you look at the early industrial age, when they were still just imagining locomotives and automobiles and airplanes, and you're talking about guys who had to be good draftsmen, machinists, metallurgists, mechanical engineers, office managers, etc. and you think "how the hell did they do it?"

    so when you think about all the disparate languages and moving parts you need to integrate, just to build a coherent, not very complicated, website, you think you know some small pantomime of the complexity of the world the early industrialists had to work in. its not that bad, its a living. what can one ask of work except that it challenges you and doesn't bore you and might offer some sort of exciting fruits from your labors? a chance to change the world? you are demanded to do many things and wear many hats, and this means you work in an environment where YOU are important, where YOU can prove your mettle and prove valuable above other "wed developers" who just find nothing but tedium in the whole endeavour and disparage it

    they apparently yearn for a world, some future generation of web programmers, who will operate more along the lines of "buy car, press start button. if car breaks, take to repair shop. end job function"

    i don't envy this less complicated world. in such a world, web programming will be as a exciting as being a check out cashier (and pay at the same rate too, and YOU will be as completely interchangeable and forgettable as a coffee filter)

    revel in it, don't disparage the complexity. in full work mode, all 400 cylinders firing, you are something of a god, bringing forth new technologies that might still be used hundreds of years from now, and be the very backbone of human society. enjoy living in the dawn of a new technological era, which is what the web still is, so much of the ground beneath our feet is still in play, and some of us get to be influential in that, in much the same way that early railroads shaped the fate of nations and ideas and the birth of cities

    we are doing something of the same today, and by necessity, by working on the cutting edge, that is complicated, difficult, and messy

    and that's good

    roll up your sleeves, and shape the world. if all you can think is "this is too complicated", you're in the wrong line of work

    --
    intellectual property law is philosophically incoherent. it is your moral duty to ignore it or sabotage it
  60. Re:Web development is hard for even talented peopl by abigor · · Score: 1

    Other than the horrid startup time, I actually quite liked Java applets for exactly the sort of reason you mention.

  61. Re:Web development is hard for even talented peopl by K.+S.+Kyosuke · · Score: 1

    in an interpreted language

    What, you haven't switched yet from Internet Explorer to a modern web browser?

    --
    Ezekiel 23:20
  62. What is a language? by Anonymous Coward · · Score: 0

    The tools/languages he mentions all do their own things. And since when are html, xml, json and css a language? Might as well call headers in C a separate language.

    I never understood this argument about what defines a 'language'. Why aren't HTML and XML considered languages? They've even got "language" in the name!

    And the C header argument doesn't convince me. Headers are simply a subset of the C language. Sure JSON started off as a subset of JavaScript, but I'd argue that it's a full-blown language since it's often used independently of JavaScript. C headers are not used independently of the C language.

    These arguments about what makes a language really a language seem overly pedantic to me (a la hacker/cracker debate). They're all "languages" in my view.

    1. Re:What is a language? by dmgxmichael · · Score: 1

      Programmers (even me) somewhat snobbishly try to reserve the word "language" to mean "programming language". XML and HTML are not programming languages - they are markup languages - exactly what it says on the tin even (HyperText Markup Language, eXtensible Markup Language).

      Markup languages lack control structures of any sort, without which they cannot be used to program anything. In and of themselves they are quite useless, but used for their purpose they are highly useful.

  63. Dunning-Kruger Effect by zogre · · Score: 2, Informative

    You're thinking of the Dunning-Kruger effect.

    1. Re:Dunning-Kruger Effect by waambulance · · Score: 1

      more like the Dunder-Mifflin Effect...

  64. Dissenting opinion on HTML 5 by Anonymous Coward · · Score: 0

    A study appeared recently in the journal Internet Standards, detailing disturbing findings that, as usual, the mainstream tech journals chose to ignore entirely. This study showed that on a per-bit basis, HTML 5 ranked, in terms of standards, almost at the bottom, just below Microsoft and above North Korea. Walt Mossberg's comments in today's Wall Street Journal are interesting, because they are technically accurate. He called HTML 5 a "standard", something you will almost never hear a mainstream reporter say. He also pointed out, truthfully, that Youtube now "uses" HTML 5. He made no mention of dissenting opinion, but that is hardly unusual. What is interesting in this case is that just two days ago, the International Court of Justice released a one hundred and seventy-three thousand page report on HTML 5. This fact did not get reported either in Mossberg's article or elsewhere in the mainstream press. The ICJ report is interesting in two respects. First, the finding is unanimous not only among the seventeen justices who drafted it, but across 190 nations, with two exceptions. Israel and the United States. Israel, we will remember, is one of the fastest growth areas for technology companies such as Microsoft and IBM. Capital is just flowing in. The United States, for its part, represents the interests of almost all of the big technology names you can mention, everything from Microsoft, to Google to IBM, just all the big names. Now in the United States, these companies have powerful lobies, in fact they have freedoms no one posses. The United States vote was almost entirely determined by this lobbying. Unusually, the United States chose not to hear petitions from any citizens. That is rare. More commonly, anyone can make a petition, it will just end up in the garbage can if you're not a Fortune 500 company. I don't want to go too far, but if we look at it in a historical context, this motion is similar to what Sophie Scholl, the famous dissident in Nazi Germany was told when she made her case to a judge, pleading her right to publish fliers detailing the truth about the regime. The judge told her "the time for political opinion in Germany is over." In developed, modern democracies, we stop short of saying those words, but the spirit of that statement is fully present in all aspects of the HTML 5 process.

  65. Re:Web development is hard for even talented peopl by monoqlith · · Score: 1

    I'm sure Cappucino is great, and no offense to you, but it seems every time I point out that Javascript is horrible, someone tells me that no, it's not horrible, and all the features that are implemented or emulated by X Y and Z new frameworks, and I go back to Javascript and try those things, it still strikes me as still crufty and horrible. Why did I have to go out and get a framework to implement features that I should already have?

  66. Re:"tightly controlled ecosystem"? Bullshit... by Bigjeff5 · · Score: 1

    HTTP != HTML

    Dumbass.

    --
    Security is mostly a superstition... Avoiding danger is no safer in the long run than outright exposure. - Helen Keller
  67. Re:Web development is hard for even talented peopl by Anonymous Coward · · Score: 0

    there are countless frameworks like this, stop plugging :)

  68. Translation... by Anonymous Coward · · Score: 0

    ..."I inherited a pile of crap so I'm going to blame the state of the web for my pain." Even a Ferrari can be ruined by a bad mechanic.

  69. Idea for How the Web Should Work by monoqlith · · Score: 1

    This is how the web should be structured in the future. "Pages" can still be written declaratively, just like our interfaces for desktop software can be designed and stored declaratively. However, they can be compiled into bytecode classes that get sent back and forth in serialized form over "HTTP" (or whatever new, stateful protocol someone comes up with.) The browser will become this: A Virtual Machine and a Layout Engine/Server - The VM will "run" the site as bytecode and directly manipulate the site's layout. . This can still look and feel very much like the web today.

    But under this paradigm, you can write your apps all in one language, be it Java or any other language. After all, there's no reason VM bytecode couldn't be generated from any number of languages, just like Java bytecode today. If you want you can, as I said, still declare your user interface in HTML and "connect" them to actions on the client or server side or as outlets to Java classes. This will also allow transparent server-client interaction - methods can be moved from the server to the client at will, also making offline browsing more flexible.

    People might point out that you can already write your application in one language using GWT. Yes, GWT might be a good candidate for a layout toolkit to run purely from bytecode on the client side. However it cross-compiles Java to Javascript. I don't want things getting cross-compiled from a bytecode compiled language to an interpreted language. They should be written in a compiled language and stay there. The point is to jettison Javascript and to allow a fully featured object-oriented language or language(s) to run inside a secure VM sandbox.

    A lot of people will probably tell me they don't want this. One objection(out of possible thousands): They might say it would a lot of people who currently doing web design would be prevented from doing so because of the high barrier to entry of learning a new programming language. My reply would be - in order to develop modern web sites, these people already program, badly, using two or more programming languages. What would be lost in switching them to a good language for the benefits of greater security, more powerful applications, and being able to write solid web applications rather than barely standing constructions made out of the digital equivalent of wood glue and toothpicks.

  70. Re:"tightly controlled ecosystem"? Bullshit... by Aladrin · · Score: 0

    For all the idiots saying 'HTTP != HTML' ... HTTP is useless without HTML. If you don't even know that...

    --
    "If you make people think they're thinking, they'll love you; But if you really make them think, they'll hate you." - DM
  71. IE6 failed? by Petersko · · Score: 1

    "Yeah IE6 failed - And we don't ever want to go back there again."

    Are you joking? IE6 was such a phenomenal success that industry still can't shake it. You can't possibly justify calling it a failure. By every metric it's a piece of software that succeeded. I'm replying to your message using IE6 - 9 years after it was introduced.

    Had it failed, it wouldn't still be holding back the web.

    Personally I think this desperate need to shove everything in a browser is a retarded sickness that needs to die. It's like trying to shove a potato through a straw. The solution isn't to adapt the straw to be potato-friendly.

  72. Re:Web development is hard for even talented peopl by i_ate_god · · Score: 0

    Just look at the common open source technologies used by many web sites. MySQL is one buggy hack upon another. PHP is much the same, plus some security holes.

    PHP has matured over time. It has certainly matured faster than MySQL. PHP is an extremely flexible language, with a robust syntax. If used properly, it is a powerful language that can do quite a bit. I've written daemons in PHP that have outlasted the JAVA applications they are connecting to, processing millions upon millions of documents. PHP may not be multi threaded, and that's a huge drawback, but you can fork. It's a decent work around if you know what you're doing (like any good parent, keep your children in check!). The hate against PHP is unwarranted now.

    HTTP has been over-extended well beyond its original use (cookies are a hack to get around its statelessness, it's caching mechanisms are fucked to high heaven, SSL and TLS are hacks).

    With the soaring popularity of "RESTful APIs", I would argue that HTTP is going back to its basics and we're finally ditching XML-RPC and SOAP and what not that aim to reinvent the wheel. Besides, what is "over-extended"?. HTTP works well for Meebo and it's doing STREAMING.

    JavaScript is perhaps the most horrid hack of them all. Something meant for adding minor interactivity to a page has been misconstrued as being suitable for large-scale application development, although it lacks many of the most basic features necessary to do that sort of development effectively.

    Hold on, you're telling me that a prototype-based language with strong emphasis on events and closures is bad for UI? JavaScript itself was never a problem. It's DOM that's a problem. Luckily, DOM is hidden away by some fantastic frameworks, the most powerful of which IMHO is jQuery. jQuery makes client-side javascript extraordinarily elegant. Then there is NodeJS. Server-side javascript. I suggest you try it out.

    It's difficult enough to fight with unclear and conflicting requirements alone. Toss in shitty technology, and it becomes very difficult even for the best seasoned professionals to develop even just mediocre software systems.

    I really fail to see how a seasoned developer can't pick up a OOP language like JavaScript or PHP quickly. These are syntactically simple languages similar to Perl or Java. It should be simple to pick up by a seasoned code warrior and that code warrior could probably create large scale applications with intuitive interfaces in your web browser with ease using PHP and JavaScript.

    Good troll though. I'm sure you've really ruffled up some feathers.

    --
    I'm god, but it's a bit of a drag really...
  73. Re:Web development is hard for even talented peopl by Anonymous Coward · · Score: 0

    And if you are a good software engineer, you can overcome these minor inconveniences...

  74. Re:Web development is hard for even talented peopl by mini+me · · Score: 1

    Javascript is actually a pretty nice language. Browsers, on the other hand, suck. HTML web pages are a terrible place for application development, no question.

    You, of course, never need a framework. You can do everything that Cappuccino does yourself. Frameworks are what make development happen, though. No matter what language you develop in, you are going to use a framework of some sort unless you are crazy like RMS and feel the need to write absolutely everything from the ground up.

  75. Re:Web development is hard for even talented peopl by tepples · · Score: 1

    You can use data: URIs to send the generated audio data to the browser's media player.

    And then you can file bugs in each major web browser's bug tracker asking why your test case of sending a data: URI containing a .wav file to an <audio> element doesn't work.

  76. Re:Web development is hard for even talented peopl by corbettw · · Score: 1

    I believe 8^O~~~ (eyes wide, mouth vomiting) is what you were looking for.

    --
    God invented whiskey so the Irish would not rule the world.
  77. There is Solitaire... what more do you need? by Anonymous Coward · · Score: 0

    There is HTML5 Solitaire so what else do you need?

  78. Re:Web development is hard for even talented peopl by raddan · · Score: 1

    The things you mention aren't so much hacks (HTTP and MySQL are hadly hacks... PHP, well OK) as technologies that aren't a part of a coherent design philosophy. Web development barely has a design philosophy (REST is an interesting idea, but it's hardly an architecture). Compare this with other complex software ecosystems, UNIX in particular, and you can see that it's the philosophy that makes many of the warts go away. In UNIX, your whole toolchain just hangs together naturally, and using it is a pleasure.

    It's absurd that to write a web application, you need to minimally know some kind of database query language, many forms of markup, at least one server-side language, and Javascript (the most horrid language of all time). And due to Javascript's horribleness and lack of platform-consistency, people use Javascript frameworks, which, surprise surprise, themselves have issues which must be tracked. Kinda makes you wish you just had a C compiler again.

    We're at the point now where cross-platform rapid application development for Desktops (e.g., GTK#) is vastly easier than writing the equivalent web app. I love the idea of universal access, but trying to use Javascript to cram data through HTTP just ain't cutting it. I've come to the conclusion that if you want a 'rich' application, don't target the web as your platform.

  79. Not just web developers: ALL developers by AnonymousClown · · Score: 1

    The problem I find with web developers is that they are too busy chasing the "Ohh shiny" of the month.

    I've seen the same thing with "regular" developers. I can't tell you how many times I've seen the same thing that the original poster pointed out in code. I saw one guy who did his front end in Java, text parsing in Perl, some back end stuff in C++, I even think there was some other things mixed in for this one application - all under the excuse of "the best tool for the job". It was a buggy flaky piece of shit. And the kicker was the coder rewrote a 'C' program that was working perfectly and just needed some modifications. 'C' was "old fashioned" and "not suited" for the application according to him.

    --
    RIP America

    July 4, 1776 - September 11, 2001

  80. Builders/Architects by AnonymousClown · · Score: 1
    I know a couple of builders who go through the exact same thing when building homes.

    And I'm sure the ancient artists went through the exact same thing.

    The things change the more they stay the same - I guess.

    --
    RIP America

    July 4, 1776 - September 11, 2001

  81. Wouldn't it be nice... by Greg_D · · Score: 1

    ... to have a scripting language that worked equally well on the browser and on the server and wasn't a complete piece of shit like Javascript? One programming language, one presentation language, one style language.

    I'm not trying to discount current solutions here, I'm just saying that there has to be a better way.

  82. Re:Web development is hard for even talented peopl by mini+me · · Score: 1

    Works fine Chrome and Safari via the <audio> tag. It works fine in Firefox through the <embed> tag.

    I do not have IE installed to test, but I suspect it does fail. However, who cares? If users really want to use your TTS system, they will install another browser. They are going to have to install a native application to achieve the functionality no matter how you look at it.

  83. Re:Web development is hard for even talented peopl by dannys42 · · Score: 1

    On top of the individual problems of those technologies you mentioned (PHP, MySQL, JavaScript, etc.), the fact is writing a "web app" requires you to be proficient in at least all 3 of these things. On top of it most of the time JavaScript and PHP end up being so intertwined you end up with what amounts to self-modifying code.

    And of course HTML is not always HTML... neither is JavaScript (browser variations). I don't see how anyone can really write maintainable code for the web given all this stuff. I'm sure people can write "more" maintainable code than others. But it really doesn't compare to desktop applications.

    And you just have to look around for proof. It's been 15+ years since the web took off.... and we're /still/ trying to figure out how to have windows and dialogs. Yes, maybe we finally have some decent web-based email clients now. But really the ones that existed 15-20 years ago were quite nice as well. It's true... the web has set computing back 30 years.

  84. Comment removed by account_deleted · · Score: 1

    Comment removed based on user account deletion

  85. In other words... by DaveV1.0 · · Score: 1

    We keep making the web browser do things it never was and should never have been intended to do. Instead of writing an actual interactive, client-server application, we kludge together something for a browser which then becomes vulnerable to bugs in the browser, the various technologies used to make the page interactive, the back-end services, etc.

    We have a hammer, the current WWW stack, and we see all problems as nails, even when said problems are screws and would be better handled with a screwdriver.

    --
    There is no "-1 offended" or "-1 you don't agree with me" mod options for a reason.
  86. HTML Web App Development Still Has a Ways To Go??? by Anonymous Coward · · Score: 0

    I hope that those in Development have a greater understanding of the Languages they use to program than does the author of this piece ... "Ways to Go"??? The proper syntax would be ... Way to Go. Definitely a compiler error waiting to happen!

  87. Comment removed by account_deleted · · Score: 1

    Comment removed based on user account deletion

  88. Re:Web development is hard for even talented peopl by Anonymous Coward · · Score: 1, Insightful

    MySQL sucks? Don't use it.

    PHP sucks? Don't use it.

    Hackiness in the backend is not a difficult problem to solve. Most Web developers use PHP and MySQL? Well, that's because they're bad programmers, and these tools are targeted at bad programmers. Use something better.

    You don't even /need/ to use JavaScript. Things won't fly around the screen and people might have to wait a microsecond for their FIOS to download an entire new page, but Web 2.0 cruft is hardly a requirement. You're free to use no JS at all, dab it in where it's useful, or be a jerk and make your whole app JS-based if you want.

  89. HTML5 will solve all these problems . . . by NicknamesAreStupid · · Score: 1

    . . . as soon as everyone agrees on the HTML5 standard.

    No one will live long enough to call me on that one.

  90. Re:Web development is hard for even talented peopl by lee1 · · Score: 1

    I recently tried out basically all the calendering programs available as native applications on OS X and linux that had a chance of being able to sync with the iphone calender (which can use a standard webdav protocol for syncing). I wound up settling on Google's calender, which is a web application (even though it has had its own issues). (I used remind, and its curses front-end wyrd, for years, but no caldav sync there.)

  91. Hmmm.. by coryking · · Score: 1

    Just thinking here...

    HTTP is actually not bad for simple forms of AJAX. AJAX is just a fancy method of one-way message passing (and basically a form of RPC).

    Where HTTP breaks down is when you want to send events from the server to the client. Say you are facebook and want to update everybody when a friend logs in. To do this, the client either needs to listen on a port for messages from the server, keep a session open with the server at all times, or poll the server every so often for any new events. HTTP wasn't designed for keeping a session open*, polling the server isn't "instant", and the idea that the client should listen on a port is just a security nightmare.

    I'd vote for holding a session open with the server. But there are problems--every major site is sitting on a cluster of servers. Every HTTP request is routed to a different server. You dont want to hold a session open on a single server as you'd overload it. Even if you tossed out HTTP and did some other protocol, you'd still have to deal with the load-balancing issue.

    Maybe polling the server isn't so bad? Yeah it might generate more needless load on the backend, but it is also much simpler to implement than holding a session open the whole time.

    I dunno.. I'm not a CS major. Probably somebody with a PhD in CS could invent a more elegant way of doing large-scale two-way message passing.

    * Yeah, keep-alive, but keep-alive isn't meant for the same thing as what I'm talking about...

  92. design, implement, MAINTAIN by khasim · · Score: 1

    Everyone LOVES doing the design and implementation phases. Except most people don't even get that right and sort of "design" it as it is being "implemented" (hack it until it APPEARS to work).

    When the correct approach is to start from the maintenance point-of-view and work backwards.

    Design and implementation are easy and fun and best of all they can be done during the regular work day/week.

    With maintenance, you often have to schedule an outage, which means off-hours. And people have a strong opinion as to how it USED TO WORK BEFORE YOU TOUCHED IT. Being a day behind on design or implementation is one thing. Being down a day because of maintenance is another thing entirely.

    If you design it to be easily maintained, and you correctly implement that design ... it will be easy to maintain.

  93. Re:Web development is hard for even talented peopl by lee1 · · Score: 1

    Sorry, my previous attempt at submitting this comment had a paragraph chopped off

    I recently tried out basically all the calendering programs available as native applications on OS X and linux that had a chance of being able to sync with the iphone calender (which can use a standard webdav protocol for syncing). I wound up settling on Google's calender, which is a web application (even though it has had its own issues). (I used remind, and its curses front-end wyrd, for years, but no caldav sync there.)

    I found it amusing that this web app was prettier, more responsive, more intuitive, and more capable than any of the native applications that I had tried to use (well, maybe Apple's iCal is about as pretty). All the native applications were either too slow, too buggy, missing some essential feature, or some combination of these. Amusing, because people have had decades to try to come up with a decent calendar app, and here is Google stringing one together to run in a browser, and it's better, even in ways (responsiveness) that you wouldn't expect.

  94. Re:Web development is hard for even talented peopl by Alex+Zepeda · · Score: 0, Flamebait

    No, it's really not. The development tools are ass and the language itself fails with its non-intuitive comparison operators. Being prototype based leads to really nasty code and "creative" ways of scoping variables. But that's if you want to be pedantic. If you are willing to lump the standard library in with the language, then you've got even bigger problems. What's actually cross-platform is a pretty small subset of anything useful, leaving people to roll their own hacks.

    --
    The revolution will be mocked
  95. Re:Web development is hard for even talented peopl by Anonymous Coward · · Score: 0

    Look to Native Client and its sound API.

  96. Which tightly controlled ecosystem is better? by MetalAngel · · Score: 1

    1. The Win32 API ?
    2. .NET Forms API ?
    3. or actually the .NET WPF API ?
    4. No, wait, the .NET Silverlight API !
    5. Nobody has Silverlight yet, MFC is way better !
    6. Desktop APIs suck, let's use Flash 9. It rocks every where... that's the way to go.
    7. Flash 10 is newer . Let's use that.
    8. Nah, Flash crashes too often on Mac. Let's use Carbon.
    10. Oh wait Carbon is old school. Let's use Cocoa !
    11. mmh iPhone version ? or the Mac OS X version.
    12. Even better let's use java awt.
    13. oh wait. that was the initial api. Swing ! Yeah , that's modern.
    ->
    tightly controlled is still crap.
    ->
    open is also crap. but at least it is open.

  97. Re:Web development is hard for even talented peopl by jizziknight · · Score: 1, Funny

    Eyes wide, mouth vomiting is not what that looks like.

    --
    Everything I say is a lie. Except that... and that... and that, and that, and that, and that... and that.
  98. Re:Web development is hard for even talented peopl by raddan · · Score: 1

    I'm not saying that it's impossible. It's just really hard. Google has the money and people to make that stuff happen. You can use Google's toolkits, and that makes development easier in some places, but it still does not address the fact that things are done wrongly in the first place.

    I grew up in Massachusetts, and I've lived in Boston for the latter half of my life, so I've grown accustomed to our bizarre system of roads. I always thought that they had a certain charming quaintness to them. But then I travelled to new cities, like Miami, where they've had the opportunity to actually plan a city, or Manhattan, where they have enough money to level things and start over again. The difference is night and day. Modern cities have this property where you can go where you need to without needing to plan a route. Just go. Everything's on a coordinate system. In Boston, you are forced to ask some irritable local, who barely knows anything outside his neighborhood anyway. That's the difference that proper architecture makes. The web platform is like Boston, which makes sense given that the W3C is headquartered here.

  99. Re:Web development is hard for even talented peopl by wmbetts · · Score: 1

    Come on everyone knows you use the right tool for the job. You shouldn't even be considering JavaScript when the correct answer is obvious, Flash.

    --
    "Ubuntu" -- an African word, meaning "Slackware is too hard for me". - stolen from Dan C alt.os.linux.slackware
  100. Re:Web development is hard for even talented peopl by Anonymous Coward · · Score: 0

    > And if you are a good software engineer, you can overcome these minor inconveniences...

    Minor??

    It's bad enough, that writing a Web application can take at least 5 times as long as writing the equivalent app for a well-designed and mature platform. Not leastwise because once you finish implementation, you have to track down all the side-effect bugs in the Web frameworks etc. that make your application fail (or just look ass-tastic) on certain browsers and OSes.

  101. Re:Web development is hard for even talented peopl by shmlco · · Score: 1

    You're missing the difference between a language and libraries. A language is keywords, syntax and grammar, operations and expressions. Libraries (and frameworks) are bundled pieces of prewritten functions that actually let you do something. Libraries are the "features" let the language interact with its environment and/or accomplish real work.

    Javascript is actually not a bad little language, but it has a limited feature set (bundled libraries) and the environment js typically lives in (a web browser) is a complex tree of rendered elements. Worse, different environments behave in slightly different ways, meaning that a piece of code that worked in Safari might not work in IE. (Okay, WILL not work. Happy?)

    Frameworks iron out those differences in such a way that you can usually ignore them, and get on with actually accomplishing something. Yes, you could do without them, but now you're the one that has to get your code working everywhere, and, basically, reinventing the wheel. Add that to the fact that most employers would rather have you generating visible results...

    --
    Any sect, cult, or religion will legislate its creed into law if it acquires the political power to do so.
  102. The Fundamental Issue has always been... by Anonymous Coward · · Score: 0

    ...the desire to provide users with a stateful experience in a inherently stateless environment.

    A tightly controlled ecosystem will only mask the issue, allowing people to blame MS and rally for Open Source when neither matter.

  103. Re:Web development is hard for even talented peopl by Alex+Zepeda · · Score: 1

    Hold on, you're telling me that a prototype-based language with strong emphasis on events and closures is bad for UI?

    No. It's not that it's directly bad for the UI, it's bad for maintainable code. Closures are a great idea (and work very well with Ruby), but with Javascript nearly everything turns into a closure.

    --
    The revolution will be mocked
  104. Re:Web development is hard for even talented peopl by tepples · · Score: 1

    You shouldn't even be considering JavaScript when the correct answer is obvious, Flash.

    The article is about "HTML Web App Development". Flash doesn't run on a lot of non-PC devices that have HTML5 browsers, and as I wrote in another comment, it'd be a pain to have to make native apps and get them certified just for one missing API.

  105. Re:Web development is hard for even talented peopl by lee1 · · Score: 1

    I'm not saying that it's impossible. It's just really hard. Google has the money and people to make that stuff happen.

    No argument there; I just found their calender to be an instructive example. I have no idea how painful its creation was for their programmers.

    Manhattan, where they have enough money to level things and start over again.

    I don't think so. Manhattan evolved haphazardly from the south; when they hit what's now Houston street they started to lay the roads out on a grid, more or less. Try to navigate my old neighborhood in southern Manhattan, or the warped spacetime of W. 4th St, and it will be much more confusing (and interesting).

  106. Re:"tightly controlled ecosystem"? Bullshit... by Hognoxious · · Score: 1

    If it was 'never intended for interactivity', why are POST and DELETE part of the spec?

    It was never meant for fancy interfaces and detailed interaction (i.e what ajax does), just crude page-by-page apps (somewhat like CICS), and even that was possibly an afterthought.

    If you want to get picky, 'computer' were 'never designed' for media playback, using your criteria.

    Playing media is an application. Computers are designed to run applications.

    --
    Confucius say, "Find worm in apple - bad. Find half a worm - worse."
  107. JavaScript Audio by weston · · Score: 2, Informative

    How about procedural audio? Say I want to write a speech synthesizer in JavaScript. How do I send the samples to the speaker?

    Well, it depends on if you mean "in the browser" or "in JavaScript." If you mean that latter, I'd probably fire up Mozilla Rhino and put together something using the libraries that ship with Java. Some of those are still available in the context of the browser via applets in a lot of cases, too, so with some work, you could probably do it in browser as well.

    If you mean in-browser, no Java libraries, I'd probably have the samples in an array of bytes which I'd base64 encode and stuff into the src attribute of an audio, embed, or object tag as a dataURL. This likely wouldn't work in realtime, but then again, you didn't ask for a realtime speech synthesizer. :)

    (FWIW: I know Flash 10 has an audio buffer explicitly for writing to programatically in realtime, and I agree it's awesome I agree a lot of the people going on and on about how great Ajax was and HTML5 is and how it all renders Flash totally unnecessary are generally not thinking about features like this. Just pointing out that there is in fact more than one way to do it and some of the other approaches have their merits.)

  108. Re:Web development is hard for even talented peopl by matrim99 · · Score: 1

    There is an emoticon for how you are feeling, but we all know how ALAX (Asynchronous Logo and XML) lacks many of the most basic features necessary to do that sort of emoticon effectively.

    --
    Right. No, your other right. No, the other other right.
  109. Re:Web development is hard for even talented peopl by lwsimon · · Score: 1

    You are so far off the mark on Javascript it's not even funny. JS is a very good, if unconventional language. The problem is the shoddy implementation by multiple browser vendors. C would be a pain to work with too, if your interpreter was IE6.

    --
    Learn about Photography Basics.
  110. Re:Web development is hard for even talented peopl by Anonymous Coward · · Score: 0

    PHP is flexible the way C is flexible, and its syntax is actually extremely fragile.

    PHP has only one advantage over Python, Perl, or Ruby, and that's that it tends to come bundled with mod_php -- which is just an installation issue. It's the slower, bulkier, least organized, least strict, least explicit, and least powerful of the four.

  111. Javascript has try/catch/throw by rsborg · · Score: 2, Insightful

    You know, things like proper namespaces, exceptions, static typing, a sensible object model

    See it in action here. If you're talking about that mess of cluster that is subclassing from Exception, yes it doesn't have that (perhaps Dojo or other js frameworks do?) However, unlike Java and the like, this language at least has closures.

    --
    Make sure everyone's vote counts: Verified Voting
  112. Re:Web development is hard for even talented peopl by pjfontillas · · Score: 1

    Even for excellent software developers, web development is difficult. It's not the concepts that are difficult, per se, but rather the jumble of half-backed hacks that make up ever layer of the web stack. The foundation is so weak that anything built upon it just can't stand well, even if it itself is well-designed (given the constraints of web development).

    Just look at the common open source technologies used by many web sites. MySQL is one buggy hack upon another. PHP is much the same, plus some security holes.

    HTTP has been over-extended well beyond its original use (cookies are a hack to get around its statelessness, it's caching mechanisms are fucked to high heaven, SSL and TLS are hacks).

    JavaScript is perhaps the most horrid hack of them all. Something meant for adding minor interactivity to a page has been misconstrued as being suitable for large-scale application development, although it lacks many of the most basic features necessary to do that sort of development effectively.

    It's difficult enough to fight with unclear and conflicting requirements alone. Toss in shitty technology, and it becomes very difficult even for the best seasoned professionals to develop even just mediocre software systems.

    One of the major problems with calling out problems with JavaScript, PHP, MySQL, and others is the fact that used by themselves, with no interaction with other languages or any bridges of any kind to pass data between them, they truly are horrible to use. But once you've gathered the right tools together and know how to use them - which is completely different from "knowing how to code" - you really can begin to build decent web apps.

    Right now it is difficult figuring out which tools work best together, and that is most often the problem people run into. However, even if you were to get the right tools most of the time the design or talent/effort of the software engineer becomes the choke-point.

    I think we've come a long way in web development. We still have a ways to go, but that negative attitude of yours towards the honest efforts of many aspiring developers that make the tools possible in the first place is a sad sight to behold.

    You truly are an anonymous coward.

    --
    Life. Is. Good.
  113. Re:Web development is hard for even talented peopl by drachenstern · · Score: 1, Funny

    I'm not gonna feed the trolls for crying out loud!

    --
    2^3 * 31 * 647
  114. Re:Web development is hard for even talented peopl by Anonymous Coward · · Score: 0

    How do I send the samples to the speaker?

    I'm sure you think you're very clever, but that would be a limitation of the environment Javascript is running in, rather than the language itself, wouldn't you say? No, you probably wouldn't, but you'd be wrong.

  115. Re:Web development is hard for even talented peopl by Anonymous Coward · · Score: 0

    C'mon, Slashdot, why do idiots like this keep getting modded up? Is that really all it takes, spewing a bunch of misinformed and unsupported "facts" which have no basis in reality? I suppose, though, if you're one of those developers who has no actual idea what they're doing, blaming the tools may well make you feel better.

    I think we might need a new moderation value: "+5, proving the mods are as clueless as the poster."

  116. Re:Web development is hard for even talented peopl by MrSteveSD · · Score: 1

    Which features are missing, exactly?

    I don't know about Cappuccino, but writing large apps in a dynamically typed language like Javascript doesn't seem to be a good idea. With application development, a large amount of time is spent debugging code so you really want to catch as many bugs as possible as early as possible.

    If I am writing some kind of order system I might declare a variable called PackageWeight. I want that variable to always be a float. If it ever becomes a string or something else, then I have made a mistake in my code. In JavaScript I can't enforce the type of PackageWeight and this leaves my code open to more errors than I would like. Those errors will show up at runtime (and even worse, they may not show up all the time). In the particular case of Javascript the situation is even worse because you are not even required to explicitly declare variables at all. So if I mistype PackageWeight as PackageWieght, PackageWieght becomes a completely new variable, introducing bugs that could have you scratching your head for hours. The ability to mistype variable names without getting a compile time error is not a very useful feature.

    Obviously having the ability to extend applications via scripting is a very useful thing, but the shortcomings of JavaScript have lead to various companies having to extend it to include static typing (e.g. Actionscript, Unity3D's flavour of JavaScript etc). These are all separate efforts though. It would be nice to have some standardized JavaScript that has been extended to include explicit type declarations. People who find it an effort to declare types could go on just using "object" types but everyone else could make use of static typing to reduce type-related bugs and frankly improve the readability of the code (e.g. It would be nice to see at a glance exactly what value types you are required to pass to a function). Static typing would also allow for more useful code completion etc, since more information about the code can be extracted by a compiler.

  117. Re:Web development is hard for even talented peopl by joost · · Score: 1

    Hi AC,

    ... the jumble of half-backed hacks that make up ever layer of the web stack.

    I keep hearing this from time to time. It's actually exacly the opposite. The web stack is extremely well-designed and implemented rather cleanly, when you compare it to other programming environments. Do you honestly think Windows development is any better? Linux? Have you seen what happens when a Linux kernel boots? Are embedded systems not half-baked? Please, provide an example of a system that's actually useful, in active development throughout the globe, that hasn't got hacks here and there.

    The foundation is so weak that anything built upon it just can't stand well, even if it itself is well-designed (given the constraints of web development).

    Well hundreds of millions of web sites beg to differ. There is technology for reaching the masses with text and graphics. There is technology for making it all scale. There's tech to get video out there, content delivery networks, caching. All in vanilla HTTP. There's technology to reach visually impaired people. All standards-based, it all works rather well. Heaps of frameworks are built on top, many of which are extremely stable and useful. Try jQuery for size. It allows you to do everything on any browser (yes, even IE6) with one common language.

    You can't beat that, period.

    MySQL is one buggy hack upon another. PHP is much the same, plus some security holes.

    Those are just two examples. MyISAM could be classified as such. Then again, you can use InnoDB. Or god forbid Postgres. Or NoSQL. PHP? You can use Symfony, cake, Zend. heck you name it! All with CSRF and XSS protection, all with advanced database drivers supporting bind variables; you name it. Or, gasp, you could try Python, Ruby, Java, .net. "the entire web" does not equal shitty PHP scripts + an aging mysql you know.

    HTTP has been over-extended well beyond its original use (cookies are a hack to get around its statelessness, it's caching mechanisms are fucked to high heaven, SSL and TLS are hacks).

    Cookies are a useful extension to a stateless protocol. Are you seriously suggesting you would prefer a stateful protocol instead? Please tell me you're making a cruel joke. You would need hundreds times the current server hardware to cope with that amount of traffic. In fact I don't think you could run the web in it's current scale on a stateful protocol. Which means you will never be able to do that.

    Caching is fucked up? Citation please. Caching works just fine. SSL and TLS are hacks? In what way? How would you improve them? I have the distinct feeling you are completely clueless with regards to massive-scale protocol design. Say you don't like cookies because the name reminds you of how your mommy wouldn't allow you more than one a day. How would you implement a stateful protocol instead? My bet is you would probably need some kind of token, we could call this a ... a ... yes a legume, between client and server to maintain some kind of, hmmm, let's say a little piece of memory on the server. Yes that would be a great way handle state!

    JavaScript is perhaps the most horrid hack of them all. Something meant for adding minor interactivity to a page has been misconstrued as being suitable for large-scale application development, although it lacks many of the most basic features necessary to do that sort of development effectively.

    Again with the unfounded claims. You do realise that something meant for adding minor interactivity is able to grow, in order to support more and more interactivity? This is not a bad thing. Software APIs grow all the time, and something like javascript has actually matured really, really well. Sure enough it can do much much more than originally envisioned. But then again an open, standard

  118. Re:Web development is hard for even talented peopl by K.+S.+Kyosuke · · Score: 1

    Countless, with this level of maturity? Seaside is just an example - albeit an example that has been proven as useful in practice (like, in real deployed applications with complex logic).

    --
    Ezekiel 23:20
  119. Re:Web development is hard for even talented peopl by MemoryDragon · · Score: 1

    Add to that that you have to support browsers which do not even follow any standards remotely and which are 10 years old to make this more miserable, but I agree as a seasoned web developer, the foundation at its core is broken for application models.
    Interactive UIs in javascript plastered on top of an xml like dom model sheesh, where is the isolation of components, where is a fully working model of events (not the hacks which are currently in) where is the statefulness needed for those things, where is the real messaging which is needed to control this stuff.
    This is a foundation which has been layed out at the Xerox parc and has proven for 30 years that it works, instead we have the dom, javascript and the web.

    Add to that javascript, a lisp like wannabee, unsuitable for bigger systems, no common namespacing, everyone has to hack his own inheritance on top of a glorified function table the prototype, no typechecking whatsoever parameters are merely a little bit more than comments etc... While this all looks nice on paper, everything bigger than a hello world becomes a nightmare. Add to that that you have to add 20 lines of browser hacks and fallbacks for 5 lines of correct code to get the things up and running as expected (which means additionally on every IE there is) and you have something where X as protocol shines compared to it.

  120. Flash more dangerous to HTML than Silverlight by Vesuvias · · Score: 1

    It's funny we consistently have debates about how Apple through non support is killing flash off. And you make a good point about how Silverlight has the potential to take over the web from W3C. I would argue that Flash/Flex is already way ahead of Silverlight and has the install base.

    Developers here may hate flash/flex but it pushes the envelope in terms of features. And as the article pointed out having a third party push us to a Rich Internet over the monolithically slow W3C process isn't so bad.

    As a developer I have no sacred cows and am pretty agnostic in terms of what I develop in. I will pick up whatever platform the web is now running on. What I do care about is install base and features. I want web apps to be as powerful as desktop apps. Give me the best platform for building a Rich Internet. I'd love to see an open spec HTML 5 and JS win this race if JS was easier to debug in and HTML 5 had the feature set. But for that to happen, you're right, W3C needs to step it up.

  121. Re:Web development is hard for even talented peopl by mini+me · · Score: 1

    writing large apps in a dynamically typed language like Javascript doesn't seem to be a good idea.

    Well, the direct alternative to Cappuccino is Cocoa. Cocoa is implemented in Objective-C, a dynamically typed language. All of the large Mac and iPhone apps using Cocoa seem to manage just fine.

    Qt is another popular choice for this type of development. Granted, C++ is not a dynamically typed language, but Qt implements a preprocessor to bring some dynamic-like features to the language.

    Which brings us back to Javascript. Dynamic typing and user interfaces seem to go hand in hand. Even if you are not developing your application for the browser, there is a pretty good chance that you would be using a dynamically typed language anyway. That is not to say that static-typed interfaces are impossible. Just more complicated to implement.

    Static typing may be useful for heavy lifting code that responds to events from the interface, but even with browser development you are not limited to just Javascript for those kinds of tasks.

  122. Different Model, Has Worked Well by Hojimbo · · Score: 1

    Development is often a creative endeavor, and like most creatives there are myriad opinions on what the most important aspects of the craft are. This article seems to come from the angle that "structured development solutions are paramount." I have worked with a lot of developers who fell into this camp, and generally I agree that any network of developers (whether a programming pair, project team, or whole web development community) should strive to create a development vocabulary that puts people on a common ground. However, this single-mindedness ignores the fact that even this goal benefits from the waves and eddies caused by new models, new patterns, and experimental solutions that are the nature of what we do. We gain a lot from not treating a need for that structure as a limiting factor in how we evolve these technologies.

    Web technologies are capable abstractions built on top of other more stable primitives. All programming languages and environments are just an ordering of primitives through various layers of abstraction. 1s and 0s are given meaning through a processor, assembly gives you a language to interact with that meaning, C creates a higher-level (but still generally considered low-level) abstraction to that, other languages are built on C (or interpreters are built on C) to simplify it further. As you go higher up the tower of abstraction, the more work you're trying to keep the developer from having to do themselves.

    Many of the most contentious web technologies (PHP, HTML, Browsers, Javascript, CSS) exist on a pretty high tier of abstraction, and these and frameworks/environments built around these technologies have evolved with the goal of meeting the demands of an audience. It's mostly irrelevant at this point to say that a technology like Javascript is bad because "it was designed to make small interactive elements on a web page" -- because like all web technologies, it is evolving. PHP was created to do some very lightweight CGI tasks for its creator's resume website -- but 5 official versions later, it is used to drive many of the largest, richest applications on the Web - and it continues to evolve. All these things are getting more and more ordered -- hell, even Internet Explorer is responding to standards on its newer browsers with a relatively impressive pace. At the same time, the industry is recognizing that as painful a road as it has been, it was all made possible by the fact that there were a silly number of choices for how to do something, and you had competing clients and implementations. Even now, while the HTML5 standard is looking like it help unify rich interactivity in a Web environment in a relatively widely adopted way, it was also written with the understanding that different browser vendors will choose to vary their implementations and introduce experimental features that they would like to see in future standards.

    What you end up with is a competitive model based not only on end-user products, but on the quality of tools to create those products -- the main difference from similar models in other industries being that the tools we use are often ostensibly free. It's not the only way it could work, but I'd point out, and this is my main point: it has worked well

    Well structured, elegantly written code or not - web technologies have served to grow a humongous industry, built on interfaces and platforms that we all appreciate and most of us can't imagine living without. It has worked very well. It'd be pretty hard to argue that you could have anticipated the design the web should have followed and been successful. The ease of adoption of these scrappy technologies has been essential to the Web's growth. As frustrating as it can be to see things done in a stupid way, sometimes the people for whom something is being designed don't care about how it was done, just that it was done. I, for example, know some of how Yahoo does (or used to do) their templating and localization, and I think it's one of the pug-fugliest solutions I'v

  123. Re:Meh - full of it... by swframe · · Score: 1

    I agree that for some people web development is not very hard. Just like for some people programming in assembly language isn't hard. It sounds like you're just saying that we should pay more for consultants like you and stop complaining. You'll take care of everything and send us a nice bill. But web development could be a lot better for everyone including you. For one thing, Javascript should be made type safe as it is with actionscript. There are lots of issues we've already solved with other languages and UI SDKs that have not been applied to Web App Development. Web App Development is stuck in the past. It was defined by people at Netscape who were innovating very quickly and didn't take the time to get it right. Now we have to live with their choices more than 10 years later; no tree control, no pop up menus, no grid control, no tab control, no split panel, no layout managers, WTF! Thank god there is dojo and other toolkits but they are a hack and those features would be much better if they were built into the browser. It is so frustrating to have people like you telling everyone not to worry about the difficulty of Web App Development because you think it is fine. The real issue is that many more developers suffer while you profit from their pain. Of course you want it to stay as hard as it currently is. You're like the big oil company telling us not to worry about lead in the gasoline because we shouldn't pay more at the pump. It doesn't bother you to rewrite someone else's poorly written website but it is a waste of everyone's time and money none the less. Following your line of reasoning, nothing would ever be made better because someone thinks it is ok the way it is.

  124. Re:Web development is hard for even talented peopl by thetoadwarrior · · Score: 1

    I think this has been improved, especially with JavaFX but applets have had such a bad start and Flash made decent inroads so it'll be hard to get people to convert despite the fact Java would be superior to Flash.

  125. Re:Web development is hard for even talented peopl by thetoadwarrior · · Score: 1

    I don't think it is so much about over coming them but that you shouldn't have to spend nearly as long testing (if not longer) in loads of browsers as you do developing it. It's not fun but it is necessary.

    One thing that helps is writing a CSS style sheet that wipes the browser default styles and then allows you to start from a common base. But people shouldn't have to do that and add one more file to request. Imo, browsers shouldn't apply any styling. It should be up the dev to do his job right.

  126. Javascript has these things by weston · · Score: 1

    I think he's talking about JavaScript missing critical language features. You know, things like proper namespaces, exceptions, static typing, a sensible object model (or even something like the approaches to prototype-based OO that Self and Io take), and so on.

    If you actually know how to program in JavaScript, rather than assuming you should be able to write Java or C++ or whatever your favorite language is, then the language actually has suitable idioms/mechanisms for all these things that you mention, except static typing, which might be a legitimate preference strike if you're the kind of person who actually does full-on static analysis/correctness proofs, rather than the typical static typing whiner who grips to compilation and type hierarchies as a kind of magic feather.

  127. Re:Web development is hard for even talented peopl by losinggeneration · · Score: 1

    While not entirely proper, namespaces can pretty much be emulated trivially with objects. So I don't really see the issue here, unless you're one of those people who think that the programming language has to include everything for you to be able to use it.

    ECHMAscript has had exceptions since 1999 with the release of version 3. Javascript quite possibly had them even before that. What's the issue here?

    If static typing is one of your requirements, then you're correct, Javascript doesn't fit your needs.

    What's wrong with how Javascript does prototyped-based OO?

    Javascript is actually a pretty interesting language once you learn how to use it correctly. There are just a lot of ways to use it incorrectly (which is how it's used 70-90% of the time.) Anyways, feel free to actually look these features that Javascript has had for at least the last 10 years yourself if you don't believe me (or want to further try to justify your statements.)

  128. Re:Web development is hard for even talented peopl by wmbetts · · Score: 1

    *Whoosh*

    --
    "Ubuntu" -- an African word, meaning "Slackware is too hard for me". - stolen from Dan C alt.os.linux.slackware
  129. The environment by tepples · · Score: 1

    but that would be a limitation of the environment Javascript is running in, rather than the language itself, wouldn't you say?

    Sure, "JavaScript is Lisp with C syntax". But in practice, "the environment Javascript is running in" is the HTML DOM. So how do I deploy a better environment to all my users?

    1. Re:The environment by zuperduperman · · Score: 1

      > So how do I deploy a better environment to all my users?

      Tell them to install Java (or bundle it with your application). In fact most of them already probably have it installed. The standard Java runtime ships with Rhino (pure Java Javascript implementation) built in, so you can run pure javascript applications that have access to the full range of libraries that Java has access to, including access to raw audio devices.

    2. Re:The environment by tepples · · Score: 1

      Tell them to install Java (or bundle it with your application).

      Not all platforms have a Java virtual machine. (Android doesn't count.) I can't easily bundle hardware with my application.

  130. Re:Web development is hard for even talented peopl by Anonymous Coward · · Score: 0

    MySQL ... PHP ... JavaScript

    Good work hero! Now that you've defeated the stage 1-3 bosses, you're up against the final boss: HTML itself. I hope you've bought a lot of potions!

    Having evolved over the years to imagine everything as "content" and "presentation" there just isn't any space left in the beast for "application". Hidden inputs (state) are neither presentation nor content, yet you must place hidden inputs within a block within a form or your page is invalid.

    Browsers aren't helping... before IE's button tag worked properly (<button value="5">Buy Me!</button> used to return "Buy Me!" instead of "5" until IE8) it was next to impossible to produce a standards compliant shopping cart page showing a table of products without embedding a copy of the entire form into every cell that had a widget. Is it any wonder that developers turned to using GET links to perform destructive commands, and javascript heavy "postback" bullshit to get things done? (Yes, I am aware that you could have one form elsewhere in the code, and buttons in each row with javascript to update a hidden input in that form and submit it and leave people without javascript to wonder why things weren't working. Or you could have a jumbled listing of products that looked like complete shit because you were thumping your chest over not using tables to display tabular data. At least inline-block and min-width has made it so that you can build a div/CSS table that looks right when the browser is big enough even if it turns to shit when something wraps.)

    The sad thing is that despite all this, it's still easier to make a nice looking flowable form in HTML than in the majority of GUI APIs out there. I can't count the number of times I've had to hit ESC to get out of a dialog in my netbook because the dialog won't fit on the screen and can't be resized.

  131. Marc Andreessen II by Tablizer · · Score: 1

    The problem with web app development is that the environment was never intended for interactivity, it was designed for displaying information. Everything added since then to create 'apps' has been bolted on...

    Exactly. What we need is a rich-GUI markup language standard that handles typical and common desktop-like and CRUD idioms and behavior naturally. That way we are not reinventing the wheel or cobbling together different parts and tools from all over the web.

    The next "Mosaic" of GUI browsers is out there waiting to be invented. The next Marc Andreessen waiting out there for an opportunity, here is the place to make your stand.

  132. Re:Web development is hard for even talented peopl by skarphace · · Score: 1

    Good post. Eloquently spells out all the gripes I had with the parent's post. It's just too bad you're a Ruby developer. heh

    --
    Bullish Machine Tzar
  133. Re:Web development is hard for even talented peopl by WillKemp · · Score: 1

    Actually, having done some web development, I'd like to see some actual refutation of the parent post instead of just some implied snarkiness that the poster must be an idiot because you disagree with him.

    It's pretty difficult to refute something that's just a bunch of opinions without any supporting examples or evidence. All you can really do is reply "that's not true" to each one. I've done quite a bit of web development over the years and, mostly, i think they're not really true. However, i believe it's the poster's genuine opinions, rather than a troll.

  134. Re:Web development is hard for even talented peopl by WillKemp · · Score: 1

    Even for excellent software developers, web development is difficult. It's not the concepts that are difficult, per se, but rather the jumble of half-backed hacks that make up ever layer of the web stack.

    You have a choice - either do a good job with the tools available (which is possible and there are lots of examples around the web), or do a poor job while you whinge and moan about what's stopping you from doing a good job.

    As they old saying goes, bad craftsmen have a tendency to blame their tools.

  135. Re:Web development is hard for even talented peopl by WillKemp · · Score: 1

    [......] the language itself fails with its non-intuitive comparison operators.

    intuitiveness is in the eye of the beholder.

  136. Re:Web development is hard for even talented peopl by WillKemp · · Score: 1

    Worse, different environments behave in slightly different ways, meaning that a piece of code that worked in Safari might not work in IE. (Okay, WILL not work. Happy?)

    I think you're looking at it the wrong way. It's not remarkable that some (actually very few) things don't work across different environments - what is remarkable is that so much of it does work across browsers. And, as in everything in life, there's always a way to do what you want to do - so long as you're smart enough to find it.

  137. Re:Web development is hard for even talented peopl by WillKemp · · Score: 1

    One thing that helps is writing a CSS style sheet that wipes the browser default styles and then allows you to start from a common base. But people shouldn't have to do that and add one more file to request. Imo, browsers shouldn't apply any styling.

    Yeah, but they do, so there's no point getting frustrated with it, cos it ain't going to change. The fix is as simple as adding a few lines to the top of your stylesheet - there's no need for having another file to request.

  138. Re:Web development is hard for even talented peopl by WillKemp · · Score: 1

    [.....] It's just really hard.

    I don't agree that it's really hard. If i were to judge from the vast sea of complaints about it, rather than my own experience, i would think it was hard.

    But i suspect that most people who find web development hard are approaching it in the wrong way. If they stopped being so preoccupied with how hard it is and focussed on finding ways to make it work as smoothly as possible, they might find it's not so hard at all.

    When it is hard is when you have to fix up someone else's sloppy work.

  139. Re:Web development is hard for even talented peopl by WillKemp · · Score: 1

    And of course HTML is not always HTML... neither is JavaScript (browser variations).

    That's not true. There are a tiny handful of things that require some sort of workaround for IE6. But, apart from that, if you structure your html properly it will work in all browsers. Javascript is remarkably standard across browsers (again with a tiny handful of exceptions).

    It's the DOM implementation that varies from browser to browser - but even that's not a massive obstacle in most cases, so long as you know what you're doing.

    It's true... the web has set computing back 30 years.

    Ha ha! You clearly weren't programming 30 years ago! I was - in assembly language - and i can assure you that even the crappiest web app is way way ahead of what was happening 30 years ago!

  140. Re:Web development is hard for even talented peopl by zuperduperman · · Score: 1

    > How about procedural audio? Say I want to write a speech synthesizer in JavaScript

    That's not a property of the language. It's property of the platform the language has access to (the browser). Javascript is no more constrained than any other language that lives in the browser sandbox in that regard.

    In fact, you can synthesise speech in Javascript on some platforms/browsers quite simply because those platforms do provide TTS apis to the browser.

    Javascript does have language issues - mainly around namespacing and modularity and a paucity of robust types. But with a good library in hand it's actually much more pleasant than some of the other parts of the web stack.

  141. Re:Web development is hard for even talented peopl by raddan · · Score: 1

    Difficulty does not mean that there is a problem, but it does indicate that there is one. What does indicate a problem is when doing event-driven GUI programming (you know, the style of programming that was invented, oh, 30 years ago) requires hacks (i.e., AJAX) to function. Did I mention that web programming is singly-threaded? Ah, I forgot, if cooperative multitasking was good enough for Windows 95 and System 7, it sure is good enough for the web! No worries, though, we'll have awesome 1980's features like generics in Javascript Real Soon Now.

    The web as a platform sucks. I've done web programming for more than a decade. Our current mess is a perfect example of design-by-committee. Most Internet technologies succeed because the barriers to using them are low, NOT because they are technically superior.

  142. Re:Web development is hard for even talented peopl by dannys42 · · Score: 1

    Alright, that was an exaggeration. But seriously... useable windowed applications, RPC, etc. yeah maybe they had some issues here and there but they were around in the early '90s and that was 15-20 years ago, and there were some quite useable apps.

  143. Check google ads by SmallFurryCreature · · Score: 1

    10 bucks an hour for freelance work. That is minimum wage.

    --

    MMO Quests are like orgasms:

    You may solo them, I prefer them in a group.

    1. Re:Check google ads by cyber-vandal · · Score: 1

      Freelance in what? Any links?

  144. Re:Meh - full of it... by SmallFurryCreature · · Score: 1

    It sounds like you're just saying that we should pay more for consultants like you

    And what is wrong with that?

    But the point is, if you want open continued development, you are always going to have different platforms. Unless you want to freeze all browsers to HTML4 and somehow enforce them doing everything exactly the same, then what you want is impossible.

    How are you going to force MS to update its javascript version?

    And as for making Javascript type safe, sorry but the nature of many languages is to use this loose typing as a feature. Learn to work with it or move on to a different language.

    Basically you are saying: If only all cars were exactly the same and controlled exactly the same, traffic would be a lot safer. Yes it would. Good luck getting it to happen though.

    Meanwhile I work in the real world and don't believe in impossible dreams. Ever since computers have been invented someone wanted to create a magic programming solution that would make it as easy as a Star Trek Computers. I don't see it happening, but I will buy one from you when you build one. Meanwhile, I will collect a high fee to work with what we got, all so I can afford your magic system when you build it. That is fair isn't it?

    --

    MMO Quests are like orgasms:

    You may solo them, I prefer them in a group.

  145. Programming language. by SmallFurryCreature · · Score: 1

    Please show me how you program in XML, HTML, JSON. CSS is getting some extremely basic selectors but still I would hardly call it a programming language. Your defintion is for languages as in English. Programming languages are different. If you make this claim around real programmers, prepare to be ridiculed.

    --

    MMO Quests are like orgasms:

    You may solo them, I prefer them in a group.

  146. Re:Web development is hard for even talented peopl by MrSteveSD · · Score: 1

    Well, the direct alternative to Cappuccino is Cocoa. Cocoa is implemented in Objective-C, a dynamically typed language. All of the large Mac and iPhone apps using Cocoa seem to manage just fine.

    Objective-C supports explicit type declarations. e.g. You can declare an integer and the compiler will enforce the type. If you want to use "object" types you can of course, but many statically typed languages have "object" types you can make use of if you really need them.

    Dynamic typing and user interfaces seem to go hand in hand. Even if you are not developing your application for the browser, there is a pretty good chance that you would be using a dynamically typed language anyway.

    Most windows GUI apps are written in statically typed languages like, C++, C#, Java etc.

    Static typing may be useful for heavy lifting code that responds to events from the interface, but even with browser development you are not limited to just Javascript for those kinds of tasks.

    I would say Static typing is useful if you want some confidence your variables are not going to change type by mistake half way through your code. For me that is virtually all of the time.

  147. Re:Web development is hard for even talented peopl by mini+me · · Score: 1

    You can declare an integer and the compiler will enforce the type.

    Integers are not Objective-C objects. You have to manipulate them at the C level, which is statically typed. If you use a first-class Objective-C object, like NSNumber, the compiler most certainly does not enforce the type.

    Most windows GUI apps are written in statically typed languages like, C++, C#, Java etc.

    As I mentioned, one of the most popular toolkits for writing Windows GUIs is Qt, which uses dynamically typed C++. If you choose a statically typed language to build your GUI it is not impossible to do, but you are probably using the wrong tool for the job.

  148. Bullsh*t. by sitarlo · · Score: 1

    My team develops killer, maintainable, money-making web apps using nothing but html, javascript, php, mysql, and occasionally java for signed applets all running on a 100% free lamp stack. Frameworks are for pussies. .Net, J2EE, Spring, ORMs, etc add very little value to the web and ultimately the end user. The only exception to this would be Rails. Rails and the whole RESTful concept is just cool beans. Everything else is more marketing hype and technical religion than substance.

  149. Answered here by tepples · · Score: 1

    @zuperduperman: Please read my reply to this comment.

  150. Re:Web development is hard for even talented peopl by xiong.chiamiov · · Score: 1

    I think he's talking about JavaScript missing critical language features. You know, things like proper namespaces, exceptions, static typing,

    Wait, static typing is a "critical language feature"? What the hell are you smoking?

    Now, Javascript is weakly-typed, which many people see as an issue.

  151. Re:Web development is hard for even talented peopl by Anonymous Coward · · Score: 0

    Right, because that's a vital feature for all effective large-scale application development.

  152. Re:Web development is hard for even talented peopl by tepples · · Score: 1

    Look to Native Client

    Which doesn't help when users are using something other than a PC. The released version of Native Client is for x86, not ARM-based devices, and makers of devices using an ARM CPU are unlikely to allow Native Client to be installed on devices that they manufacture because it would circumvent their app store business models.

  153. Re:Web development is hard for even talented peopl by Anonymous Coward · · Score: 0

    > unless you are crazy like RMS and feel the need to write absolutely everything from the ground up

    BS unless there was already a free-as-in-freedom software toolchain before GNU.

  154. Re:"tightly controlled ecosystem"? Bullshit... by exomondo · · Score: 1

    For all the idiots saying 'HTTP != HTML' ... HTTP is useless without HTML. If you don't even know that...

    But the converse is not true.

  155. Re:Web development is hard for even talented peopl by Chrisq · · Score: 1

    Which features are missing, exactly?

    How about procedural audio? Say I want to write a speech synthesizer in JavaScript. How do I send the samples to the speaker?

    I'll get right on to it once I've finished writing my operation system in COBOL and device drivers in LISP

  156. Re:Web development is hard for even talented peopl by tepples · · Score: 1

    It appears you've never worked on a platform with only a single available language. The web application environment is such a platform.

  157. Re:Web development is hard for even talented peopl by Alex+Zepeda · · Score: 1

    Javascript has taken hints from lots of other languages. In many ways it provides a C-style syntax, yet it's == operator is not an equality operator in the way that == is an equality operator in C (or, really, C++).

    It's a poorly designed mishmash of technologies with lousy tool support. Sure there are lot of cross-platform libraries around if you can afford the code bloat.

    And, sure, you could say that well it's a great language that suffers from a poor standard library and poor implementations. But if no decent standard library exists, at what point do you stop making excuses? If no decent implementations exist, at what point do you stop speaking in hypotheticals?

    As someone who's done enough javascript wrangling to last a lifetime, lemmie point out that the cross-platform stuff is great for your simple sites. But for anything slightly complex, you're still going to have to deal with browser differences (beyond their inability to render HTML the same way). Plenty of people have made plenty of applications with VB, but that doesn't make VB decent.

    --
    The revolution will be mocked
  158. Defining Cross Platform by Belial6 · · Score: 1

    I know exactly what the difference between the two are. I also know that native machine code for one system can be interpreted on another. That is what non-JIT emulators do. Emulators like VICE and Java. I also know that using the technique of "Just In Time" compilation, chunks of native code for one system can be recompiled to the host platforms native code for dramatic speed ups. This is done in some Jave emulators, as well as many other emulators such as UAE.

    Right from suns site a description of the java virtual machine looks exactly like the description of a physical processor. Why? Because the JVM is an emulator of a real machine that may or may not have ever actually been built.

    I understand the definition just fine. You are just trying to change the definition to something that boils down to "cross platform is whatever I decide is cross platform". You define one emulator (JVM) as cross platfrom, while other emulators (VICE) you define as not. You define some interpreted instruction sets (Python) as cross platform, while other interpreted instruction sets (6502) are not cross platform even when code written in it can be run across multiple platforms.

    If I write a VM like the Python VM, but I dropped the context of white space, and use commands that look like one or two bytes for each command, would that be cross platform or not?

    1. Re:Defining Cross Platform by exomondo · · Score: 1

      I understand the definition just fine.

      Obviously not, since no-one in the industry agrees with you. Your definition of what is cross-platform changes depending on whether the native platform for the code can be emulated.

      You are just trying to change the definition to something that boils down to "cross platform is whatever I decide is cross platform".

      Wrong, im using the industry standard definition based on native machine code vs interpreted code.

      You define one emulator (JVM) as cross platfrom

      Wrong again, i never said the JVM was cross-platform. Obviously for example you cannot run the windows JVM on linux, or did you not know that? Again, your lack of knowledge regarding native vs interpreted code.

      Native code will execute natively on the hardware/os for which it was compiled. Interpreted code will execute on any hardware/os for which there is a native interpreter.

      You define some interpreted instruction sets (Python) as cross platform, while other interpreted instruction sets (6502) are not cross platform even when code written in it can be run across multiple platforms.

      6502 is a machine language, not an interpreted language. Python is an interpreted language, not a machine language. Those are not my definitions, they are the correct industry definitions.

      If you're so confident that you know the difference between native and interpreted code then give me your definition. It would seem that you don't consider anything to be native code.

    2. Re:Defining Cross Platform by Belial6 · · Score: 1

      Obviously not, since no-one in the industry agrees with you. Your definition of what is cross-platform changes depending on whether the native platform for the code can be emulated.

      Yes, there are many people in the industry that do not understand the underling technology, as well as many that have a vested interest in 'enterprise speak', but anybody that knows what an emulator is, knows that Java is one. I have never changed my definition. Cross platform is always, and one hundred percent of the time software that will run on multiple platforms unchanged. How it accomplishes it is irrelevant.

      Wrong again, i never said the JVM was cross-platform. Obviously for example you cannot run the windows JVM on linux, or did you not know that? Again, your lack of knowledge regarding native vs interpreted code.

      You are misinterpreting what I said. The JVM is just an emulator. Just as Vice is written for many platforms, the JVM is written for many platforms. As the link I supplied showed, the Java byte code IS machine language, just as 6502 machine language is machine language. Java is no more or no less cross platform than C64 Machine code. There is no confusion. Generally, but not always, the JVM is native code running on hardware. Always Java byte code is running in an emulator, but only because Sun failed to deliver the actual hardware.

      Native code will execute natively on the hardware/os for which it was compiled. Interpreted code will execute on any hardware/os for which there is a native interpreter.

      Yes, native code will execute natively on the hardware for which it is compiled. Interpreted code will execute on any hardware that there is an interpreter, native or otherwise. The same code can be run natively OR interpreted, depending on how and in what environment it is launched. You seem to think that code is somehow fixed as native or interpreted. This is not the case. Just look at some of the full PC emulator for the PC. They run x86 code interpreted on the PC which is the same platform that the same code could run natively.

      6502 is a machine language, not an interpreted language. Python is an interpreted language, not a machine language. Those are not my definitions, they are the correct industry definitions.

      No it is not the correct industry definition. 6502 is machine code, but there have been many 6502 interpreters. Claiming that when code is native when it is running in an interpreter is absurd. When 6502 code is running on a 6502 processor, it is native. When it is running in an interpreter on an x86, it is interpreted. Same code, different status concerning native/interpreted. Either way, if running on multiple platforms makes it cross platform.

      If you're so confident that you know the difference between native and interpreted code then give me your definition. It would seem that you don't consider anything to be native code.

      Native code is code that is compiled to a format that matches and runs commands that exist in the hardware it is currently running on. Interpreted code is code that issues commands to another layer which then figures out what commands to actually issue to the processor. The same compiled program can be one, the other, or both depending on where it is run.

      You seem to be confused by Sun's strategic market approach in seizing the opportunity to take bold steps toward capturing momentum of the period of market disruption caused by it's industry-leading, award-winning flagship brand leading to accelerate its growth in the commercial space and an increase in its North American market penetration.

    3. Re:Defining Cross Platform by exomondo · · Score: 1

      Yes, there are many people in the industry that do not understand the underling technology, as well as many that have a vested interest in 'enterprise speak', but anybody that knows what an emulator is, knows that Java is one. I have never changed my definition.

      And you are one of them, you clearly are not getting it, so lets take another approach. Lets look at it from the level at which you are positioning your definition of a platform. This should hopefully make you understand, it would assume that the JVM is a platform in the sense of cross-platform. Of course that means that the standard JVM, Dalvik JVM, .Net CLR and Perl & Python runtimes are all platforms, all different. And of course you are aware that Java code can be compiled to standard JVM bytecode, Dalvik bytecode or native code for a specific platform (hardware/OS), of course it is, by your own definition, cross-platform code. Perl and Python can be compiled to JVM bytecode, MSIL or executed on their respective runtimes, again, cross-platform code.

      Cross platform is always, and one hundred percent of the time software that will run on multiple platforms unchanged. How it accomplishes it is irrelevant.

      Wrong, that's your incorrect definition, not supported by anyone who knows what they are talking about or at all by the industry.

      A C64 binary can ONLY be run on the C64 platform, regardless of whether that is the physical hardware/OS or a software implementation of the platform (hardware/OS). The same as windows-specific software can only be run on the windows platform, even if it is a software implementation of that specific platform (hardware/OS) like in the case of a VM, it's still the windows platform.

    4. Re:Defining Cross Platform by exomondo · · Score: 1

      Wrong, that's your incorrect definition, not supported by anyone who knows what they are talking about or at all by the industry.

      i mean assertion not definition, the assertion based on that definition is most certainly incorrect and not supported by anyone who knows what they are talking about at all because it is not running on different platforms, it's the same platform (hardware/OS), just implemented in software, still the same platform.

  159. Re:Web development is hard for even talented peopl by Anonymous Coward · · Score: 0

    just create the sound of scrreeeeechhing brakes for that idea.