back to article Are you writing code for ambient computing? No? Don't even know? Ch-uh. Google's 'write once, run anywhere' Flutter is all over it

Google has translated Java's "write once, run anywhere" promise into the words "ambient computing," which it has begun using to explain Flutter's reason for being. On Wednesday, the Flutter development team, in conjunction with a Brooklyn, New York-based gathering dubbed Flutter Interact, pitched the programming toolkit as the …

  1. Steve Aubrey
    Joke

    Buzzword bingo

    "Flutter is the Chocolate Factory's open-source, post-platform, interface development framework for creating applications that run on the web, mobile devices, desktop computers, and other chip-bearing kit with graphic interfaces like so-called smart televisions. And it's this last segment, the appliance and IoT market, that's a new addition to the Flutter conquest plan, at least in terms of public messaging."

    I win! Or do I?

    1. Pascal Monett Silver badge

      Don't worry, it's our privacy that's going to lose, as usual.

    2. Anonymous Coward
      Anonymous Coward

      Re: Buzzword bingo

      They missed Paradigim.

      No doubt they will quitely drop the whole thing in a year leaving everyone high and dry, or failing that suddleng have a new expensive licencing model after drawing people in.

    3. bombastic bob Silver badge
      Facepalm

      Re: Buzzword bingo

      should've used a 'snark' icon because this "Buzzword Bingo" thing has been going on WAY too long, we've all seen it before, half the time it was Micro-shaft doing it (whatever happened to Silverlight?) and now it's GOOGLE doing the SAME THING.

      I didn't like JQuery, I don't like NodeJS, I *REALLY* hate UWP and ".Not", and now "THEY" are horking up some "new thing", only THIS time it's Google doing it.

      Yeah. THAT'll make it *BETTER*. </snark>

      (and don't EVEN get me started on 'materialize')

  2. Teiwaz Silver badge

    It's maybe an apt name

    Being a choco product, it'll be an even more apt name when they abandon it for something new.

    Why does the logo put me in mind of a rail network though? Lot of negative baggage in that association....

    1. IceC0ld Silver badge

      Re: It's maybe an apt name

      don't worry, here at El Reg, we're bound to get TITSUP into there eventually :o)

      1. Psion1k
        Trollface

        Re: It's maybe an apt name

        Total Inability To Supply Universal Platform?

    2. Michael Wojcik Silver badge

      Re: It's maybe an apt name

      "Harvesting a bunch of data and then abandoning the project, the devs said, is the core of the company's vision for Flutter."

  3. a_yank_lurker Silver badge

    Tool For All??

    There can be no tool that works for all computing applications. Flutter and other tool kits may make working in a largish area easier as that is what they cover well. But there will always be areas they will not work very well due specific needs in those areas. What Flutter might do is make develop web and generic desktop applications easier, quicker, etc. (no direct experience with Flutter). And this is a large area but it is not all areas. Also, within this area there will be situations were old school methods are still the best.

    A comparison is with programming languages. There are many very popular languages. All have a target niche that they are best at and tend to dominate. If you work in one of these niches you might know C and similar languages fluently but a vague idea about JavaScript, Python, C#, or Java.

    1. Anonymous Coward
      Anonymous Coward

      Re: Tool For All??

      "There can be no tool that works for all computing applications."

      I seem to recall from my 3rd year course on computation complexity in my maths degree at Oxford many years ago that a one-tape Turing machine sufficied for pretty much everything (so long as you had enough time and a long enough tape!) ... and there was a time when, I assume, I would have been able ot remember how to prove that this was correct.

      1. JohnFen Silver badge

        Re: Tool For All??

        I think "works for" means more than just "it can technically be accomplished". It means "works acceptably well".

        I have not yet seen a "write once, run everywhere" scheme that actually works well everywhere. I have no reason to think this one will, either.

    2. Maximum Delfango
      Boffin

      Re: Tool For All??

      Yes there is: The Last One.

    3. Michael Wojcik Silver badge

      Re: Tool For All??

      I dare say even most people at Google know that user-facing applications don't represent a majority of computing resources used. They're dwarfed by scientific HPC, business backend processing, communications, embedded controllers, and pointless waste like cryptocoin mining.

      I gave an academic presentation a few times on "how computers are really used" where I pointed this out, and also noted that it's likely the most common user-facing computer application is "digital clock", because so many appliances have one. (Yes, you can certainly implement a digital clock with non-Turing-Complete hardware, but since those applications these days pretty much always have general-purpose CPUs for other functions, it's cheaper to use them to implement the clock as well.)

      In short (I know, too late): While the claims of the Flutterers are certainly hyperbolic, I expect they assumed their audience would infer a "for the user-facing portion of applications that have a UI".

      That said, I too find this sort of thing neither novel nor particularly interesting. UI development shouldn't be expensive. UI design is, if it's done right; but these use-it-everywhere frameworks don't help with that. Do the design properly and build the backend properly, and you should be able to cheaply create and maintain UIs for whatever end-user devices you need. They're optimizing the wrong part of the problem space.

  4. Dinanziame
    Pint

    Null safety is a way to prevent errors when variables have a null value.

    That's the part of the article that made sense to me. I guess I'm a bit early with the weekend waterhole visits...

    1. karlkarl Bronze badge

      If you have a NULL pointer o a struct and you access something on that struct, you believe the program will crash? That is good; it shows you that your code is broke and needs fixing.

      It seems though that that isn't a part of the language standard to deterministically crash; it is simply undefined behavior, it could email a bunch of porn to your boss instead.

      Why it seems to always crash on a modern OS is that that segment of memory is mprotect()'ed on standard operating systems (or VirtualProtect()ed if on Win32).

      MSDOS with Watcom C didn't crash as far as I know when accessing NULL. It wasnt until DJGPP (GCC based C compiler) that a very early mprotect was implemented (and required virtual memory hardware).

      So yes... the ONE thing that I rely so much on; is in theory undefined behavior.. Goddam C, why do I love you so much?

      1. JohnFen Silver badge

        "That is good; it shows you that your code is broke and needs fixing."

        Yes. I much prefer crashing bugs over non-crashing ones in part because they're easier to notice and in part because they tend to be easier to diagnose and fix.

        1. Claptrap314 Silver badge

          That really depends on the nature of the bug.

          At a company I worked for, the random code generation test rapidly found the call to turn off the box. That wasn't so easy to diagnose...

          1. JohnFen Silver badge

            Yeah, that would suck -- but that doesn't sound like a crash as such.

  5. karlkarl Bronze badge

    ... and when you need to call into a C/C++ OS library as part of your requirements you are basically back up shite creek. Even worse because now you need to faff about creating sodding bindings to use the native library because you chose yet another stupid domain specific language or toolset.

    Stay safe kids. Stick to... normal crap ;)

    1. Elledan

      I still maintain my position that the JNI is a prime example of cruel & unusual punishment, as well as crimes against humanity.

      It's always nice to use a sane language that happily ties into the world of C, like C++, Ada and I guess Visual Basic?

      1. Julz Bronze badge

        I've always had a soft spot for Modular2 the grown up version of Pascal.

      2. DCFusor Silver badge

        perl

        Use Inline C => 'End_OF_C';

        //Put your C code here, including any #includes - you can expose whole libraries

        End_OF_C

        I just finished a raspberry pi app that talks to an ADS1115 a/d converter using wiring pi via this mechanism. Of course, since it's perl, people will call it line noise rather than appreciating how easy

        that was.

  6. trevorde
    Facepalm

    Here we go again

    Write once, debug everywhere

    1. Anonymous Coward
      Anonymous Coward

      Re: Here we go again

      "Write once, debug everywhere"

      LOL. Reminds me also of this particular style of coding we once were calling "Write once, read never".

  7. Warm Braw Silver badge

    Ambient computing?

    There was enough fuss about the ambient sausage roll.

  8. Notas Badoff

    Anywhat?

    Once you mentioned them going directly to the "Skia graphics library" I began to question. Is this "write once, run anywhere" or is this "write once, run anywhere on hardware from Google" ? It's so mighty tricky fitting in 'anywhere', but making assumptions on something as low-level as how to make pretty dots sounds like premature specialisation.

    1. Michael Wojcik Silver badge

      Re: Anywhat?

      So cynical. It's "write once, run on anything Google decides to support, until they decide not to".

      Fortunately Google are well-known for supporting all the crap they push to third-party developers.

    2. TeeCee Gold badge

      Re: Anywhat?

      Presumably the library can port along with the runtime environment.

  9. FuzzyWuzzys
    Facepalm

    Hmmm

    Last two times I heard something like this was Java and Flash! While they most certainly have appeared everywhere, they've also both left horrendous security blight on the world of tech!

  10. The Man Who Fell To Earth
    FAIL

    Yes!

    Because the world doesn't have enough computer languages,especially ones designed to deskill the writing of vapid ad slinging apps.

  11. Anonymous Coward
    Anonymous Coward

    Good to see their ambient system that runs on multiple device everywhere has focused on the important things like UI widgets.

    I guess security & efficient use of resources are so last year when everything dials back home to google.

    Probably should have called it fickle.

  12. Maximum Delfango
    Boffin

    Want your head simultaneously fucked and untucked?

    https://en.wikipedia.org/wiki/Q_Sharp

    This is what programming will and won't look like in the future. Probably best I'm retiring soon...

  13. Anonymous Coward
    Anonymous Coward

    Yes definitely invest your valuable attention and brain resources learning and developing for our ecosystem. We promise not to get bored of it if we can't find a way to monetise it quickly enough.

    Love Google

  14. Locomotion69
    Coat

    Great solution!

    But what is the problem it does should solve ?

    1. Zippy´s Sausage Factory
      Devil

      Re: Great solution!

      The problem I suspect it's *really* meant to solve is the one of the lawsuit from Oracle about the Java APIs...

      Cynical, moi? You betcha...

    2. dnicholas Bronze badge

      Re: Great solution!

      Not enough useless IoT widgets in landfill, apparently

  15. fedoraman

    Write once, run everywhere*

    *For small values of "everywhere"

POST COMMENT House rules

Not a member of The Register? Create a new account here.

  • Enter your comment

  • Add an icon

Anonymous cowards cannot choose their icon

Biting the hand that feeds IT © 1998–2020