
What Programming Taught Me About Sales: Throwing in the Towel on Google’s Go - ttunguz
http://tomtunguz.com/learning-curves
======
gregjor
Ninety minutes? If all programmers had such short attention spans to evaluate
new tools we'd still be using BASIC.

~~~
xtrumanx
_I may be taking your comment above too literally._

I don't know about that. BASIC may have been a huge leap compared to previous
languages that ninety minutes was all you needed to be convinced to switch. It
took me a whole lot less to figure out Ruby was amazing (granted at the time,
I had a hard time remembering which way I was supposed to make the arrows face
when outputting data in C++).

KnockoutJS has a great interactive tutorial which at the time was probably a
one-of-a-kind when it came to Javascript frameworks. If other frameworks
worked as hard on their online tutorials they may have convinced a lot more
users their frameworks were better.

If you can't convince someone to continue learning Go in ninety minutes of an
online tutorial, perhaps it says more about the quality of the tutorial than
the attention span of the reader.

I wrote a program in Scala recently which ran slower and slower as I passed it
a larger and larger sets of input data. Once the program started to take over
20 minutes to complete I decided to look into improving performance. Making
the code run use both my CPUs in parallel was trivial. Essentially add .par at
the end of some List object and then change a few function signatures. My 20
minute program now completed in 2 minutes. Had someone showed me that earlier,
I would have learned Scala and functional programming a long, long time ago.

~~~
gregjor
I was sold on Go based on Rob Pike's 30 minute presentation at OSCON a few
years ago. Just knowing the history and credentials of the Go development team
puts it on par with Ruby and Python in my mind. And I know lots of languages.
It may not be as mature as Ruby but it's usable already and way faster and
more stable.

------
michh
Willingness to try new things and experiment with them (for longer than 90
minutes..) is how you prevent being one of those people who nowadays still
only does COBOL. Or Java. Some day Ruby is likely to have a similar status.

------
samd
This is the introduction and conclusion to what could be an interesting blog
post on how to present and "sell" new technology to people using Go and Ruby
as examples. Unfortunately, the entire body of that blog post is missing.
Kudos for getting me interested in the topic, but go back and finish the post,
even just talking about what you didn't like about Go and what they could've
done better to sell you would be interesting.

------
bhauer
I wouldn't say the gains are entirely unknown. Perhaps as yet unrealized in
your learning efforts. But assuming you're building web applications, the two
languages you cited (Go and Ruby) are effectively opposites on the performance
spectrum [1].

[1]
[http://www.techempower.com/benchmarks/#section=data-r5&l=fsw](http://www.techempower.com/benchmarks/#section=data-r5&l=fsw)

------
metaphorm
this post is face-palm worthy. I can't even form an opinion on a new
technology before using it for a solid week. Even then I often suspect I've
missed something important. Ninety minutes is ludicrous.

------
jaytaylor
I've been using Go for a few weeks and I think it's amazing. However, I have a
considerable arsenal of other languages under my belt already. If I didn't
already know C and C++ I probably would feel differently about Go. It
certainly isn't as easy of a language to pick up as Ruby. That being said,
it's totally worth the effort if you can muster it!

Cheers

------
Patrick_Devine
My hesitation about using Go would be having to forgo all of the ecosystem
built up around a more mature language. I haven't coded much in Ruby (I
gravitated to Python), however I would assume that Ruby has a much richer set
of libraries than what is available for Go. I use interpreted languages
because of their inherent ability to be able to rapidly prototype
applications. If Go's ecosystem doesn't have libraries for things I need, I'm
going to be extremely reluctant to switch, regardless of any performance
gains, no matter how large they are.

Of course this will only improve with time if other people switch first and
decide to fill in missing libraries. From looking at the Go package list at
[http://golang.org/pkg/](http://golang.org/pkg/) it looks like they've got a
reasonable base, and hopefully it will continue to grow.

~~~
NateDad
Honestly, this is the problem most people bring up with Go, and I think it's a
non-problem. The standard library you link to is only the tip of the iceburg.
Github and the other popular DVCS websites contain tons of high quality
packages to do pretty much anything you want - ORMs, math and science,
encryption and security, emulators, servers, parsers etc.

I think most people who say "there aren't enough libraries for it" haven't
actually looked. If there's something truly missing, point it out. But I think
it'll be hard to do.

------
outworlder
People do this all the time. I myself have given up Haskell what, 3 times
already? [edit: Granted, each attempt took no less than a full weekend,
sometimes more. Yet, I had no meaningful data to merit a blog post]

When you have no motivation to learn something at work, and your free time is
limited, do you use the time you already have to create new things, with old
tools, or do you use it to learn new tools?

Of course, this runs completely against my instincts: either I will want to go
near the metal and use C, or I'll try to use the fanciest, highest level thing
I can find.

To counteract that (in order to get things done), for the former I think about
EVE Online (mostly Python, client and server). For the latter, I think about
Minecraft (Java).

------
gooddelta
Or you could (gasp) actually learn/use more than one language at once. Sane
people don't _switch_ from one language to another -- they use the best tool
for the job, when it's needed. I probably use between four and eight different
languages a week, all of which I'm proficient in. I use them for different
jobs, because they (or their libs) are more or less suited toward the task at
hand.

And moreover, why the fuck should anyone have to "sell" you on a language?
You're not buying the damned thing; it's free. Use it, or don't. Actually,
don't. We need fewer entitled-feeling developers like you, and more people who
care about improving the community.

------
XorNot
The kudos mechanism on that site is a great way to ask for them. You don't
know what you're looking at it, or what it does and it's mouse-over activated
(which makes no sense given the age of the touchscreen anyway).

~~~
jlarocco
Agreed. I accidentally gave a "kudos" before even realizing what it was.
Asinine.

Part of me wants to make a snarky comment along the lines of "It's the only
way somebody who can't spend more than 90 minutes on something new will get
kudos."

------
MetaCosm
I can't decide if the author is brilliant and doing a scathing critique of
short attention spans and knee jerk reactions of the modern developer or is
entirely on the level and just a bit of an imbecile.

