Slashdot Mirror


The Schizophrenic State of Software In 2014

jfruh writes: "The current state of the world of software is going in two radically different directions. On the one hand, server-side software is maturing, with wide consensus on tools and techniques that can be used across platforms. On the other hand, client-side programming is an increasingly fragmented mess, with the need to build apps for the Web and for multiple PC and mobile platforms, all natively. But of course, the server and client sides have to work together to deliver what people actually want."

209 comments

  1. Another fluff ITWorld article subbed by ITWorld by Anonymous Coward · · Score: 0, Offtopic

    and mindlessly frontpaged by the "editors" at DiceDot. Yawn.

  2. common platform by Anonymous Coward · · Score: 4, Insightful

    If only we had some standardized, ubiquitous platform for delivering information and applications to all sorts of devices. A platform that permitted linking between apps in a sort of "web" instead of having everything be isolated and separate. A platform that didn't require approval or payoff of competing third parties. Man, I must be dreaming.

    captcha: mourning

    1. Re:common platform by Anonymous Coward · · Score: 1

      Dude, you should definitely start programming in HTML5, I'm pretty sure it's exactly what you're looking for. Seriously, you can just write once, test on one device, and it will work exactly the same on every browser on every device in the world....

    2. Re:common platform by ShanghaiBill · · Score: 3, Insightful

      Dude, you should definitely start programming in HTML5, I'm pretty sure it's exactly what you're looking for.

      Thinks that you can NOT do in HTML5:
      - Use local storage exceeding 5MB.
      - 3D graphics (WebGL is poorly supported so far)
      - Tilt and shake gestures
      - Device location and orientation
      - Audio recording
      - Camera
      - Text to speech
      - Speech to text
      - much more.

    3. Re:common platform by Anonymous Coward · · Score: 0

      local storage more than 5mb, you're right, can't do that. The rest of your list though... that's all doable.

    4. Re:common platform by Jane+Q.+Public · · Score: 0

      "Thinks that you can NOT do in HTML5"

      Except for local storage, maybe tilt & shake, simply not true.

      Not only can device location be done, it is commonly done. Some implementations are better than others though.

      Audio and video recording are both pretty simple, as long as you don't mind using Flash to do it.

      Text to speech is also quite doable, as long as you don't expect it in realtime... and maybe even then. You just do the conversion on the server, and play the file via HTML5.

      There are really very few things you can't do via HTML5, with the exception of recording audio and video directly. They're working on that, and in the meantime you can get around that with Flash. The problem is not that these things can't be done; the problem is that it's a pain in the ass, and not very practical at this time.

    5. Re:common platform by jellomizer · · Score: 1

      -Local Storage: Not the best idea, the point of a web based application is your data is on a centralized location. Your local PC doesn't qualify, small amounts is handy for performance, but if you are going past 5MB then you are probably doing it wrong.

      -3D graphics: Ill give you this one, but it would be rather limited to games, and some smaller subset of applications, not a full deal breaker.

      - Tilt and Shake: Ill give you that one too. The time HTML5 was made these ideas were to new to be realized as useful, just a silly hack to make your PC do tricks.

      - Device Location (HTML5 has that) and orientation: Ill give you that one too, but orientation seems related to Tilt and Shake.

      - Audio recording: good in theory, scary in use. Having a web browser listing to your audio could cause ease dropping software.

      - Camera: Same as Audio Recoding

      - Text to speech: I would think this would be a function of the OS/Browser

      - Speech to Text: same as text to speech.

      --
      If something is so important that you feel the need to post it on the internet... It probably isn't that important.
    6. Re: common platform by jellomizer · · Score: 1

      Java script has the basic software engineering freatures... It doesn't have the advanced ones though.

      IF While For Varables List Strings Functions and classes.... That is the basics.

      --
      If something is so important that you feel the need to post it on the internet... It probably isn't that important.
    7. Re:common platform by Anonymous Coward · · Score: 0

      http://www.unrealengine.com/html5/ I think you should check this out then.

    8. Re:common platform by Anonymous Coward · · Score: 0

      Flash doesn't work on iOS, nor safari. Love losing 3/4 of my possible customers.

    9. Re:common platform by Grishnakh · · Score: 1

      Audio and video recording are both pretty simple, as long as you don't mind using Flash to do it.

      That's about as viable a solution as using ActiveX. Flash is nearly dead now anyway; in a few years it'll have completely disappeared.

    10. Re: common platform by lgw · · Score: 1

      also, you cannot write a decent application, since javascript currently is the only supported language and it lacks basic software engineering features.

      I've heard rumors that software exists that takes code written in one language and transforms it, or "compiles" it if you will, into another language. But maybe that's just an unworkable academic idea.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    11. Re:common platform by Grishnakh · · Score: 2

      - Audio recording: good in theory, scary in use. Having a web browser listing to your audio could cause ease dropping software.

      Yeah, so? If you want to write an application which records or manipulates audio, then this is a pretty important requirement. It just goes to show that this notion that all modern applications should be written in HTML5 is wrong. There's a lot of things you might want to do on your computer which just don't lend themselves to HTML5/Javascript/PHP/Java.

    12. Re:common platform by Jane+Q.+Public · · Score: 1

      "That's about as viable a solution as using ActiveX."

      Not so, since it can run in all major browsers on all major platforms.

      "Flash is nearly dead now anyway; in a few years it'll have completely disappeared."

      Sure... once those particular features have been copied by HTML 6 or 7.

    13. Re:common platform by Anonymous Coward · · Score: 0

      Thinks that you can NOT do in HTML5:

      Audio and video recording are both pretty simple, as long as you don't mind using Flash to do it.

      Last time I checked, HTML5 != Flash.

    14. Re:common platform by Anonymous Coward · · Score: 0

      We can never really separate the capabilities of a programming environment from the trust assumptions about its deployment mechanisms. It isn't an issue of whether HTML5 has one feature or another, but whether the web platform will support the sort of careful application vetting needed to support the use of sensitive/high trust apps. Even the W3C people aren't foolish enough to allow a developer to build any capability he wants and have it deployed by simply viewing a web page.

    15. Re: common platform by Anonymous Coward · · Score: 0

      The 1990's called, they want their desktop programming complaints back. ...oh you listed *mobile* features, my bad.

    16. Re: common platform by Bing+Tsher+E · · Score: 1

      Yeah, but the only way to get MASM anymore is as an obscure part of a Driver Development Kit.

      Oh wait! I'm wrong. MASM32 still exists.

    17. Re:common platform by Bing+Tsher+E · · Score: 1

      Your customer base is entirely composed of stupid rich Americans?

    18. Re:common platform by Anonymous Coward · · Score: 0

      One of the biggest platforms out there is iOS, with no flash.

      Flash requires the user to follow a list of instructions to side load on Android as it is no longer available through Google Play.

      So I guess it doesn't run on all major platforms after all...

    19. Re:common platform by Anonymous Coward · · Score: 0

      Your customer base is entirely composed of stupid rich Americans?

      Some companies would kill for customer demographics like that...

      - T

    20. Re: common platform by Anonymous Coward · · Score: 0

      Tried it on iPhone 5s... And surprise! The browser is not supported. But yeah I'm sure this HTML5 stuff is going to take over very soon.

    21. Re: common platform by cheesybagel · · Score: 1

      Who cares about that. NASM uses the same syntax and is better.

  3. Be Thankful by TrollstonButterbeans · · Score: 5, Insightful

    Programming is always going to be a mess and there will never stop being new platforms.

    This is something to accept in an industry that is by definition always going to be on the bleeding edge of change.

    It is part of the fun --- go back 30 years and it was mainframe vs. personal computer and IBM PC vs. Apple vs. Commodore --- in the 1990s hardware graphics acceleration and web browser and GUIs were the agent of change.

    Ask if anyone thought Objective C or Java were going to be important programming languages on phones in 2005?

    --
    Priest: "Universe from nothing, no laws of physics, sped up time"+ huge discrepancies. Creationism? No. Big Bang Theory
    1. Re:Be Thankful by Anonymous Coward · · Score: 4, Informative

      Java was an important programming language on phones in 2005.

    2. Re:Be Thankful by Anonymous Coward · · Score: 1

      However, programming on phones wasn't very important in 2005.

    3. Re:Be Thankful by jythie · · Score: 2

      *nods* and, if nothing else, it is a good indication that there simply is not one right solution and that various domains will always have pieces that suit them best. Though I do find the OP rather odd in that they are describing a single domain as 'across all platforms' and then expresses surprise that other domains have gravitated towards other solutions. Of course server-side technology is going to start looking similar to itself, just like if you go into embedded stuff a lot of it has gravitated towards a more mature consensus. So the OP kinda strikes me as having blinders on.

    4. Re:Be Thankful by sl4shd0rk · · Score: 3, Insightful

      Ask if anyone thought Objective C or Java were going to be important programming languages on phones in 2005?

      Java is indeed a resource hog, but I think it's ubiquity was already embedded in the ARM platform long before 2005 - actually pretty much a given for mobile development. Objective C is much more of a surprise. Had it not been for the advent of "iphone apps" I think it would have remained relegated to the cubicles of NeXt geeks. The syntax is simply too obsucre (manufactured to obscure it's underpinnings) to attract sane developers already invested it other popular high level languages.

      --
      Join the Slashcott! Feb 10 thru Feb 17!
    5. Re:Be Thankful by Anonymous Coward · · Score: 0

      Well, maybe. I mean, sure, programming is, in a sense, pouring thought into machine instructions, something that requires endless cleverness. So much so that programmers tend to get a little hung up about their own cleverness. You know how that works.

      As an interesting aside, there's very little rigour in that process, giving a lie to the science in "computer science", despite the mathematical foundations and things like the analysis tools provided by complexity analysis. The process itself is rather un-scientific. This isn't bad, just something to be aware of. Computer scientists are much less of a scientist than the title might make you think you were.

      To illustrate the point, look at just how rigorous the "white hats" are in their application of scientific method to their "research" into whatever the "black hats" come up with. It's more reminiscent of tom and jerry than it is of science. Yet they call themselves researchers and even claim to be giants of creativity, when the evidence doesn't support either claim.

      But apart from that aside, most of those at the forefront of technology are neophiles, they like their newest gadgets and things. And lucky for them, there's always something new on the horizon.

      The downside there, though, is that people who actually need to use all that technology and the newest programs and things are often left out in the cold because they're not quite as ready to pour money into another upgrade.

      That, as well as interoperability in general, thus both the making the new thing work on older hardware as well as making it work with other people's (and *cough* other companies' *cough*) things, is a bit of a blind spot for us techie technologists.

      Point in case: The article appears to mostly talk about http, and little else. Bit of a myopic worldview, no?

    6. Re:Be Thankful by Anonymous Coward · · Score: 0

      This seems to actually mirror the organization within the company I work for. The server teams have their shit together everything designed and specced out, and generally work 9-5. Client teams are full of tired and frightened people frantically hacking one mess on top of the last mess, with 'design' passing as something somebody sketched on a post-it note once.

      If I was being charitable about it, I'd say it probably has something to do with client software being visible to executives, who love to throw new requirements out whenever they feel like it, seemingly on a whim.

    7. Re:Be Thankful by Anonymous Coward · · Score: 0

      Programming on phones was important in 1999 (when they hailed java as soon-to-be-on-your-phone). Mobile phones have always been programmed in something.

    8. Re:Be Thankful by Twinbee · · Score: 1

      Programming is always going to be a mess and there will never stop being new platforms.

      That's like saying text encodings will always be a mess. They have been, but UTF-8 has come along to save us all from the hell of multiple incompatible encodings. It's fast getting towards the stage where everyone has standardized on it. Something similar could be said for USB too.

      If a beautiful OS takes off (something that ISN'T OS X, Windows, Android OS, iOS or Linux before anyone thinks I'm taking sides), and with it, comes a beautiful language (fast, terse, flexible, and allowing code that's easy to write, maintain and read), then it's very possible we could all unify our tools towards a single solution. Whether this takes a decade, century or millennium is anyone's guess, but it's surely the way forwards.

      --
      Why OpalCalc is the best Windows calc
    9. Re:Be Thankful by unimacs · · Score: 3, Interesting

      I agree that from a developers perspective this IS part of the fun. And what's even more fun is that there's going to be an explosion in the use of micro controllers as people figure out what's possible from messing around with arduinos and the like.

      But from the business side it sucks. Also as a developer you have to be careful you don't get yourself locked into one technology. To me learning new stuff is part of what makes my job enjoyable but far too many of us get comfortable and find ourselves reaching into our middle years with skills that are no longer in demand.

    10. Re:Be Thankful by Laxori666 · · Score: 1

      I actually find it quite delightful to work with. They managed to make something with the speed and low-levelness of C, yet with very straightforward reasonable memory management, mostly enforced by convention - so much so that ARC was possible.

    11. Re:Be Thankful by Jane+Q.+Public · · Score: 1

      The Motorola Razr, in 2005, was a full-blown "smartphone" and supported Java apps. Though most Java apps at the time were just games.

    12. Re:Be Thankful by Jane+Q.+Public · · Score: 1

      "Ask if anyone thought Objective C or Java were going to be important programming languages on phones in 2005?"

      Repeat what I wrote above:

      The Motorola Razr, which came out in 2004, while not Android was still a full-blown smartphone that supported Java apps. Yes, Java programming for phones important even then.

    13. Re:Be Thankful by TheBilgeRat · · Score: 2

      This.

      Obscure syntax, lack of quality stack overflow answers to questions, terrible API, reliance on XCode...I found it an absolute nightmare, and I code in C++.

    14. Re:Be Thankful by Anonymous Coward · · Score: 0

      The server teams have their shit together everything designed and specced out, and generally work 9-5. Client teams are full of tired and frightened people frantically hacking one mess on top of the last mess, with 'design' passing as something somebody sketched on a post-it note once.

      This is like saying the people getting Communications degrees are better because they have higher average grades.

    15. Re:Be Thankful by bill_mcgonigle · · Score: 1

      I forget why, but I do remember that the IBM JIT JRE for the Treo 650 was the cat's pajamas in 2004. I certainly wasn't using it for games, maybe a mail app?

      This was before cheap OpenGL silicon, so the visuals were ugly, but k9mail really isn't much different 10 years later.

      --
      My God, it's Full of Source!
      OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
    16. Re:Be Thankful by bill_mcgonigle · · Score: 1

      I found it an absolute nightmare, and I code in C++.

      Well, thar's 'yer problem.

      It's been a decade since I've done any Objective-C, but, coming from a C++ background, among others, the advice I found useful was to think of it as a way to get C to do smalltalk, not a way to add message passing to C++.

      --
      My God, it's Full of Source!
      OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
    17. Re:Be Thankful by drinkypoo · · Score: 1

      Define "supported" and "Java apps". At the time, Java was even more fragmented than it is now. Java could mean all kinds of things, but the Java you found on a Motorola Triplets phone or its descendants (including the RAZR, which I owned two models of) was pretty mean. Java applets had to be specifically designed to run on specific device families, and the applets for a Siemens or Nokia phone would commonly crash on a Motorola phone, and vice versa.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    18. Re:Be Thankful by TheBilgeRat · · Score: 1

      Well, thar's 'yer problem.

      Yes :-)

      It's been a decade since I've done any Objective-C, but, coming from a C++ background, among others, the advice I found useful was to think of it as a way to get C to do smalltalk, not a way to add message passing to C++.

      Smalltalk was a little before my time. I learned OOP on Java (yikes!) and Python then got a job doing C++ (even more yikes). All the objective C I did was on my own. It also didn't help that the mac I had was an old macbook with tiny screen - it makes storyboarding and XCode awful to use, and I never got ninja enough with the syntax to just slam it out in vim. I got the feeling it could be a language I could learn to like, but after I hopped off the Apple bandwagon at the Iphone 4 and got a droid I went droid API and never looked back.

    19. Re:Be Thankful by Jane+Q.+Public · · Score: 1

      I still have my old Razr, and it still has a pretty good (for a tiny screen) Java billiards game on it.

      When it's plugged in, that is... the battery has been shot for a long time.

    20. Re:Be Thankful by Jane+Q.+Public · · Score: 1

      "Define "supported" and "Java apps". At the time, Java was even more fragmented than it is now. Java could mean all kinds of things, but the Java you found on a Motorola Triplets phone or its descendants (including the RAZR, which I owned two models of) was pretty mean."

      Nonsense. Between 2004 and 2006, Java was fully owned and developed by Sun Microsystems, and there were 3 versions: Enterprise Edition, Standard Edition and Mobile Edition (officially renamed in 2006 to EE, SE, and ME.

      The Razr supported ("supports", since I still have mine and it's still working) full standard Java ME, and anybody could get the SDK and compile programs for it. While some phones might crash ME programs, that's the fault of the phones that didn't properly support ME, not a problem with Java.

      As I wrote to the other guy above: the apps were fully functional, and I still have a quite nice billiards game, as well as some other apps, on that Razr phone. For a tiny screen, it works quite well.

      But as for "define apps"... I don't get what you're trying to say. No, they did not have accelerometers or GPS or compass, because the phones in those days didn't have those features. But they could access things the phones DID have: buttons, screens, speaker, vibrator, etc.

    21. Re:Be Thankful by Bing+Tsher+E · · Score: 1

      I remember when an Objective C toolchain was an installable option on Slackware. Back in about 1995. It was right in the 'D' series.

    22. Re:Be Thankful by recharged95 · · Score: 1

      Yep, pretty much any language out there, from programming languages to spoken... is a mess.

    23. Re:Be Thankful by pjt33 · · Score: 1

      There weren't just three versions: ME was far from homogenous. Most people think that J2ME is synonymous with J2ME CLDC MIDP. I spent 3 months in 2005 writing a computer-assisted interviewing app for PocketPC in J2ME CDC PP, which is closer to a cutdown J2SE than to CLDC MIDP; although I try to make it clear on my CV, I have to be prepared to explain it when I go for interviews.

    24. Re:Be Thankful by drinkypoo · · Score: 1

      The Razr supported ("supports", since I still have mine and it's still working) full standard Java ME, and anybody could get the SDK and compile programs for it. While some phones might crash ME programs, that's the fault of the phones that didn't properly support ME, not a problem with Java.

      Reading comprehension failure level: maximum. I didn't say it was a problem with Java. What I said is that those phones had shitty Java support. Since I've owned and hacked on the V300, V500, V555, the original RAZR and two of the later RAZRs and run dozens of different Java MIDlets on all of them, I am well-versed.

      But as for "define apps"... I don't get what you're trying to say. No, they did not have accelerometers or GPS or compass, because the phones in those days didn't have those features. But they could access things the phones DID have: buttons, screens, speaker, vibrator, etc.

      Yeah, and the other thing those phones did have, again speaking of those crappy Triplets phones and their descendants, was a very slow processor and very little memory. They weren't capable of running a decent web browser even by the mobile standards of the day, for example.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    25. Re:Be Thankful by grep+-v+'.*'+* · · Score: 1

      far too many of us get comfortable and find ourselves reaching into our middle years with skills that are no longer in demand.

      What are you talking about? I can still read the punches from 80 column Hollerith cards directly with the best of them. And although I'm out of a job right now, this nice guy from Zimbabwe is promising to meet me in an interview once I pay for his elderly mother to be taken care of. After all, it's not a skill everyone has today -- I'm in demand!

      --
      If the universe is someone's simulation -- does that mean the stars are just stuck pixels?
    26. Re:Be Thankful by Anonymous Coward · · Score: 0

      comes a beautiful language (fast, terse, flexible, and allowing code that's easy to write, maintain and read),

      I believe it's called Unobtanium.

      Posting anon because of previous moderation.

    27. Re:Be Thankful by petermgreen · · Score: 1

      Mobile phones have always been programmed in something.

      Obviously for as long as mobile phones have had embedded processors (and that is a long time though i'm not sure it goes right back to the beginning of mobile phones) then someone has been writing software to drive them just as people have been writing software to drive dishwashers for as long as dishwashers have had embedded processors.

      But that is a very different thing from the wide use of third party apps on phones. Prior to the iphone appstore there were some attempts to support third party apps on phones (javame, various vendor specific stuff, probablly others) but afaict none of them were used to anything like the extent the iphone appstore and andriod market are today.

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
    28. Re:Be Thankful by TrollstonButterbeans · · Score: 1

      Blackberry ruled phone features back then with an iron fist with a level of popularity and dominance that I don't think any large percentage of developers would have expected Java to be an *important* programming language 5 years out.

      I never argued Java didn't exist on phones back then. I bet something like a Treo might have Java of some flavor even before your example. Possibly.

      --
      Priest: "Universe from nothing, no laws of physics, sped up time"+ huge discrepancies. Creationism? No. Big Bang Theory
    29. Re:Be Thankful by Common+Joe · · Score: 1

      But from the business side it sucks. Also as a developer you have to be careful you don't get yourself locked into one technology. To me learning new stuff is part of what makes my job enjoyable but far too many of us get comfortable and find ourselves reaching into our middle years with skills that are no longer in demand.

      I think this just happened to me. I was trying to keep my previous employer happy and I had to work on older technologies. Well, not really older. Just more mature. More stock C# and Java stuff as opposed to the bells and whistles. Web technologies have no use for them and I certainly couldn't justify anything like web programming that for the group I was in. Besides, I was happier doing that kind of stuff rather than we programming. My personal circumstances changed (family stuff) and I had to quit my job and move. I'm looking around and everyone wants a programmer with web experience. Very hard to break into a new place as a generic programmer without the skill of the day that everyone seems to want. With time passing, it looks as if my career is over. Very sad. Programming is my passion. I'd think about upgrading my skills, but I think these articles hit the nail on the head. I'm left with a very tough choice -- go into something more stable and get a lower paying job or keep the high risk, high reward, wicked pain in the ass career.

      What's interesting is that I may take a job that has nothing to do with programming and my first personal project with be writing a program for a friend. He needs an Android program. We've already flushed out the requirements over about 10 pages. I just need to find the time to code. No one would want to pay for this program but it would definitely help my friend and people with his disabilities.

      An aside: it seems the job offers don't readily split backend and frontend programmers. You're kind of expected to do it all. At least that what a lot of the job descriptions read.

    30. Re:Be Thankful by unimacs · · Score: 1

      Sorry to hear that.

      I'd make the time to work on that Android program. The money may not be there but the experience could open some doors for you.

      Good Luck !

    31. Re:Be Thankful by Jane+Q.+Public · · Score: 1

      "There weren't just three versions: ME was far from homogenous."

      There WERE just 3 versions. MIDP and PP are configuration profiles, not "versions". They're both ME.

    32. Re:Be Thankful by Jane+Q.+Public · · Score: 1

      "Reading comprehension failure level: maximum."

      No failure here. Quote drinkypoo:

      "At the time, Java was even more fragmented than it is now."

      This is an incorrect statement. There were 3 "versions" of Java. Any perceived "fragmentation" was on the telephone end, not the fault of Java. MIDP is a configuration profile under ME, intended for mobile phones. It is not a "version". If it wasn't fully supported by the phones, you can blame the phones for insufficient support of the configuration.

      Period. The end.

      I am aware that not all phones worked the same, and not all supported Java the same (or even well). But that's not Java's fault.

    33. Re:Be Thankful by drinkypoo · · Score: 1

      This is an incorrect statement. There were 3 "versions" of Java.

      That is a bunch of bullshit. There were several JVMs and then all the bits that are different on each platform were different on each platform. There were many versions of Java. There were probably more back then, since IBM was bothering to promote their own JVM, among others.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    34. Re:Be Thankful by Jane+Q.+Public · · Score: 1

      "That is a bunch of bullshit. There were several JVMs and then all the bits that are different on each platform were different on each platform."

      Although I knew better already, I took a quick glance at the history of Java on Wikipedia and Google anyway, and both show this to be quite wrong.

    35. Re:Be Thankful by drinkypoo · · Score: 1

      Although I knew better already, I took a quick glance at the history of Java on Wikipedia and Google anyway, and both show this to be quite wrong.

      Qualcomm had their own diddled JVM, and I actually paid for the IBM JVM for PocketPC during this era, so I'm not sure what you're looking at.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    36. Re:Be Thankful by Anonymous Coward · · Score: 0

      "Obscure syntax." All this demonstrates is your own bias, or lack of exposure. Is it different that Java or C++? Yes. It's a different language. Just because you are familiar with something different doesn't make anything that isn't within your scope of experience obscure.

      Terrible API? Pretty subjective. Once again, all you're demonstrating is your own lack of familiarity with the patterns in play. I happen to think the APIs are a delight - there's a remarkable consistency in APIs delivering an incredible breadth of function on these devices.

      I use StackOverflow since I started dabbling in Obj-C four years ago. It was good then and it's only gotten better. The documentation and resources in Apple's dev center are fantastic.

      Reliance on Xcode. This is really the one point you make that isn't totally subjective.

    37. Re:Be Thankful by Jane+Q.+Public · · Score: 1

      A JVM is not a "version" of Java. Java is a language. JVM is the runtime interpreter that is tweaked for particular hardware.

      So, just as I have stated several times now: There were only 3 official versions of Java. The implementation on various hardware (JVMs) could vary. But that's a different subject. There were still only 3 different versions of Java. Any incompatibilities (again, just as I stated before) were on the hardware implementation (JVM) end.

    38. Re:Be Thankful by drinkypoo · · Score: 1

      A JVM is not a "version" of Java. Java is a language.

      Really? Pedanticism is the very best you can do? Wait, I'm not surprised, having seen your posts in the past. To the user or developer, there were umpty-million versions of Java. The one for this phone, the one for that phone.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    39. Re:Be Thankful by TheBilgeRat · · Score: 1

      My apologies - I assumed that any discussion that involved opinions on coding languages would be immediately understood to be completely subjective, anecdotal, and most likely offensive to someone. I forgot that this is slashdot.

  4. So He Dislikes Spring by Anonymous Coward · · Score: 0

    > "It’s a pity some people still build important apps in PHP and Spring..."

    Or perhaps he means specifically the combo of PHP + Spring.

    I've never had much trouble with Java + Spring, but maybe he hates that, too.

    I don't see him listing any alternatives, so what are they?

    1. Re:So He Dislikes Spring by Anonymous Coward · · Score: 1

      I don't see him listing any alternatives, so what are they?

      Try Python/Django.

      Java/Spring has always been a mess. Every time they try to fix it they tell you "this is the proper way to build an application". Then the next year they'll admit that it sucks, but that year's version is the proper way to build an application.

  5. Adobe Air by goombah99 · · Score: 1

    isn't this what Adobe Air was supposed to solve-- write one client to rule them all?

    --
    Some drink at the fountain of knowledge. Others just gargle.
    1. Re:Adobe Air by i+kan+reed · · Score: 1, Interesting

      Adobe products are an interesting case of trying to solve systemic problems, and inevitably creating new, worse ones. Except photoshop. Photoshop is software that is just useful and nothing else.

    2. Re:Adobe Air by gaspyy · · Score: 4, Interesting

      I fail to see how AIR is a problem worse than Phonegap or what Chrome is offering right now as a wrapper over html5.

      Making a cross-platform game is world of pain, especially when you're small.

      I was able to make my chess game available on web, as a chrome app, as a native app for PC, Mac and Linux and for mobile on iPhone, iPad, Android tablets and phones, even the now-dying Blackberry Playbook. The game is quite complex but 99% of the code is cross-platform, there are very few platform-specific lines.

      I've been considering porting it to HTML5 but the amount of work needed is too much for one man. The AI is straighforward (Javascript and AS3 are closely related), but porting the UI, the multiplayer code and then tweaking it to make sure it works with all major browsers is not something I'm looking forward to. With AIR I can keep my sanity and concentrate on features.

    3. Re:Adobe Air by i+kan+reed · · Score: 0

      I'm thinking about how flash "solved" the dynamic web page problem. Or how acrobat "solved" the persistent document problem.

    4. Re:Adobe Air by Anonymous Coward · · Score: 0

      PDF was designed to solve problems for print publishing from DTP environments. You know, those guys in the corner shops you take your PDF file to in order to have 10,000 copies of it printed out, trimmed, and delivered to you in a neat little box? It was never intended to be a solution for persistent, searchable documents.

      If you complain that PostScript was perfectly adequate for print publishing, I'll just assume that you've never actually worked in the graphics/print industry or read the PDF print publishing specs.

    5. Re:Adobe Air by Anonymous Coward · · Score: 0

      Being a developer for a document imaging company, I'm pretty sure that Adobe has presented it as intended to be solution for persistent, searchable documents. Which, is basically the working definition of "intended".

      Given they have the facility to embed searchable text in the PDF file, and, er, search it... what would you suggest this functionality "intends"?

    6. Re:Adobe Air by gaspyy · · Score: 3, Informative

      SWF was amazing for its time. Streaming vector animation with synced sound over modem speeds. Even today you need a hodge-podge of technologies - SVG, Javascript and a bunch of libraries to achieve what you could do 17 years ago! And I'm not even sure you can stream a svg animation+sound.

      SWF has 2 shortcomings:
      - it's proprietary
      - it doesn't integrate seamlessly with its environment (browser).

      For standalone apps, these are not big issues.

    7. Re:Adobe Air by jellomizer · · Score: 1

      Pre-HTML5 it was. Steve Jobs killed it on his anti-adobe rant for the iPhone.

      --
      If something is so important that you feel the need to post it on the internet... It probably isn't that important.
    8. Re:Adobe Air by JackAxe · · Score: 2

      AIR now days is excellent and has become a truly viable solution for mobile and desktop/web for pretty much any project. The best part, is that you can develop AIR apps without having to use Adobe's IDE Flash Builder, which has fallen to neglect on their part IMO. I use InteliJ IDEA for AIR( Android, iOS ), Java/Android, and all of my web dev. It handles ActionScript 3 like butter and has really streamlined the process of deploying to and debugging different targets.

      Adobe provides the AIR SDKs for free without any sign-up and if you don't mind signing up with their EVIL Cloud service, their profiler Scout is available for free as part of the Gaming SDK. The Gaming SDK also includes open source frameworks like Starling and Away3D. And despite being called a gaming SDK, these are for the most part vanilla frameworks that will let you build anything -- but of course favor game dev -- and they can all be downloaded separately from GitHub.

    9. Re:Adobe Air by Bing+Tsher+E · · Score: 1

      I had to download the binary installer myself to install Flash on my Android phone about a year ago. Last week I got a new phone and noticed that Adobe Flash is right there in the Google Play Store now. I'm not sure when Google quietly added it. Maybe it's vendor dependent, as I was using a Samsung phone and switched to a Kyocera. It's the same Play Store, though. Right?

  6. Stop trash talking native code by Anonymous Coward · · Score: 0

    This sounds like a sales pitch for yet another compatibility layer. Just recognize you need to compile for different build targets and set aside the time.

  7. What is the problem... ? by Anonymous Coward · · Score: 0

    ... is not programs what software developers do? Oh, wait... this is 'I know cobol and I am not going to bother learning/using another language!!'...

    Become a priest (or a nun). Their job hasn't change in more than 2000 years.

    1. Re:What is the problem... ? by Anonymous Coward · · Score: 0

      Their job hasn't change in more than 2000 years.

      Oh, how little do you know.

  8. A Simple Solution by Anonymous Coward · · Score: 0

    Ditch the unnecessary desktop and mobile apps, and build web applications.

    Problem solved.

    1. Re:A Simple Solution by Anonymous Coward · · Score: 2, Insightful

      I would, except the Web is the worst platform for delivering applications EVER.

      So-called "standards" are not consistently supported, even when they're not shifting under your feet... CSS, JavaScript, XML, etc. all hacked-together kludges to add interactive functionality to a medium designed for statelessly delivering static documents... broken security models, latency issues, content management systems that are more time-consuming and painful to use than just programming the damn site...

      I say scrap it and start over from scratch!

    2. Re:A Simple Solution by Svartormr · · Score: 1

      I say scrap it and start over from scratch!

      I agree. Unfortunately starting over from scratch usually ends up being this.

    3. Re:A Simple Solution by Anonymous Coward · · Score: 0

      > I agree. Unfortunately starting over from scratch usually ends up being this [xkcd.com].

      That's true, but one might consider the problem is actually trying to impose standards, rather than define them. Usually what happens is someone invents a useful thing, others copy it, each version evolves in its own incompatible direction, then a standard is proposed to unify the various versions into something coherent.

      Witness HTML and its evolution through Netscape & IE extensions. That led to standardization and the separation of concerns (CSS, JavaScript) which actually simplified HTML tagging but added new cruft. The problems caused by nonstandard versions led to a re-thinking of the technology.

      So what really needs to happen is for someone to re-think the approach to Web-based application services, come up with a solution that gets used internally or by a small audience, then gets attention from the mainstream press, declaring it to be a better solution and moves on to widespread adoption and (later) standardization.

  9. Schizophrenic by uncle+brad · · Score: 4, Insightful

    I do not think it means what you think it means.

    1. Re:Schizophrenic by Anonymous Coward · · Score: 1

      schizophrenic (skts-frnk)
      adj.
      1. Of, relating to, or affected with schizophrenia.
      2. Of, relating to, or characterized by the coexistence of disparate or antagonistic elements.
      n.
      One who is affected with schizophrenia.

    2. Re:Schizophrenic by Anonymous Coward · · Score: 1, Informative

      Mod parent up. This use of "schizophrenic" is both inconsiderate of the mentally ill and ineffectual for the speaker. It's based on the confusion of schizophrenia with multiple personality disorder, which is an unrelated illness. "Schizophrenia" doesn't mean "split brain", as you might naively guess. It's more like the brain bring broken. The author wasn't trying to say that software is psychotic. He should have chosen his words better.

    3. Re:Schizophrenic by Anonymous Coward · · Score: 1

      You're replying to your own anonymous post, admit it!

    4. Re:Schizophrenic by Ksevio · · Score: 1

      Actually I think the problem is the author is imagining platforms that aren't used or don't exist and working to make his software compatible with it. Modern clients aren't too hard to use the same code for, but the imaginary ones can be a real hassle.

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

      Stop being inconsiderate.

  10. Wiktionary: Schizophrenic by Anonymous Coward · · Score: 0

    Schizophrenic (comparative more schizophrenic, superlative most schizophrenic)

    1) Of or pertaining to schizophrenia.
    2) (of a person) Afflicted with schizophrenia; having difficulty with perception of reality.
    3) (slang, DEPRECATED) Behaving as if one has more than one personality; wildly changeable.

  11. Fear Not! by ThatsDrDangerToYou · · Score: 2

    We can hire 25 Elbonian programmers to deliver on time and under budget! ... no, um, we call those "features" here.

  12. Origin of schizophrenia by gmuslera · · Score: 1

    Feeling insecure (specially after the NSA revelations) could be the cause of that problem.

  13. Insensitive Clod by OzPeter · · Score: 2

    I'm writing stand alone Desktop programs.

    --
    I am Slashdot. Are you Slashdot as well?
  14. haxe language by submain · · Score: 3, Informative

    That's why we need more people using languages like this: http://haxe.org/

    I discovered it a couple of months ago. It has its quirks, but not having to worry about rewriting your entire app for another platform is a blessing. And no messy VMs needed.

    1. Re:haxe language by nyctopterus · · Score: 1

      Wow, that's some ugly syntax for a modern programming language.

    2. Re:haxe language by iggymanz · · Score: 1

      yet another language doesn't solve anything, the issue is one in the realm of managemnet

    3. Re:haxe language by Capt.Albatross · · Score: 1

      That's why we need more people using languages like this: http://haxe.org/

      It seems as if have seen a hundred new languages, all allegedly solving the problem of programming, and none of them succeeding. That's because the difficult problems are not at the level of syntax.

    4. Re:haxe language by Anonymous Coward · · Score: 0

      From a cursory glance of their sample code, [Haxe] looks like the bastard lovechild of Javascript and C++ to me, but I don't think that's necessarily a bad thing.

    5. Re:haxe language by submain · · Score: 1

      Agreed. The strength of haxe is definitely not it's syntax, but the fact that you can compile to whatever other language you want.

    6. Re:haxe language by spongman · · Score: 1

      It's derived from Actionscript3, which itself is derived from JavaScript which is loosely derived from C. If you don't like squiggly bracket and full-featured type systems, then it's not for you.

    7. Re:haxe language by Anonymous Coward · · Score: 0

      If I want full-featured type systems I'll look at Haskell and Scala first.

  15. What was the state of server side progamming? by Anonymous Coward · · Score: 1

    Is there a consensus on a common server side platform and language? If so what is it?

    1. Re:What was the state of server side progamming? by jythie · · Score: 4, Insightful

      Well, there is consensus if you ignore detractors within your own community. I have noticed that companies where a particular web developer culture is strong tend to hire people who agree with the current development teams and exclude those who do not, so you rapidly get clustering that feels like consensus, but is really just group think.

    2. Re:What was the state of server side progamming? by greg1104 · · Score: 1

      His point was that any number of language+library stacks give such similar abstractions for everything from HTTP to database persistence, it doesn't even matter which one you pick.

  16. Ameliorated somewhat by cross-platform APIs by Anonymous Coward · · Score: 0

    Java needs no explanation. There are c++ libraries like JUCE and Qt that build high-level widgets for all platforms including iOS and android. As someone in the trenches of developing cross-platform client-side apps I'd say it's becoming less of a mess.

  17. Nothing New by Akratist · · Score: 5, Funny

    Programming always has been, and always will be, a mess. There is a reason that maybe two percent of the people in the world can actually do this work -- the other ninety-eight percent are sane and don't think like psychotics locked in the Red Bull factory.

    1. Re:Nothing New by Anonymous Coward · · Score: 1

      you guys made this mess yourselves

      and you just wallow in how hard it is and how special you are

      yeah for you

    2. Re:Nothing New by MMC+Monster · · Score: 2

      They're not locked in. They can leave at any time. They choose to stay.

      --
      Help! I'm a slashdot refugee.
    3. Re:Nothing New by Anonymous Coward · · Score: 0

      Most of us choose to leave. Not because we can't code, but because it's not worth the effort.

    4. Re:Nothing New by Akratist · · Score: 2

      Ironically, the only people affected by snark would be anyone with a normal level of self-esteem, which is typically not found in the coding world.

    5. Re:Nothing New by Bing+Tsher+E · · Score: 1

      I remember when I was an operator, loading tapes and booting up machines to run jobs, back in 1982. I thought that someday becoming a programmer would be cool.

  18. Wikipedia Schizophrenia... by Anonymous Coward · · Score: 0

    "Common symptoms include delusions, such as paranoid beliefs; hallucinations; disorganized thinking; and negative symptoms, such as lack of emotion and lack of motivation."

    Sounds a lot like a typical day on /.

  19. Odd by Anonymous Coward · · Score: 0

    But of course, the server and client sides have to work together to deliver what people actually want.

    The server/client communication has never been simpler. There might be several ways of doing it but all of them are well documented and mature (probably because they originated from the server side as a response to the "fragmented mess" that is client applications). Therefore, why is this sentence typed with what seems to be snark?

  20. Stop Whining! by jjb3rd · · Score: 1

    That's why we make the big bucks.

  21. omg ! by Tom · · Score: 1

    omg, the world is complicated, the sky is falling and we're all going to diiieee!

    It's called "diversity", not "mess", and one of those days you'll be fucking glad that we have it, because otherwise, as me and some other researchers have proven ten years ago, in a monoculture one zero-day in the wrong hands means game over, Internet in something like a few hours.

    Be glad we have this "mess". It's going to save our collective asses one day.

    --
    Assorted stuff I do sometimes: Lemuria.org
    1. Re:omg ! by Anonymous Coward · · Score: 0

      Try applying that reasoning when you're a developer. I see thousands of APIs in front of me that do the same thing - each in a slightly different and broken way. Now choose the least broken for your application. This is development.

      Now apply beyond APIs to platforms, architectures, operating systems, hardware configurations, etc... I'm surprised anything works in the software industry.

  22. Server not fragmenting?? by SuperKendall · · Score: 3, Insightful

    Perhaps you can run what you like on nearly any OS but...

    Do you use NoSQL? Relational?

    PHP? Some kind of CMS, or roll your own with Rails?

    Store content on AWS? Or some other cloud? Or just local?

    Or perhaps you want to simply use the Google App Engine or other systems like it, and have everything hosted without fuss... or rent an elastic compute server and run your own custom Erlang server.

    Not to mention you really can't run everything on every OS, as there are still plenty of Windows server specific technologies I didn't even mention but tons of people use.

    And you think server stuff is LESS fragmented?

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
    1. Re:Server not fragmenting?? by dkleinsc · · Score: 1

      I can answer one of your questions for you:
      PHP? Please, please don't. There's simply no good reason to use it, especially when there are CMS's in other languages that work at least as well as Wordpress, Drupal, or Joomla.

      --
      I am officially gone from /. Long live http://www.soylentnews.com/
    2. Re:Server not fragmenting?? by Anonymous Coward · · Score: 1

      If they don't work better than wordpress, drupal, joomla, then it doesn't matter what language it's in.

    3. Re:Server not fragmenting?? by Anonymous Coward · · Score: 0

      Sure the server side is still fragmented in how you can integrate systems, but the frameworks have matured with similar feature sets and patterns. Almost every major framework now has MVC capability, JSON API capability, and package management to name a few. These things combine to give a similar flavor of development...

      The biggest of which is that server side now trends towards the creation of an API for consumption by the client. As a result most server-side code is now interchangeable from the clients perspective.

      The client-side is far from being as simple, as now there are many use cases that need to be accounted for. I don't forsee a simple way to solve this anytime in the future.

    4. Re:Server not fragmenting?? by Anonymous Coward · · Score: 1

      PHP is a joke and the shitty, bug ridden, pieces of shit written in it are the punchline.

    5. Re:Server not fragmenting?? by Anonymous Coward · · Score: 0

      Don't forget everything you need for distributed, fault-tolerant, auto-scaling, cloudy-goodness:
        - Paxos (Doozer) vs Raft (etcd) vs Zookeeper
        - Distributed queues (work queues, PubSub, etc)
        - DevOps (Chef vs Puppet vs Fabric, Docker vs Aminator vs Packer)
        - Caching (Varnish vs Memcache vs Redis)

      And every week it seems like I find some project (for example, Serf) that looks like an awesome solution for a problem I never knew I had. Sometimes it feels like our 3 month project will be absolutely amazing when it's done, 2 years from now.

    6. Re:Server not fragmenting?? by SuperKendall · · Score: 1

      So spot on.

      Server technology is not just fragmenting, it's fractal! At any aspect you peer at, you can see a thousand more technologies below...

      --
      "There is more worth loving than we have strength to love." - Brian Jay Stanley
  23. Re:Be Thankful--Good news by CrowdedBrainzzzsand9 · · Score: 1

    Excellent! More jobs for tech weenies...at the cost of turbulence.

  24. Like slashdot? by Okian+Warrior · · Score: 0

    But of course, the server and client sides have to work together to deliver what people actually want.

    You mean, like Slashdot?

    Like, automatically refreshing every x minutes, jumping the page even while I'm in the middle of reading it?

    Or refusing to let us link to a specific comment? (Pick any comment and try to come up with a link you can send to someone.)

    Or like adding new styles and layouts that, at each iteration, reduce the information a visitor sees per page? (Reading Slashdot through an ever-dwindling portal - sort of like reading a newspaper through a straw.)

    I'd mention "friends, foes, freaks, and journals, but there may be a compelling need to "unfriend" someone. I wonder how many millions of Skashdot accounts there are, and the number who actually write in their journals. You can't delete your account, because theres no need to (of course!).

    Useability experts exist for a reason. Software experts don't seem to realize that other experts exist and that good systems have multiple facets of "good". Instead, it's "good software is all you need, and the more features the better."

    (Tooltip: "Documentation is boring! I'll just pit up a wiki and let the users fill in pages for me.")

    1. Re:Like slashdot? by tepples · · Score: 3, Informative

      Or refusing to let us link to a specific comment? (Pick any comment and try to come up with a link you can send to someone.)

      From the classic interface, try this:

      1. Look for a line like "by Okian Warrior (537106) on 2014-01-31 12:16 (#46121151) Homepage Journal".
      2. Right-click or long-press the comment ID (#46121151).
      3. Choose "Copy Link". (The wording may differ in your web browser.)
      4. Paste elsewhere.
    2. Re:Like slashdot? by mooingyak · · Score: 1

      Or refusing to let us link to a specific comment? (Pick any comment and try to come up with a link you can send to someone.)

      This guy seems to be complaining about that too.

      --
      William of Ockham had no beard. The most likely explanation is that it was chewed off by squirrels every morning.
    3. Re:Like slashdot? by Anonymous Coward · · Score: 0

      Or refusing to let us link to a specific comment? (Pick any comment and try to come up with a link you can send to someone.)

      This guy seems to be complaining about that too.

      This guy found the solution!

    4. Re:Like slashdot? by bill_mcgonigle · · Score: 1

      Does the goofy interface really do that page refresh thing? I suppose the only people who are using it are those who weren't here when it was introduced.

      --
      My God, it's Full of Source!
      OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
  25. How is this not ideal? by DdJ · · Score: 3, Insightful

    IMHO, the ideal situation is, you define standard formats and protocols, and then you give everyone the freedom to use whatever technology they want to interoperate using those protocols.

    Want to write your mail server in Java? Python? Prolog? I do not care as long as it speaks IMAP. Want to write your mail client in C#? Objective-C? Ruby? I do not care as long as it speaks IMAP.

    Isn't this exactly how things should be?

    1. Re:How is this not ideal? by turbidostato · · Score: 1, Insightful

      Yeah, sure you want your mail server talk IMAP. SMTP on mail servers is so nineties!

    2. Re:How is this not ideal? by Anonymous Coward · · Score: 0

      Problems are boundless when people save costs by providing a browser interface as a front to javascript as a front to html as a front to jsp as a front to java as a front to xml as a front to java VM as a front to databases as a front to OS as a front to OS VM as a front to physical server as a front to business processes as a front to marketing as a front to customer ID as a front to customer programs as a front to potential customers as a front to real people and families with real needs, expectations and means.

      No wonder somewhere along the way you lose something important..

      Captcha: penguin

  26. Call your recruiter! by Anonymous Coward · · Score: 0

    Maybe you can get into a new trade like making screw drivers or something. Screw drivers rarely change.

  27. Deliberately missing browser features by tepples · · Score: 5, Informative

    Yes, you are dreaming. Operating system publishers leave features out of their browsers on purpose to push their proprietary native app platforms. Ever tried using WebGL, the Stream API, or with content types other than pictures and videos in Safari for iOS?

    1. Re:Deliberately missing browser features by Anonymous+Brave+Guy · · Score: 5, Insightful

      Operating system publishers leave features out of their browsers on purpose to push their proprietary native app platforms.

      Well, that and the fact that every technology in history that has attempted to offer native access and functionality to remote web sites has gone on to become one of the biggest Internet security problems of its generation.

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    2. Re:Deliberately missing browser features by jellomizer · · Score: 4, Funny

      What do you mean, this was the point of ActiveX. ActiveX didn't cause any security concerns.
      It isn't like when someone is asked to accept to install something, they will just hit Yes, to get it out of the way.

      The Web isn't a good way to do high performance computing. The good news is, most people don't need high performance.

      --
      If something is so important that you feel the need to post it on the internet... It probably isn't that important.
    3. Re:Deliberately missing browser features by Anonymous Coward · · Score: 0

      The Web isn't a good way to do high performance computing.

      That just doesn't have to be true, or at least, not as true as it is today.

      The good news is, most people don't need high performance.

      That's only true in the facile sense that nobody needs anything on computers.

  28. When a platform allows only one language by tepples · · Score: 2

    How can a developer "Just recognize you need to compile for different build targets" if one platform runs only Objective-C++, one platform runs only verifiably type-safe .NET CF bytecode, one platform runs only Java bytecode, and one platform runs only JavaScript?

    1. Re:When a platform allows only one language by Anonymous Coward · · Score: 0

      Which platforms run only one language?

    2. Re:When a platform allows only one language by Anonymous Coward · · Score: 0

      > Which platforms run only one language?

      LISP Machines? :)

  29. This guy doesn't get it. by Kremmy · · Score: 1

    I only had to read far enough to see that he says you have to compile a web application three times, once for the browser, once for Android, once for iOS. His methodology is so broken that he's unable to comprehend the idea of a cross platform website.

  30. Unsupported web APIs by tepples · · Score: 1

    That doesn't help if the user is offline more often than online and the user's browser doesn't support IndexedDB. This is the case for a Mac, iPod touch, or iPad running Safari. (source: caniuse.com) Nor does it help if the user runs into error messages like "Hmm. While your browser seems to support WebGL, it is disabled or unavailable. If possible, please ensure that you are running the latest drivers for your video card." (source: get.webgl.org)

  31. I don't really see it as being that bad by rsilvergun · · Score: 1

    I've had to use a lot of different code/languages for my little Firefox Plugin and it's not that hard to keep up with. For the most part I can find libraries (I use Poco and QT) that do all the heavy lifting when I'm in C/C++. For my site a little jquery goes a long way.

    For the most part there's only minor syntax differences in modern languages anyway. It's all arrays, hashs/dictionaries iterators and if statements with a bit of gui programming.

    Heck, even the gui programming follows the same basic paradigm. Again, wrote a few toy Android apps and found I was using Java to do the same stuff I do with HTML/JavaScript. e.g. Get a reference to a gui element then call methods to get/set it's state and attach a callback to it.

    What I'm finding is that until you're writing math heavy programs everything is more or less the same :P

    --
    Hi! I make Firefox Plug-ins. Check 'em out @ https://addons.mozilla.org/en-US/firefox/addon/youtube-mp3-podcaster/
  32. BREW by tepples · · Score: 2

    Java ME might have been popular in Europe. But in Slashdot's home country (the United States), I seem to remember that mobile phones were more likely to support BREW than Java ME, and BREW's digital signature policy blocked developers from self-publishing their applications. I'm told that trying to develop an app and get it approved for all the phones of all the carriers was at least as bad as trying to develop for a game console, and few companies tried.

  33. The common server side platform is x86 VPS by tepples · · Score: 1

    The consensus at least among shared web hosts appears to be CGI using PHP, Perl, or Python, and possibly Java. The next step up from that is a Linux/x86 virtual machine into which you can install whatever language you want. Desktop and mobile devices, on the other hand, aren't really built to run a separate VM per application, and they haven't even standardized on a single machine code.

  34. Offline mode by tepples · · Score: 1

    Applications not primarily intended for real-time communication have to work even when communication between the client and server is interrupted for tens of minutes to hours at a time, such as when the user of a tablet has boarded transit. This means the client has to use some sort of caching, and with Safari not supporting IndexedDB at all (source: caniuse.com), that's sort of hard to implement in a web application.

  35. Recovering the cost of running a server by tepples · · Score: 1

    How would a custom protocol ensure that the the user sees the advertisements selected by the server? Or should server operators recover the cost of maintaining the server by charging users for the privilege to use third-party clients? I think that's part of why Slashdot hasn't implemented an NNTP gateway.

    1. Re:Recovering the cost of running a server by DdJ · · Score: 1

      Ah, so it's a problem for the people with a specific business model that requires having precise control over both ends of the connection, making them fundamentally incompatible with openness and interoperability. Okay.

      Myself, I'm not very sympathetic, as I actively want to see those business models fail and get abandoned. But now I have a better understanding of why someone might dislike the situation. Thanks!

    2. Re:Recovering the cost of running a server by tepples · · Score: 1

      So what business model should such a service use other than being ad-supported, especially in markets whose users have soundly rejected paywalls?

    3. Re:Recovering the cost of running a server by Bing+Tsher+E · · Score: 1

      I use Gmail, and I have for years now. But I always use pop.gmail.com to retrieve it, and read it in Sylpheed.

      Near as I can tell, Google hasn't gone out of business.

    4. Re:Recovering the cost of running a server by Anonymous Coward · · Score: 0

      So what business model should such a service use other than being ad-supported, especially in markets whose users have soundly rejected paywalls?

      P2P, store-and-forward, edge storage.

      Even the cheapest desktop is capable of running a USENET server that could handle a full feed of every text-based newsgroup on the planet. (At its 90s zenith, USENET's text groups were a few gigabytes of transfer per day.)

      If you want to get fancy, edge storage. When every ISP had its own NNTP server, even binaries were pretty easy to deal with. Rather than having 10000 users downloading a 100MB of pr0n from some server half a planet (and three backbones and peering arangements) away, an ISP that ran its own USENET server received the binaries once, and the 1TB of data transfer from the edge server to the 10000 individual users was performed all on the ISP's LAN (er, WAN), with no impact to its peers.

      All that's happened in the past 20 years, with "the cloud" and "the web" (oh, you're located here, let me get that .gif from somewherenearby.cloudfront.net) has been to forget about the original lessons of USENET, and to reinvent it, poorly.

  36. Web APIs unimplemented in Safari by tepples · · Score: 1

    You try using a web application that relies on WebGL, IndexedDB, Stream API, or file uploads (other than images or video) in Safari for iOS and see how far you get.

    1. Re:Web APIs unimplemented in Safari by Kremmy · · Score: 1

      If the platform outright fails to support the necessary underpinnings to run web applications, why are we talking about writing web applications for it?

    2. Re:Web APIs unimplemented in Safari by Anonymous Coward · · Score: 0

      You try using a web application that relies on WebGL, IndexedDB, Stream API, or file uploads (other than images or video) in Safari for iOS and see how far you get.

      They have marginal market share. Screw em.

    3. Re:Web APIs unimplemented in Safari by Bing+Tsher+E · · Score: 1

      All the stupid rich people run iOS, near as I can tell.

      That should be reason enough.

      That 'the rest of us' use cost-effective mobile platforms doesn't matter enough yet.

  37. Change propagation; resource management by tepples · · Score: 2

    For the most part there's only minor syntax differences in modern languages anyway.

    For one thing, if I make a change to a program in one syntax, how do I propagate the change to corresponding programs in other syntaxes? Having to make the same change manually every time introduces violations of the DRY principle that lead to errors. For another, management of resource lifetime differs. Some languages, such as C++ and CPython, use reference counting, which allows deterministic semantics for finalizing objects and releasing their non-memory resources. Others use tracing garbage collection, which requires finally clauses that are trickier to handle when a non-memory resource outlives the method that allocated it.

    1. Re:Change propagation; resource management by rsilvergun · · Score: 3, Insightful

      I find the solution to that is lots of well organized libraries. I wrote an mp3 tagger and it compiles on Windows, OSX and Linux because I use Poco and QT for everything instead of writing it myself.

      I do give up some of the whizz-bang features of the language for the sake of keeping it simple, but my code base is the same on all 3 platforms.

      --
      Hi! I make Firefox Plug-ins. Check 'em out @ https://addons.mozilla.org/en-US/firefox/addon/youtube-mp3-podcaster/
  38. Emacs by Anonymous Coward · · Score: 0

    If people would only start using emacs, so much of this problem just goes away!

  39. Thanks for the update Forrest! by Anonymous Coward · · Score: 0

    Thanks for the update Forrest!

  40. Isn't it supposed to be this way? by Anonymous Coward · · Score: 0

    With separation of concerns, MVC patterns, etc. server side code only needs to primarily spit out XML/JSON data. Because every client is different, each experience is going to be different and many times this is what the developer wants. My desktop version should be different than my iOS version.

    Client side code has to be as diverse as the end users who interact with it.

  41. Xamarin solves some of this by codemachine · · Score: 3, Informative

    Client side can be made a bit less painful with Xamarin. You can use one language (C#) for all platforms, and share a fair bit of code between platforms.

    Of course you still need separate code to give a native UI on each platform, and different packaging to get the application out there.

    Gone are the days of being able to target Windows to get over 90% of the client side market. There is real fragmentation, and innovation is happening quickly. There are many benefits to this, but stability in client side frameworks is not one of them.

  42. XNA, iOS, and the web by tepples · · Score: 2

    Windows Phone 7 ran only verifiably type-safe .NET CF bytecode, and standard C++ isn't verifiably type-safe. Xbox Live Indie Games on Xbox 360 was the same way. The only language that was really usable on WP7 and XBLIG was C#; other languages required unsafe constructions (forbidden by the platform's policy) or the DLR (not present in the Compact Framework) or both. Java ME phones ran only Java ME bytecode. For a few months, iOS ran only Objective-C++ as a measure to fight the use of Adobe AIR, though Apple removed this restriction after it started to affect games' scripting. And of course, someone developing for the web platform can use any language he likes as long as it's JavaScript.

    1. Re:XNA, iOS, and the web by lgw · · Score: 1

      someone developing for the web platform can use any language he likes as long as it's JavaScript.

      Someone developing for the web platform can use any language he likes as long as it compile to JavaScript. Much of the JS actually running in browsers was generated from one sort of framework or another.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    2. Re:XNA, iOS, and the web by tepples · · Score: 1

      What languages commonly used for, say, video game development compile to JavaScript?

    3. Re:XNA, iOS, and the web by lgw · · Score: 1

      I would blindly bet money that there exists both a LUA to JS and JS to LUA compiler. It's just the kind of world we live in.

      --
      Socialism: a lie told by totalitarians and believed by fools.
  43. PLEASE LOOK UP SCHIZOPHRENIA by Yew2 · · Score: 4, Funny

    I so hate when people confuse it with multiple personality disorder. And so do I!

    --
    will work for dragon quest localization
    1. Re:PLEASE LOOK UP SCHIZOPHRENIA by Anonymous Coward · · Score: 1

      Yeh, totally wanted to make this point. Schizophrenia is marked by hallucinations and delusions. Not by multiple personalities.

  44. Incoming mail access protocol by tepples · · Score: 2

    DdJ was probably talking about the side of the mail server that stores received mail and presents it to the MUA, not the side that accepts outgoing mail from the MUA (SMTP AUTH) or forwards it to other mail servers (SMTP). Though the I in IMAP doesn't officially stand for incoming, you can think of it as if it did.

    1. Re:Incoming mail access protocol by turbidostato · · Score: 1

      "DdJ was probably talking about the side of the mail server that stores received mail and presents it to the MUA"

      Of course he did mean that... without being aware that IMAP doesn't need to be related at all with a mail servers!

      IMAP can be offered by a completly different server (or group of servers) than the mail managing ones (i.e. by means of shared/NAS storage). IMAP (as it does POP) just interfaces with user agents on hosts unable to manage their own mail.

      I just found funny that somebody that so categorically talks about how a service needs to be offered missed the service that he was talking about.

      That being said, his argument is certainly right.

  45. Don't repeat yourself by tepples · · Score: 1

    Assume there is a web application that does not run on a particular platform. Assume further that there is a demand for that application on that platform, be it in the form of a web application or a not-web application. So how should this demand be served? Translating each line of code by hand into the platform's native language violates the principle of not repeating yourself, which introduces errors in translation and doubles development effort whenever someone makes a change to the original web application.

    1. Re:Don't repeat yourself by mrchaotica · · Score: 1

      The real problem is "what is a platform?" If a platform is sufficiently different from the other platforms then it ought to have programs rewritten for it (because they'll be different and therefore not repeated); if it is not sufficiently different from other platforms than it doesn't need to exist (in fact, the platform developers themselves violated the DRY principle).

      --

      "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

  46. Patents by pubwvj · · Score: 1

    Software patents are destroying software. I used to develop software. I'm glad I no longer do that because I don't want to deal with all the patent trolling going on. I watch friends who are still in the field, the news, etc and am so glad I'm not them. Time to kill the trolls. Patenting in general needs to be killed. It has gotten far out of hand.

  47. Exactly two kinds of software by jtara · · Score: 1

    So, there are only two kinds of software, eh?

    You've got your server software.

    And you've got your client software. And your client software is a mess.

    Wish I were in "IT" and could sum things up so succinctly.

    1. Re:Exactly two kinds of software by iggymanz · · Score: 1

      yeah we're clearly doing it wrongly where I work, what with the database, middleware, infrastructure and proxy layers around the servers.

    2. Re:Exactly two kinds of software by Bing+Tsher+E · · Score: 1

      Optimistically, we can hope you're not being sarcastic.

  48. I don't get it. Why do you think that learning by Anonymous Coward · · Score: 2, Interesting

    I don't get it. Why do you think that learning five, or a dozen, or fifty ways to do the same damn things is fun?

    This is precisely why CS (really IT) is such a horrible field - you have to spin your wheels, faster and faster, just to do the same damn things, over and over.

    Boy how I regret wasting time studying this field! Learning new things in science or math areas is fun, even history or psychology, medicine, neuroscience, the world is wide open.

    CS/IT has become all about learning yet one more way to glue a database to a user interface. Yawn. Barf.

    No wonder fewer people of quality, especially women, eschew CS/IT. it is a horrible, soul-deadening area to work in.

  49. Swings and roundabouts by The123king · · Score: 2

    It was the other way round 10 years ago. Back in 2003 the dominant consumer OS was Windows, with more than 90% of all consumer computer interaction going through a PC running Windows. On the server side, you had Windows NT, Solaris, Linux and various other *NIX's. Nowadays the server market is much more unified, with either Windows or Linux dominating, and most server-side software is now tailored to one or the other, or both. However, the consumer market has changed considerably, with many new OSes and API's joining the party, including all the smartphone OSes from Android to iOS to webOS to Windows Phone 8 and it's associated Metro interface and API's. Software hasn't become schizophrenic, it's always been like that

    --
    If you gave me a choice between a printer and a giraffe with explosive diarrhoea, i'll get my ladder and my raincoat
  50. How different are platforms anyway? by tepples · · Score: 1

    If a platform is sufficiently different from the other platforms then it ought to have programs rewritten for it (because they'll be different and therefore not repeated)

    How are you defining "different" in light of the principle of separation of data from its presentation? Desktop, mobile, and web platforms are all equivalent to the same linear bounded automaton and in theory should work with the same data model. In this respect, no computer "is sufficiently different". True, the view should be rewritten to take advantage of each platform's strengths. But because splitting an application such that the model runs on a server and the view on the client precludes offline operation, a copy of at least part of the model has to run on the client.

    if it is not sufficiently different from other platforms than it doesn't need to exist (in fact, the platform developers themselves violated the DRY principle)

    Unfortunately, in the real world, platforms become popular among users despite having violated DRY for business reasons.

  51. What "marginal market share"? by tepples · · Score: 1

    Among 4"-class tablets designed to operate without a cellular subscription, I can't think of any other product with market share even close to Apple's iPod touch. Archos 43 Internet Tablet and Samsung Galaxy Player appear to have fizzled. And among phones that play Amazon Prime video, I can't think of any other product with market share even close to the iPhone. How is this "marginal market share"?

    1. Re:What "marginal market share"? by Bing+Tsher+E · · Score: 1

      People are slowly figuring it out. You can buy a pay-as-you-go android mobile phone (i.e. a Virgin Mobile one) at WalMart for $40 now. You don't have to activate it. Install a 32GB microSD card in it and use it with Wifi only. Log onto your Google account and download apps galore.

      Only really really stupid people would buy an iPod touch in today's market.

  52. server-side software is maturing - huh? sez who? by Anonymous Coward · · Score: 1

    Who said "server-side software is maturing" ??? Look at the churn in Java frameworks. Let's use Struts - no, let's use Spring MVC. Let's use JDBC - no, let's use Hibernate - no, let's use JPA - no, we need to go back to JDBC. I know ant inside and out, so let's start using Maven. Let's use JSP - no, put code in JSTL tags - no, make beans and drive them with EL - throw in some templates. Let's use Apache Tomcat - no, Glassfish - no, WildFly. And put our code in CVS - no, SVN - no, git - no, GitHub. And we can script things with Jython - no, JRuby - no, Groovy.

    It's non-stop churn every few months! And it never stops! Server-side code is utterly insane.

  53. Come back when you know what Schizophrenic actuall by Anonymous Coward · · Score: 0

    Idiot.

  54. Proper term by Anonymous Coward · · Score: 0

    We prefer the term: dissociative identity disorder (DID).

  55. PHP roolz OK by Anonymous Coward · · Score: 1

    Oddly enough the invisible hand of the marketplace has chosen to smack PHP-haters like you upside the head, and the highly visible cluestick is called "Wordpress". Get used to having dents in your skull, my friend. Nothing in its specific problem space is as easy to use and well supported as Wordpress is, and that's just objectively and quantitatively true regardless of the strengths and weaknesses of PHP.

    Personally, I like PHP, but I'm still sympathetic to your position - because that same damn invisible hand keeps skullbashing me with a cluestick called "windows"... the good enough is the worst enemy of the best.

    1. Re:PHP roolz OK by Anonymous Coward · · Score: 0

      Nothing in its specific problem space is as easy to use and well supported as Wordpress is, and that's just objectively and quantitatively true regardless of the strengths and weaknesses of PHP.

      And nothing is as easy for me to use as your wordpress site, thanks to dipshit admins with world writable DocumentRoots who use dipshit plugins by dipshit programmers who think "include()" is how you output an image.

  56. Schizophrenic, he keeps using this word... by unamanic · · Score: 2

    I do not think it means what he thinks it means. http://en.wikipedia.org/wiki/S...

  57. one of these things is not like the others. by Gravis+Zero · · Score: 1

    Client-side is a mess. Everything needs to be built (at least) three times, once for the web, Android, and iOS. In the browser you have to content with JavaScript, browser API’s,CSS, and rendering differences.

    if your application looks the same on a webpage as it does on a smartphone then YOU ARE DOING IT WRONG. Hell, if your application is on a webpage then almost assuredly, YOU ARE DOING IT WRONG.

    If you are writing a desktop, tablet, mobile or server-side application, you can use Qt to do it all.

    - desktop: OS integration, sound, graphics (transparently software or hardware based), multi-touchscreen support (for tablets)
    - mobile: Android/iPhone ports, multi-touchscreen support, direct display buffer access and more.
    - server: execute as a daemon, handling TCP/UDP directly, talking over D-Bus

    On a side note: someone wrote black magic code and ported Qt to javascript. If it's run locally, it's ok but otherwise it's a huge download. Here are some demos like Tetrix

    --
    Anons need not reply. Questions end with a question mark.
  58. pure HTML5? by Anonymous Coward · · Score: 0

    In pure HTML5?

    Show us.

  59. If everyone did that by tepples · · Score: 1

    If all users of Gmail were to switch from Gmail's web interface to Sylpheed or other native apps, how would Google make enough money to continue to offer Gmail? Google needs to find some way to keep Gmail financially afloat by either A. gently deterring users from switching to native apps full time, B. gently promoting some other Google service with a better-defined advertising mechanism, or C. charging for it.

  60. Re:Come back when you know what Schizophrenic actu by Bing+Tsher+E · · Score: 1

    This isn't an Abnormal Psychology website.

    Take some more haldol and sit down.

  61. prejudice by Anonymous Coward · · Score: 0

    I wish the term Schizophrenic wasn't used to desribe somthing, that you have no idea of what it really is. Unless you are Schizophrenic, you're only insulting people that are mentally ill. It's slander and prejudice. Choose your words wisely.

    This may not be the best place bring up the topic at hand, but I owe it to Jono Bacon. He used the term in his pure voltage radio show, and was kind enough to apologize. I don't see this going away, but if a man of his callibre can try to change his choice of words in the future, so can everyone else.

  62. The difference... by Junta · · Score: 1

    A server developer can be delusional and think their particular pet technologies are the only ones in the world and that *everyone* is on board. The target users will be non the wiser. About the only aspect that he calls out that is fairly fixed is the notion that *EVERYTHING* must be http based (which I hate, the http protocol was designed around certain usage scenarios and it is atrocious for a lot of uses but it gets shoehorned into them anyway).

    Meanwhile, on the client side, if you do want to hit 100% of the market and you have a moderately complex client to do, you may have to do IOS, Android, several different set top boxes (e.g. Roku), game consoles (PS3, Xbox), and Windows (to use netflix as an example).

    --
    XML is like violence. If it doesn't solve the problem, use more.
  63. Cuts both ways by SuperKendall · · Score: 1

    Almost every major framework now has MVC capability, JSON API capability, and package management to name a few.

    But you can say the same thing about pretty much every well-used client framework. Most of them use some form of MVC now, or at least separate concerns... most all of them use JSON/HTTP to talk to servers now, most all of them have ways to extend with frameworks or modules or what have you.

    I can't think of any server innovation that is not mirrored on the client side. That's why I can't see labeling both sides different, they have all advanced with modern programming constructs (and often very similar constructs).

    The client-side is far from being as simple, as now there are many use cases that need to be accounted for.

    I'll grant that is true, but it is NOT a programming issue. It's a domain issue. Try to build a server API for many different kinds of clients and you quickly get just as big a ball of yarn... and every server being open to API calls is currently The Future.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
  64. Microsoft is mostly to blame. by Jartan · · Score: 1

    Open and mature client technologies have always been a threat to MS's core business.

  65. Obama IS Schizophrenic by Anonymous Coward · · Score: 0

    A good day when the SS lashes a chain around the neck of Barak Obama and drags him out of the White House and then kill him on the lawn and leaves the body to rott for all to see.

    Ha ha

  66. For GUI stuff: Lazarus by Casandro · · Score: 3, Informative

    http://lazarus.freepascal.org/...
    It just compiles to Linux, MacOSX and even Windows. And for all three you get a statically linked library. And in all three you get a native GUI with the GUI elements the user expects.

    I haven't tried Android or Windows CE support, but they are claimed to work.

  67. C and C++ work everywhere by loufoque · · Score: 2

    The article (which is shit, it's just the rambling of a web developer) says that you need to do development many times in different languages for each platform.
    Yet C and even C++, real programming languages and not toy or hipster languages, will actually work everywhere and can satisfy all requirements : client-side, server-side, iOS, Android...

    1. Re:C and C++ work everywhere by Teunis · · Score: 1

      Yes, this.
      I work at a company that has standard C++ across all supported platforms
      and my own projects are largely C (and occasional use of C++).

      hooking into interface, UI or devices is platform-specific but that's not a surprise - underlying technologies have diverged quite a bit between platforms.

  68. Liability for warez and CP in this CYA world by tepples · · Score: 1

    Even the cheapest desktop is capable of running a USENET server that could handle a full feed of every text-based newsgroup on the planet. (At its 90s zenith, USENET's text groups were a few gigabytes of transfer per day.)

    Unless your satellite, cellular, or Iowa DSL ISP gives you only single-digit gigabytes of transfer per month.

    When every ISP had its own NNTP server

    I'm guessing there wasn't quite as much CYA mentality as it is now. The problem with edge storage of user-generated content is that ISPs don't want the liability of storing warez and CP on their servers. That or it just became unprofitable to pay an employee to run an NNTP server on behalf of users who aren't paying extra for the NNTP server. This raises the original question: So what business model should an ISP use to cover the IT and legal cost of running a server that caches user-generated content at the edge?

    [Web CDNs have tended] to forget about the original lessons of USENET, and to reinvent it, poorly.

    A CDN hosts only those files that a subscriber offers, and the CDN can terminate a customer's service if the CDN feels that the customer's actions have created an unacceptable liability risk.

  69. Platforms that don't offer C++ in the first place by tepples · · Score: 1

    How would you port your MP3 tagger to an operating system where all end user apps are written in JavaScript, such as Chrome OS or Firefox OS, which doesn't offer POCO or Qt because it doesn't offer C++ in the first place?

  70. You wouldn't by rsilvergun · · Score: 1

    unless the platform maker let you write in C/C++ . If the platform vendor wants to lock things down that much then you're pretty much done.

    If you're libraries have ports then you're in a bit better shape. The library does all the heavy lifting, and you have a skeleton of function calls, if statements and for loops to control logic. Most of the big libraries like Poco/QT see ports to everything that can take 'em. But again, if a platform vendor wants to lock it down to the point where everything's JavaScript then you're only option is wheel reinventing or ignoring the platform...

    --
    Hi! I make Firefox Plug-ins. Check 'em out @ https://addons.mozilla.org/en-US/firefox/addon/youtube-mp3-podcaster/
    1. Re:You wouldn't by tepples · · Score: 1

      Windows Phone 7 and Xbox Live Indie Games are other examples of platforms locked down to one language (C#). All other .NET languages pretty require facilities not present in the .NET Compact Framework. And during the seventh console generation, Xbox Live Indie Games was pretty much the only video game platform that 1. was commonly connected to monitors big enough for multiple people to fit around and 2. was open to less-experienced developers.

  71. Xojo by Anonymous Coward · · Score: 0

    Xojo runs on Mac OS X, Windows, Linux, and WEB. It will soon use LLVM (be 64 Bit) and support native iOS development then Android. It is fully object-oriented and works with all the major databases.