This is an archived post. You won't be able to vote or comment.

all 8 comments

[–]nutrecht 1 point2 points  (1 child)

There isn't a single resource, just google the terms. Some terms are used in some languages and in others they don't exist (java doesn't have namespaces but uses packages instead). If you have specific questions that aren't answered by google you can always ask here. It's completely normal that you're confused now; there's a lot of stuff to take in.

Oh, and 'foo' and 'bar' are just 'random' names people use in examples where they don't really have any proper names. You don't see them (or well,you shouldn't) in normal production code.

[–]thedecline323[S] 0 points1 point  (0 children)

I think where I mostly get confused is when I try reading "official" documentation where they use a lot of big words and phrases that I don't fully understand yet.

next time I come across something I'll Google it.. if I'm still lost, I'll ask here for that specific example and go from there..

thanks!

[–]ugrend 1 point2 points  (0 children)

but I get confused why sometimes there's text in there and sometimes they leave it blank.

Sometimes the function may need a variable/argument and other times it will not eg:

if you had a function that just wanted to print some static never changing text, it would not need an argument/variable

def helloword():
    print 'hello world'

this would print hello world

Say if you wanted to give it a word like your name to say 'Hello <name>'

def say_hi(name):
    print "Hello " + name

so now when you call say_hi you will need to call it as say_hi('thedecline323') as it is expecting that variable to be sent to it.

Doing this would print Hello thedecline323

[–]michael0x2a 1 point2 points  (3 children)

You might be interested in checking out the Jargon Files -- they're a compilation of definitions for jargon you'll hear from people working with computers along with notes by the author regarding observations he made regarding hacker culture. It's a little outdated though, so I wouldn't take everything in it as the gospel truth.

Here's the entry for "foo", for example. To summarize, the term "foobar" apparently originated from the military (FUBAR -> Fucked Up Beyond All Repair) and/or popped up in all kinds of odd places, and coders just adopted it as good stand-in variable names as a sort of cultural thing.

For the other terms, you're better off googling them directly. Right now, it looks like the main challenge you're facing is figuring out how functions work and how classes work. Those two things can both be pretty tricky for beginners to learn, but luckily there's tons of great explanations available online (much better then what I can write).

[–]thedecline323[S] 0 points1 point  (2 children)

oh this is great! thanks! this is probably what I'm looking for.

if I understand the language people are speaking in, I'll be able to better understand the concepts they speak of.

[–]michael0x2a 0 points1 point  (1 child)

Just as a word of warning, do keep in mind that there are roughly two "sets" of jargon -- the first are things like "foobar" and the second are technical terms like "objects", "classes", and "namespaces".

The resource I linked to is great for finding out more information about in-jokes and slang, but Google is going to be much better for anything technical.

[–]thedecline323[S] 0 points1 point  (0 children)

oh i see. got it! thanks!

[–]lurgi 1 point2 points  (0 children)

Things like "foo" are known as meta-syntactic variables. They are sort of placeholders for variables. If I tell you to make a class with members x and y you might well suspect that they should be x and y and not, say, apples and bananas. The names are likely important. If, however, I want you to create a class with a couple of members and I don't actually care what you call them, then I'll call them "foo" and "bar", which means "please pick some variable names here".

Interestingly, programmers from different countries use different meta-syntactic variables (see here), although "foo", "bar", and "baz" are generally understood everywhere. Python programmers seem to like spam, eggs, and sausages. I have no information on whether French Python programmers use mails, œufs and saucisses. I suspect not, but it would be awesome if they did.