Programming C, C++, Java, PHP, Ruby, Turing, VB
Computer Science Canada 
Programming C, C++, Java, PHP, Ruby, Turing, VB  

Username:   Password: 
 RegisterRegister   
 When do you "know" a language?
Index -> General Programming
Goto page 1, 2  Next
View previous topic Printable versionDownload TopicSubscribe to this topicPrivate MessagesRefresh page View next topic
Author Message
michaelp




PostPosted: Sat Jun 07, 2008 7:31 pm   Post subject: When do you "know" a language?

Just wondering what you guys think about this: When exactly do you "know" a language?
Can just learning that basics of the language that are found in every language be when you know it?
Or when you learn about the things that separate the specific language you are learning from other languages be when you "know" it?
Or even just know a simple "Hello World!" and input program from the language be when you know it just because you can write something in the language?
Like when there is a thread that ask what programming languages you know, can you just say what languages you have attempted to learn and tried out?
Sponsor
Sponsor
Sponsor
sponsor
CodeMonkey2000




PostPosted: Sat Jun 07, 2008 8:15 pm   Post subject: RE:When do you "know" a language?

Whenever you feel confident with the language I guess.
r691175002




PostPosted: Sat Jun 07, 2008 8:24 pm   Post subject: Re: When do you "know" a language?

Whenever you could finish projects in said language without being carried along by tutorials and documentation.
Basically, like CodeMonkey said.
Dan




PostPosted: Sat Jun 07, 2008 8:38 pm   Post subject: Re: When do you "know" a language?

r691175002 @ 7th June 2008, 8:24 pm wrote:
Whenever you could finish projects in said language without being carried along by tutorials and documentation.
Basically, like CodeMonkey said.


I think this is rather wrong, i don't think any programmer working in the real world has every command and function memeorized to the point where they do not need to use the documentation of the framework or langue, and even if they did it probly is not the best method of programming as the langue changes and you would probly be missing out on finding lots of intresting functions and parts of the langue that you have forgoten about or are more rarerly used.

When i am coding my self i offten have the doucmentaion for the langue up and some reference books around. It might be eductional to remake a function that all ready existices in the langue or framework but it is a real wast of time when there is no need and lots to be done (witch is common to do when you are not paying enought antation to the doucmentation).

Personaly i don't think "knowing" a language (how ever that might be defined) is any where close to as imporent as knowing the conspects of computer science and software engering. Once you have a good grapsp of the basic and more advaced conspects chaning langues is trival and becomes easyer with the more expcerince you have.

In terms of knowing a langune, i don't think any one ever realy knows everything about a langue as they are countional changing and new technoglys and uses are coming up each day. Even the peoleop invoilded in the creation of a langune pronbly do not know every function with in it's apis and libbarys and how the function exctaly.
Computer Science Canada Help with programming in C, C++, Java, PHP, Ruby, Turing, VB and more!
OneOffDriveByPoster




PostPosted: Sat Jun 07, 2008 8:47 pm   Post subject: Re: When do you "know" a language?

I think you "know" a language when you can understand programs writen in them by other people and the when, why and how of the patterns that they use. So like with "natural" languages--when you can express yourself in the language (writing) and when you can evaluate things expressed in that language (reading comprehension). I wouldn't say I _know_ any programming language well, but I guess I can _use_ some of them.
r691175002




PostPosted: Sat Jun 07, 2008 10:31 pm   Post subject: Re: When do you "know" a language?

Dan @ Sat Jun 07, 2008 8:38 pm wrote:
I think this is rather wrong, i don't think any programmer working in the real world has every command and function memeorized to the point where they do not need to use the documentation of the framework or langue, and even if they did it probly is not the best method of programming as the langue changes and you would probly be missing out on finding lots of intresting functions and parts of the langue that you have forgoten about or are more rarerly used.

I didn't mean that you should have everything memorized, just that you should be able to code something without having three tutorials open in a browser and a syntax reference in front of you.
btiffin




PostPosted: Sat Jun 07, 2008 10:46 pm   Post subject: Re: When do you "know" a language?

I'll ditto Dan; but I still have to do the old guy ramble thing first ...

I've been coding professionally and for fun for 30+ years now. I've got nearly 20,000 hours of Forth programming under my belt. Haven't got a clue. But I can read just about any source code (after an hour or two of doc reading if I've never seen the language before) and feel confident that I could find a bug or offer a reasonable feature change, but I still learn something new every day. Even on/off is deep enough that entire careers are spent dealing with the philosophy of TRUTH. I don't think I've spent a day not looking up docs or help or man or info or grep or google or ... too many things to remember. Even Einstein had a quote something along the lines of I can't tell you how many feet are in a mile, but I know what book to grab to find out. I'd dare say that even the designers of languages can't remember why all the decisions were made a few years after the fact. A strong reason to document your code. A few months later you've grown, learned new things, and may not even remember typing in the source let alone why. Other code you'll recall writing 20 years later and can almost recite it line for line. Brains are like that.

