News for hackers. Stuff that matters.
Re:Guide for Technical Development by brlewis on Tuesday May 12, 2015 @09:39AM (#9531636)
I wonder who at Google wrote this. HTML is listed as a programming language, and JavaScript is written as two words.
Re:Guide for Technical Development by fecak on Tuesday May 12, 2015 @09:53AM (#9531737)
I was thinking the same thing. This is sloppy writing. It reads as though it was written by someone unfamiliar with the content, and possibly translated from another language. Some of the grammar is a bit off from what you'd expect from an official release of some kind from Google.

The capitalization of the word "university", and missing the capital H in GitHub. The "Artificial Intelligence" bullet has a formatting error. Missing articles ("work on project").

Not to mention it is vague. The "Learn other programming languages" bullet lists several options, but doesn't say anything about how unrealistic it might be to try and learn all of those languages (it says "and" instead of "or")

Re:Guide for Technical Development by drinchev on Tuesday May 12, 2015 @10:02AM (#9531793)
These examples on their own discredit the post so much that it's a shame it has "google.com" as a domain of origin.
Re:Guide for Technical Development by TheBeardKing on Tuesday May 12, 2015 @10:28AM (#9531971)
I don't know, I don't view Google as having the same level of perfection as, say, Apple. I know when I use Google products, almost infinitely in beta, there's going to be some things lacking and unpolished. Helpful yet unfinished, you take what you get.
Re:Guide for Technical Development by fecak on Tuesday May 12, 2015 @10:35AM (#9532009)
Perfection is one thing. But this is a page on their website trying to help them recruit for engineers? Shouldn't that have a bit of a higher standard?
Re:Guide for Technical Development by gonzo41 on Tuesday May 12, 2015 @10:49AM (#9532138)
all of these comments about non trivial matters are bike shedding. even this comment, its only increasing entropy, your missing the forest for the trees.
Re:Guide for Technical Development by itsybitsycoder on Tuesday May 12, 2015 @12:08PM (#9532737)
@rockdiesel, it's definitely "for" the trees, where "for" means "because of". You can't see the forest (big picture) because you're paying too much attention to the individual trees (details).
Re:Guide for Technical Development by pc86 on Tuesday May 12, 2015 @02:47PM (#9533969)
If the "reply" link is unavailable you can click on the time to be able to reply directly.
Re:Guide for Technical Development by rockdiesel on Tuesday May 12, 2015 @02:49PM (#9533989)
That makes sense. Thank you for your explanation.
Re:Guide for Technical Development by sukilot on Tuesday May 12, 2015 @04:29PM (#9534633)
Trivial, not non trivial.
Re:Guide for Technical Development by rockdiesel on Tuesday May 12, 2015 @12:02PM (#9532698)
Off-topic, but I always thought it was "can't see the forest through the trees" not "forest for the trees".

Meaning someone can't see passed what is in front of them (trees/treeline) to see the bigger picture (forest).

Re:Guide for Technical Development by fecak on Tuesday May 12, 2015 @02:24PM (#9533794)
If you look at the page now, it's been changed. JavaScript is now one word, university is no longer in caps, the "learn AI" bullet now has been formatted properly, and they've now properly capitalized GitHub. Looks like Google is listening to the suggestions made above (in parent post).
Re:Guide for Technical Development by jsudhams on Tuesday May 12, 2015 @12:51PM (#9533053)
Why is so much importance to written language? Why not practice casual writing like casual speaking. I think many of these expectations put lot of pressure on the people who wants to communicate in writing but that language to be written is not mother tongue or might not even gone to high school.
Re:Guide for Technical Development by hueving on Tuesday May 12, 2015 @01:15PM (#9533264)
The expectations are higher when it comes from a major company like Google, especially when it's speaking from a position of authority on a topic like what to do with your life.
Re:Guide for Technical Development by phillipwills on Tuesday May 12, 2015 @07:59PM (#9535839)
With casual speaking, you place emphasis and pauses, naturally... With writing, nobody can read your body language... hear your pauses... notice your _emphasis_... unless you s.p.e.l.l. it out...
Re:Guide for Technical Development by sukilot on Tuesday May 12, 2015 @04:33PM (#9534653)
Casual sepaking is heard once. Published writing is read many times, and is easy to point edit, so it it worth investing a bit more in correctness.
Re:Guide for Technical Development by javert on Tuesday May 12, 2015 @10:45AM (#9532103)
> supplement your learnings

> Academic Learnings

Dead give-away.

I loathe this kind of thing. To me it evokes an image of someone who only knows computer science, and is entirely ignorant of other topics (say, history and literature) that a person needs to know to be a successful human being.

Re:Guide for Technical Development by dragonwriter on Tuesday May 12, 2015 @04:58PM (#9534817)
> I loathe this kind of thing. To me it evokes an image of someone who only knows computer science, and is entirely ignorant of other topics (say, history and literature) that a person needs to know to be a successful human being.

Actually, what it evokes to me is someone for whom English isn't a first language (at least not a mainstream American dialect of English) of but who has domain knowledge writing a guide in English in the domain in which they have knowledge.

It could certainly use editing, but the awkward word choice you point to isn't really something that suggests to me anything about what the person's knowledge of history and literature might be.

Re:Guide for Technical Development by geebee on Tuesday May 12, 2015 @11:38AM (#9532544)
In defense of the list, I don't think it was intended as a blueprint for becoming a well-rounded and educated person, it was meant to provide a curriculum for learning the sort of technical skills people at Google would like to see in a candidate.

That said, there's actually a tremendous amount to learn on this list, and there are only so many cells to hold information. While it's always nice to say "and yes, also learn history and literature", truth is, eventually you have to not learn something in order to learn these things.

This may be a case where where the extreme rigor of the interview process and tolerance of false negatives may hurt large companies and create an opportunity for small startups and individuals. Here's why - a candidate who is very very talented at CS but also learned history and literature might come in at 90%ile, but let's say it's nearly impossible to come in higher than that without neglecting those other topics. However, the interviewers are all demanding a 95%ile+ performance. As a result, they pass on the more well rounded candidate.

It's even more insidious than this - because they select for the 95%ile, and it is very very rare to be able to achieve this feat without a single minded focus on CS, the people doing the interviewing will be at best faintly aware, and possibly completely unaware, of what they are missing.

Before getting too irritated, though, remember that any blind spot on the part of a large company is an opportunity for a small, nimble one. This is largely what is going on, I think, when you read those stories about talented programmers getting rejected by google and Facebook and coming back 5 years later to sell them a company for 100 times what their salary would have been. Of course, it's a much higher risk path that requires being broke for a while, and may just not be an option for people with other substantial life obligations.

There's this story I really liked about Andre 3000 (sorry, no link, just something I read, may be apocryphal). During an interview, he was asked how he chose the three chords for the song, and his answer was that he was learning guitar and those were the three chords he knew so far. So he took just the slightest bit of knowledge and turned into something great.

I read this at a time when I went to a music store and saw an incredible guitarist doing such impressive things with his instrument that he drew a small crowd. He wasn't just showing off, he was the local instructor. I believe he was also available for small gigs, weddings, parties, that sort of thing.

A lot of companies would pass on Andre 3000[1], and hire the awesome guitar playing dude, because Andre 3000 wouldn't be able to play a Bflat scale on demand or explain the circle of fifths or sight read a medium complexity piece of music at at least 150bpm. And I'm not knocking those skills, if you're a musician, by all means, yes, learn those things. But if that's all you focus on, to the exclusion of more creative things (and there's enough complexity that you could easily do so), you will starve other important things.

[1] prior to the hit. eventually, accomplishments do speak for themselves.

Re:Guide for Technical Development by javert on Tuesday May 12, 2015 @01:22PM (#9533335)
By

> I loathe this kind of thing

I meant "academic learnings." "Learnings" is not a word in the English language.

When I see writing that is this bad, it evokes, to me, an image of an Indian student who effectively only learned math/computer science/engineering, and does not have a sufficiently broad education to think critically and independently about anything else.

Re:Guide for Technical Development by mayanksinghal on Tuesday May 12, 2015 @04:21PM (#9534584)
As much as you might loathe it, learnings is now a word (and has been used intermittently for a new centuries [1]) so deal with it.

Additionally, Indian students do the best they can given the limited resources (we have). And even when they do have broad education it's not going to be about Mozart and effect of WWII on the western nations - they will always be out of context when it comes to western culture. It's the same kind of lack of ability to think (or express without getting eyebrows raised) about everything else that you might be showing here.

[1] http://en.wiktionary.org/wiki/learnings

Re:Guide for Technical Development by sukilot on Tuesday May 12, 2015 @04:35PM (#9534669)
Seems more like you are a provincial person who is not aware that English has many dialects.
Re:Guide for Technical Development by godarderik on Tuesday May 12, 2015 @02:46PM (#9533966)
Why does it have to be an Indian student? Your point would be equally valid without racist generalizations.
Re:Guide for Technical Development by javert on Tuesday May 12, 2015 @03:23PM (#9534218)
edit: To put it more simply, a stereotype is not the same thing as racism.
Re:Guide for Technical Development by sanxiyn on Tuesday May 12, 2015 @10:05AM (#9531818)
I happened to learn all of them. It's not necessary, but it's also not unrealistic.
Re:Guide for Technical Development by fecak on Tuesday May 12, 2015 @10:18AM (#9531908)
I'm sure there are others who have learned many of these languages as well, but that doesn't mean it's not unrealistic. It probably also depends on how we define "learn".

One of the (many) problems with this page is that it is geared towards computer science students (see header or URL). Listing 10 languages (with an "and", not an "or") may give a student the impression that he/she needs to add these 10 languages to their repertoire in order to be a successful engineer.

I'd be less critical of the page if it listed "or" instead of "and".

Re:Guide for Technical Development by drewg123 on Tuesday May 12, 2015 @10:05AM (#9531812)
I'm a software engineer at Google and I was involved in a university recruiting program last year. The content at the linked page is pretty close to the slide deck that I was given by the recruiters to read to the students at the event. So I imagine that any sloppyness is an artifact of the recruiters moving text around w/o a live SWE to expand on & correct the text as they read it.
Re:Guide for Technical Development by roneesh on Tuesday May 12, 2015 @10:38AM (#9532037)
I write JavaScript for a living, and I often forget if it's one word or two. It doesn't mean you don't know JS. And yes, we all know HTML isn't a programming language, but it's so essential to releasing software nowadays that it's almost a pointless distinction to separate it. One extra list item to point out that it's a markup language? That groaning sound you hear? It's every intro to programming deck having to laboriously expand by one slide for no good reason.
Re:Guide for Technical Development by allworknoplay on Tuesday May 12, 2015 @10:19AM (#9531917)
It's highly likely that this is the result of format transitions (being a copy of a copy), while the links and substance probably haven't changed. The non-technical people who moved this from some internal document to this page just don't focus on the same details you do -- they don't know the difference between markup and programming languages
Re:Guide for Technical Development by znpy on Tuesday May 12, 2015 @10:31AM (#9531993)
Well, consider that probably the content was developed by someone who knows what he/she is talking about, and has been later edited by content editors, mistakenly.

This is a reasonable explanation to me.

Re:Guide for Technical Development by hessenwolf on Tuesday May 12, 2015 @11:46AM (#9532589)
The guide to python (and I am currently training up a few folks in python) seems to be a guide for complete retards to learn python. It's woeful.
Re:Guide for Technical Development by packetslave on Tuesday May 12, 2015 @12:32PM (#9532911)
"retards"? really? that's still a thing that people say?
Re:Guide for Technical Development by GFK_of_xmaspast on Tuesday May 12, 2015 @05:55PM (#9535228)
There are people for whom it hasn't sunk in yet that it's a thing you don't say, and then there are jerks.
Re:Guide for Technical Development by hessenwolf on Friday May 15, 2015 @07:15AM (#9549889)
Hmmm. I think it has well evolved beyond being a medical term of any kind and is now just an expression for somebody who is being stupid. There is a big difference being somebody who is stupid (something I would never say someone is), and somebody who is being stupid, which most of us do at least once a day.
Re:Guide for Technical Development by krat0sprakhar on Tuesday May 12, 2015 @10:24AM (#9531950)
And w3schools is provided as a reference :|
Re:Guide for Technical Development by sukilot on Tuesday May 12, 2015 @10:30AM (#9531981)
Google.com loves w3schools. Top search result for every DHTML query.
Re:Guide for Technical Development by pestaa on Tuesday May 12, 2015 @11:51AM (#9532624)
That's one reason you don't search for "DHTML."
Re:Guide for Technical Development by sukilot on Tuesday May 12, 2015 @04:37PM (#9534685)
DHTML is a category, not a single search term.
Re:Guide for Technical Development by path411 on Wednesday May 13, 2015 @06:26PM (#9542388)
I don't think I've heard someone use the term DHTML since the 90s. I don't expect you will get a lot of resources on it.
Re:Guide for Technical Development by collyw on Tuesday May 12, 2015 @11:09AM (#9532297)
Is the content of w3schools actually bad?

Its layout is reasonable, and it seems to have a fairly comprehensive coverage of the topic. Its not overwhelming like w3.org. I can find what I want to know with relative ease (unlike w3.org)

I have seen a couple of articles pointing out that their implementation details are bad, but I don't think I have ever gone on there with the intention of clicking "view source"

Re:Guide for Technical Development by pluma on Tuesday May 12, 2015 @12:52PM (#9533069)
w3schools isn't an alternative to w3.org. MDN (developers.mozilla.org) is. And so is webplatform.org.

w3.org is the W3C, the actual organisation that publishes the CSS and XML specs (and the versioned snapshots of the HTML spec).

Re:Guide for Technical Development by warfangle on Tuesday May 12, 2015 @01:02PM (#9533147)
It used to be a goddawful cesspool of misinformation and poor advice. Thus, http://www.w3fools.com/. It's gotten better, but you're better off with MDN.
Re:Guide for Technical Development by snowwrestler on Tuesday May 12, 2015 @03:47PM (#9534377)
No, it's not bad. Hating on w3schools is like hating on PHP: a way for a person to socially signal that they are a Real Developer, not some noob.
Re:Guide for Technical Development by merrua on Tuesday May 12, 2015 @01:09PM (#9533213)
w3schools is fine for students just starting out. Though I'd direct them to the MSN articles (but I'm guessing Google can't)
Re:Guide for Technical Development by sukilot on Tuesday May 12, 2015 @04:37PM (#9534692)
You mean MDN?
Re:Guide for Technical Development by merrua on Wednesday May 13, 2015 @05:16AM (#9537694)
Sorry yes, Mozilla Developer Network.
Re:Guide for Technical Development by Igglyboo on Tuesday May 12, 2015 @09:55AM (#9531749)
CSS is also on the list of programming languages along with "Shell" which is probably supposed to mean bash.
Re:Guide for Technical Development by simias on Tuesday May 12, 2015 @10:04AM (#9531809)
Bash is not the only shell out there though. Personally I'd never tell anybody to write bash: either I want a very portable script that can run basically everywhere (on un*x) without installing anything and I use POSIX sh syntax or I want a more expressive language and I use a real programming language like perl or python or whatever.
Re:Guide for Technical Development by amyjess on Tuesday May 12, 2015 @11:11AM (#9532322)
If I'm going to be writing something that consists mostly of chaining commands together, I'm going to write a shell script, just because it gets out of my way for that purpose.

At the same time, anything I do at that level is probably going to be the exact opposite of portable: it's going to be something I intend to be specific to the exact system I'm writing for (namely, it's meant to run on a specific version of a specific Linux distribution, and possibly even to specifics of the installation on that machine). While I'm not likely to take advantage of many bash-specific features just because anything I write in shell tends to be so simple as to not need them, I'd also be an idiot to eschew useful features like arrays just because they're bash extensions.

Re:Guide for Technical Development by simias on Tuesday May 12, 2015 @11:38AM (#9532540)
If you don't care for portability and you need "advanced" language features like arrays and other bash-isms why do you hurt yourself by using such a terrible programing language?

In my experience shell scripts are fine for starting (and restarting) various programs and daemons or as thin wrappers around other apps. Beyond that I don't see the point. There's nothing other languages won't do better.

I've seen many "small bash scripts" grow up to thousands of lines, adding features one by one. And then you have to maintain that mess that catches fire every time an unexpected condition occurs because error handling in shell scripts is a joke.

Re:Guide for Technical Development by amyjess on Tuesday May 12, 2015 @02:10PM (#9533707)
Because there's no point in writing a Python script if more than half my code will consist of calls to commands.getstatusoutput().
Re:Guide for Technical Development by balls187 on Tuesday May 12, 2015 @10:27AM (#9531961)
It's not the only language, but I think you're splitting hairs on the spirit of "learn at least 1 shell programming language."
Re:Guide for Technical Development by GFK_of_xmaspast on Tuesday May 12, 2015 @10:39AM (#9532048)
In 2015, are there that many systems out there without a bash.
Re:Guide for Technical Development by liammclennan on Tuesday May 12, 2015 @04:56PM (#9534799)
Windows apparently has > 90% of the desktop market share. http://www.netmarketshare.com/operating-system-market-share....
Re:Guide for Technical Development by simias on Tuesday May 12, 2015 @11:39AM (#9532548)
In the base install? Last I checked all the BSDs at least.
Re:Guide for Technical Development by warp on Tuesday May 12, 2015 @11:13AM (#9532332)
Have we already forgotten shellshock? Especially in 2015 it seems like a good idea to avoid bash for anything non-interactive.
Re:Guide for Technical Development by nawitus on Tuesday May 12, 2015 @12:19PM (#9532814)
I've found that Node.js scripts are easy and fast to write and can be run everywhere easily with npm.
Re:Guide for Technical Development by tracker1 on Tuesday May 12, 2015 @06:35PM (#9535454)
At least until recently, it was pretty difficult to use node to wire together applications piping from one to another like you can do in a shell language... The recent cp.execSync addition along with ShellJS go a long way though...

That's not to say I wouldn't use it... it's actually my preference, and I've used npm for stuff that isn't strictly even node, but ymmv.

Re:Guide for Technical Development by komaromy on Tuesday May 12, 2015 @10:05AM (#9531816)
GitHub also lists "Shell" as a language.
Re:Guide for Technical Development by PascLeRasc on Tuesday May 12, 2015 @03:18PM (#9534185)
I wonder if we could create a github guide kinda like the community-written novel that was around a few days ago.
Re:Guide for Technical Development by jnem on Tuesday May 12, 2015 @03:39PM (#9534319)
Yeah, also noticed they referenced w3 schools as a source of learning. Guess MDN was not allowed by management.
Re:Guide for Technical Development by dean on Tuesday May 12, 2015 @12:34PM (#9532924)
The MIT Introduction to Algorithms link takes me to a page that says: "Your connection is not private. Attackers might be trying to steal your information from ocw.mit.edu (for example, passwords, messages or credit cards). NET::ERR_CERT_COMMON_NAME_INVALID"
Re:Guide for Technical Development by codepie on Tuesday May 12, 2015 @02:48PM (#9533978)
Same error with the link to MIT Mathematics for Computer Science.
Re:Guide for Technical Development by nilkn on Tuesday May 12, 2015 @10:14AM (#9531881)
I've noticed this sort of thing in a lot of Google's recruitment materials. If you ever interview with them you'll likely be sent some emails with a bunch of stuff like this which includes similar typos, minor broken English, and iffy recommendations.
Re:Guide for Technical Development by greedoshotlast on Tuesday May 12, 2015 @11:07AM (#9532288)
they listed w3schools as a reference? not sure if I can take this seriously anymore.
Re:Guide for Technical Development by natural219 on Tuesday May 12, 2015 @01:12PM (#9533246)
I cannot disagree more with this line of thinking and the rest of the commenter's general ultra-pedantic attitude.

Please, stop thinking like an "expert" and put yourself in the mind of an 18 year old who is unfamiliar with all of the stuff. Yes, the author could be infinitely more pedantic, precise, and helpful for one specific career outcome (being exactly like you). This means precisely jack for a confused 18-year-old looking for guidance on what areas to spend their time learning programing topics while being medium-ly effective.

Please can the pedantic nonsense and try to focus on the goal.

Re:Guide for Technical Development by ljk on Tuesday May 12, 2015 @01:54PM (#9533589)
seems like they corrected that typo
Re:Guide for Technical Development by therealwill on Tuesday May 12, 2015 @10:05AM (#9531815)
I can't help but feel that the "Java Script" error was more of a subtle jab at JS not being a "real" OOP language.
Re:Guide for Technical Development by sukilot on Tuesday May 12, 2015 @10:32AM (#9531996)
Its more that the non techie who wrote it fell for Mozilla's decades-old harebrained marketing gimmick to name JS after Java.
Re:Guide for Technical Development by chucksmash on Tuesday May 12, 2015 @12:47PM (#9533028)
s/Mozilla/Netscape/
Re:Guide for Technical Development by sukilot on Tuesday May 12, 2015 @04:39PM (#9534700)
Wow I actually thought about that and then my fingers typed Mozilla anyway. Oops.
Re:Guide for Technical Development by brudgers on Tuesday May 12, 2015 @10:40AM (#9532052)
That's a bit of a one true Scotsman. #\L in "HTML" stands for Language. HTML is a declarative programming language. Programmers have voted with their keyboards and it is not to early to predict HTML's landslide victory.

The reason for it's success is declarative languages are great for data-compression. All the low level gore of reaching across the internet from one remote computer to another is reduced to a pair of <a> tags and a little text.

Re:Guide for Technical Development by brlewis on Tuesday May 12, 2015 @10:52AM (#9532166)
Calling HTML a language is OK. But it's generally agreed that the term "programming language" should refer only to Turing-complete languages.
Re:Guide for Technical Development by calibraxis on Tuesday May 12, 2015 @11:00AM (#9532231)
Agreed by pedants. The whole post about spelling mistakes is pure pedantry. When I notice myself caring about such things, I admonish my superficiality.

I know lots of brilliant people who don't write well. If Google doesn't run posts through 10 levels checkers, fine.

Excluding non-turing-complete languages is probably a bad idea technically, as perhaps one wants to promote a toolkit of appropriately-powered languages. (I've seen arguments over "HTML isn't a programming language" before, and really don't care about the of precision when it's unwarranted in the context. Concepts like mathematical functions weren't all that precise until precision was needed.)

Re:Guide for Technical Development by ineol1 on Tuesday May 12, 2015 @01:16PM (#9533278)
Isn't Coq's language, Gallina, not Turing complete (all functions must terminate)? It's still a programming language.
Re:Guide for Technical Development by brlewis on Wednesday May 13, 2015 @10:37AM (#9539228)
That's an interesting case. HTML appearing in a list of programming languages makes me feel like Google isn't trying very hard to make a good impression on the students they want to recruit. I would feel less that way about Gallina appearing in such a list.
Re:Guide for Technical Development by brudgers on Tuesday May 12, 2015 @11:23AM (#9532413)
De facto evidence that HTML is a programming language is right here on the computer screen. Arguments premised on turning the ought's of should's into is's are collectively considered fallacious. The fallacy goes by a variety of names including "is-ought fallacy", "naturalistic fallacy" and "definist fallacy".

That Turing completeness is a property of some programming languages does not imply that all programming languages are Turing complete or that Turing completeness is an essential property of computing languages. The assumption that the extents of Turing Complete languages are identical to the extents of Programming Languages requires some evidence in support.

Programming languages for describing state machines need not be Turing Complete and their implicit avoidance of the Halting Problem make them useful in practice

Re:Guide for Technical Development by kaoD on Tuesday May 12, 2015 @11:31AM (#9532495)
And the HT stands for HyperText and M for Markup, neither of which is programming. If HTML was a programming language, the web wouldn't need JS to be programmed.
Re:Guide for Technical Development by tracker1 on Tuesday May 12, 2015 @08:36PM (#9535974)
Just the same, the HTML output in most contexts is generated by code that someone did program, or deceptively results in.

In terms of things to know, a programmer should know HTML to some extent in this day and age... Requiring a separate bullet point separate from "programming languages" for HTML specifically is absurd, considering the knowledge and concepts are indeed tightly related in the greater context.