Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Google Blockly — a Language With a Difference

Soulskill posted more than 2 years ago | from the less-than-elegant-language-names dept.

Google 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."

cancel ×

141 comments

Sorry! There are no comments related to the filter you selected.

reinventing the wheel (5, Funny)

Thud457 (234763) | more than 2 years ago | (#40298863)

I thought Minecraft had comprehensively solved the problem of creating a Turing-complete graphical programming language. It's redstone all the way down.

Re:reinventing the wheel (2, Informative)

Anonymous Coward | more than 2 years ago | (#40299423)

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

Re:reinventing the wheel (1)

steelfood (895457) | more than 2 years ago | (#40299463)

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. With the mods, it's more for CompE who's into embedded systems and real time programming.

Re:reinventing the wheel (-1)

Anonymous Coward | more than 2 years ago | (#40299495)

JavaScript is useless for learning to program.
You have to run your own web server, and ISPs don't allow that.

Re:reinventing the wheel (3, Informative)

Trilkin (2042026) | more than 2 years ago | (#40299513)

You know you can run a webserver and access it locally, right? You don't need (and in fact, it's best if there ISN'T) external access to a webserver you're learning to code on.

Re:reinventing the wheel (3, Funny)

Dragonslicer (991472) | more than 2 years ago | (#40300059)

You don't need a web server at all for JavaScript.

Re:reinventing the wheel (3, Informative)

jeffb (2.718) (1189693) | more than 2 years ago | (#40299557)

File: Open File...

You're welcome.

Re:reinventing the wheel (0)

Anonymous Coward | more than 2 years ago | (#40299989)

I don't think we need more coders of the AC's calibre.

Re:reinventing the wheel (0)

Georules (655379) | more than 2 years ago | (#40300379)

You honestly could not be more wrong.

Re:reinventing the wheel (1)

Georules (655379) | more than 2 years ago | (#40303381)

I apologize,

You honestly could not be more wrong.

was meant to be in reply to:

You know you can run a webserver and access it locally, right? You don't need (and in fact, it's best if there ISN'T) external access to a webserver you're learning to code on

Re:reinventing the wheel (1)

Georules (655379) | more than 2 years ago | (#40303391)

Damn again, I am losing it today. It was meant to be in reply to:

JavaScript is useless for learning to program. You have to run your own web server, and ISPs don't allow that.

I'll shutup now. Please downvote me.

Schizophrenia is a disease. (2, Insightful)

Anonymous Coward | more than 2 years ago | (#40298911)

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!

Tired of Google's lack of product maintenance (4, Insightful)

MrEricSir (398214) | more than 2 years ago | (#40298925)

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.

Re:Tired of Google's lack of product maintenance (3, Insightful)

MozeeToby (1163751) | more than 2 years ago | (#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.

Re:Tired of Google's lack of product maintenance (5, Insightful)

Anonymous Coward | more than 2 years ago | (#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.

Re:Tired of Google's lack of product maintenance (0)

Anonymous Coward | more than 2 years ago | (#40299397)

You would think Google would be batter at advertising their projects. I guess it's like the old saying about a good shoemaker's children always being barefoot.

Re:Tired of Google's lack of product maintenance (2)

jythie (914043) | more than 2 years ago | (#40299741)

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.

Re:Tired of Google's lack of product maintenance (1)

Anonymous Coward | more than 2 years ago | (#40303419)

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.

Re:Tired of Google's lack of product maintenance (0)

Anonymous Coward | more than 2 years ago | (#40299047)

These things are done on employees' 20% time.

Also, is there any evidence whatsoever that these "graphical" languages are easier for people to learn? Blocky is barely more graphical than a syntax highlighting editor.

As a teacher, I'd put my money on "no" (5, Insightful)

Anonymous Coward | more than 2 years ago | (#40299503)

I've taught quite a few courses ranging from traditional programming to tools such as Adobe Flash (which allows you to use any combination of the graphical tools and ActionScript, the latter being a full-fledged object-oriented programming language, with GC and all the other modern niceties). I've drawn boxes around variables to symbolize how they contain the values, I've given assignments to write pseudo-code, I've demonstrated the concept of algorithms by asking students to give me clear instructions on how to order a stack of documents alphabetically, when I only know how to access them by index and compare two documents... and I'm not sure if any of that has been worth the time.

I don't think I've ever run into a student, who would have been able to actually grasp the concept but would then have stumbled because the code part is difficult. There are people who can grasp the concepts and who then have no real trouble with the code and then there are people who don't really understand having one loop inside another, no matter whether you allow them to write down code, draw flowcharts or whatever.

Re:As a teacher, I'd put my money on "no" (2)

Angostura (703910) | more than 2 years ago | (#40302971)

Let me introduce you to my 8 year old daughter. She had quite a lot of fun trying to solve the maze problem and come up with an algorithm to do it. She was interested in the problem, trying to teach her the syntax of a programming language would have made the problem less accessible, I doubt she would have enjoyed it.

Re:As a teacher, I'd put my money on "no" (1)

Anonymous Coward | more than 2 years ago | (#40304497)

I'll provide an alternate use case for you: I'm a professional computer programmer on disability with late Lyme disease. I have encephalopathy which specifically affects my ability to retain arbitrary abstract associations, while my abstract logic and spatial reasoning is fairly intact. Actual programming by hand? I haven't been able to do that for two years now. But something like this could have a fair bit of potential as a rehabilitary tool for someone like me.

I would also hazard a guess that there are people whose brains naturally have the same strengths/weaknesses, but that such minds don't flourish in a traditional academic setting. (I would be hopeless if I tried doing even an entry level undergrad course in my current state.) So you might not gain much from this in your classes, but that's not to say noone will benefit from it.

Yes (5, Interesting)

spike2131 (468840) | more than 2 years ago | (#40299611)

Also, is there any evidence whatsoever that these "graphical" languages are easier for people to learn?

My kid is 5, and he spends hours writing little programs in Scratch. The click and drag aspect of the graphical language makes it much easier for him. If he had to rely on his nascent typing skills to write code, he'd be stuck in the frustration of Syntax Error Hell, as I was for years when I first started pounding out Basic code on the Apple II.

Re:Tired of Google's lack of product maintenance (1)

the agent man (784483) | more than 2 years ago | (#40304405)

There is next to no real evidence. Indeed, these puzzle piece programming languages are almost 30 years old, e.g., ancient paper [psu.edu] .The puzzle piece idea back then did not do the trick. Why should it now?

Of course, syntax is only a very small part of the problem. Semantics is the real challenge. The idea that syntax alone makes programming simple would be like saying "an English sentence needs to have a noun and a verb [that is the syntax]" and then suggesting "now that you know the syntax write a best selling novel"

Re:Tired of Google's lack of product maintenance (2)

SJHillman (1966756) | more than 2 years ago | (#40299059)

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?

Re:Tired of Google's lack of product maintenance (2)

Gr33nJ3ll0 (1367543) | more than 2 years ago | (#40299203)

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.

Re:Tired of Google's lack of product maintenance (1)

MrEricSir (398214) | more than 2 years ago | (#40299465)

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.

Re:Tired of Google's lack of product maintenance (1)

Anonymous Coward | more than 2 years ago | (#40299907)

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.

Re:Tired of Google's lack of product maintenance (5, Funny)

Anonymous Coward | more than 2 years ago | (#40299065)

You should totally post this on Google Wave.

Re:Tired of Google's lack of product maintenance (1)

Anonymous Coward | more than 2 years ago | (#40299159)

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!

Re:Tired of Google's lack of product maintenance (2)

crazyjj (2598719) | more than 2 years ago | (#40299217)

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

Maintenance, upgrade, and support? Not so much.

Re:Tired of Google's lack of product maintenance (2)

serviscope_minor (664417) | more than 2 years ago | (#40302025)

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 otherwise I wouldn't be able to make head nor tail of the country and city names.

Also, they've upgraded google groups so it doesn't display that annoying pane on the left that tells you where in the thread you are in a tree view.

I really don't know what you're complaining about. Google always upgrade.

Re:Tired of Google's lack of product maintenance (3, Interesting)

Sponge Bath (413667) | more than 2 years ago | (#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.

Re:Tired of Google's lack of product maintenance (0)

Anonymous Coward | more than 2 years ago | (#40301625)

If you are saying Caprica should never have been given a green light, then I'm with you. Caprica sucked.

Re:Tired of Google's lack of product maintenance (1)

nurb432 (527695) | more than 2 years ago | (#40303211)

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.

Re:Tired of Google's lack of product maintenance (3, Insightful)

timeOday (582209) | more than 2 years ago | (#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.

We've hit the "fashion" stage of technology (3, Insightful)

istartedi (132515) | more than 2 years ago | (#40299789)

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".

Re:We've hit the "fashion" stage of technology (1)

rHBa (976986) | more than 2 years ago | (#40303361)

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 :-/

Re:Tired of Google's lack of product maintenance (0)

Anonymous Coward | more than 2 years ago | (#40299807)

Actually this launch directly contradicts Page's "more wood behind fewer arrows" mandate, and that's a good thing. What happens when you let bureaucracy get in the way is that you end up with idiots like Vic Gundotra making all the wrong choices and ignoring the 'put users first' mantra.

--
Sundar Pichai is the utter asshole whose incompetence has resulted in the shut down of Google's Atlanta office.

Re:Tired of Google's lack of product maintenance (0)

Anonymous Coward | more than 2 years ago | (#40301637)

Exactly this is why Google's employment style does not work for most things, including most of their products. Most products have a large amount of fairly boring work involved in polishing, maintaining, fixing, and generally making products polished and complete both at launch and in the long term. Google chooses to employ a bunch of people and not really "make" anybody do anything in the traditional employment sense. Bully for them, and I hear a lot of their engineers are really happy to work on the shiny things that they do, but it makes their products fairly less usable for the rest of us, and will prevent them from getting adopted.

Certain areas of the system they managed to lock down and get people to spend time doing the drudge work (search/Android/Chrome, and G+ is fairly nice) but most of their other projects are ridiculously feature-light for having existed for years. GMail hasn't had a major feature update in years, and Docs is a joke in terms of feature coverage.

Instead of relying on Google..... (1)

xzvf (924443) | more than 2 years ago | (#40298931)

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 and for people using it.

Re:Instead of relying on Google..... (5, Informative)

BenLeeImp (1347831) | more than 2 years ago | (#40300595)

Its released under an Apache license. Anyone can run with it if they want to.

At the risk of sounding elitist... (1, Insightful)

mblase (200735) | more than 2 years ago | (#40298949)

..."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:At the risk of sounding elitist... (2, Interesting)

Iniamyen (2440798) | more than 2 years ago | (#40299055)

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.

Re:At the risk of sounding elitist... (0)

Anonymous Coward | more than 2 years ago | (#40299057)

I see you've never used an APL keyboard before. [akamai.net]

Re:At the risk of sounding elitist... (3)

Lumpy (12016) | more than 2 years ago | (#40299083)

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

Re:At the risk of sounding elitist... (0)

Anonymous Coward | more than 2 years ago | (#40299655)

Except that you cannot actually write a maze solver in the provided demo. Go ahead and try to write a general purpose maze solver there. You need some form of variable to do it.

Re:At the risk of sounding elitist... (0)

Anonymous Coward | more than 2 years ago | (#40299863)

An example of the left hand rule for mazes (you can reverse directions and it will still work)

repeat(forever) {
    if (!wall(to the left)) {
        turn(left)
        move(forward)
    }
    else if (!wall(ahead)) {
        move(forward)
    }
    else {
        turn(right)
    }
}

Re:At the risk of sounding elitist... (0)

Anonymous Coward | more than 2 years ago | (#40300025)

Graphical version, but with the man walking backwards:
http://i.imgur.com/wgNdy.png [imgur.com]

Re:At the risk of sounding elitist... (0)

Anonymous Coward | more than 2 years ago | (#40302249)

My version, took me a few mins (I'm not a programmer) but it works.
http://imgur.com/kxCJL

Re:At the risk of sounding elitist... (0)

Anonymous Coward | more than 2 years ago | (#40300195)

That only works if your maze has contiguous walls, though.If it doesn't you just go round in circles :-(

Re:At the risk of sounding elitist... (1)

void* (20133) | more than 2 years ago | (#40300137)

Repeat forever
do
            turn left
            if wall ahead
            then turn right
            else move forward
            if wall ahead
            then turn right
            else move forward

"I'm feeling lucky" (1)

kanto (1851816) | more than 2 years ago | (#40299103)

..."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.

Re:At the risk of sounding elitist... (5, Insightful)

arose (644256) | more than 2 years ago | (#40299331)

So how fluent exactly are you in machine language these days? Wouldn't want to rely on assembler or anything...

Re:At the risk of sounding elitist... (1)

Anonymous Coward | more than 2 years ago | (#40300617)

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 build will leak constantly and fall apart in a few years.

Re:At the risk of sounding elitist... (1)

ByteSlicer (735276) | more than 2 years ago | (#40302257)

01010110 01100101 01110010 01111001 00100000 01100110 01101100 01110101 01100101 01101110 01110100 00100000 01100001 01100011 01110100 01110101 01100001 01101100 01101100 01111001 00101110 00101110 00101110

Re:At the risk of sounding elitist... (0)

Anonymous Coward | more than 2 years ago | (#40299333)

And further, we're told "it's a GREAT WAY to teach." We have plenty of teaching languages already. The problem isn't that we need "a language that will make people learn to program," the problem is simply that lots of people don't give a shit about programming, because it's either too hard, or there's very little perceived payoff.

Building a javascript program is cool. But you can fucking build in javascript today. It's not that hard - pick up a book. The problem (insofar as one exists, vis a vis "teaching programming") is one of student motivation, not one of inadequate teaching tools.

Re:At the risk of sounding elitist... (2)

gtbritishskull (1435843) | more than 2 years ago | (#40300071)

I think that is the point. It takes a lot of motivation to say "I am going to learn assembly" and then to go buy a book and start coding in assembly. It takes a lot less motivation to learn javascript (or probably Blockly). It is a lot quicker and easier to get a program to DO SOMETHING in javascript than in assembly. So, it is easier for someone (like a kid) to pick up quickly and see if they enjoy it. Once they realize they enjoy it (usually after making their first program), they can delve into it deeper. Most people would probably give up on assembly before they even got "Hello World" printed out. And I assume that it is easier to get started in Blockly than in javascript. The advantage there, is that Blockly is built on javascript, so when someone wants to delve in deeper (or wants their program to do something that Blockly doesn't do) they can augment their already made program with javascript. More tools (languages) are better. It means that people can use the tool that works best for them, instead of having to use the one tool that some group of people decided is "the best way of doing it".

Re:At the risk of sounding elitist... (0)

Anonymous Coward | more than 2 years ago | (#40300799)

*Woosh*

Enjoy your "assembly" ;)

Re:At the risk of sounding elitist... (2)

Baloroth (2370816) | more than 2 years ago | (#40299453)

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 can accomplish what you need to, there is absolutely no point in having an understanding of the underlying process, just as people do not need to understand the chemistry of gasoline combustion or even engine design to drive a car.

"Programming" is the process of writing an automated process on a computer to solve a particular problem. How you do so, and how much you understand what you are doing, is absolutely irrelevant to that end. Granted, a deeper understanding is often necessary, but not always and not for everyone. In those cases, these kinds of languages are useful.

Re:At the risk of sounding elitist... (3, Insightful)

saveferrousoxide (2566033) | more than 2 years ago | (#40299651)

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...

Re:At the risk of sounding elitist... (1)

Baloroth (2370816) | more than 2 years ago | (#40299955)

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 to know how to build a car. The person driving it, though, doesn't, and I would argue that forcing them to understand the design just to drive it is counter-productive. Specialization is a highly useful tool in modern society, so the more people can perform practical functions outside their field of expertise (where a theoretical knowledge actually is important, at least usually), e.g. a non-techie writing a fairly simple program, the better society can function.

Re:At the risk of sounding elitist... (5, Insightful)

gtbritishskull (1435843) | more than 2 years ago | (#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.

Re:At the risk of sounding elitist... (0)

Anonymous Coward | more than 2 years ago | (#40302917)

A jack of all trades will not stop a civilization that relies on specialization from collapsing. As long as you have a sizable group that is motivated to understand a given subject in sufficient depth it still leaves the people who keep another pillar up free to use the tools of that discipline.

Re:At the risk of sounding elitist... (1)

Anonymous Coward | more than 2 years ago | (#40299679)

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, and you can do so much with those. Once you know about all the types of loops and breaks in one language, using them in another is simple.

No one's asking you to give up your Emacs. Think of the mini-nerds.

Re:At the risk of sounding elitist... (2)

steelfood (895457) | more than 2 years ago | (#40299687)

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.

Programming is far more abstract (as I mentioned above). It exists on a completely different level. The mathematical thinking necessary to solve math problems is needed to write programs, but being able to methodically solve problems is where the similarities end.

But I digress. The goal of this new "language" is to make programming easier from both production and consumption standpoints by making it friendlier to the eye. It does not solve your programming problems for you the way a calculator will solve math problems. You still have to write the algorithms yourself. It's just easier to figure out than say, figuring out the syntax of C or Perl.

Not elitist, but you're missing the point. (5, Insightful)

jeffb (2.718) (1189693) | more than 2 years ago | (#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.

Re:Not elitist, but you're missing the point. (2)

gman003 (1693318) | more than 2 years ago | (#40300491)

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 do that, it's as good as any other IDE.

Re:Not elitist, but you're missing the point. (0)

Anonymous Coward | more than 2 years ago | (#40303009)

You know what would be a good test for Haskell? You should be able to write a program in it, then convert it to (legible) C, and then convert it back to Haskell and have it still legible. If Haskell can do that it's as good as any other programing language... Hmm, maybe Haskless has such radically different semantics from C that this wouldn't... or maybe Haskell has such radically different semantics that a two way conversion doesn't make sense? Visual programing (done right) isn't just a representation of textual code, it's a different programing language altogether!

Try it... (1)

jopsen (885607) | more than 2 years ago | (#40299903)

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 might be slightly new, though I seriously doubt it is :)

Re:Try it... (0)

Anonymous Coward | more than 2 years ago | (#40303923)

I've always wanted to see one of these "stick blocks together" languages teach things like like monads and applicative functors, teach concepts that are actually interesting, and not just be an interface more cumbersome than text. I suspect I'll always be waiting in vain.

Re:At the risk of sounding elitist... (0)

Anonymous Coward | more than 2 years ago | (#40300605)

You are confused about what Scratch and Blocky are. Scratch and Blocky are real programming.

I am guessing that you have tried many "graphical application builder" toolkits in the past, like the VB6 form builder or drag-and-drop HTML designers. And, you quickly decided that those tools were not real programming. You are right about that. You might have even used some of those primitive blocks that let you plug together document workflow flowcharts or create simple image filters. I'll agree that those really aren't programming either.

But that's not what Scratch and Blocky are. They're not graphical form builders, or crippled flowcharting tools. If you tried them, you'd quickly discover that they are real programming languages, using real programming constructs, designed to teach real programming to ten year old kids. You are dragging-and-dropping constructs onto a canvas, but you're dragging things like if-then-else blocks, while-loops, expressions, variable assignment, and the rest. These things don't make programming possible by delivering a crippled model of programming. These things make programming possible by providing a robust, full featured editor that allows kids to write real programs in a real language without worrying about typos and syntax errors.

If you ever tried these things, you'd be downright amazed by them. They are incredible. About the only people who aren't impressed by them are relatively low-skilled programmers who are confused about what programming is, and imagine that programming is better taught when the syntax gets in the way.

Yeah well... (-1)

Anonymous Coward | more than 2 years ago | (#40298955)

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.

They usually don't go away suddenly.

And these occasional "fits of spring cleaning" are how you end up not being Yahoo.

That's a good one! (5, Funny)

Megane (129182) | more than 2 years ago | (#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!

Google OR Microsoft (2)

gestalt_n_pepper (991155) | more than 2 years ago | (#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.

Re:Google OR Microsoft (0)

Anonymous Coward | more than 2 years ago | (#40299213)

May I gently suggest that another language is NOT needed,

Correct -- all that's
needed is a RETURN TO GAMEMAKERDOM.

Hallellujah, praise GAMEMAKER!

All glory to the HypnoGAMEMAKER!

Re:Google OR Microsoft (4, Interesting)

jeffmeden (135043) | more than 2 years ago | (#40299247)

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?

Re:Google OR Microsoft (1)

FatLittleMonkey (1341387) | more than 2 years ago | (#40302593)

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

Compatible with Android? (-1)

Anonymous Coward | more than 2 years ago | (#40299011)

So are the malware and piracy built in?

It would be great if Google just solved the problems of its two major user groups: overseas hackers and pay-nothing software pirates by providing a common language. That way software creators can be assured of losing money on the fragmented, piracy-ridden loss-leader platform, and hackers can be sure of gathering everyone's personal data.

It's a win-win for Google!

I can't imagine why anyone would want to use a iPhone.

YAGL (3, Insightful)

Post-O-Matron (1273882) | more than 2 years ago | (#40299043)

Yet Another Google Language.

Another Failed Product by Goog (1)

Faisal Rehman (2424374) | more than 2 years ago | (#40299051)

This will be another failed product by google.

Looks like another 20% project (3, Interesting)

93 Escort Wagon (326346) | more than 2 years ago | (#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.

Re:Looks like another 20% project (2)

franciscohs (1003004) | more than 2 years ago | (#40299497)

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.

Programming??? (0)

arkowitz (1185265) | more than 2 years ago | (#40299105)

Who cares, it's not real programming anyway. To teach someone programming, you have to convey both the concepts - ok they get that - and the ability to grok structures made of text. No structures made of text grokking, no programmer.

Re:Programming??? (0)

Anonymous Coward | more than 2 years ago | (#40299319)

Tell that to Charles Babbage.

Re:Programming??? (1)

Patch86 (1465427) | more than 2 years ago | (#40300111)

Good luck teaching 7 year olds to "grok structures made of text", or at least structures complex enough to represent even reasonably interesting programming projects (beyond "hello world"). For kids that age, it's more important to get their head around the concepts and logic of it all than it is to baffle them with complex syntax and non-standard use of punctuation. They won't even have gotten to grip with regular English punctuation usage by that point!

To demonstrate, here is a bit of JavaScript generated by this Blockly for a few random shapes I threw together:

while (true) {
    if (Maze.isWall(0)) {
        while (Maze.isWall(0)) {
            Maze.turn(0);
            Maze.checkTimeout();
        }
    } else {
    }
    Maze.move(0)
    Maze.checkTimeout();
}

(In case you're wondering, my fiancee is a primary school teacher who has used Scratch to teach programming to 7 year olds and up. She used projects like maze games and Space Invaders clones to set interesting tasks and learning activities. There's no way she would have even attempted an IT project like that with them if she'd had to do it in Visual Basic. Scratch as a tool literally brought proper computer science education to somewhere where it would never have been otherwise; in another age, those kids wouldn't have gotten their first taste of formal programming education for perhaps almost a decade.)

Re:Programming??? (0)

Anonymous Coward | more than 2 years ago | (#40300365)

I'm working with sixth graders using lsl in a closed opensim instance and having a modicum of success. Early days still.

Right tool for the right age eh? As long as they can eventually understand C.

Re:Programming??? (0)

Anonymous Coward | more than 2 years ago | (#40300891)

Leisure Suit Larry?

Re:Programming??? (0)

Anonymous Coward | more than 2 years ago | (#40300945)

Wow, I would have thought that in both the case of 7-year old children and sixth graders, Alice would be a better language. The 3.0 version should have all the capabilities of Java.

I want a direct Python version of this (3, Interesting)

dbc (135354) | more than 2 years ago | (#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.

Again with this self-promoting troll? (2)

g051051 (71145) | more than 2 years ago | (#40299417)

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

What does this improve on? (1)

shadowrat (1069614) | more than 2 years ago | (#40299731)

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 hard about programming, it's the logic.

Now the truth can be told (3, Funny)

MisterSquid (231834) | more than 2 years ago | (#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)
}

Related nostalgia (1)

fiannaFailMan (702447) | more than 2 years ago | (#40300611)

Anyone remember HyperCard?

JAVA was the problem (well oracle) (1)

Anonymous Coward | more than 2 years ago | (#40301197)

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

Sorry, dont trust them (1)

nurb432 (527695) | more than 2 years ago | (#40303195)

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.

App INventor lives on (1)

davidannis (939047) | more than 2 years ago | (#40303267)

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.

jump to: Stop reading; Lose interest; exit(1); (1)

WOOFYGOOFY (1334993) | more than 2 years ago | (#40304095)

It works like Scratch or App inventor but it is written in JavaScript.

Stop reading. Lose interest. Next story.

Load More Comments
Slashdot Login

Need an Account?

Forgot your password?

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>