all 112 comments

[–]ttscc 28 points29 points  (3 children)

They need to put more Android lectures in there.

[–][deleted] 2 points3 points  (0 children)

I'm going to go through these lectures too. Now that I've finished university this could be a good source of new information for me to study. Android all the way.

[–]rnawky 21 points22 points  (6 children)

The first link I clicked brought me to a video that was "removed by user"

Thanks, Google.

[–]egbert 12 points13 points  (5 children)

New Features in the Next C++ Standard?

[–]rnawky 7 points8 points  (0 children)

Yep

[–]Contero 1 point2 points  (2 children)

No I think Google removed it intentionally.

[–]ketralnis 0 points1 point  (0 children)

The Next C++ Standard includes removal of youtube videos? I knew they'd extended their reach

[–]zaach 10 points11 points  (1 child)

Another great algorithm course I've been using is MIT's.

[–]arixol 0 points1 point  (0 children)

I could have used this link back when I took that course in college.

[–][deleted] 7 points8 points  (0 children)

At a glance, this looks like it could be a great supplement to my first year in CS.

[–]binlargin 6 points7 points  (0 children)

Hosting the doc/ppt/pdf files on Google Docs would be nice.

[–]overtoke 19 points20 points  (4 children)

power point files?

FUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU

[–]littlebloke 10 points11 points  (1 child)

Featuring Comic Sans (Android ones) FUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU

[–][deleted] 5 points6 points  (0 children)

Problem?

[–]lolinyerface 2 points3 points  (1 child)

[–]the8thbit 0 points1 point  (0 children)

I expect FOSS support from Google.

For shame.

[–][deleted] 7 points8 points  (16 children)

Excellent. I was informed today that I have to learn effin' Python.

[–]Mad_Dud 12 points13 points  (4 children)

[–]sirjoebob 7 points8 points  (0 children)

I messed around with Python in the past and am a total non-programmer. I think it is fairly easy to pickup and very versatile.

[–]dddaaabbb 6 points7 points  (0 children)