As humans, imho, we are never done learning. And never fear grabbing a book in front of colleagues. Some may scoff when you can't remember the exact printf format spec you need at the moment, but bosses will appreciate it when your code only has to be debugged once instead of failing in quality control or during a customer demo (of course they won't notice ... unless it fails ... then brown stuff hits fans). I've used gcc since the late 80's. I could not tell you half the compiler switches without access to a console and --help, man or info. As a matter of fact; I just did the man ... I couldn't tell you 10% of the switches without looking, Smile yet I still feel I can run with the big dogs when it comes to the GNU compiler collection.

Carl, my hero and the designer of REBOL asks us for our thoughts all the time. It's a good sign. Walter Bright of D fame is the same way. The late Dr Ralph Griswold developed Icon by asking students to write a lot of it for him. All good signs.

Anyway, enough rambling. You'll know when you know; but I'll also add that it is bad form to think you know it all. Smile

Sorry for the overlong ditto Dan.

Cheers
wtd




PostPosted: Sun Jun 08, 2008 6:38 pm   Post subject: RE:When do you "know" a language?

When you dream code in that language.
Sponsor
Sponsor
Sponsor
sponsor
rizzix




PostPosted: Sun Jun 08, 2008 6:47 pm   Post subject: Re: When do you "know" a language?

btiffin @ Sat Jun 07, 2008 10:46 pm wrote:
The late Dr Ralph Griswold developed Icon by asking students to write a lot of it for him.
Most profs do that. Razz
Tony




PostPosted: Sun Jun 08, 2008 8:38 pm   Post subject: RE:When do you "know" a language?

When you bootstrap that language Wink
Latest from compsci.ca/blog: Tony's programming blog. DWITE - a programming contest.
chrisbrown




PostPosted: Sun Jun 08, 2008 8:41 pm   Post subject: RE:When do you "know" a language?

I'd say you know (or shall we say, understand sufficiently) a language when you are able to both, solve a given problem in more than one way, and also know which way is most efficient with respect to the language and the problem.
syntax_error




PostPosted: Mon Jun 09, 2008 3:18 am   Post subject: RE:When do you "know" a language?

when you are not limited by the syntax. What I mean to say is you do not limit yourself to that one language.
jeffgreco13




PostPosted: Mon Jun 09, 2008 8:13 am   Post subject: Re: When do you "know" a language?

I'm gonna say that you 'know' a language when you are able to program in it. Meaning you're able to sit there and read code and understand exactly what it is doing and then turn around and use any command, whether you know it or read it in a tutorial/documentation. For example in PHP, understanding that the:

code:
mysql_query(...);


can be called at any time throughout a program, but if can also be called within an if statement to test if it was successful, because the command itself returns true if it worked.

So knowing how to apply a language is 'knowing' it. Being able to optimize, and write with little help as if it were ur birth language, now thats just being a pro.
Prabhakar Ragde




PostPosted: Mon Jun 09, 2008 1:07 pm   Post subject: Re: RE:When do you "know" a language?

wtd @ Sun Jun 08, 2008 6:38 pm wrote:
When you dream code in that language.


Reminds me of an old joke, about the French teacher who told her students that they would "know" French when they dreamt in it. One student tried hard in class but was pretty bad at the language. But he came in one day all excited, saying, "Teacher, teacher, last night I finally had a dream in which everyone was talking French!" The teacher said, "Great! What was the dream about?" and the student said "Heck if I know, I couldn't understand a word they were saying!"
Aziz




PostPosted: Mon Jun 09, 2008 3:22 pm   Post subject: RE:When do you "know" a language?

Isn't it a kind of trivial question? Programming, even in just one language, is all about learning. You're constantly learning more things about the language, or at least programming.

I supposed there is a point where you know the language to a professional extent. You know how the language works, what exactly it can and can't do, the flaws and benifets, and the same for the standard library of the language.

For example, knowing Java. You'd have to understand OO concepts, and how Java applies them. Understanding the way Exceptions work and how they're handled. How Java deals with Generics and uses Enums. Factory classes and collections are used throughought the standard java library, and so knowing those is part of knowing the language. There's so much more - Java isn't just knowing how to write functions or a for loop. It's knowing how for loops and "methods" are used in java, and Strings, and Intefaces and the Exception class.

But knowing a language isn't knowing programming, though they come together usually because you have to grasp on to grasp the other. Knowing how to implement a linked list isn't part of knowing java. Knowing java would help you implement a linked list in java, and vice versa, but the actual knowledge of a linked list doesn't neccesarily confer the knowledge of a programming language.

Damn, I sound smart.
Display posts from previous:   
   Index -> General Programming
View previous topic Tell A FriendPrintable versionDownload TopicSubscribe to this topicPrivate MessagesRefresh page View next topic

Page 1 of 2  [ 25 Posts ]
Goto page 1, 2  Next
Jump to:   


Style:  
Search: