
Grasshopper – A coding app for beginners - uptown
https://grasshopper.codes/
======
fairpx
I'm torn about all of these types of apps. On one hand, I think it's great to
invite people into the world of coding and doing so in a user friendly matter.
No doubt Grasshopper and a handful of similar apps are well designed, but is
it really the right way to go about things?

I remember vividly learning to code at age 11. I had an old computer, windows
would constantly crash and the only thing I could access really was QBASIC.

Alongside a book with code snippets, I would simply write a line of code, hit
run and see what happens. Then, go back to the code and 'go rogue' (meaning:
change the numbers a bit and make the line 5pixels instead of 2 for example).
This is where the magic happened, because I actually coded something. It
wasn't part of an educational application, it was the real deal inside the
real editor with a real output.

The learning always came from trial and error and in a way is very similar to
how I still code things (when I'm not designing SaaS products for awesome B2B
companies)

The book might be replaced with Google & Stackoverflow, but the principles are
the same.

The magic of coding, I believe is in writing something that is real.

~~~
smogcutter
I think it's an important signal that in every thread like this rather than
say "wow, I wish I had something like grasshopper when I was a kid", we start
waxing nostalgic about QBASIC. (I'm right there with you btw).

A lot of us grew up learning with tools, not toys (except you, logowriter,
you're cool). Then we went and made the tools totally unapproachable. So now
kids get the opposite approach: toys, not tools.

Teaching software like grasshopper is an experiment, and we're about to see
the results. The first version of Scratch came out in 2003. Obviously this is
super fuzzy, but for the sake of argument call 2003 the border between the
QBASIC/getting a Sam's teach yourself C book at B&N era and the Scratch era.
So a hypothetical 8 year old who started learning with scratch in 2003 is now
23 years old. The kids who grew up on this stuff are about to start showing up
in adult life, and it'll be interesting to see how they turn out.

~~~
infectoid
This would make a great AskHN.

It would be interesting to know if anyone on HN in their early 20s or lower
were first introduced to software development via scratch or some other means.

~~~
nitemice
I'm 24, so maybe a little old, but I was first introduce to programming with
Game Maker. Later I did a little bit of Flash if you count that, and then
moved onto Visual Basic.NET when I did 'Software Development' at high school.

For a long time (since mid-primary school) I had been toying with HTML, mainly
from a book from the local library, and by just looking at the source code of
websites that interested me.

I think it's clear that 'toys' like this, and like Game Maker, that make
programming simple and user-friendly have been around for a long time, and
don't necessarily stop people from learning more advanced concepts or
languages, except if they lose interest. But even if they do, hoefully they
will have packed up some skills that they can apply to other endeavours.

~~~
brailsafe
Here are some thoughts with no real point.

For me (26), part of what kept me interested in learning to program was the
sense that I was working through something convoluted and solving some
personal problem. Overcoming some sort of adversity. In this case, it was
writing hodgepodge pascal to automate Runescape and Neopets, then also Flash
for fun and profit.

I now have friends that are interested in the concept of programming, but have
no application for it. I'm happy to aid in their journey, but when they ask me
"What should I program?" I have no idea what to tell them. "Pick something
arbitrary" I say, only to hear "What's that mean?". I feel like programming is
something most people either come to organically or don't follow though with,
regardless of challenge involved.

If we are to think about what would make a successful programming class, would
it look more like math such that "Today we'll learn math, because math will
totes be useful later for some reason" or would it look like "Make a computer
do something interesting or useful with minimal human interaction".

------
fearofpoets
We're super excited to be announcing Grasshopper today! We're hoping that
it'll make learning to code accessible to more adults that are interested in
applying coding skills to their careers, hobbies, or just for fun.

Please let us know what you think, ask questions, all that jazz. We're still
in the process of learning and making changes, so all feedback is super
helpful.

\- Laura (Grasshopper Founder)

~~~
ronilan
I click “Start Learning” I get “Grasshopper wants to use google.com to Sign
in”

Why?

~~~
fearofpoets
Good question! We're building Grasshopper while we're within Google's Area
120, so the easiest way for us to ensure Google's privacy best practices are
followed is if we use Google Authentication.

It might be possible for us to convince the powers-that-be to use another form
of authentication, but for right now, we're sticking with just Google Auth.

~~~
ronilan
I think that:

Privacy best practice is to know nothing, or as little as possible, about the
user.

If storing progress is required, and local device storage is not sufficient, a
minimalist online setup is the desirable solution.

An automatically generated user id and a simple user-progress table should be
enough. GCloud has all the required parts ready to go.

In any case this whole thing should come _after_ the user has had a chance to
experience the product.

But that’s just me.

I ain’t no power-to-be ;)

~~~
fearofpoets
We've thought about putting the signup after the tutorial, just haven't had
the time to get to it just yet. I'll add this as a +1 to us starting to work
on it :)

