"Do you really need to know C? I think so."
-
In my experience working with programmers in both categories, those who have a background of knowledge of the lower level programming languages always seem to be quicker at solving more complicated problems. Of course, there are exceptions to this rule but I would say 98% of the time this is true. [^]
The Wizard of Doze wrote:
those who have a background of knowledge of the lower level programming languages always seem to be quicker at solving more complicated problems.
What's that? Ah, Eau de BS by Givenchy. I don't know C or C++ and I solve complex real world problems on a daily basis. These are not computer problems, but I use a computer to help solve them. But do you know what? I'm an artist: I don't need to know how you made that canvas or how you created that paint brush. Give me those tools and I'll create a work of art that is beyond your imagination.
-
In my experience working with programmers in both categories, those who have a background of knowledge of the lower level programming languages always seem to be quicker at solving more complicated problems. Of course, there are exceptions to this rule but I would say 98% of the time this is true. [^]
-
In my experience working with programmers in both categories, those who have a background of knowledge of the lower level programming languages always seem to be quicker at solving more complicated problems. Of course, there are exceptions to this rule but I would say 98% of the time this is true. [^]
Does everyone really need to solve complicated problems? No. I think there is a market for code jockeys, that spend 10 minutes in the saddle and drink beers to celebrate. There is also a market for R&D, OS, game, and simulation systems as well as the folks who make the frameworks in the higher speed languages to boost the performance of the code jockeys. We can co-exist, theoretically. I do think C++ and C are worthwhile to know. It helps to know why and how things work to find problems with algorithms, but when querying a database for the zillionth time, you don't need C, C# experience or even Java handle the problem equally well. I do believe both play a significant part in this world.
_________________________ Asu no koto o ieba, tenjo de nezumi ga warau. Talk about things of tomorrow and the mice in the ceiling laugh. (Japanese Proverb) John Andrew Holmes "It is well to remember that the entire universe, with one trifling exception, is composed of others."
-
In my experience working with programmers in both categories, those who have a background of knowledge of the lower level programming languages always seem to be quicker at solving more complicated problems. Of course, there are exceptions to this rule but I would say 98% of the time this is true. [^]
Didn't we just do this? (See pyramid thread below)
Christopher Duncan Author of The Career Programmer and Unite the Tribes www.PracticalUSA.com
-
Just caught all the havoc from an ex VB-guy BLAG on nonsense and sigh, sigh, sigh.. You don't really need to know C, but machine background helps. If you start with C++ you'll get a better handle on things, and Bjarne talked about that for ages and argued it well and beyond anyone out there. You watch how many .NET devs that came from poor C++ background slate it while they really never even understood 5% of it, and what really gives them that warm VM feeling. You know the type, those that code C hacks as VB with DllImport equivalent. So how come they can judge it? Because of INotifyPropertyChanged and BindingList and some XML files? You gotta be kidding, those are the most bloated ways to write software, in history of time. Plus every other dog on the street can do it, And btw, you get an out of memory exception on those apps on all 32-bit platforms the moment you stress them and they hit the 800MB barrrier. Now that is very and pathetically easy to do these days to most apps as they are 'simplified' right? And if that is advance then go on land that Phoenix with Thinking-In-CLR. Here comes the "upgrade to x64 and your RAM" sheep... hammer and nail. (oh never mind, that they actually slate their VM, whenever they slate C++ or C because that's mostly the style Java and .NET VMs are written in, with C-as-C++ 'classes' phenomena ).
The .net framework is still pretty much in it's infancy you won't find a lot of senior programmers that don't have a background in c++ or c working in .net. Give it a few years and there will be a lot of developers that started in Java or C#.
"The great pleasure in life is doing what people say you cannot do." - Walter Bagehot
-
The .net framework is still pretty much in it's infancy you won't find a lot of senior programmers that don't have a background in c++ or c working in .net. Give it a few years and there will be a lot of developers that started in Java or C#.
"The great pleasure in life is doing what people say you cannot do." - Walter Bagehot
-
I diagree completely that knowing C is THE qualifier for a good programmer. That's an incredibly narrow vision. Maybe it's just me but I think there are multiple qualifiers for a good programmer. C or no C.
----------------------------------------------------------- "When I first saw it, I just thought that you really, really enjoyed programming in java." - Leslie Sanford
-
In my experience working with programmers in both categories, those who have a background of knowledge of the lower level programming languages always seem to be quicker at solving more complicated problems. Of course, there are exceptions to this rule but I would say 98% of the time this is true. [^]
-
In my experience working with programmers in both categories, those who have a background of knowledge of the lower level programming languages always seem to be quicker at solving more complicated problems. Of course, there are exceptions to this rule but I would say 98% of the time this is true. [^]
:rolleyes: Let's take a step back and consider the difference between programmers that have knowledge of lower level programming languages, they've probably been programming for many years. Higher level languages that are widely in use today are relatively new. A developer who doesn't know C is probably a newer developer who doesn't have those many years of experience. So which programmer is going to be better at solving complicated problems, the new guy or the guy who has been doing it for years, maybe a decade or more? Seems to me the cause and effect are mixed up here. I personally have learned and coded in assembly, cobol etc etc. If I were interviewing people would I ask them a question related to those domains of expertise? No way. It would be ludicrous to do so. But let's say we disregard that. The day to day programming tasks for a developer today are very different than they were before the proliferation of managed higher level languages but the guy asking the questions comes from the old school of unmanaged languages where you had to write your own encryption, memory management etc etc. How hard is it for that guy to be asking questions the newer programmers can't answer: damned easy. It still doesn't amount to anything relevant for the new developer. The end result of software development is to put something in the hands of the end user that solves a real world problem. That should be the focus always, anything else is just a pissing contest with no real world relevance.
"The great pleasure in life is doing what people say you cannot do." - Walter Bagehot
-
No, Wizard was saying that it can provide an advantage.
Visit http://www.notreadytogiveup.com/[^] and do something special today.
Trollslayer wrote:
No, Wizard was saying that it can provide an advantage.
knowing C? That can be said about knowing anything period. So C is just like any other ?
----------------------------------------------------------- "When I first saw it, I just thought that you really, really enjoyed programming in java." - Leslie Sanford
-
Does everyone really need to solve complicated problems? No. I think there is a market for code jockeys, that spend 10 minutes in the saddle and drink beers to celebrate. There is also a market for R&D, OS, game, and simulation systems as well as the folks who make the frameworks in the higher speed languages to boost the performance of the code jockeys. We can co-exist, theoretically. I do think C++ and C are worthwhile to know. It helps to know why and how things work to find problems with algorithms, but when querying a database for the zillionth time, you don't need C, C# experience or even Java handle the problem equally well. I do believe both play a significant part in this world.
_________________________ Asu no koto o ieba, tenjo de nezumi ga warau. Talk about things of tomorrow and the mice in the ceiling laugh. (Japanese Proverb) John Andrew Holmes "It is well to remember that the entire universe, with one trifling exception, is composed of others."
El Corazon wrote:
that spend 10 minutes in the saddle and drink beers to celebrate
:-D where is this j-o-b
----------------------------------------------------------- "When I first saw it, I just thought that you really, really enjoyed programming in java." - Leslie Sanford
-
:rolleyes: Let's take a step back and consider the difference between programmers that have knowledge of lower level programming languages, they've probably been programming for many years. Higher level languages that are widely in use today are relatively new. A developer who doesn't know C is probably a newer developer who doesn't have those many years of experience. So which programmer is going to be better at solving complicated problems, the new guy or the guy who has been doing it for years, maybe a decade or more? Seems to me the cause and effect are mixed up here. I personally have learned and coded in assembly, cobol etc etc. If I were interviewing people would I ask them a question related to those domains of expertise? No way. It would be ludicrous to do so. But let's say we disregard that. The day to day programming tasks for a developer today are very different than they were before the proliferation of managed higher level languages but the guy asking the questions comes from the old school of unmanaged languages where you had to write your own encryption, memory management etc etc. How hard is it for that guy to be asking questions the newer programmers can't answer: damned easy. It still doesn't amount to anything relevant for the new developer. The end result of software development is to put something in the hands of the end user that solves a real world problem. That should be the focus always, anything else is just a pissing contest with no real world relevance.
"The great pleasure in life is doing what people say you cannot do." - Walter Bagehot
John C wrote:
The end result of software development is to put something in the hands of the end user that solves a real world problem. That should be the focus always, anything else is just a pissing contest with no real world relevance.
Chris Maunder wrote:
That should be framed.
----------------------------------------------------------- "When I first saw it, I just thought that you really, really enjoyed programming in java." - Leslie Sanford
-
In my experience working with programmers in both categories, those who have a background of knowledge of the lower level programming languages always seem to be quicker at solving more complicated problems. Of course, there are exceptions to this rule but I would say 98% of the time this is true. [^]
Having done BASIC as a kid going into C++ in college gave me a good start to OOP which is more preferred in business programming today, in my opinion. We did C++ before C but 6 of 1. We had a teacher (who did some work for NASA) who basically made us do the same program in 4 languages. He drilled into us that if you think about the problem and understand the logic, you can write the pseudocode (he always said, "You should hand simulate 20 minutes a day." With his Korean accent it always sounded dirty) and just change the syntax for the language. Just like English, Spanish, French...you have a noun, verb, adjectives etc. Some languages put the adjective after the noun, some before. If you understand the mechanics of one language, you can learn another easily.
Shhhhh..... http://craptasticnation.blogspot.com/[^]
-
Trollslayer wrote:
No, Wizard was saying that it can provide an advantage.
knowing C? That can be said about knowing anything period. So C is just like any other ?
----------------------------------------------------------- "When I first saw it, I just thought that you really, really enjoyed programming in java." - Leslie Sanford
i think the point is that to "know" C you have to be able to design and understand algorithms and data structures effectively and efficiently ... those skills will help you with higher level languages or frameworks personally i find an understanding of HOW they implement frameworks and JIT compilers helps me USE those frameworks more effectively
"mostly watching the human race is like watching dogs watch tv ... they see the pictures move but the meaning escapes them"
-
:rolleyes: Let's take a step back and consider the difference between programmers that have knowledge of lower level programming languages, they've probably been programming for many years. Higher level languages that are widely in use today are relatively new. A developer who doesn't know C is probably a newer developer who doesn't have those many years of experience. So which programmer is going to be better at solving complicated problems, the new guy or the guy who has been doing it for years, maybe a decade or more? Seems to me the cause and effect are mixed up here. I personally have learned and coded in assembly, cobol etc etc. If I were interviewing people would I ask them a question related to those domains of expertise? No way. It would be ludicrous to do so. But let's say we disregard that. The day to day programming tasks for a developer today are very different than they were before the proliferation of managed higher level languages but the guy asking the questions comes from the old school of unmanaged languages where you had to write your own encryption, memory management etc etc. How hard is it for that guy to be asking questions the newer programmers can't answer: damned easy. It still doesn't amount to anything relevant for the new developer. The end result of software development is to put something in the hands of the end user that solves a real world problem. That should be the focus always, anything else is just a pissing contest with no real world relevance.
"The great pleasure in life is doing what people say you cannot do." - Walter Bagehot
but what do you do when the framework goes wrong or has bugs? hold up development of the company mission critical software until the framework maker brings out a bug fix?? no you dive in and fix it by either patching the framework code or making a work-around ... both of which require more knowledge than USING the framework alone no?
"mostly watching the human race is like watching dogs watch tv ... they see the pictures move but the meaning escapes them"
-
El Corazon wrote:
that spend 10 minutes in the saddle and drink beers to celebrate
:-D where is this j-o-b
----------------------------------------------------------- "When I first saw it, I just thought that you really, really enjoyed programming in java." - Leslie Sanford
being outsourced to India! ;P :laugh: where it will take 8 hours to do the same.
_________________________ Asu no koto o ieba, tenjo de nezumi ga warau. Talk about things of tomorrow and the mice in the ceiling laugh. (Japanese Proverb) John Andrew Holmes "It is well to remember that the entire universe, with one trifling exception, is composed of others."
-
but what do you do when the framework goes wrong or has bugs? hold up development of the company mission critical software until the framework maker brings out a bug fix?? no you dive in and fix it by either patching the framework code or making a work-around ... both of which require more knowledge than USING the framework alone no?
"mostly watching the human race is like watching dogs watch tv ... they see the pictures move but the meaning escapes them"
l a u r e n wrote:
no?
No. I've been using 3rd party components and frameworks for years now. So far no showstopping bugs in the frameworks and though there have been many bugs in the 3rd party components they were all fixed very fast and didn't put us out at all.
"The great pleasure in life is doing what people say you cannot do." - Walter Bagehot
-
The .net framework is still pretty much in it's infancy you won't find a lot of senior programmers that don't have a background in c++ or c working in .net. Give it a few years and there will be a lot of developers that started in Java or C#.
"The great pleasure in life is doing what people say you cannot do." - Walter Bagehot
There will be a lot of devs for sure, and sadly they'll think like you do. Let me rephrase this as you started this far too many times and I'm willing to go technical with you on any aspect of C#, training and what constitutes a "good developer" (as you put it) and be very comfortable with it. Would you trust Jeff or K&R? Okay, here you gotta a guy that is a celebrity for those that click all day and copy and paste, he is a true VB star and mentality. Writing is on par with Joan Collins, and you get to learn very little. It is sub-tabloid standard material. On the right corner you have the inventors of the universal machine abstraction that got recognised by Stepanov as seminal. That same recognition made generic programming and much more a sucess that CLR people gladly adopted (and screwed up on). You know that piece so you do not use "object","reflection" and more as it is the modern day "void*" and casting? Naah, you wouldn't understand it. That same work is what runs all your software before it boots and all your VMs before they can even do a single bit I/O ( disk, pixel, new Size(), and everything else for that matter). It got refined to a level that CLR will never reach, period. All you have to do is read to understand and you'll see that a good developer is one that picks up at least that.. and for me anyone blogging that type of junk simply wouldn't pass the first question of an interview for any engineering or quality control job. They could get a marketing or salesman or estate agent role though. And there is a demand to sell junk out there as hey customers never cares or know really.. like in every business. But the above to me is the key, you are comparing a lightweight rambling with something you probably do not realise or ever will. And that is a sign of a bad developer, one that refuses to know or accept his limitations. Crap software ensues straight after hence not worth investing in that kind of personality.. Very, very simple.. think about it. So I'd suggest you show what 'good developer' is in knowledge rather than utter nonsense in blog land or own-abstract-invention of 'good'. BIG HINT: A good developer is a critical thinker, one that will never read a blog and post or respond immediatelly (plenty of MS PM blog post have that following and CP articles here too), as if he got clever by reading a paragraph that suited his current circumstances, religous language belief or sub-par techniques and writing. A better developer knows it can always get better, dr
-
Having done BASIC as a kid going into C++ in college gave me a good start to OOP which is more preferred in business programming today, in my opinion. We did C++ before C but 6 of 1. We had a teacher (who did some work for NASA) who basically made us do the same program in 4 languages. He drilled into us that if you think about the problem and understand the logic, you can write the pseudocode (he always said, "You should hand simulate 20 minutes a day." With his Korean accent it always sounded dirty) and just change the syntax for the language. Just like English, Spanish, French...you have a noun, verb, adjectives etc. Some languages put the adjective after the noun, some before. If you understand the mechanics of one language, you can learn another easily.
Shhhhh..... http://craptasticnation.blogspot.com/[^]
Yes, that's very true, and that's what I have much trouble to get accepted by the people I work for. My ability is programming. I can program in any language you give me, I've never studied any program language, but programming, computer science. And I can program in C, C++, C#, java, VB, PERL, Python, Lots of Assembler, but also a lot of funny scripting languages from different tools.
~RaGE();
I think words like 'destiny' are a way of trying to find order where none exists. - Christian Graus
Do not feed the troll ! - Common proverb -
l a u r e n wrote:
no?
No. I've been using 3rd party components and frameworks for years now. So far no showstopping bugs in the frameworks and though there have been many bugs in the 3rd party components they were all fixed very fast and didn't put us out at all.
"The great pleasure in life is doing what people say you cannot do." - Walter Bagehot
John C wrote:
many bugs in the 3rd party components they were all fixed very fast and didn't put us out at all.
If you demonstrate the error is in their code and report it... they are going to lose their asses to get their product fixed as soon as possible, if the company want to stay in the market... But if the company has already had problems and closed (as I had to face once)... you are a bit f**ked, or you make a workaround or try to find your own solution.
Greetings. -------- M.D.V. ;) If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about? Help me to understand what I'm saying, and I'll explain it better to you “The First Rule of Program Optimization: Don't do it. The Second Rule of Program Optimization (for experts only!): Don't do it yet.” - Michael A. Jackson Rating helpfull answers is nice, but saying thanks can be even nicer.