Is it the fact that using only one kind of programming language would probably restrict your capacity?
-
I just read an article which augues that coding with only one programming language would limit one's capability to code. I'm a little confused about this argument, because I've always thought that, one developer proficiently mastering one language outperforms one using many language but he actually knows relatively little about each one. So, I'm not sure whether the idea of the passage I read is very correct. I just want to hear more opinions about this issue, so, please feel free to show your thoughts about it. :)
-
This whole argumant is misplaced. Being a good software engineer is not about the language, it is about how he solves problems. The language is just one of the tools to acchieve that goal.
============================== Nothing to say.
Thanks for replying :) I think your idea is right in some ways. Indeed, a good software developer can solve many problems. But, the more programming languages he masters, the more problems he can solve. So, in this way, the idea that "the more languages, the better" seemes to be right. Can you still hold your opinion?
-
I just read an article which augues that coding with only one programming language would limit one's capability to code. I'm a little confused about this argument, because I've always thought that, one developer proficiently mastering one language outperforms one using many language but he actually knows relatively little about each one. So, I'm not sure whether the idea of the passage I read is very correct. I just want to hear more opinions about this issue, so, please feel free to show your thoughts about it. :)
Besides what's already been said, to flip this around, I've grown quite skeptical of developers who know lots of languages and platforms and claim mastery in many of them. My own observation is that it takes 5 to 7 years to become an expert at anything. There are exceptions, like Marc Clifton, but they are exceptions. (To be fair, too many companies don't care--regardless of what they say, "good enough" is their actual standard of quality.)
-
Thanks for replying :) I think your idea is right in some ways. Indeed, a good software developer can solve many problems. But, the more programming languages he masters, the more problems he can solve. So, in this way, the idea that "the more languages, the better" seemes to be right. Can you still hold your opinion?
It is right in all ways. What pisses me off is job specs that list the source controll SW they use! As if that is important! What makes a good product is good architecture, good design. Everything else after that is just implementation. Use the tools you need, beit VB, C#, C, and if you dont know the tools then read up and start coding. Soon enough you will know them well enough to write a great project. Oh, and most of the fancy features of a language are useless. They are juct mental bling, and do not add one jot of usability to the project. Look, as a mechanical engineer are you expected to revel in the interface of a particular milling machine? No, you design the product and use what ever milling mechine is to hand. Period.
============================== Nothing to say.
-
Besides what's already been said, to flip this around, I've grown quite skeptical of developers who know lots of languages and platforms and claim mastery in many of them. My own observation is that it takes 5 to 7 years to become an expert at anything. There are exceptions, like Marc Clifton, but they are exceptions. (To be fair, too many companies don't care--regardless of what they say, "good enough" is their actual standard of quality.)
Joe Woodbury wrote:
platforms
That is the key, not the laguage, but the space you work in. It can take many many years to know it well, and of course in this I include technologies too. Take networking. Is it more important to know C++ or know TCP/IP? Nuf said I think.
============================== Nothing to say.
-
I suspect they're concerned about paradigms more than actual languages. If you know only imperative languages or only functional languages for instance you may have trouble solving problems that are better suited to the other paradigm. You may know several imperative languages, but you still may not easily solve problems suited to functional languages.
PIEBALDconsult wrote:
You may know several imperative languages, but you still may not easily solve problems suited to functional languages.
However realistically one in unlikely to encounter a problem where that matters. Especially for that specific case. But one is more likely to encounter problems such as architecture and performance.
-
Thanks for your reply. :) Actually, I feel C++ is quite limitless, because it contains three paradigms, which are process-oriented, object-oriented and generic. So, I'm wondering if you could tell me more about other paradigms, do they exist? (I'm kind of a green hand~ :-D )
rudiestf wrote:
Actually, I feel C++ is quite limitless, because it contains three paradigms, which are process-oriented, object-oriented and generic.
That however doesn't mean it is cost effective. So for example although you might be able to solve a problem using only C++, solving it using SQL would take far less time and thus cost less.
-
CPallini wrote:
If your unique programming language is
C++
then you have no limits.Idealistically one can argue that but realistically it isn't true. An programmer that has spend 15 years writing embedded C++ controllers for hard drives probably isnt going to be as effective for creating a new web server on windows versus someone that has been doing exactly that for 8 years using C#. And the reverse is true as well. Businesses care about how much it will cost and when it will be delivered.
-
CPallini wrote:
If your unique programming language is
C++
then you have no limits.Idealistically one can argue that but realistically it isn't true. An programmer that has spend 15 years writing embedded C++ controllers for hard drives probably isnt going to be as effective for creating a new web server on windows versus someone that has been doing exactly that for 8 years using C#. And the reverse is true as well. Businesses care about how much it will cost and when it will be delivered.
-
I just read an article which augues that coding with only one programming language would limit one's capability to code. I'm a little confused about this argument, because I've always thought that, one developer proficiently mastering one language outperforms one using many language but he actually knows relatively little about each one. So, I'm not sure whether the idea of the passage I read is very correct. I just want to hear more opinions about this issue, so, please feel free to show your thoughts about it. :)
I always found it very refreshing to learn and know multiple programming languages. I've found that broadening my horizons that way can give me unique insights or alternative looks on coding, which can be helpful and enjoyable. I'd say it also makes communication easier with other programmers, as they might not be proficient in the same languages as you; a broader view of the coding landscape can help. Also, just because one knows multiple languages this doesn't prohibit you from mastering one. It can even help in this regard, as more knowledge is always welcome. That said, I do not believe that just because one only knows one language this means that they are more limited than those who know multiple. As has been noted in this topic by others, it's also very important to be able to tackle problems from multiple angles, regardless of the language. All in all, I'd argue that a change of scenery is a good thing, and that it can never hurt to broaden your view. It can also be a lot of fun to learn a new language, and you don't have to go as far as mastering it. My best programming experience, the most fun I ever had, was learning Common Lisp (I started in VB6 and C++). Has this made me a better programmer? I'd like to think so, if only because I better recognise the strengths and limits of the various languages and platforms out there.
-
I always found it very refreshing to learn and know multiple programming languages. I've found that broadening my horizons that way can give me unique insights or alternative looks on coding, which can be helpful and enjoyable. I'd say it also makes communication easier with other programmers, as they might not be proficient in the same languages as you; a broader view of the coding landscape can help. Also, just because one knows multiple languages this doesn't prohibit you from mastering one. It can even help in this regard, as more knowledge is always welcome. That said, I do not believe that just because one only knows one language this means that they are more limited than those who know multiple. As has been noted in this topic by others, it's also very important to be able to tackle problems from multiple angles, regardless of the language. All in all, I'd argue that a change of scenery is a good thing, and that it can never hurt to broaden your view. It can also be a lot of fun to learn a new language, and you don't have to go as far as mastering it. My best programming experience, the most fun I ever had, was learning Common Lisp (I started in VB6 and C++). Has this made me a better programmer? I'd like to think so, if only because I better recognise the strengths and limits of the various languages and platforms out there.
-
I just read an article which augues that coding with only one programming language would limit one's capability to code. I'm a little confused about this argument, because I've always thought that, one developer proficiently mastering one language outperforms one using many language but he actually knows relatively little about each one. So, I'm not sure whether the idea of the passage I read is very correct. I just want to hear more opinions about this issue, so, please feel free to show your thoughts about it. :)
That's the principle I'd recommend. Meanwhile, have a look at the responses to knowing many languages[^].