Thanks for the feedback!

~~~
bathyspheric
The google signin was the stopping point for me too.

------
westoncb
I tried looking for a video of someone using the app so I could get a more
clear idea of the sorts of things it would teach. This is the first thing I
came across:
[https://www.youtube.com/watch?v=lsA2bGdrkaQ](https://www.youtube.com/watch?v=lsA2bGdrkaQ)

I found it interesting to hear the kinds of reactions the kid was having to
it: if you skip around the video you'll see the most common reactions are
jumping around between distress, frustration, and anger.

 _I don 't think that's because this is a bad app._

Instead, I think that's probably a natural part of learning to program—and of
programming even once you've learned. It's kind of a strange thing that
something which can bet net enjoyable (oftentimes) can also so typically
elicit those kinds of reactions (of course adults are better at suppressing
them, but the impact must still be there).

------
s1mon
You would think that someone at Google could use their own search tools to
look up a name for a coding tool before using one that's already been in
existence for years.
[http://www.grasshopper3d.com/](http://www.grasshopper3d.com/)

~~~
fragmede
You're assuming they care. Google was aware of a startup called Inbox that did
stuff with email, yet they went ahead with their own app called inbox,
steamrolling the startup.

I have no reason to suspect the same thing isn't happening here.

~~~
adrianmalacoda
Wouldn't be the first time that happened. Go had the same "issue." [0]

The ticket was eventually closed with status "unfortunate"

[0]
[https://github.com/golang/go/issues/9](https://github.com/golang/go/issues/9)

------
esprehn
I'm the CTO of Grasshopper and am happy to answer any questions folks have
about how it works. :)

~~~
iseyler
Can we get an alternate method for the signup process? My children who have
devices don't have Google accounts.

~~~
esprehn
Thanks so much for the feedback (both here and in the app). That's something
we're looking into, and I totally understand it makes it hard for kids to use
the app. Grasshopper is an Area 120 project (a part of Google) which is why
that account system is currently used for syncing course progress and
achievements between devices.

btw is there a login system you'd prefer? I'd love to forward any thoughts you
have to the Area 120 leadership.

~~~
pmuk
How about an anonymous login system that doesn’t require an email address and
just generated a random userid / password? I’m thinking of setting up a Code
Club at a local school and it would be great if kids could use it without
having to provide any personal information whatsoever.

~~~
esprehn
Thanks for the idea! Supporting things like anonymous login or
username/password is definitely something we're considering. :)

------
ris
If my first language had been javascript I would have walked away and written
off the computing world as a joke.

~~~
colordrops
How familiar are you with modern javascript?

------
sdrothrock
Seeing the response on HN to these kinds of tools/toys makes me wonder if
they're marketed incorrectly.

These things aren't really teaching "how to code" (what we associate with
stuff like Java, Python, etc.), but "how to think like a computer" or "how to
break down and solve problems." I wonder if there would be an equally
pessimistic reaction if the headline and marketing material said that instead.

I think a lot of being a successful developer comes from being able to think a
certain way, and I think that these types of games/toys can definitely help
children learn to think that way. I remember the Dr. Brain games giving me
some of my first glimpses into this kind of literal, step-by-step thinking.

------
TeMPOraL
I'm now tired because I played with it instead of going to sleep :(. I must
say, it's well-executed and feels lightweight (which is a surprise both
considering applications of this kind, and considering applications coming
from Google).

I must say I love the attention to details! I was impressed by the effort that
seems to have went to design the error detection - I start to mess with an
example, and the messages tell me _exactly_ what I'm missing at the right
level of abstraction. Like, I forgot to to the next line when drawing blocks,
and the popup explains I should use newLine(). Or, in another case, the popup
telling me that yay, I have row 1 and 3 of the solution correct, and need to
work on row 2. Etc.

