Programming vs Coding - What's the difference?

00:05:58
https://www.youtube.com/watch?v=CIRGjwYgdT4

摘要

TLDRThis video distinguishes between programming and coding, emphasizing their importance in tech fields. Programming is described as the logical and problem-solving aspect, akin to applied math, which helps in building mental models and solving complex tech problems. Coding, however, deals with implementing these solutions through the syntax of various languages. It’s crucial to start by mastering programming logic rather than getting caught up with multiple languages. Notably, being dubbed a coder might be seen as derogatory in the developer community. The video further touches upon the broader domain of development which exceeds the confines of programming or coding and discusses how coding tasks are increasingly being automated by advanced tooling and machine learning, while programming remains a constant necessity. Understanding these differences prepares one for diverse roles in tech beyond simple coding, leading to innovations akin to Elon Musk and other tech leaders.

心得

  • 🔍 Programming is logic-based, similar to math.
  • 💻 Coding involves learning language syntax.
  • 🔄 Programming skills make learning new languages easy.
  • 🙅‍♂️"Coder" can have negative connotations.
  • 🧠 Focus on programming for better career foundations.
  • ⚙️ Development extends beyond coding and programming.
  • 📉 Coding jobs may decrease with automation.
  • 🌐 Understanding logic aids in tech leadership roles.
  • 📚 Pseudocode helps focus on logic, not syntax.
  • 🚀 Programming principles remain crucial in tech.

时间轴

  • 00:00:00 - 00:05:58

    The video discusses the differences between programming and coding, emphasizing that understanding these differences can prevent misunderstandings and potential offense, as some people do not appreciate being called a 'coder.' Programming is described as the logical aspect, resembling math in its application of logic, while coding is the implementation and syntax of programming solutions. Programming is seen as more about logic and problem-solving, often tested in tech interviews with pseudocode. In contrast, coding involves learning specific language syntax, focusing on technical details. The speaker advises focusing on mastering one language to transcend the basic coding stage and concentrate on programming, highlighting that development goes beyond programming and coding to address business needs. Programming skills, deemed persistent despite automation in coding jobs, are considered essential for long-term career success in the tech industry.

思维导图

视频问答

  • What is programming?

    Programming is a set of instructions that define behavior, focusing on logic and problem-solving, often seen as applied math.

  • What is coding?

    Coding is the implementation and detail-oriented aspect of programming, involving the syntax of different programming languages.

  • Why do some people get offended when called a coder?

    Being called a coder can be seen as diminishing since it might imply the person is just a piece of a larger machine, easily replaceable and only good for writing code.

  • How are programming and math related?

    Programming is often seen as applied math because it involves logical problem-solving, similar to math.

  • Why is focusing on programming more beneficial than coding when starting out?

    Learning programming helps build mental models and enables faster adaptation to new programming languages, thus focusing on logic and problem-solving is prioritized over language syntax.

  • What is the difference between programming and development?

    Development focuses on the solution outcome or business need and encompasses much more than just programming or coding.

  • Is learning multiple programming languages at once recommended?

    It's better to master a single language first to go beyond coding and focus on programming logic.

  • How are coding jobs being affected by automation?

    Coding jobs are increasingly automated by better tools, code generators, and machine learning algorithms, but programming principles remain crucial.

  • What is pseudocode, and why is it used?

    Pseudocode is writing out logical steps in plain language and is used in interviews to focus on problem-solving rather than language syntax.

  • What does the video suggest about the programming job market in the future?

    The principles of programming will remain important, although jobs that require pure coding might decrease due to automation advancements.

查看更多视频摘要

即时访问由人工智能支持的免费 YouTube 视频摘要!
字幕
en
自动滚动:
  • 00:00:00
    what is the difference between
  • 00:00:01
    programming and coding and why is it
  • 00:00:02
    actually kind of useful to know that
  • 00:00:05
    in this video we're not going to go into
  • 00:00:06
    official definitions there are a few
  • 00:00:08
    important distinctions that can actually
  • 00:00:11
    be pretty useful to know and it can keep
  • 00:00:13
    you out of trouble with uh using the
  • 00:00:16
    wrong word let's say because
  • 00:00:18
    weirdly people can get sort of offended
  • 00:00:20
    if you call them a coder
  • 00:00:22
    so let's get into it and at the end you
  • 00:00:24
    can let me know if you agree or disagree
  • 00:00:26
    with my take on this okay now let's
  • 00:00:28
    start with programming which is a set of
  • 00:00:30
    instructions that define behavior now i
  • 00:00:32
    could use real life examples like how
  • 00:00:34
    we're programmed to get hungry and tired
  • 00:00:35
    check social media talk about pavlov's
  • 00:00:37
    dogs and stuff like that but i won't
  • 00:00:40
    what i'll say instead is that
  • 00:00:41
    programming is the manifestation of
  • 00:00:44
    logic programming equals logic and this
  • 00:00:47
    is why in fact many consider programming
  • 00:00:48
    the close cousin of math and why math
  • 00:00:50
    majors are actually equally sought after
  • 00:00:52
    for the top most complex software
  • 00:00:55
    engineering jobs and in colleges you'll
  • 00:00:57
    find a class called discrete math which
  • 00:00:59
    is often specifically math for
  • 00:01:01
    programming don't let that scare you
  • 00:01:02
    though you do not need a formal
  • 00:01:04
    background in this stuff to become a
  • 00:01:06
    great programmer and you can figure a
  • 00:01:08
    lot of it out as you go but these are a
  • 00:01:10
    few reasons why people call programming
  • 00:01:11
    applied math ultimately in the world of
  • 00:01:14
    logic you can think of math as the
  • 00:01:15
    theoretical branch and programming as
  • 00:01:18
    the practical branch this logical basis
  • 00:01:20
    is why even though they look like code
  • 00:01:22
    you'll hear people say that css and html
  • 00:01:25
    are not real programming languages so
  • 00:01:27
    it's not because they're backend
  • 00:01:28
    elitists at least not in most cases
  • 00:01:31
    anyway programming and not coding skills
  • 00:01:33
    are what most of the biggest tech
  • 00:01:35
    companies test for and it's why they let
  • 00:01:36
    you take your interview a lot of the
  • 00:01:38
    time in any language that you want this
  • 00:01:40
    is why these interviews are often done
  • 00:01:42
    on a whiteboard with something called
  • 00:01:44
    pseudocode where you're just writing out
  • 00:01:46
    steps in plain english rather than
  • 00:01:48
    specific coding syntax now one final
  • 00:01:50
    example there's a course that focuses
  • 00:01:52
    purely on programming and not coding and
  • 00:01:54
    that's harvard's cs50 a lot of people
  • 00:01:57
    are surprised when the first week in
  • 00:01:58
    homework are not even in a real
  • 00:02:00
    programming language it's just some kids
  • 00:02:02
    programming language called scratch then
  • 00:02:04
    from there the course quickly moves from
  • 00:02:06
    language to language from c to
  • 00:02:08
    javascript to python and it's not
  • 00:02:09
    because it's covering as many languages
  • 00:02:11
    as possible but rather focusing on the
  • 00:02:13
    logical elements and patterns instead of
  • 00:02:15
    the specific code samples okay now let's
  • 00:02:17
    talk about coding which in some ways is
  • 00:02:18
    broader and in others more specific we
  • 00:02:20
    could call coding the implementation or
  • 00:02:23
    details of a logical programming
  • 00:02:25
    solution but as we know that's not
  • 00:02:27
    necessarily the case because we can also
  • 00:02:28
    code in something like html or css for
  • 00:02:31
    this reason it's harder to pin down a
  • 00:02:33
    specific definition of coding but one
  • 00:02:34
    thing's for sure to be a good coder you
  • 00:02:36
    have to learn the syntax of different
  • 00:02:38
    coding languages in many ways the
  • 00:02:40
    logical problem solving of programming
  • 00:02:43
    is on a higher level of abstraction than
  • 00:02:46
    coding which is more focused on
  • 00:02:47
    technical details details like code
  • 00:02:50
    quality breaking things into functions
  • 00:02:52
    and different files and leveraging code
  • 00:02:54
    libraries all come into play here now
  • 00:02:56
    interestingly you can swap out different
  • 00:02:57
    code solutions for the exact same
  • 00:03:00
    programming outcome this is part of the
  • 00:03:01
    reason the first code we write in any
  • 00:03:03
    new language is hello world which is
  • 00:03:06
    completely the same in programming terms
  • 00:03:08
    but different in every language in
  • 00:03:09
    coding terms
  • 00:03:10
    javascript console log python print and
  • 00:03:13
    the java one that is super long just
  • 00:03:15
    like everything in java one important
  • 00:03:17
    thing to keep in mind is if you try to
  • 00:03:19
    explain coding details to non-developers
  • 00:03:22
    they will quickly fall asleep
  • 00:03:24
    this is where some of the age-old
  • 00:03:26
    conflicts between technical and
  • 00:03:28
    non-technical people on a team emerge
  • 00:03:30
    where the developers are pushing to
  • 00:03:32
    refactor the code base the project
  • 00:03:34
    manager is asking what's the benefit to
  • 00:03:35
    the end user and met with blank stairs
  • 00:03:38
    to give a course example for coding if
  • 00:03:39
    you see anything like basic javascript
  • 00:03:42
    python 101 advanced python these are
  • 00:03:44
    very focused on pure coding concepts in
  • 00:03:47
    other words the syntax and patterns of a
  • 00:03:49
    specific language also be a bit careful
  • 00:03:52
    calling someone a coder is a bit
  • 00:03:54
    slanderous in the developer world it
  • 00:03:57
    kind of implies that you're just a cog
  • 00:03:58
    or a machine and all you're good for is
  • 00:04:00
    writing code and also that you're easily
  • 00:04:02
    replaceable by another coder and that
  • 00:04:05
    person could also be on the other side
  • 00:04:07
    of the world so with both these
  • 00:04:08
    definitions it's fair to say that once
  • 00:04:10
    you know programming coding is really
  • 00:04:12
    easy it's why experienced developers can
  • 00:04:14
    learn new languages so fast learning
  • 00:04:17
    programming also helps you build mental
  • 00:04:18
    models and i think it's no coincidence
  • 00:04:21
    that the world is now run by former
  • 00:04:23
    programmers bill gates jeff bezos elon
  • 00:04:25
    musk mark zuckerberg and for this one
  • 00:04:27
    let's just leave their reputations out
  • 00:04:29
    of it so you will hear a lot of people
  • 00:04:31
    say focus on programming when you're
  • 00:04:33
    starting out don't worry about coding
  • 00:04:35
    language and people think this gives
  • 00:04:36
    them permission to go learn five
  • 00:04:37
    different languages just because they're
  • 00:04:39
    not focused on language but the truth is
  • 00:04:42
    the faster you can master a single
  • 00:04:44
    language the sooner you can get beyond
  • 00:04:46
    just the coding step and you can only
  • 00:04:48
    focus on the programming because you're
  • 00:04:50
    not constantly learning a new syntax
  • 00:04:52
    anyway just a bonus here at the end
  • 00:04:54
    let's compare both of these to
  • 00:04:55
    development development is more focused
  • 00:04:57
    on the solution outcome or business need
  • 00:05:00
    and development solutions can involve
  • 00:05:02
    much much more than programming or
  • 00:05:04
    coding now while we do see coding jobs
  • 00:05:07
    automated more and more by better
  • 00:05:09
    tooling code generators and even machine
  • 00:05:11
    learning algorithms the principles of
  • 00:05:13
    programming are here to stay and we
  • 00:05:16
    could see the number of jobs requiring
  • 00:05:19
    pure coding drop even if you move beyond
  • 00:05:22
    the job of being a programmer and want
  • 00:05:24
    to become the next elon musk he can
  • 00:05:27
    still help you a lot anyway i hope this
  • 00:05:29
    video illuminates some of the key
  • 00:05:31
    differences between programming and
  • 00:05:33
    development i hope you learned something
  • 00:05:35
    in this one anyway guys i will see you
  • 00:05:37
    in the next one
  • 00:05:50
    [Music]
  • 00:05:58
    you
标签
  • programming
  • coding
  • automation
  • development
  • logic
  • syntax
  • tech careers
  • mental models
  • pseudocode
  • applied math