Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Google Programming News

Google Blockly — a Language With a Difference 141

mikejuk writes "There are aspects of Google that increasingly don't make sense. First they dump App Inventor — a graphical language for Android apps — in a fit of spring cleaning and closures — and now they have launched another Scratch-like graphical language, Blockly. However Blockly is different. It works like Scratch or App inventor but it is written in JavaScript. This means it can be included in any web page or web app very easily. This, in turn, means that it can be used for education, getting people to learn to program, or as an easy-to-use script generator for the app. The FAQ gives the example of automating GMail filters and management. The additional difference is that Blockly can compile its programs to JavaScript, Dart or Python so you can take the script and develop it further. This is a really good idea. As long as Google doesn't throw this one out in a fit of reorganization and spring cleaning, it's a welcome new language."
This discussion has been archived. No new comments can be posted.

Google Blockly — a Language With a Difference

Comments Filter:
  • by Thud457 ( 234763 ) on Tuesday June 12, 2012 @02:27PM (#40298863) Homepage Journal
    I thought Minecraft had comprehensively solved the problem of creating a Turing-complete graphical programming language. It's redstone all the way down.
    • Re: (Score:2, Informative)

      by Anonymous Coward

      Dwarf Fortress [dwarffortresswiki.org] did it better in my opinion. Using fluids you can construct literal logic gates!

    • Redstone is great, but it simulates digital circuits. Programming languages exist at a high abstraction. You can certainly create programming "units" in Minecraft, but to actually make it do useful work requires a lot of time and room.

      Some mods and add-ons address the tediousness, but at best, it goes from circuit design to coding in assembly. Assembly isn't exactly what you'd learn to write code with.

      Minecraft is probably more suited for the EE or MicroE novice who's learnnig circuit layout and design. Wit

  • by Anonymous Coward

    There are things Google does that don't make sense, such as X and Y. Now they've done Z that makes sense of X and Y. I sure hope they don't do to Z what they did with X and Y!

  • by MrEricSir ( 398214 ) on Tuesday June 12, 2012 @02:33PM (#40298925) Homepage

    When you bring a product to market, your users just don't expect it to suddenly go away and be replaced by something else a year down the road.

    If you violate this expectation too many times, people will stop paying attention. For this reason, "maintenance mode" is one of the most overlooked -- yet most important -- parts of the product lifecycle.

    Look Google, yeah, we get it: you like inventing stuff. Great. But here's the thing -- people want to use the products you've invented. We'd rather have you support your existing products than throw them away and spend a year or two developing a replacement. Yes, there's a cost to doing this. But if you care about the long term, you'll put in the extra effort.

    • by MozeeToby ( 1163751 ) on Tuesday June 12, 2012 @02:37PM (#40298989)

      Most of the things they trash have userbases measured in the hundreds. It's just not worth it financially to put money into maintaining something that has a few thousand users even if it does cost them some goodwill to the project. Kill it, move on to the next thing and if its an area that you really want to make something happen in try again with a different approach. Staying static with what can only be described as a failed approach isn't going to win you any profit.

      • by Anonymous Coward on Tuesday June 12, 2012 @02:53PM (#40299231)

        Many of the projects Google kills are ones that I only hear about when Slashdot announces they've been killed. That's a failure on Google's part unrelated to the people responsible for making the project. You can't call a project a failure in popularity if it never was given a legitimate chance.
         
        Even though these killed projects have very few users, I hear about so damn many projects of Google's that get killed that I don't wouldn't want to risk relying on them to maintain anything beyond mail. Why bother investing your time in a new Google service when it's probably going to be killed soon anyways? You're going to end up shit out of luck with wasted effort, and you knew it was coming before you even started.

        • You would prefer that Google support every little project for perpetuity?

          It's funny to me that /. can be so libertarian and yet so completely misunderstand why unsuccessful projects must be killed. Google tries a lot of stuff out. Most of it will not make the cut. The SMARTEST thing they can do is give each project a chance to catch hold and if it fails then stop dumping resources into it.

          Granted, they might do a better job of announcing things prior to killing them. Also, in most cases they should simply r

      • by jythie ( 914043 )
        Thing is, such killing of projects has effects outside the immediate userbase. Google is building a reputation for putting together projects, getting users, and killing it. If this pattern continues people are going to become increasingly reluctant to invest time/energy into things Google back because the risk of it being shut down feels too high. So there is a potential PR problem here, though I do not think we have reached it given the amount of goodwill they have through other things.
        • by Anonymous Coward

          Thing is, such killing of projects has effects outside the immediate userbase. Google is building a reputation for putting together projects, not getting any significant number of users, and killing it.

    • Aren't pretty much all of the projects they trashed free to use? I could see your argument holding a lot more water if it was a pay service or some kind of contract, but what Google's doing is trying a whole bunch of stuff. If it doesn't catch on, then why should they pay to maintain it if no one is paying them to use it?

      • Free as in beer is often the least of the resources invested. My time and energy are also limited, I'd like to invest them wisely, and not into something that will disappear, leaving me with nothing.
      • Trying a whole bunch of stuff is great -- in a closed beta. Once you open it up to the world it's a different story because the expectations are different.

        I might also add that nobody pays to use Google Search, Google Maps, etc. So in that respect, it's no different than App Creator, Code Search, Wave, Meebo, or any of the other products they've killed.

        • by Anonymous Coward
          Au contraire. You do pay, just not with money. Install noscript and Ghostery and you'll realize that Google is pretty much omnipresent in the web.
        • it's no different than App Creator

          App inventor wasn't killed.

          It was gifted to MIT. You can use it here: http://www.appinventor.mit.edu/ [mit.edu]

    • by Anonymous Coward on Tuesday June 12, 2012 @02:41PM (#40299065)

      You should totally post this on Google Wave.

    • by Anonymous Coward

      Look Google, yeah, we get it: you like inventing stuff. Great. But here's the thing -- people want to use the products you've invented. We'd rather have you support your existing products than throw them away and spend a year or two developing a replacement. Yes, there's a cost to doing this. But if you care about the long term, you'll put in the extra effort.

      That doesn't sound very Agile(tm). It's over the waterfall for you, heretic!

    • Google: Really good at launching. Really good at hyping.

      Maintenance, upgrade, and support? Not so much.

      • Maintenance, upgrade, and support? Not so much.

        Upgrade? Are you sure? google are always upgrading stuff.

        All the time.

        I, personally love the upgrade to google maps where all the country names are in the country's language an script. It's *so* cool. There's unicode all over the place. It's the coolest thing ever. Really. And so culturally sensitive and aware. It's a good job I can read all the latin script languages, Greek, Farsi, Arabic, Thai, Cyrillic (Russian and Georgian), Ethopian, Japanese and Chinese o

    • by Sponge Bath ( 413667 ) on Tuesday June 12, 2012 @02:57PM (#40299271)

      If you violate this expectation too many times, people will stop paying attention.

      This very true line made me think of network executives and programming *cough* Firefly *cough* Caprica.

      • by nurb432 ( 527695 )

        Not just "network execs", but those bastards at 'syfy'. .

        Don't forget Farscape, one of the first causalities by those idiots, and the sign of things to come.

        • by bmcage ( 785177 )
          Farscape? I have all the seasons of that, and the movies. Surely you can't expect things to go on forever?
          • Well personally I didn't enjoy the lot of scifi series that ended abruptly and had to be completed with a movie... Never mind that before that they were pushed aside, using some obscure measuring of popularity and priorities. With the exception of Serenity, I hated all those movies for their scripts.
          • by nurb432 ( 527695 )

            Forever, no. But when its making money for them i don't expect them to cut it off mid-story line and at least let them wind the series up if it is going to go away.

          • IIRC the writers planned for one more season, and more-or-less been told they were going to get it hence ending S4 the way they did. When it looked like they might not get it, they instead asked for a "half" season but didn't even get that. The only reason the mini-series that closed it off happened at all was fan outcry. The reason that mini series seems so rushed in many places, good though it still managed to be, is because it *was* rushed: it tried to close in 2x90 mins the lose ends the half-series wou
    • by timeOday ( 582209 ) on Tuesday June 12, 2012 @03:04PM (#40299367)

      When you bring a product to market, your users just don't expect it to suddenly go away and be replaced by something else a year down the road.

      Just keep in mind how many defunct companies are, in retrospect, faulted for refusing to sacrifice their sacred cow / cannibalize their existing business / streamline their offerings. Keep in mind how many slashdotters revile Intel for maintaining x86, and Microsoft for not being innovative enough, and for feature creep. I realize you did address that a little bit in your post, but still I don't think people realize what "being willing to fail" actually means in practice. It means you often incur losses associated with failure, including a hit to your credibility.

    • by istartedi ( 132515 ) on Tuesday June 12, 2012 @03:37PM (#40299789) Journal

      Model-Ts were "any color you like, as long as it's black". It was General Motors that started coloring things up and I think they also invented model years. The model year is a not so subtle suggestion that you are driving an "old" car even though it still runs fine.

      As people "acquire" technology like search and programming languages, the people who made their scratch creating these things are left with nothing to do. You might think they'd move on to create something entirely different, or that they'd move into maintenance mode as you suggest. However, they have special expertise in creating not maintaining, and moreover they have special exerptise in creating particular kinds of things. The easiest thing for them to do is fool people into believing that thing A is obsolete so they can create thing B which is fundamentally the same. They maximize their profit that way. It's not so much malice as it is simple laziness. It's economics 101, really.

      People want recurring revenue. It's the next best thing to economic rent. Or as I like to say, "everybody wants to be a subsidized farmer".

      • by rHBa ( 976986 )
        BTW, your sigblock is really annoying, are you trolling with that or what?

        FYI, I'm referring to 'all intensive purposes', it gives me a headache just typing it :-/
        • It's a joke. It's an old joke. I would change it, but it's drawn a lot of remarks and that causes problems with the integrity of the archives.

          Why? Because AFAIK Slashdot archives a function call to the "sig function" that you define in your preferences. If I change my sig, I change the appearance of the archived pages. It would create too many bizarre non sequiturs regarding the comments about the sig.

          Slashdot could fix this by crawling the entire archive, replacing the function call with the current r

      • Model-Ts were "any color you like, as long as it's black". It was General Motors that started coloring things up

        Actually, for the first half decade the model T was in a few colours: none of them black. The quote is correct though, but the all-black period is later in the car's life cycle.

    • Google is a prime example of why you should have marketers, accountants and lawyers running big companies, and not geeks.

      Geeks like making geeky stuff for other geeks, which is fine in itself, but not a basis for a publicly owned company with shares held by non-geeky investors.
      • by PGC ( 880972 )
        Marketers, lawyers and accountants have no business running any companies. They are support functions, no more, no less.
  • Google can start something like this, but they should reach out to individuals, Universities and other corporations that may be interested, form a foundation, and let it be free as in freedom. If it is something interesting and people want to use it, more people will contribute effort to growing and maintaining the environment. If Google finds it useful, then Google can contribute money or time to the foundation and leverage the efforts of everyone else involved. In the long run it is better for Google a
  • ..."building an app graphically" is to "learning programming" what "using a calculator" is to "learning math." You've replaced an actual understanding of the underlying process with a bunch of buttons to be punched.

    It's only still "programming" if you have the knowledge to do it without the tools, but not the time.

    • Re: (Score:2, Interesting)

      by Iniamyen ( 2440798 )
      I think the working definition of "programming" has changed over time. Or at least, there has been the emergence of a new type of programming... "system programming." There is a lot of lower-level stuff that is now taken for granted.
    • by Lumpy ( 12016 ) on Tuesday June 12, 2012 @02:43PM (#40299083) Homepage

      Says the elitist. The demo of a maze solver is a perfect example of teaching logic programming.

    • ..."building an app graphically" is to "learning programming" what "using a calculator" is to "learning math." You've replaced an actual understanding of the underlying process with a bunch of buttons to be punched.

      It's only still "programming" if you have the knowledge to do it without the tools, but not the time.

      You've just summed up Google's whole business model.

    • by arose ( 644256 ) on Tuesday June 12, 2012 @03:01PM (#40299331)
      So how fluent exactly are you in machine language these days? Wouldn't want to rely on assembler or anything...
      • by Anonymous Coward

        Not sure where you got the machine language from but... I always tell people "anybody can learn to program in 7 days, but to learn to write software that is relatively bug-free, usable, and maintainable, that takes several years of study + several years of field experience." I think that's what the GP meant too.

        Another analogy, it doesn't matter whether you use a regular hammer and handsaw or you use laser-guided power tools, if you don't understand the underlying principles of construction the house you bu

      • 01010110 01100101 01110010 01111001 00100000 01100110 01101100 01110101 01100101 01101110 01110100 00100000 01100001 01100011 01110100 01110101 01100001 01101100 01101100 01111001 00101110 00101110 00101110
    • Not at all. There are two sides to mathematics: the theoretical side, and the practical side. The theoretician would agree completely with what you say: if you can only use the calculator and don't know the underlying process, you aren't doing math.

      The practical side disagrees. If you don't need to have an understanding of the underlying principles to do the problem, there is no point to learn it. The thing is, except for a fairly small group of people, programming is a strictly practical function. If you

      • Re: (Score:3, Insightful)

        If you can accomplish what you need to, there is absolutely no point in having an understanding of the underlying process

        *shudders* I hate to actually have to watch as civilization collapses...

        • That's why I said "from the practical side", i.e. as someone interesting in making a program that works, rather than in designing a programming language or taking on a project for fun. Obviously, there is a tremendous value in knowing the underlying mechanics, ideally all the way down to the bare metal. But if all you need to do is create something that performs a function, that understanding adds little in value. My example with the car was, I thought, a pretty good illustration: obviously, someone needs t

        • by gtbritishskull ( 1435843 ) on Tuesday June 12, 2012 @04:16PM (#40300285)
          That is actually how civilization advances. People specialize. I drive to work every day. I use a car (a tool) that was created by people who have spent most of their career becoming better, through education and experience, at making that tool (the car) better. It makes me A LOT more efficient at my job because I can drive 20min each way instead of walking for 3 hours each way. I, on the other hand, make other tools (computer programs) that they can use in their everyday life to be more efficient. An example of this analogy is g-code [wikipedia.org]. The car specialist can quickly mill out a part to test on a CNC machine without having to do it by hand and without worrying about how the processor interprets the code, or how the mechanical linkages of the mill work, or the energy characteristics of the milling motors. Because he is using a tool, not trying to understand the underlying process.
          • by lorinc ( 2470890 )

            That is actually how civilization advances.

            No it's not exactly the case, and you gave a perfect example right after. Are you advancing the civilization by being more efficient at your job thanks to a tool you don't understand? I don't think so. You are surely advancing the profits of your company, or your own profit if the paycheck at the end of the month is all you are looking for. But for the somewhat positive evolution of of masses behavior that you named civilization advancement, it's another story.

            Civilization changes due to a deeper comprehens

            • Are you advancing the civilization by being more efficient at your job thanks to a tool you don't understand?

              Yes.

              Civilization is the sum of its parts. If a genius scientist is bad at technical writing, it is not a failure of civilization. He will instead just find a person who is good at technical writing to help him write his papers. If an astronomer uses Blockly to help him make his telescope scan the sky more efficiently, and discovers dark energy, the fact that he does not know javascript is not really important. If someone is trying to advance civilization in the field of computer science, and doesn't und

    • by Anonymous Coward
      Yeah, yeah.

      I just showed my daughter the maze demo.

      Forward 1, Right 1, Forward 2, Left 1, etc, etc, - it reminded me of my school days with the turtle and Logo. It's a manual list of commands and no fun after the first time.

      Then I said something like:

      Move forward until wall ahead
      if No Wall On Right then Turn Right
      Turn Left

      And we put the jigsaw pieces together and the maze was solved.

      How's that not programming? Does it matter if I typed the code in words or fitted jigsaw piece? It has statements and loops, a
    • Your analogy doesn't quite work. Calculators solve math problems. Besides addition and subtraction, a calculator trivializes the work needed to arrive at the solution. It gives you the solution, without you needing to perform any of the in-between steps.

      Programming is not a math problem. Computer science is applied mathematics, but even that is not a math problem. Computer science is more like fitting the right mathematics to the problem to arrive at a solution. But programming isn't computer science either

    • by jeffb (2.718) ( 1189693 ) on Tuesday June 12, 2012 @03:35PM (#40299763)

      You're quibbling over symbology, while missing the important distinctions.

      At the most trivial level, just about all programming is "graphical". Characters are symbols. A two-dimensional array of symbols is a graphic. You don't think of it as a graphic, but there it is, right there on your display.

      If you've got a graphical language that lets you drag colorful boxes around, snap them together, and watch them twinkle contentedly as the program executes, how exactly is that different from using text? If it's "less rich" -- if there are constructs available in a "conventional language" that aren't available in the graphical language -- then we can discuss the graphical language's particular deficits, and perhaps correct them.

      • I think the key point of a visual programming language/editor is functionality. I once used a *terrible* flowchart-based C compiler. It was literally impossible to do some things. Like, say, a modulus. Or define your own subroutines. And so on.

        You know what would be a good test for this? You should be able to write a program (any program) in regular text mode, then import it into a visual editor and edit it there, and then re-export it into regular text and have it still be legible. If a visual editor can d

        • by slim ( 1652 )

          You know what would be a good test for this? You should be able to write a program (any program) in regular text mode, then import it into a visual editor and edit it there, and then re-export it into regular text and have it still be legible. If a visual editor can do that, it's as good as any other IDE.

          No, that's not the aim. The lead dev wouldn't do his real coding with jigsaw pieces. It's an educational tool. You can export to JS/Dart/Python and that's good for two reasons:

          1. The learner can see how their jigsaw pieces translate into text
          2. The learner can take that text and use it as the starting point for something bigger

          The real point of this is that you can get started without learning syntax. Most of us don't remember how hard we found syntax when we got started, but it's a real issue for many begi

    • It's just the normal programming blocks, while untill, if, and then some actions and boolean expressions... Where you put things together like blocks... It's for people who can't type the keywords in plaintext and would thus rather drag n' drop the keywords... Doesn't make sense...

      By the way I doubt this is a product, looks more like an experiment. And let not blame Google stop wasting money on this when they do...
      Instead I'd give them a little respect for wasting money trying to make something that m
  • by Megane ( 129182 ) on Tuesday June 12, 2012 @02:35PM (#40298963)

    As long as Google doesn't throw this one out in a fit of reorganization and spring cleaning, it's a welcome new language.

    If the sun doesn't come up in the morning, I can sleep all day!

  • by gestalt_n_pepper ( 991155 ) on Tuesday June 12, 2012 @02:37PM (#40299001)

    We've developed this new language that... SQUIRREL! Oh, what was that language again. Screw it. Let's dump it and develop a purely functional... SQUIRREL!

    May I gently suggest that another language is NOT needed, and that rationally built, compatible extensions and frameworks added to existing languages might, instead, be far, far more useful. C to C++ worked.

    • by jeffmeden ( 135043 ) on Tuesday June 12, 2012 @02:55PM (#40299247) Homepage Journal

      Is this really a language as much as it is an IDE that saves to Javascript, Dart, or Python? It's not like they took the new language all the way down, they just wrote a nice Javascript based way to make more Javascript, or Dart, or Python. I suppose in the sense of "knowing how to use it" it then becomes a language since it completely obfuscates the layer below it, but there are plenty of people who make their way through C# with nothing more than the help of Visual Studio. So, is Visual Studio a language too?

      • Indeed, how would you "close" a programming language?

      • Is this really a language as much as it is an IDE that saves to Javascript, Dart, or Python?

        Well, you could say the same thing about C and C++. C++ code is "saved" to C code and THEN compiled to machine code (at least that's how it used to work) using the C compiler.

  • YAGL (Score:3, Insightful)

    by Post-O-Matron ( 1273882 ) on Tuesday June 12, 2012 @02:40PM (#40299043)

    Yet Another Google Language.

  • This will be another failed product by google.
  • by 93 Escort Wagon ( 326346 ) on Tuesday June 12, 2012 @02:41PM (#40299063)

    I'm seeing no evidence this is a Google-backed project, at least in the links provided - it's a project from a guy who works at Google, that's all. So expecting Google to guarantee this exists in perpetuity is not particularly realistic. Realistically, you should have the same expectations you'd have on a project from, say, SourceForge.

    Basically this looks like a Javascript re-envisioning of Apple's Automator [wikipedia.org]. Might be a fun toy, but not much more than that.

    • It's probably worse than that, since I don't think management would like to see an employee spend all his 20% time on the same project year after year. I somehow imagine you'd be expected to come with new ideas on your 20% time, so if the project doesn't get any traction quickly it might be discarded even if the creator was willing to maintain it.

  • by dbc ( 135354 ) on Tuesday June 12, 2012 @02:58PM (#40299291)

    While I've never made time to go do the experiments, I've often wondered why someone hasn't done a Python IDE that provides a Scratch-like UI, but manipulates the Python AST directly. Seems like that should be doable.

    Anyway, I believe Scratch-like interfaces are the future of programming languages. Much as when Backus discovered Noam Chomsky's formal grammars and compilers development as it was done in FORTRAN and COBOL was replaced by a grammar-driven parser in the development of Algol, and pretty much all languages since, eventually, the Scratch-ification of the IDE will become the "obvious" replacement for linear streams of ASCII character codes.

  • Why is "mikejuk" allowed to just post his own opinion pieces as news?

  • After some playing around, i had a script that could solve the maze with
    while(true){
    turn(left);
    while(wall(ahead)){
    turn(right);
    }
    move(forward);
    }

    assuming i was given an api with functions like turn(), wall(), and move() and they took those constants it would be a hell of a lot easier just to type what i typed there than to navigate menus and drag things all over the place. maybe it's inviting to non programmers, but sooner or later they are going to realize that the punctuation isn't what's
    • by MisterSquid ( 231834 ) on Tuesday June 12, 2012 @06:00PM (#40301631)

      I got a version that looks like this

      when (aProblem.comes(along)){
      you.whip(it,must);
      }
      before(cream.sitsOut(tooLong)){
      you.whip(it,must);
      }
      go(forward);
      move(ahead);
      try(detect(it));
      if(it != too late) {
      you.whip(it,good)
      }

    • by slim ( 1652 )

      After some playing around, i had a script that could solve the maze with

      Same algorithm I came up with. Well done.

      assuming i was given an api with functions like turn(), wall(), and move() and they took those constants it would be a hell of a lot easier just to type what i typed there than to navigate menus and drag things all over the place. maybe it's inviting to non programmers, but sooner or later they are going to realize that the punctuation isn't what's hard about programming, it's the logic.

      That "sooner or later" is what it's all about. The jigsaw interface lets the beginner play with logic and control with literally no opportunity for a syntax error.

      Later, they export to JS/Python/Dart and can see how the exported text corresponds to their shapes. If they're at all curious, they try modifying and running the text version of the code.

      That's when they realise that they can be more productive if they just hack at the text -- and that the tradeoff (having

  • Anyone remember HyperCard?

    • I cut my programming teeth on HyperCard (well, really BASIC, but HyperCard was next).

      I built so many damn useful little apps in HyperCard in my youth...one of my favorites was one that displayed porn images hidden in the resource fork of that particular Hypercard stack (to hide from Dad).

      And then there were all those awesome Hypercard extensions that added functionality, etc etc. I loved it.

  • by Anonymous Coward

    And now Oracle seems to be getting blacklisted in the industry, which is good. A lesson well learned for those that become greedy and try to change the way of open source

    • Oracle don't seem to have messed my MySQL or BerkeleyDB since they bought them. Java didn't have an GNU license, it had teams of sun lawyers creating a license, and the recent ruiling between Oracle and Sun, seems to proof that the Java API (and maybe API is general), are open to be implemented by all. Which after all, is what an API is for.
  • At the rate they float these trial balloons then yank them back just as you get used to it, no thanks.

    Google is far too unstable with their 'extra' offerings to even warrant a look at them.

  • It was open sourced and is available at http://beta.appinventor.mit.edu/ [mit.edu] I plan to use it with my kids this summer.
  • It works like Scratch or App inventor but it is written in JavaScript.

    Stop reading. Lose interest. Next story.

One man's constant is another man's variable. -- A.J. Perlis

Working...