Also the little details made me smile - like being able to replay the "jumping
grasshopper" animation on success screen by tapping the grasshopper.

The keyboard model used in Grasshopper is something I first seen in Hacked
([http://www.hackedapp.com/](http://www.hackedapp.com/)), and it seems to be
catching on, which is great! Now I really wish someone would make a keyboard
for Lisp like that; I could do some work while standing in a bus...

------
Cynddl
The name is a bit confusing, as Grasshopper [1] is also a coding tool for
beginners, designed for 3D algorithmic modelling.

[1]: [http://www.grasshopper3d.com/](http://www.grasshopper3d.com/)

------
tsieling
Congratulations on launching. I'm looking forward to trying it out, but on
first glance I wanted to say that the design is very charming.

Edit: a Google account sign in, however, isn't that charming. I got a 404 on
trying to log in. Oh well.

------
noelwelsh
So here's the question: does this product reflect any of the research into
teaching programming or is it just "somebody had an idea"? There is nothing on
the website I could find that addresses this.

We know a reasonable amount about teaching programming, and in particular we
know that traditional methods are really bad. Most people, when they teach
programming, reproduce the poor traditional methods used to teach them.

There is already a large quantity of "learn to code" apps and sites. We don't
need more. We need more quality.

------
pinkumbrella
More info: [http://time.com/5243949/google-grasshopper-
game/](http://time.com/5243949/google-grasshopper-game/)

------
jacksmith21006
Been playing another game from Google this week with the wife and a lot of
fun.

[https://kotaku.com/google-s-new-word-game-is-fun-but-
weirdly...](https://kotaku.com/google-s-new-word-game-is-fun-but-weirdly-into-
brands-1825302946) Google's New Word Game Is Fun, But Weirdly Into Brands

------
slim
Does not work without Google play services

------
georgeecollins
Long ago I had an Apple Newton. The funnest thing for the Newton, by far, was
a program that would evaluate statements or code snippets of NewtonScript on
the device. It let you try little programs while you were waiting for
something.

------
ketchers
As far as I can tell, if a child is on a Google account with parental
controls, it is impossible for them to log into the app. This kinda sucks for
a nice educational app.

------
alimbada
I would've recommended this to people I know that want to learn to code, but I
wouldn't wish JavaScript to be my worst enemy's first coding language...

~~~
ananaskiller
Really? I think JavaScript is the perfect language to learn with. Yes it has
its quirks and weird edge case, but from someone with no programming
background I think JavaScript is one of the easiest and most practical
language to learn.

I think a lot of the "bad stuff" can be seen as an advantage. Like for
example:

\- Lack of strong typing \- User don't have to bother with the data type at
first, they go directly into the logic

\- Typecasting when comparing \- faster for quick comparison. E.g. if a user
wants to check if the input of the user is equal to a certain number, he
doesn't have to cast it as an int/float/whatever before, he just does "10" ==
10 and it just works.

And also, its greatest strength I think is the fact that it's the language of
the web, and web development has the lowest "barrier to entry", because all
you need is a notepad and a browser and you can easily develop and test.

Anyway, as many people have pointed out, I don't think it matters that much
what language you start with, because it makes you learn the logic of
programming, which is then transferable to all other languages anyway.

------
z3t4
What is the business model ? Or is it a PR app ? How do you get a job like
this, where you can do public good and not have to worry about founding !?

------
linuxftw
No one is going to learn to be an effective programmer using a smartphone.

I do expect a lot of people to install it, use it for 5 minutes, and never
bother with it again. It's a perfectly suitable way to push people out of
programming because there's no way you can get a real feel for it with a
smartphone. All of the 'learn to "code"' applications that don't involve
writing actual software seem like a giant waste of time and effort to me.

------
xopher
I installed it last week. I was torn whether the constant reminders to do it
was helpful or annoying.

------
tomc1985
Why so cute? :(

------
originalsimba
"The road to hell is paved with good intentions"

Can they please just stop putting their fingers in every pie? I WANT Free
coding lesson websites, but not from google thanks. They should stick to
github with their contributions.

It's difficult to enjoy our lives, with these corporations strolling in like
"IS THAT FUN WE SEE?!?!" (because they're giants)

