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 When you've mastered 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
BigFat




PostPosted: Sun Sep 06, 2009 8:45 pm   Post subject: When do you know When you've mastered a language?

I'm in high school, and recently finished my computer Programming 1 class (which focused on the Qbasic language). And now I'm in computer programming 2 and we are about to begin learning VB . And i just want to know when can you say you've mastered a language. Even though i spent a whole year learning qbasic i still don't think i could just think about something and create it. But my teacher has told us that by the time we do our finale project in computer programming 2(make a program about anything for 2 months) we will have the knowledge to create anything we can think of (our only constraint will be time). and i just want to know when can say you've mastered a language.
Sponsor
Sponsor
Sponsor
sponsor
DtY




PostPosted: Sun Sep 06, 2009 9:18 pm   Post subject: RE:When do you know When you\'ve mastered a language?

I heard that once you've spent about 100 (I think) hours with a language, you've mastered it (as a very rough guide, your first language will take longer than any others, once you've "mastered" two or three, you can pick up new ones really easily)

My opinion though, is that when I'm at the point that I can write a program without having to look at documentation to find out what a function is called, or what certain syntax should look like (for standard & often used functions), I've mastered it.
saltpro15




PostPosted: Sun Sep 06, 2009 10:01 pm   Post subject: RE:When do you know When you\'ve mastered a language?

When you can write a compiler for that language, you've mastered it is the general rule I've heard
BigFat




PostPosted: Sun Sep 06, 2009 11:41 pm   Post subject: Re: When do you know When you've mastered a language?

Well, say i want to get a job in computer programming. How well would i have to know a language to be successful and know what im supposed to do on the job?
wtd




PostPosted: Mon Sep 07, 2009 1:38 am   Post subject: RE:When do you know When you\'ve mastered a language?

You don't need to master a language to be successful.


  • In the real world, no one penalizes you for checking references. They may punish you for missing a deadline, but you can check reference material and not miss deadlines.
  • You need to know at least as much about a non-programming-language subject as you know about programming. For instance, you might be working on internationalizing an application. You're going to learn things about other human languages, and you're going to learn a lot about unicode.
  • You only need to know enough of a programming language to implement a solution to your problem. C++ is the perfect example: no one uses all of C++ to implement a solution to a problem. They use very small subsets of that language instead.
bbi5291




PostPosted: Mon Sep 07, 2009 9:59 am   Post subject: Re: RE:When do you know When you\'ve mastered a language?

saltpro15 @ Sun Sep 06, 2009 10:01 pm wrote:
When you can write a compiler for that language, you've mastered it is the general rule I've heard


BF is easier to compile than to write.
btiffin




PostPosted: Mon Sep 07, 2009 10:36 am   Post subject: Re: When do you know When you've mastered a language?

old guy rambling
Think Chess; The rules of the game are one thing, but mastery being a completely different level of play, beyond the rules.

Or any craft; periods of apprenticeship can carry on for years before the student can replace the master.

I use this number a lot; 10,000 hours. 10,000 hours is a benchmark that determines whether someone can be called expert in the field. For work related professions it can also be 10 years of full-time. http://en.wikipedia.org/wiki/Expert In my humble opinion, many many experts can't really be called Masters, so take that time estimate along with other factors when grading someone's mastery of a language.

DtY's 100 hours seems low to me, but I'm slow. Wink I've been coding C on and off for, well, 3 decades. Not a master. Using Forth, I've banked over 20,000 hours. Not a master; but, I could play in the master field and people might not notice. I'm approaching a few thousand hours of REBOL programming now. Still green.

Recently I've put a few hundred hours of Python programming behind me. Clueless noob.

Perhaps you will know when you've mastered the BASICs when you don't feel like asking the question anymore?

Cheers
A.J




PostPosted: Mon Sep 07, 2009 10:59 am   Post subject: RE:When do you know When you\'ve mastered a language?

See, I believe that there are people who haven't even came close to coding for that many hours and can be called an expert. What is 'mastering a language'? I don't think that there's a set condition, after which being fulfilled, one can call himself an 'expert'. If you are able to do what you do well enough, you are an expert.

Having said that, I believe that the phrase 'mastering a language' is kind of vague, and can be interpreted in many ways.
Sponsor
Sponsor
Sponsor
sponsor
DtY




PostPosted: Mon Sep 07, 2009 12:30 pm   Post subject: Re: When do you know When you've mastered a language?

btiffin @ Mon Sep 07, 2009 10:36 am wrote:
DtY's 100 hours seems low to me, but I'm slow. Wink I've been coding C on and off for, well, 3 decades. Not a master. Using Forth, I've banked over 20,000 hours. Not a master; but, I could play in the master field and people might not notice. I'm approaching a few thousand hours of REBOL programming now. Still green.

That number was probably wrong, I just remember reading that on another message board, and having a number that was a power of ten.

I have no idea, can't even estimate, how many hours I've used a given language.. Maybe I should write a gedit plugin to time how long I type with each seperate syntax highlighting mode.
[Gandalf]




PostPosted: Tue Sep 08, 2009 6:05 pm   Post subject: RE:When do you know When you\'ve mastered a language?

btiffin, I've got to be honest. I find the 10000 hours figure ridiculous. I mean, do you have a stopwatch timing you each time you load up your editor? Or does it really take over a year of 24/7 learning a language to know most of it's reasonable quirks? What exactly counts as time spent "programming", anyway?

Personally, I don't care about "mastering" anything. There are different levels of proficiency, but if you're saying that you can predict every possible branch of code in that language then you're kidding yourself. Likewise if you think you're not a competent programmer after 1000 hours in a language (41.67 days straight).

Personally, such figures bring about images of people wasting away hunched over the computer in the dark, getting the next few hundred hours of programming in, so they can be an "expert".
Zren




PostPosted: Tue Sep 08, 2009 8:29 pm   Post subject: Re: When do you know When you've mastered a language?

I'd say that when you've learned and can implement all the programming concepts that can be done with a language that are widely used in the field it's used for, that is when you've mastered it. It doesn't matter how you learned it or how long but rather that you know all those weird things they taught you in school, work, Internet, and can apply them.

However, if you'd like to put a big time limiter on this, I'd say look to the pros and what their looking for.
Say blizzard wants this guy: http://www.blizzard.com/us/jobopp/cinematic-tools-programmer.html
He needs 3 years minimum in a language. Say you worked for another job and got the experience that way.

For full time work (stats taken from random googling)
3 years * 260 work days a year * 8 hours a day = 6240 hours

Now that's round 6000 hours that you might of spent at a computer hacking that C++ together to make a movie maker. Well maybe 4000 (I dunno, do people actually work at their jobs all the time).

Truthfully, the only language I could say I've mastered would be Turing, and that's a stretch even then, but I still feel that my first line was what makes a master differ from the weak.

bbi5291 @ Mon Sep 07, 2009 9:59 am wrote:
saltpro15 @ Sun Sep 06, 2009 10:01 pm wrote:
When you can write a compiler for that language, you've mastered it is the general rule I've heard


BF is easier to compile than to write.

I thought that saying was to be able to write a compiler using the language itself, maybe not? Anyways, try that in BF.
jernst




PostPosted: Tue Sep 08, 2009 10:18 pm   Post subject: Re: RE:When do you know When you\'ve mastered a language?

[quote="[Gandalf] @ Tue Sep 08, 2009 6:05 pm"]Personally, such figures bring about images of people wasting away hunched over the computer in the dark, getting the next few hundred hours of programming in, so they can be an "expert".[/quote]

+1 I know many people who claim "expert" status because they spend all day on their computers, however in reality they just try to use big words, try to sound smart and mislead people more than help them. Theres a difference between spending time messing around with something and learning.
btiffin




PostPosted: Wed Sep 09, 2009 12:06 am   Post subject: Re: When do you know When you've mastered a language?

Gandalf; Well, the 10,000 hours thing is a somewhat soft target in terms of expert, and a very soft target when measuring mastery. But for expertise, the world really does set the bar pretty high and expects prolonged experience and deliberate practice. And yes, if you are conscience of it, it may involve hunching over in the dark glow.

Perhaps, those with the knack for programming may think themselves masters. Until they meet a Master and see the difference in tone, quality and correctness of works. I've met quite a few programmers. Lots and lots that I'd sanction as expert. Only one that I'd call Master. And I know of at least three others from working with them on the net. Four. One being in person.

Cheers
And Gandalf, this is really only a personal opinion (backed up a little bit by "wikipedia experts" Wink in expertise and my own experiences) and a bit of a clown's view of the world.
[Gandalf]




PostPosted: Wed Sep 09, 2009 7:22 pm   Post subject: Re: When do you know When you've mastered a language?

Fair enough, btiffin. It's unfortunate that expertise is measured in time spent rather than skill and experience, which is vastly different than time spent. Mainly though, I just dislike the semantics behind your opinion. To me, there are programmers that are good, better, and even better. However, as far as I can tell there is no International Federation of Programmers that gives out "Expert" and "Master" titles to those who spend 10000 hours at work in a language. Wink I respect your view that there are a select few who are above and beyond everyone else... Every field has its van Goghs. Smile

*shrug*
btiffin




PostPosted: Fri Sep 11, 2009 10:49 pm   Post subject: Re: When do you know When you've mastered a language?

Gandalf; Excuse the over explaining...

Yeah, the 10,000 number is what "they" guess it takes for the brain to attune to the patterns that allow an expert to make (more) correct choices under extreme variants of the topic at hand. They can cover more bases. But it's not a hard number and I don't know what the guess is for programming. I do think it is years to decades of full-time professional practice.

And the hundreds of hours deliberately spent hunched in the dark, won't be the "last" few hundred hours, 'cept perhaps those rare few that get the eureka half way through an all nighter web site publish or sort-merge problem.

And will a kid come fresh out of school and blow the expert away in productivity? Probable. Wink
The same graduate up against a Master? Improbable. Left in the dust, while benefiting from the exposure.

Cheers
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  [ 16 Posts ]
Goto page 1, 2  Next
Jump to:   


Style:  
Search: