Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Is there any difference between the two topics? I have seen companies asking for Good Programming knowledge some Good Programming logic.

I have seen this in Job profiles for a developer – for e.g. "good Programming logic", "strong Programming knowledge".

I believe that Programming knowledge is related to knowledge about the language in consideration and Programming logic is problem solving logic using programming (in general).
Please correct me if I am wrong. Also what is more important?

Edit: Do selection of components for application, designing interfaces validating user inputs fall under programming knowledge or Programming logic?
Does programming logic simply imply problem solving, or is there anything else which it should comprise of?

share|improve this question
3  
these terms don't have well defined and commonly agreed semantics. Their "meaning" pretty much depends on the context. "I have seen companies asking" - what companies? in what exact terms were they asking? –  gnat Jul 5 '12 at 13:16
    
@gnat I have seen this in Job profiles for a developer –  Shirish11 Jul 6 '12 at 4:16
    
in what exact terms were they asking? –  gnat Jul 6 '12 at 6:44
    
@gnat for e.g. good Programming logic,strong Programming knowledge. –  Shirish11 Jul 6 '12 at 9:26
    
I don't see any postings that include either "programming knowledge" or "programming logic" on careers.stackoverflow.com. Can you provide a links to some examples? Without seeing specific examples, I'd suggest staying far away from jobs where "good programming knowledge" is a qualification. Job descriptions should be much more specific than that. It should go without saying that a job for a writer or photographer would require "good writing knowledge" or "good photography knowledge", right? Same thing here. –  Caleb Jul 6 '12 at 14:58

7 Answers 7

Programming knowledge means knowing about the concepts of the particular programming language that offers the features that can commonly solve the problem.

Programming logic means applying the programming knowledge to frame a programming logic that would work to solve the problem.

So one is concerned with the concepts and another is concerned with the logic.

share|improve this answer

Programming Knowledge is knowing the use of hammer n Chisel

Programming Logic is crafting the Chair out of Wooden Log .. !! (using Hammer n Chisel)

share|improve this answer

Programming knowledge - is gained through reading and studying, while Programming logic is something that comes from experience to deal with different situations and finding solutions to them.

share|improve this answer
1  
-1, your definitions simply aren't true. You can learn knowledge through experience, and you can learn logic from a book. –  corsiKa Jul 5 '12 at 15:07
    
Agree, you can learn from experience, but programming methodology and techniques can be learned from good books. However, programming logic is more tight to the experience. –  Yusubov Jul 5 '12 at 15:09

Programming Knowledge is the understanding of how to use a programming language, what it's syntax is, keywords, code usage (and understanding OOP if it is an object orientated language). This knowledge can be gained through reading textbooks and studying the language and concepts.

Programming Logic is the ability to solve problems and to think in an abstract way when using the programming language. This is different to programming knowledge because programming logic is gained with experience and practice.

Some programmers may have a good knowledge of a programming language but not had a lot of experience in solving problems using it. And equally, some programmers may have good logical reasoning skills but have limited knowledge of the programming language. Skill in both programming knowledge and programming logic can be gained, but the latter comes with experience.

share|improve this answer
2  
References needed. As written, these definitions appear to be just your opinion/understanding of them. Citing the source of these definitions and/or examples of usage that agrees with your definitions will make this a much better answer. –  Caleb Jul 6 '12 at 14:48
    
+1 for "This is different to programming knowledge because programming logic is gained with experience and practice." –  Md. Mahbubur R. Aaman Apr 18 '13 at 13:36

Programming logic is defined as the application of mathematical/problem solving skills during a specfic progamming problem. Programming knowledge is the application of a specific programming language to enable the programmer to apply programming logic. Both are important in the process to solve a progamming problem.

The emphasis should be placed on problem solving skills though - the logic - getting good at solving complex problems. Once you have practiced this skill (it will take a while to start thinking out of the box) teach yourself a programming language to apply the logic.

share|improve this answer
    
...is defined as... where, and by whom? Cite your references for these definitions. –  Caleb Jul 6 '12 at 14:49

There's a huge difference. Programming logic means one should be able to solve algorithmic problems, should be able to create generic, efficient code.They should be good at solving problems efficiently. Programming knowledge is knowledge about general programming concepts, languages/language, and technologies

share|improve this answer
    
I don't think should be able to create generic, efficient code comes in Logic. A logic is never dependent on code but code is dependent on a logic. –  Junaid Jul 5 '12 at 13:02

They sound very different to me, and I've had a hard time saying which one is more important.

You could be an amazing software maintainer, but a very bad programmer yourself. Some people are amazing at debugging code, finding their way through it, fixing it, and slightly improving it. They're often compared to janitors, but it's a disservice: they can have true knowledge and know-how to get things to a better state.

But they can still be awfully bad at writing new code and at designing and implementing algorithms. They can have an understanding of why things are generally better one way or another, and they can even understand after the fact the benefits of one design over another. But they have a hard time coming up with one themselves. They lack a deep understand of this logical and problem-solving mindset.


They're both important in my mind. You don't want only hackers who can come up with amazing solutions, but produce unmaintainable code for the next generations of eyeballs going to look at your codebase. It can be fine for prototyping and short-lived projects, but on a larger scale that can only fly for so long.

So the first group is also essential. But they wouldn't be able to design great software with the second group. It's quite symbiotic (and it's best when the qualities are indeed in the same developer). I'd guess if you see this as a chicken and egg problem, I'd have to admit that the logical kind matters a little bit more, for historical reasons, as they had to exist first to make head way. But does that mean they're more important in a software shop? I don't think so. You can produce great and successful software by plumbing things together and not inventing much.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.