Programming vs Coding - What's the difference?

Aaron Jack
25 Feb 202105:58
EducationalLearning
32 Likes 10 Comments

TLDRThis video script delves into the nuanced distinction between programming and coding, highlighting their differences and underscoring the value of comprehending this contrast. Programming is portrayed as a manifestation of logic, akin to applied mathematics, focusing on defining behavioral instructions. Conversely, coding is depicted as the implementation or detailing of these logical programming solutions, emphasizing syntax and technical specifics. The narrator emphasizes that grasping programming principles aids in mental model construction and is a sought-after skill by tech giants, while cautioning against the pejorative connotations of labeling someone solely as a 'coder.' Ultimately, the script aims to illuminate the key differences between these two intertwined yet distinct aspects of software development.

Takeaways
  • πŸ“– Programming refers to the logical principles and instructions that define behavior, closely related to mathematics.
  • πŸ’» Coding involves implementing those logical solutions through specific programming language syntax and technical details.
  • πŸ”’ Programming focuses on the higher-level logic and problem-solving, while coding deals with language-specific syntax and patterns.
  • 🌐 Major tech companies test for programming skills, not just coding abilities, during interviews.
  • πŸŽ“ Courses like Harvard's CS50 emphasize programming concepts over coding in any specific language.
  • πŸ—£οΈ Calling someone a 'coder' can be seen as derogatory, implying they are just a code monkey without problem-solving skills.
  • ⏩ Once you understand programming principles, learning new coding languages becomes easier.
  • 🧠 Programming helps build mental models, which may explain why many tech leaders have a programming background.
  • πŸš€ Development encompasses the entire solution and business need, going beyond just programming and coding.
  • πŸ” While coding may become more automated, the principles of programming are likely to remain essential.
Q & A
  • What is the fundamental difference between programming and coding?

    -Programming refers to the set of logical instructions and problem-solving approach that defines the behavior of a program, while coding is the implementation of that logical solution in a specific programming language, focusing on syntax, code quality, and technical details.

  • Why is it important to understand the distinction between programming and coding?

    -Understanding the distinction can help avoid misunderstandings and potential offense when referring to someone's role (e.g., calling someone a 'coder' may be seen as demeaning). It also highlights the importance of focusing on the logical problem-solving aspect (programming) before getting too deep into the coding implementation.

  • How is programming related to mathematics?

    -Programming is often considered the practical application of logic, similar to how mathematics is the theoretical branch of logic. This logical basis is why programming interviews at major tech companies often focus on problem-solving skills rather than specific coding languages.

  • What is the significance of Harvard's CS50 course in illustrating the difference between programming and coding?

    -The CS50 course starts with a visual programming language (Scratch) and moves through different coding languages, highlighting the focus on logical problem-solving (programming) over the specific coding syntax of any one language.

  • Can the same programming solution be implemented with different coding approaches?

    -Yes, the same programming solution (the logical approach) can be implemented with different coding solutions in various programming languages, as demonstrated by the 'Hello World' example in the script.

  • Why might non-developers find it challenging to understand coding details?

    -Non-developers may find it challenging to understand coding details because they operate at a lower level of abstraction, focusing on technical syntax and implementation details that may not be directly relevant to the end-user experience.

  • How does learning programming help build mental models?

    -Learning programming helps build mental models and logical thinking skills, which is why many successful entrepreneurs and business leaders, such as Bill Gates, Jeff Bezos, Elon Musk, and Mark Zuckerberg, have backgrounds in programming.

  • What is the recommended approach for beginners when learning programming and coding?

    -The recommended approach is to focus on mastering a single programming language first, rather than jumping between multiple languages, as this allows beginners to get beyond the coding syntax and focus more on the programming logic and problem-solving aspects.

  • How does development relate to programming and coding?

    -Development is a broader term that encompasses not only programming and coding but also the entire solution outcome or business need. Development solutions can involve much more than just programming and coding.

  • What is the potential impact of automation and machine learning on coding jobs?

    -The script suggests that while coding jobs may become more automated by tools, code generators, and machine learning algorithms, the principles of programming logic are likely to remain relevant and in demand.

Outlines
00:00
πŸ”‘ Programming vs. Coding: Key Distinctions

This paragraph explains the differences between programming and coding. Programming is defined as a set of instructions that define behavior, related to logic, math, and the theoretical aspects of problem-solving. Coding, on the other hand, is the implementation of a programming solution, focusing on syntax, technical details, code quality, and language-specific patterns. Programming is seen as a higher-level abstraction than coding. The paragraph also mentions that calling someone a 'coder' can be seen as demeaning, implying they are just a replaceable code writer.

05:01
πŸ”„ Relationship Between Programming, Coding, and Development

This paragraph discusses the relationship between programming, coding, and development. It suggests that once you understand programming, coding becomes easier as it's just learning the syntax of different languages. The paragraph also mentions that while coding jobs may become more automated, the principles of programming will remain important. It touches on the idea that programming skills can be beneficial even for those who want to become entrepreneurs or leaders like Elon Musk. Finally, it states that development is more focused on the solution outcome or business need, and can involve more than just programming and coding.

Mindmap
Keywords
πŸ’‘Programming
Programming refers to the process of creating a set of instructions or logic that define the behavior of a computer system or software application. In the context of the video, programming is described as the manifestation of logic, and is considered a close cousin of mathematics. The video highlights that programming is the practical application of logical thinking, and is often tested for in technical interviews at major tech companies.
πŸ’‘Coding
Coding is the implementation or the specific details of a logical programming solution. It involves learning the syntax and patterns of different coding languages, such as JavaScript, Python, or Java. The video distinguishes coding as a more technical and specific aspect of the programming process, focused on writing actual code, organizing it into functions and files, and leveraging code libraries. While programming deals with the higher-level logic, coding is concerned with the lower-level technical details.
πŸ’‘Syntax
Syntax refers to the rules and structure that govern how code is written in a particular programming language. The video emphasizes that to be a good coder, one must learn the syntax of different coding languages. It provides examples of how the same programming concept (such as printing "Hello World") can have different syntax across languages like JavaScript, Python, and Java.
πŸ’‘Pseudocode
Pseudocode is a way of describing an algorithm or programming logic using plain English or a mix of natural language and code-like syntax. The video mentions that technical interviews at major tech companies often involve writing pseudocode on a whiteboard, as it allows interviewers to assess a candidate's programming skills without being tied to a specific coding language.
πŸ’‘Development
Development is a broader term that encompasses more than just programming and coding. According to the video, development is focused on the solution outcome or business need, and development solutions can involve various aspects beyond just writing code. This highlights that while programming and coding are essential components of software development, the development process itself is more comprehensive and considers factors such as user requirements, project management, and overall solution delivery.
πŸ’‘Logical Thinking
Logical thinking, or the ability to think logically, is a crucial skill for programming. The video emphasizes that programming is the manifestation of logic, and that programming is closely related to mathematics due to its logical foundations. It suggests that math majors are often sought after for complex software engineering jobs because of their training in logical thinking.
πŸ’‘Problem-solving
Problem-solving is a key aspect of programming, as it involves breaking down complex problems into smaller, manageable steps and designing logical solutions. The video highlights that technical interviews often focus on assessing a candidate's problem-solving abilities through programming-related questions and tasks, rather than simply testing their knowledge of specific coding languages.
πŸ’‘Abstraction
Abstraction refers to the process of separating the logical concept or idea from its concrete implementation details. The video suggests that programming operates at a higher level of abstraction than coding, as programming deals with the logical problem-solving aspects, while coding focuses on the technical details and syntax of a particular language.
πŸ’‘Mental Models
Mental models are conceptual frameworks or representations that help individuals understand and reason about complex systems or processes. The video implies that learning programming can help build mental models, which is one of the reasons why many successful tech entrepreneurs and leaders, such as Bill Gates, Jeff Bezos, and Elon Musk, have a background in programming.
πŸ’‘Automation
Automation refers to the process of making a task or process happen automatically, often with the help of technology or software. The video mentions that while coding jobs may become increasingly automated through better tooling, code generators, and machine learning algorithms, the principles of programming are likely to remain essential and enduring.
Highlights

Programming is a set of instructions that define behavior, the manifestation of logic, often considered the close cousin of math.

In colleges, you'll find a class called discrete math which is often specifically math for programming.

CSS and HTML are not considered real programming languages because they lack the logical basis that defines programming.

Programming, and not coding skills, are what most of the biggest tech companies test for in their interviews.

Harvard's CS50 course focuses on programming and not coding, starting with a kid's programming language called Scratch before moving to other languages.

Coding is the implementation or details of a logical programming solution, focused on technical details like code quality, functions, files, and code libraries.

You can swap out different code solutions for the exact same programming outcome, which is why the first code we write in a new language is often 'Hello World'.

Calling someone a 'coder' can be considered slanderous in the developer world, implying they are just a cog or easily replaceable.

Once you know programming, coding is relatively easy, which is why experienced developers can quickly learn new languages.

Learning programming helps you build mental models, which may be why the world is now run by former programmers like Bill Gates, Jeff Bezos, Elon Musk, and Mark Zuckerberg.

Focus on mastering a single language first before trying to learn multiple languages, as it will help you get beyond just coding and focus on programming.

Development is more focused on the solution outcome or business need, and can involve much more than just programming or coding.

While coding jobs may become automated, the principles of programming are here to stay, and even those moving beyond programming can still benefit from learning it.

The video aims to illuminate the key differences between programming and coding, highlighting the importance of understanding these concepts.

Transcripts
Rate This

5.0 / 5 (0 votes)

Thanks for rating: