Page 1 of 2
one programming language...
Posted: Sat Apr 19, 2008 5:19 pm
by xyjamepa
Hi,
I don't know if this a problem or not,but any way I've been thinking about
it for a while,I'm not gonna compliment my self but I think I'm a good
C coder,and every thing I want to code,I code it in C,and I love doing that,but my problem is I don't like programming with other language
such as C++, java or C#,I can code with this languages but I don't enjoy
doing that,so is this a problem?
Also now I'm a student studying informatic engineering,would this be
a problem to my career in the future as a software engineer?
Thanx.
Posted: Sun Apr 20, 2008 10:27 am
by Combuster
Almost all programming jobs require you to use a high level language - C++, C#, Java, etc.
Don't expect to find a job that lets you write programs in C
Posted: Sun Apr 20, 2008 11:20 am
by Ready4Dis
Combuster wrote:Almost all programming jobs require you to use a high level language - C++, C#, Java, etc.
Don't expect to find a job that lets you write programs in C
Almost all jobs? Ever tried doing micro-controller programming, or reading about their jobs, typically, they require C or ASM. Don't think that there aren't jobs around that still require C. I do agree, they are less common, but still available.
Posted: Sun Apr 20, 2008 1:26 pm
by JamesM
Ready4Dis wrote:Combuster wrote:Almost all programming jobs require you to use a high level language - C++, C#, Java, etc.
Don't expect to find a job that lets you write programs in C
Almost all jobs? Ever tried doing micro-controller programming, or reading about their jobs, typically, they require C or ASM. Don't think that there aren't jobs around that still require C. I do agree, they are less common, but still available.
The "almost all" classifier works well there. Your statements are correct, but there are many many many fewer jobs programming microcontrollers than there are doing OO stuff.
Remember that linux is written in C, so if you can find a job which involves hacking linux or bsd kernels (writing drivers etc) then that might be good for you.
Posted: Sun Apr 20, 2008 2:01 pm
by Zacariaz
It really depends on the work I think.
It would be odd if you were given a task which you could do in C but wasn't allowed to.
However the world is an odd place, so my guess is that it is a problem.
Posted: Sun Apr 20, 2008 4:00 pm
by xyjamepa
humm..
So ,I'm in trouble and I've to get used to code in other languages
such as C++ ,java...,but I liked JamesM idea about finding a job
for writing linux drivers.
Posted: Sun Apr 20, 2008 4:48 pm
by 01000101
that almost seems like an oxymoronic expression; "find a job as a linux driver developer". I thought linux developed by a non-paid community? how then would you get a paid job from it?
Posted: Sun Apr 20, 2008 6:11 pm
by Alboin
01000101 wrote:that almost seems like an oxymoronic expression; "find a job as a linux driver developer". I thought linux developed by a non-paid community? how then would you get a paid job from it?
IBM, Novell, Red Hat, Google, mobile device companies, etc.
Posted: Sun Apr 20, 2008 6:39 pm
by 01000101
extremely good point.
Posted: Mon Apr 21, 2008 1:22 am
by JamesM
It would be odd if you were given a task which you could do in C but wasn't allowed to.
No, it wouldn't be odd at all. If you were given a task that is best done in a HLL such as perl or ruby, they'd expect you to do it in a HLL such as perl or ruby. Because it's not just you that has to read the code you write - anyone else who maintains it or tries to extend it must, too.
And C isn't the easiest of languages to understand or maintain - It's a lot more easily obfuscated (especially doing simple* tasks such as Map lookups, linked lists etc) than HLLs.
Posted: Mon Apr 21, 2008 8:44 am
by Zacariaz
Hey, I may not know much, but I do know this: If I need to build a house doesn't matter if i start from left, rigt, top or bottom, as long as the result and the amount of time consumed is the same. (I would suggest starting from the bottom though)
And it's excactly the the same with this. You have to produce a satisfactory result and if this can be done it C, I see no reason why you shouldn't be allowed to.
What i said was not: Every thing can be done as well in C as in any other language.
Posted: Mon Apr 21, 2008 9:31 am
by Solar
Zacariaz wrote:You have to produce a satisfactory result and if this can be done it C, I see no reason why you shouldn't be allowed to.
The "Lone Wolf" theorem.
In reality you are part of a team, and there are people who have to step in for you while you are ill or on holiday, or after you left the company. And so this can be done with as little disruption as possible, usually you are
told which languages are eligible (and known to the other coders of your team / department).
And in any case, only one programming language on your skill list doesn't speak well about you anyway. You're expected to embrace change, and being able to overcome dislikes (both technical and social) to get the job done efficiently.
Posted: Mon Apr 21, 2008 12:29 pm
by Zacariaz
I believe that i made it clear with the remark "However the world is an odd place, so my guess is that it is a problem." that I am very much aware this is not how the world functions, but still it makes sence to me that the tools used shouldn't matter as long as the time consumed and the result is the same.
Of course, when talking large project where you are a part of a team you'll have to compromise from time to time, but still it should be the team and not the company who descides which tools to use.
Of course this is only my oppinion.
Posted: Mon Apr 21, 2008 1:52 pm
by JamesM
Of course, when talking large project where you are a part of a team you'll have to compromise from time to time, but still it should be the team and not the company who descides which tools to use.
It will almost always either be a team decision or decided purely by the amount of legacy code you already have to maintain when you join the company.
The fact of the matter is that C is not the best tool for many jobs.
Posted: Mon Apr 21, 2008 3:25 pm
by Solar
Zacariaz wrote:...the tools used shouldn't matter as long as the time consumed and the result is the same.
"Time consumed" includes all bugfix and maintenance work spent on the project long after you've been employed on greener pastures.
The larger the company, the higher up technology decisions are made.
Consider a company employing several hundred developers distributed among dozens of projects, which tend to run anywhere from a couple of months to a couple of years. Most likely they have a whole team set aside to maintain the development environments for everybody else. Chances are excellent this means one company-wide decision with regards to VCS and bugtracking.
My former employer demanded ClearCase and ClearQuest. My current employer demands CVS and Bugzilla. If you are sure the company could save time and money by using something different (including migration costs and schooling for all personell), by all means go talk to the decision makers, but guerillia decisions don't make friends.
Same goes for languages. The company likely has made a strategic decision with regards to the languages used, and on the developer level, will hire people with regards to their skills in the "company languages". That means "C only" will not earn you employment in a company looking for C++, Java, C#, or whatever know-how. And
being in such a company, rogue decisions to "do it in C" mean that the company either has to drop your work outright, or keep someone skilled in C employed for as long as your work continues to be used. Neither will make the management happy.
Of course, when talking large project where you are a part of a team you'll have to compromise from time to time, but still it should be the team and not the company who descides which tools to use.
Been employed by four companies so far, from a dozen developers up to Big Player (tm), and technology decisions like that haven't been made on the team level anywhere I've been.