Click to See Complete Forum and Search --> : When do you "know" a programming language?


Muzzy
November 22nd, 2006, 03:59 AM
I know its a silly question and I know most of the answers are along the lines of "You never know it all, there is always new stuff to learn" etc. And I'm sure this is true.

But the thing is, I've been studying computer programming for almost 2 years. I've had several courses in C, C++, VC++, Java, UML, Mysql, PHP, Assembler etc etc..
Now as you can see they teach us quite a lot of different stuff but we don't really specialize in anything which is pretty annoying. Since when you start getting the hang of someting you have to jump on to the next thing.

This isn't that bad but when its time to get a job I'm afraid all I'll know is cout << "Hello world" :)
Ok.. So I know a lot more than that. of course we've had to do more advanced exercises using classes, inheritance, polymorphism etc. And it isn't that difficult imo.

But.. well I guess it boils down to this: I don't know what kind of knowledge will be required when I do start working as a programmer. I guess I'm just really worried about my future boss going "What?! You don't know how to do a simple thing like that?!. Get the h*** out of here, you're fired!" :(

SuperKoko
November 22nd, 2006, 07:36 AM
If you want to know all the facets of the language itself, you should read entirely The C++ Programming Language (by Bjarne Stroustrup).

It is not sufficient to program fluently, but, at least, you won't ignore any facet of C++.

It's hard to define what "knowing" a language means, and definitions may vary...

IMHO, if you know all the facets of C++, and write fluently C++ code, and you correct most of your bugs fastly because you've met them several times, with a not-too-bad programming style, then, you know C++.
You don't necessarily program well (programming styles & paradigms are another thing), but you are familiar with the language itself.

Another point: If you learn a lot of API (DirectX, Win32 API, or others) and think something like "wow, learning the whole C++ core language was a negligible work compared to learning APIs", it means that you know the C++ language.