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?

  • 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
    Commented Jul 5, 2012 at 13:16
  • @gnat I have seen this in Job profiles for a developer
    – Shirish11
    Commented Jul 6, 2012 at 4:16
  • in what exact terms were they asking?
    – gnat
    Commented Jul 6, 2012 at 6:44
  • @gnat for e.g. good Programming logic,strong Programming knowledge.
    – Shirish11
    Commented Jul 6, 2012 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
    Commented Jul 6, 2012 at 14:58

7 Answers 7


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.

  • 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
    Commented Jul 6, 2012 at 14:48
  • +1 for "This is different to programming knowledge because programming logic is gained with experience and practice." Commented Apr 18, 2013 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.

  • ...is defined as... where, and by whom? Cite your references for these definitions.
    – Caleb
    Commented Jul 6, 2012 at 14:49

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.


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.

  • 1
    -1, your definitions simply aren't true. You can learn knowledge through experience, and you can learn logic from a book.
    – corsiKa
    Commented Jul 5, 2012 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
    Commented Jul 5, 2012 at 15:09

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

  • 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
    Commented Jul 5, 2012 at 13:02

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.


Programming Knowledge is knowing the use of hammer n Chisel

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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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