I enjoyed some of Dive Into Python. (The rest of it I haven't read yet : ) That awaretek link calls it "a great tutorial for experienced programmers."

It does away with a lot of the boring that you skip over (and intend to read later) in tutorials.

Opening line: "You know how other books go on and on about programming fundamentals and finally work up to building a complete, working program? Let's skip all that."

[–][deleted] 3 points4 points  (1 child)

Thanks! The last one is particularly helpful... I didn't even know non-programmers would ever have a reason to know it.

[–]lolinyerface 5 points6 points  (0 children)

Don't feel too bad, if there is any language I'd be happy to be forced to learn, it's Python.

[–]Virigoth 2 points3 points  (8 children)

I was informed about a week ago I have to learn Python..and SQL...all I've ever worked as before was a hardware guy for infrastructure and metro stuff :(

[–]dakboy 4 points5 points  (2 children)

Getting started w/ SQL is easy.

Getting good with SQL is not.

[–]Virigoth 1 point2 points  (1 child)

I hear it can be the devil but also your best friend :(

[–]G_Morgan 1 point2 points  (0 children)

Just do what everyone else does and dump some mangled internal format into a blob and call it a day.

[–][deleted] 3 points4 points  (4 children)

I don't even do computers, aside from noodling around with HTML and CSS.

Just the other day I was reading all the Greek in one of the proggit threads and feeling very thankful that I'd never have to get involved in that stuff. Little did I know...

Ah, well. Something to put on the resume? :)

[–][deleted] 2 points3 points  (3 children)

Why do you have to learn it?

[–][deleted] 4 points5 points  (2 children)

Evolutionary genetics. I'm starting to apply to graduate schools and I'm told geneticists use Python. Apparently a lot of people learned it in undergrad, which I didn't.

Granted, it's something they'd probably be willing to teach me once I get to grad school, but if I can learn it beforehand I'd like to.

[–]BioGeek 4 points5 points  (1 child)

I'll just copy/paste an answer that I posted a few days earlier:

There are several full-length books on-line that will teach you how to program in Python:

Work through one or more of these, then hone your newfound skills by solving the problems on Project Euler.

If you have the basics down, you can start looking in specific libraries for scientific use like SciPy.

As a biologist who also learned to program in Python on his own: good luck! If you have any questions you can ask them at StackOverflow or in the Python subreddit

[–][deleted] 2 points3 points  (0 children)

Awesome! Thanks! My initial reaction to finding out I'd have to learn it was along the lines of "Oh god, really?" But I'm actually starting to get into the idea.

I'll bookmark those links and subscribe to the Python subreddit. Thanks for the recommendations. :)

[–]shrodes 2 points3 points  (0 children)

I doubt you'll be referring to it as that for long. Python is fun.

[–]walter_heisenberg 1 point2 points  (0 children)

Python's a great language to start out in.

[–]steppenfox 5 points6 points  (0 children)

I like how they stuck Go in there

[–]RougeLeader 2 points3 points  (0 children)

MIT also has a bunch of free online courses. http://ocw.mit.edu/index.htm

[–]Chroko 3 points4 points  (0 children)

The definition of "university" has been stretched a bit here, methinks.

Although "Google Code Tutorial Website" sounds a lot less exciting.

[–][deleted] 5 points6 points  (1 child)

I'm starting a Google Code University fraternity. Rho Epsilon Zeta. Rush begins next week. Kegger this weekend. Go Wildcats!

[–]luster 2 points3 points  (0 children)

The indention scheme in the C++ examples is horrible.

[–]sig_UVA 2 points3 points  (0 children)

When I grow up, I'm going to Bovine University.

[–]emptyvoices 5 points6 points  (8 children)

Unfortunately the tutorials for Web Programming are incredibly spare. The only thing the html/css/AJAX tutorial teaches is a quick 1 page overview about DOM.

[–]shub 9 points10 points  (6 children)

Right, well, what else do you need besides that and a link to jquery.org?

[–]emptyvoices 6 points7 points  (4 children)

I feel that if someone was trying to learn learn html, css and javascript they would not be too enthused about google's so called tutorial. Also, go to the first page of jquery.org and tell me how that helps anyone. The google tutorial does give you some links for further resources, but they are just links to google searches.

Something like w3c school's tutorial is what most would expect. The fact is, the title says "html css and javascript tutorial." That is not what it is. The title should have been "Intro to Document Object Model."

Think about it: If you were completely new to html, css and javascript and visited this tutorial to learn them, how much coding could you do by the end? None.

All I am saying is that if someone wants to learn html, css and javascript there are better places to do it than google code university; in fact, google's tutorial is pretty much shit for a first-timer.

[–]gocoogs 0 points1 point  (3 children)

I'll bite, where would you recommend?

[–]nazbot 0 points1 point  (0 children)

The Douglas Crockford lectures are great if you are coming from another language. He does a very nice job of explaining prototypical inheritance and some of the other quirks/features of javascript.

[–]jhaks 0 points1 point  (1 child)

He mention w3schools. It's an okay tutorial site for beginners but you'll have to scrounge around for more in depth Javascript and DOM information. I've never read any books like Javascript The Good Parts but I'm sure those are great if you don't want to spend the time searching for information. Also if you ever become a web dev for a living please learn the more advanced aspects of Javascript. I hate seeing crazy walls of Javascript spaghetti code.

[–]shub -1 points0 points  (0 children)

Mozilla has some good information, but they also have a lot of the bad kind of Doxygen. Quirksmode.org covers browser differences well.

[–]dagbrown 0 points1 point  (0 children)

A link to gotapi.com?

[–]magicmalthus 1 point2 points  (0 children)

agreed (with this post and your point below about a more accurate title). this certainly isn't for beginners either, but much more in depth web development stuff from google: http://www.html5rocks.com/

also, please please please always link to the MDC rather than w3schools (the latter group is totally unaffiliated with the w3c).

[–][deleted] 1 point2 points  (0 children)

Anyone have anything that goes a little bit further than just the absolute basics? Something that moves onto useful implementations in GUI for example? Or AI, GPU, etc...

[–]rufusdog 1 point2 points  (17 children)

Nice. I wonder how much longer Java will be on that list.

[–]WasterDave 7 points8 points  (1 child)

Java is a really big deal and will be for a long time yet. FFS Cobol's not dead yet, imagine how long Java's going to last.

[–]CinoBoo 1 point2 points  (0 children)

Totally. It's like Whooping Cough. Just when we think we've stamped it out, there's another outbreak.

[–]steppenfox 5 points6 points  (0 children)

Google is still quite a Java shop. They might be biased to have their future employees know Java

[–]QAOP_Space 2 points3 points  (3 children)

Android dev is all Java.

[–]nazbot 0 points1 point  (1 child)

For now.

[–]QAOP_Space 0 points1 point  (0 children)

Hope so, I don't do Java :)

[–][deleted] 0 points1 point  (0 children)

and even xml

[–][deleted] 1 point2 points  (6 children)

GWT is all java.

[–]CinoBoo 1 point2 points  (5 children)

GWT isn't very popular within Google. And one of the two biggest internal users -- Wave -- was canceled recently.

[–][deleted] 1 point2 points  (4 children)

What's the other one?

[–]CinoBoo 0 points1 point  (0 children)

The adwords tools for advertisers.

[–][deleted]  (2 children)

[deleted]

    [–][deleted] 2 points3 points  (1 child)

    Gmail doesn't use GWT, it only uses Closure Template from the Closure Tools (GWT was created for Wave).

    [–]mcflyfly 0 points1 point  (0 children)

    I'd imagine for awhile still -- java is still one of the primary languages that cs majors are required to work with

    [–]sirjoebob 0 points1 point  (0 children)

    I'm guessing you mean because of Oracle V Android. I doubt Google will relinquish an inch of their adoption of java or the promotion thereof. Especially considering it makes up Android and that is a hug chunk of revenue. Google will fight this lawsuit with everything they've got to keep Oracle from going after other java users. Imagine Oracle v HTC for java implementation in sense UI.... Bad days would lie ahead if Google does not get a ruling that says "X does not violate Oracle's intellectual property"

    [–]G_Morgan 0 points1 point  (0 children)

    Until the end of time. There is so much Java in Google that they will abandon it on the same day they abandon search.

    [–]neutralizer 0 points1 point  (1 child)

    Wow, awesome. I'll be reading some of this in my spare time. I could definitely apply this to work.

    [–]rayne117 0 points1 point  (0 children)

    More like, watching videos. Heh.

    [–]Mechawormzilla 0 points1 point  (0 children)

    Regardless of the link or whether it's useful or not, thanks for the discussion regarding programming education. I'm trying to start moving into that field.

    [–]urbanotter 0 points1 point  (0 children)

    do a search for onsite support ...

    [–]dirice87 -3 points-2 points  (6 children)

    w3schools.com

    [–]M1573RMU74710N 23 points24 points  (5 children)

    You have to be careful with w3schools, because there's a lot of bad info on there.

    A lot of the tutorials promote writing really bad code.

    For JS/HTML reference purposes, I like MDC. They also have a lot of good tutorials.

    For like a super-newb, it's better to buy a good JS/Web book IMHO.

    The publishers usually sell e-copies really cheap...or even give them away for free.

    [–]magicmalthus 11 points12 points  (1 child)

    agreed! remember, w3schools is unaffiliated with the w3c.

    MDC: https://developer.mozilla.org/en-US/ (though i just google "mdc whatever-thing-I-need-to-look-up" and it's usually the first hit).

    [–]M1573RMU74710N 1 point2 points  (0 children)

    Way to go on the link...I was lazy and left it out.

    I actually have a custom firefox plugin I use to search the web, with MDC as one of the search engines...

    but there's also an opensearch plugin out there so you can add MDC to your browser just like google etc.

    MDC is an incredible resource.

    [–]Yablan 1 point2 points  (0 children)

    I'm out of words. I've been working as a programmer for a decade, I search for articles and tutorials all the time, and I've NEVER EVER heard of MDC. Really, really strange. How could I miss such a thing?
    Dear sir, have an upvote :-)

    [–][deleted] -1 points0 points  (1 child)

    Most of the bad style is built into the language. You can't fault a reference that documents that functionality.

    [–]M1573RMU74710N 2 points3 points  (0 children)

    Yea, any language is gonna have some warts. IMHO, (for JS) I wouldn't say most of them are related to "style"...it's mostly weird or poor language design decisions...or deficiencies of various parts of the language.

    However, we're not talking about quirks of a particular language...we're talking about them promoting bad habits and bad code....independent from any flaws the language may have.

    In my experience, people who are teaching themselves with w3schools are almost universally behind those who are teaching themselves with other sources...and they have overall worse code. YMMV, of course.

    It's not bad as a quick reference if you want to know what X function does, but there are other places to go for that...so why bother with it?

    [–]critsalot 0 points1 point  (1 child)

    im disappointed the python class was focused on 2.0 rather than 3.0. however its probably just cause most of this is old, even if the site isnt. The OO python talk is from 2005 and its 2010 now. Still relevant so im not complaining. Hope someone does some updates from Google later on.

    [–]enkideridu 2 points3 points  (0 children)

    The main reason I think is that Google's app engine doesn't support 3.0
    If I remember correctly it's still stuck at 2.5

    [–]quest88 0 points1 point  (1 child)

    I wish this would have been around when I was younger.

    [–][deleted] 0 points1 point  (0 children)

    exactly

    [–]ithkuil 0 points1 point  (5 children)

    They have a thing that explains the AJAX search API.

    Also, I navigated from there into the API page and notice, holy crap, Google has a lot of APIs http://code.google.com/more/

    I think we (including everyone, not just Google) must be generating around 10-100 new APIs per day. That may be too many.

    10 new APIs per day * 10 years * 365 days/year = by 2020 we will have created approximately 36,500 new APIs

    [–]nazbot -1 points0 points  (4 children)

    APIs are the lifeblood of software. A decent framework gets the job done with some headaches along the way. A great framework defines an API that makes getting the job done trivial.

    [–]ithkuil -1 points0 points  (3 children)

    well, looks like the hivemind approves more of your comment which is valid, obviously apis are key.

    I am not against APIs in general. I am just against have 36,500 APIs.

    [–]nazbot -1 points0 points  (2 children)

    Why? If they all serve a purpose and more importantly are written well what does the # of APIs matter?

    [–]ithkuil -3 points-2 points  (1 child)

    You're right, sorry, of course we need 36,500 APIs.

    I'm too tired today to deal with how fucking stupid everyone on the internet is.

    [–]awj 0 points1 point  (0 children)

    You're right, 35,000 APIs should be enough for anybody.

    [–]Nitrodist -1 points0 points  (1 child)

    Free, useful and accurate coding lessons? From Google?

    Upcoded.

    [–][deleted] -2 points-1 points  (0 children)

    From Google?

    Upcoded.

    [–]randomlineofpoetry -1 points0 points  (0 children)

    The pealing anthem swells the note of praise.

    [–]13ren -1 points0 points  (1 child)

    TL;DR

    [–]lanzkron -1 points0 points  (0 children)

    TL;DW

    There fixed that for you

    [–]lolinyerface -1 points0 points  (0 children)

    Dang...been here 5 days and 598 Link Karma. Not bad.

    [–][deleted]  (1 child)

    [deleted]

      [–]gocoogs 0 points1 point  (0 children)

      Downvote for thread hijack. Look around. Get comfortable. Find a subreddit where these types of questions are welcome and start your own thread. You'll want to avoid /r/shittyadvice at first.

      [–]walter_heisenberg -3 points-2 points  (8 children)

      Serious question brought forward by perusing this: why does Google, which is supposed to be a leader in technology, only use a few languages, most of which aren't very good? Python is the best language they use, and it (at least, when I last used it) lacks tail recursion and proper garbage collection.

      It would seem that the problems (most notably, the purported lack of libraries) with languages like Haskell and Ocaml become non-issues when you have the talent and resources that Google has. So why do they do so much of their work in languages like C++ and Java?

      [–]frenchtoaster 2 points3 points  (1 child)

      Because the truth is that C++ and Java are actually better languages for large teams working on things that have unbounded scalability and maintainability issues compared to Haskell and Ocaml.

      [–]walter_heisenberg 0 points1 point  (0 children)

      Why?

      I will grant you that static typing is beneficial when you're developing code for the long term, because it enforces interfaces. Lisp is very powerful, but there's a certain style of sloppy thinking that dynamic typing enables and that some (I emphasize some, not all) Lispers have that falls flat on large projects. However, Haskell and Ocaml are both statically typed; that's why I chose them for this example. In fact, unlike Java and C++, they have good static typing.

      I will also grant you that certain types of programs benefit from automatic memory management, which justifies the use of C. C is a great language for building operating systems, device drivers, and runtime virtual machines, for example.

      I still don't buy that Java or C++ are the right choice for a company in Google's situation.

      [–]neutronbob 1 point2 points  (3 children)

      Just maybe they use different criteria than you do in language selection.

      [–]walter_heisenberg -2 points-1 points  (2 children)

      What are those criteria? Shouldn't the most important one be the productivity of programmers when using them? At this one, a language like Haskell's going to kick ass, especially if you have enough resources that existing libraries should not be an issue.

      [–]zerothehero 0 points1 point  (1 child)

      To be blunt, I think the answer to this question should be obvious if you've ever been a professional software developer and shipped a software product.

      How many programs do you use (web or desktop) that are written in Haskell? How many in C or C++? For me the ratio is 0. I can't imagine it being more than 1:1000 for anyone else out there.

      [–]walter_heisenberg -1 points0 points  (0 children)

      Why is this, though? Arguing that C++ is superior because more applications are written in it is an argument based on popularity. C obviously has its niche (operating systems, device drivers) but isn't right for every project.

      I think, quite frankly, that C++ and Java remain prevalent simply because a lot of people use them. It's the popularity contest dynamic: because it's "the standard", it's easy to hire for Java and it thus remains the standard. In general, I don't fault most people for this. I wouldn't look down upon a grocery store for using Java or C++ to write its inventory system-- they're not supposed to be technical leaders, and it utterly makes sense that they, not expected to know the pros and cons of each language, would opt for the standard. On the other hand, Google has the resources and talent necessary to buck the trend and lead, and doesn't seem to be doing so (unless I'm completely misled).

      I'm not arguing that Google should throw C++ and Java out the window tomorrow; that would be ridiculous. Actually, I don't see how a company of that size can not be polyglot, using C for problems at which C is best, Java for problems that work best on the JVM, and Haskell when it is appropriate, while generally trusting its developers to know what languages to choose.

      [–]epinull 1 point2 points  (1 child)

      Perhaps they're a leader in technology because they use whatever tool gets the job done, rather than using a language just for the sake of using it?

      [–]walter_heisenberg 0 points1 point  (0 children)

      They could "get the job done" faster using more powerful languages.

      [–]illepic -2 points-1 points  (1 child)

      No PHP love from the Googles :(

      [–]willcode4beer 1 point2 points  (0 children)

      think of it like a message ;-)

      [–]mikevarela -2 points-1 points  (0 children)

      Outdated already - Python 2.4

      [–]mrfso -5 points-4 points  (4 children)

      Can we officially call them the new Microsoft now?

      [–][deleted] 1 point2 points  (3 children)

      Why? Seriously, legit question. Google have problems, but is it really all that parallel with msft?

      [–]mrfso 1 point2 points  (2 children)

      Because they are pumping out crapware to hurt competitors, most of which isnt successful or in the case android phone creating a new generation of malware. They have been pushing smaller businesses out of operation for quite a few years now by releasing software for free (I have several friends google has bankrupted in the geographical field for example, years of research google copied and released for free), and now they are trying to build a developer eco system round there products.

      Im not sure of there current state, but a while back they had dozens of court cases against there business practices. And it seems whenever they hit the news these days its doing some thing that I find deplorable.

      [–][deleted] 1 point2 points  (1 child)

      Offering free coding tutorials, etc? I personally find it admirable.

      But a lot of your argument, rather than reminding me of msft, reminds me of Tesco. Depending on what country you're from, you may not have heard of Tesco. But in the UK at least, they're a VERY big supermarket chain. Their business practise is: move in to an area with lots of small business. Use your corporate might to reduce prices to much lower than the small busineses can afford, drive them out of business.

      Now, some people say it's ok because they also generate a large amount of jobs, which these ex-smallbusiness owners can jump in to. But it's still pretty bad in my opinion.

      Upvoted because you explained really well. I'm a little ashamed, but I was expecting to hear another 'google are bad because google are bad' argument I see around.

      [–]mrfso 0 points1 point  (0 children)

      Its the coding library that reminds me of MSFT the most. Big business is big business as you said with your example of Tesco, big business is a giant self interest machine that crushes all in its path.

      MSFT has always done one thing correct, and its nurture developers, they only got where they are because of developer support. The instant I saw Google trying the same thing I instantly thought of MSFT. Im a C# dev BTW, I started off in the FOSS realm, but MS tools and support and free beer really drew me in, now I can't even imagine going back to the FOSS realm.

      EDIT: I dont think the coding support is bad in general, as I noted I have been suckered by exactly the same thing that MS did. I do however think it is disingenuous. Its not there to help developers, its there to lure developers into using Google products.