Velocity Reviews

Velocity Reviews (http://www.velocityreviews.com/forums/index.php)
-   C++ (http://www.velocityreviews.com/forums/f39-c.html)
-   -   How do you define proficiency in C and C++? (http://www.velocityreviews.com/forums/t459661-how-do-you-define-proficiency-in-c-and-c.html)

Chandresh 01-05-2007 03:35 PM

How do you define proficiency in C and C++?
 
Hi All,
I am a graduate student in EE. I have a question that might seem
unusual but in my opinion it is interesting and I request all experts
to reply.
Being a grad student, I came along many programming languages like
Assembly, C, C++, VHDL, Matlab, Perl etc. and I dont remember how I
learned them. I am more comfortable with Assembly programming than
others. The question is how do you measure proficiency in C and C++ ?
It is important because all employers need proficient C,C++ programmers
but its hard to know the exact meaning of their proficiency definition.


My opinion: Programming is closely related to the problem being solved.
If one can understand the problem in detail and come up with the logic,
any programming language can implement it. So what is the point in
asking for proficiency in a particular language?

Thanks,

Chandresh


Dizzy 01-05-2007 04:12 PM

Re: How do you define proficiency in C and C++?
 
Chandresh wrote:

> Hi All,
> I am a graduate student in EE. I have a question that might seem
> unusual but in my opinion it is interesting and I request all experts
> to reply.
> Being a grad student, I came along many programming languages like
> Assembly, C, C++, VHDL, Matlab, Perl etc. and I dont remember how I
> learned them. I am more comfortable with Assembly programming than
> others. The question is how do you measure proficiency in C and C++ ?
> It is important because all employers need proficient C,C++ programmers
> but its hard to know the exact meaning of their proficiency definition.
>

Good for you.

>
> My opinion: Programming is closely related to the problem being solved.
> If one can understand the problem in detail and come up with the logic,
> any programming language can implement it. So what is the point in
> asking for proficiency in a particular language?


Many reasons, I can think of:

1. businesses work in teams thus they already have a team of C/C++
programmers and they need some more people on it

2. also after some work it is done, a business has to make sure it's
investment is not lost, a business always presumes it may have to replace
any employee at any time thus they ask for people that can work in
languages that they know they can find enough and easy (and "cheap" in
whatever means they need it) people to be able to continue on the work
started

3. because running a business is no exact science I supose many tend to
apply "common knowledge" either from what they used before or from what
they know others use thus they tend to go with the "crowd" and use whatever
popular language exists at that moment (thus implicitely solving the 2
issues above)

4. and of course, there may be specific technical requirements (like working
with existent code they bought or they rent or whatever)

You seem to think of programming like the act of a lone coder who does some
project from ground up to it's finnish having exact requirements from
beginning, having inifinte time and resources. In real life you are not
(always) alone, you don't have infinite time and resources, you don't have
all the requirements from beginning, you don't start from 0, you don't get
to decide the language used and you don't ever finnish working on it
(usually projects live for a long time needing to satisfy existing
clients).

Or maybe I just don't understand your question :)

--
Dizzy
http://dizzy.roedu.net


bjeremy 01-05-2007 04:16 PM

Re: How do you define proficiency in C and C++?
 

Chandresh wrote:
> Hi All,
> I am a graduate student in EE. I have a question that might seem
> unusual but in my opinion it is interesting and I request all experts
> to reply.
> Being a grad student, I came along many programming languages like
> Assembly, C, C++, VHDL, Matlab, Perl etc. and I dont remember how I
> learned them. I am more comfortable with Assembly programming than
> others. The question is how do you measure proficiency in C and C++ ?
> It is important because all employers need proficient C,C++ programmers
> but its hard to know the exact meaning of their proficiency definition.
>
>
> My opinion: Programming is closely related to the problem being solved.
> If one can understand the problem in detail and come up with the logic,
> any programming language can implement it. So what is the point in
> asking for proficiency in a particular language?
>
> Thanks,
>


You make good points.. but think of it this way. Try thinking in terms
of proficiency of any language... For me, my first language is English.
Now I can speak Spanish, but every time I speak Spanish, I need to
translate back and forth from English in my mind. This and the fact
that my knowledge of the Spanish vocabulary is limited, makes it
harder for me to express my thoughts clearly and concisely. So while I
can get around the streets of Juarez, Mexico, I would not make it as a
tv anchor on UniVision.

A programming language is the same way. If you do not know the terms
and features of a language (syntax an semantics), this makes it more
difficult for you to express your logic for a program in a way that is
clear and concise.


Lionel B 01-05-2007 04:17 PM

Re: How do you define proficiency in C and C++?
 
On Fri, 05 Jan 2007 07:35:58 -0800, Chandresh wrote:

[snip]

> My opinion: Programming is closely related to the problem being solved.
> If one can understand the problem in detail and come up with the logic,
> any programming language can implement it. So what is the point in
> asking for proficiency in a particular language?


I think there tend to be two interlinked scenarios: either someone
decides (probably on the basis of a variety of factors) which language is
going to be used for an implementation of the problem and then seeks
people who (in addition, of course, to understanding the problem) can
implement it quickly and accurately in the chosen language - that is,
proficient programmers - or the implementation language may indeed be
chosen (perhaps partially) on the basis of availability of proficient
programmers with knowledge of the problem area. I'd say that both
scenarios are quite common.

--
Lionel B

Chandresh 01-05-2007 06:14 PM

Re: How do you define proficiency in C and C++?
 
Thanks Dizzy, Lionel and Jeremy

Well, You are absolutely right in saying that real job is different and
is more demanding thus all your resons are valid. Jermey's example
shows a perfect analogy. Actually I need to put up the question more
clearly and I will do that now.

So as employers are more interested in their business and current
requirements than trying to judge the candidate on his abilities. I
would like to know What does it mean by " Proficient in C, C++" ? How
employers judge a person's capabilities and understanding of C, C++? I
am more interested in knowing about the pure technical aspects of C,
C++ programming, I mean symantics, syntax and programming skill test.

I appreciate your participation and hope I can know important topics to
know as a proficient C, C++ programmer.

Thank you,

Chandresh


Noah Roberts 01-05-2007 06:26 PM

Re: How do you define proficiency in C and C++?
 

Chandresh wrote:

> So as employers are more interested in their business and current
> requirements than trying to judge the candidate on his abilities. I
> would like to know What does it mean by " Proficient in C, C++" ?


In my experience, nothing at all. They say that and then you get to
the interview and they have some product written in Java or C#...or
Perl...anything but C or C++. Sometimes they even have language
bigotry against them and try to get into arguments about the benifits
of Java vs. C++....yeah, it happened to me.

> How
> employers judge a person's capabilities and understanding of C, C++?


By asking stupid and basic questions about C++ or C:

What is this: while (*d++ = *s++);

Or stuff that can't be answered:

Describe the structure of a class...

You mean how they are commonly laid out in memory?

No I mean describe the structure of a class.

Idiotic whiteboard problems that don't tell anyone anything beyond how
you handle the stress of having to do something stupid in front of a
panel of judges.

> I
> am more interested in knowing about the pure technical aspects of C,
> C++ programming, I mean symantics, syntax and programming skill test.


When I do interviews I ask questions about parts of C++ not many people
know to see if they know it or can figure it out based on what they do
know or clues I tell them...static vs. dynamic boundary conditions and
such. Last guy I interviewed showed some tendency toward mathematical
proofing so I asked him to prove the solution he just wrote on the
whiteboard...he came back an hour after the interview with some
scribbles on paper, it wasn't right but the fact that it happened
impressed me on the spot.

> I appreciate your participation and hope I can know important topics to
> know as a proficient C, C++ programmer.
>
> Thank you,
>
> Chandresh



Victor Bazarov 01-05-2007 06:29 PM

Re: How do you define proficiency in C and C++?
 
Chandresh wrote:
> [..]
> So as employers are more interested in their business and current
> requirements than trying to judge the candidate on his abilities. I
> would like to know What does it mean by " Proficient in C, C++" ? How
> employers judge a person's capabilities and understanding of C, C++? I
> am more interested in knowing about the pure technical aspects of C,
> C++ programming, I mean symantics, syntax and programming skill test.
>
> I appreciate your participation and hope I can know important topics
> to know as a proficient C, C++ programmer.


Proficiency is subjective in the sense that when one is interviewed,
another, local, "expert" is evaluating one's "proficiency" and gives
his/her evaluation to the hiring manager.

I am not putting quotation marks to indicate my doubt or to mock, just
to assign notations. Generally speaking there can be no "generic
proficiency", only "proficiency as far as somebody can see". Substitute
'somebody' with "my local expert" and you get the hiring manager's POV.
The more people agree on the somebody's point of view, the closer the
proficiency to its generic form.

Now, what each of the interviewers ("experts") puts in his/her "C++
proficiency" criteria is up to them, of course.

And, sorry to mention this, but this particular subject matter does
seem off-topic to me.

V
--
Please remove capital 'A's when replying by e-mail
I do not respond to top-posted replies, please don't ask



Victor Bazarov 01-05-2007 06:45 PM

Re: How do you define proficiency in C and C++?
 
bnonaj wrote:
> Chandresh wrote:
>> Hi All,
>> I am a graduate student in EE. I have a question that might seem
>> unusual but in my opinion it is interesting and I request all experts
>> to reply.
>> Being a grad student, I came along many programming languages like
>> Assembly, C, C++, VHDL, Matlab, Perl etc. and I dont remember how I
>> learned them. I am more comfortable with Assembly programming than
>> others. The question is how do you measure proficiency in C and C++ ?
>> It is important because all employers need proficient C,C++
>> programmers but its hard to know the exact meaning of their
>> proficiency definition. My opinion: Programming is closely related to the
>> problem being
>> solved. If one can understand the problem in detail and come up with
>> the logic, any programming language can implement it. So what is the
>> point in asking for proficiency in a particular language?
>>
>> Thanks,
>>
>> Chandresh
>>

>
> A point you've touched on is the type of applications the C++ is to be
> used for. Hence someone could be well versed in C++, (as I try to be),
> but without experience of the framework it's to be used within, So I
> think the answer to your question is that employers nearly always
> prefer people with the framework experience, (be that Telecoms,
> embedded, MFC, Finance or Qt, to name a few). Therefore if you've
> managed to provide a solution in C or C++ within a framework, this is
> far more valuable than a greater C or C++ proficiency.


But from two people who possess the same knowledge of the framework,
the one with higher language proficiency should be prefered, no? So,
the question still remains, how do you judge the language proficiency?

Abstract for a moment from all other criteria for hiring (age, race,
sex, sexual orientation, looks, neatness, body odor, etc.) and try to
imagine the two candidates who are perfect clones of each other in all
aspects but the knowledge of the programming language. How do you
figure it?

V
--
Please remove capital 'A's when replying by e-mail
I do not respond to top-posted replies, please don't ask



bnonaj 01-05-2007 06:47 PM

Re: How do you define proficiency in C and C++?
 
Chandresh wrote:
> Hi All,
> I am a graduate student in EE. I have a question that might seem
> unusual but in my opinion it is interesting and I request all experts
> to reply.
> Being a grad student, I came along many programming languages like
> Assembly, C, C++, VHDL, Matlab, Perl etc. and I dont remember how I
> learned them. I am more comfortable with Assembly programming than
> others. The question is how do you measure proficiency in C and C++ ?
> It is important because all employers need proficient C,C++ programmers
> but its hard to know the exact meaning of their proficiency definition.
>
>
> My opinion: Programming is closely related to the problem being solved.
> If one can understand the problem in detail and come up with the logic,
> any programming language can implement it. So what is the point in
> asking for proficiency in a particular language?
>
> Thanks,
>
> Chandresh
>


A point you've touched on is the type of applications the C++ is to be
used for. Hence someone could be well versed in C++, (as I try to be),
but without experience of the framework it's to be used within, So I
think the answer to your question is that employers nearly always prefer
people with the framework experience, (be that Telecoms, embedded, MFC,
Finance or Qt, to name a few). Therefore if you've managed to provide a
solution in C or C++ within a framework, this is far more valuable than
a greater C or C++ proficiency.

JB

Chandresh 01-05-2007 07:13 PM

Re: How do you define proficiency in C and C++?
 

Thanks everyone,

Let me make it more specific. I think I can program well for any given
problem ( as everybody does!!) but I am not confident about the use of
C++ and my take more time for me to do something in C++. So Eventhough
I am a good programmer bcoz of less familiarity with C++ I feel guilty
to sell myself as an efficient C++ programmer. I understand that real
programming job has less to do with the interview question but still
its important. What are the core concepts, syntax and symantics that I
must know in detail?

If anybody feels that its an old topic, It may be for them and I am
sorry for that but for me its a great thing to learn from experienced
people like you.

Thank you,
Chandresh



All times are GMT. The time now is 06:32 AM.

Powered by vBulletin®. Copyright ©2000 - 2014, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.