Bad Programmers
Summary
TLDRThe speaker discusses the dynamic nature of programming skill, emphasizing that one's ability can improve over time. They differentiate between programming languages designed for meticulous 'good programmers' and those easing the process for 'less skilled' programmers, like Go. The speaker also touches on the role of natural talent and intuition in programming, comparing it to other skills and activities. They conclude by self-identifying as a 'midwit programmer,' suggesting an intermediate level of skill and intuition.
Takeaways
- 🔧 The speaker acknowledges that there are varying levels of skill among programmers but emphasizes that one's programming ability is not fixed and can improve over time.
- 🚀 The speaker suggests that programming languages can be categorized by the level of detail and skill they require from the programmer, with some languages being more suitable for less experienced programmers.
- 🌐 The speaker highlights 'Go' as a language designed to make programming easier by managing memory and garbage collection, thus reducing the burden on the programmer.
- 💡 The concept of natural talent is introduced, with the speaker noting that some individuals possess an innate ability to excel in programming, which may not be achievable through practice alone.
- 🧠 The speaker differentiates between intelligence and wisdom, suggesting that a great programmer not only solves problems but also knows which problems to solve.
- 🎯 The speaker uses the analogy of fishing to illustrate the difference between someone who meticulously calculates the best approach and someone who intuitively knows what to do.
- 🤔 The speaker identifies themselves as a 'midwit' programmer, capable of designing and building software with a certain level of quality but not necessarily possessing exceptional intuition.
- 🛠️ The speaker mentions 'Zig' and 'Rust' as languages designed for more skilled programmers, implying that they require a higher level of understanding and control.
- 🌟 The speaker admires 'coding guys' who can learn and adapt at an extraordinary rate, suggesting that such individuals have a high skill ceiling.
- 📚 The speaker references CS Lewis, discussing the idea that 'instinct' is a term used for processes we do not fully understand, hinting at the complexity of intuitive decision-making in programming.
- 🔄 The speaker concludes by reiterating the idea that languages are designed for different types of programmers, from the smart to the less experienced, and that this design is not inherently wrong.
Q & A
What is the speaker's view on the nature of being a good or bad programmer?
-The speaker believes that being a good or bad programmer is not a fixed position. They argue that a bad programmer can become a good one over time, as they did, and that it involves skill improvement rather than an inherent quality.
How does the speaker describe the design of programming languages like Formula 1?
-The speaker compares programming languages to Formula 1, suggesting that they are designed for individuals who can and will care about every last detail. These languages are meant for good programmers.
What is the speaker's opinion on the programming language Go?
-The speaker initially suggests that Go is designed for good programmers because it makes you think about nil and has garbage collection, but they also note that it's designed to make certain aspects of programming easy, which could be beneficial for less experienced programmers.
What does the speaker believe about the potential for a bad programmer to become a great programmer?
-The speaker acknowledges that while most bad programmers can improve, there may be some who, due to lack of natural talent, will never become great programmers, similar to how they could never become an Olympic ping pong player.
How does the speaker view natural talent in programming?
-The speaker believes that natural talent plays a significant role in programming. They mention 'coding guys' who can learn at an extraordinary rate, suggesting that some people have an innate ability that sets them apart.
What is the difference between intelligence and wisdom according to the speaker?
-The speaker differentiates intelligence as the ability to solve a problem, while wisdom is knowing what problem to solve. They imply that a great programmer possesses both wisdom and intelligence.
What does the speaker mean by 'midwit' in the context of programming?
-The speaker uses the term 'midwit' to describe someone who might understand the technical aspects of programming but lacks the intuitive understanding or 'wisdom' that a great programmer possesses.
How does the speaker compare professional fishers to programmers in terms of natural talent?
-The speaker compares professional fishers who 'just know' what to do without going through a conscious analytical process to programmers who have an intuitive grasp of programming problems, suggesting that natural talent is crucial in both fields.
What is the speaker's self-assessment in terms of being a programmer?
-The speaker self-identifies as more of a 'midwit programmer,' indicating that while they have the ability to design and build software effectively, they may not possess the same level of intuitive understanding as some exceptional programmers.
What does the speaker suggest about the existence of programming languages designed for people with different skill levels?
-The speaker suggests that there are programming languages designed for both smart and less experienced programmers, with some languages making programming easier by handling certain complexities automatically.
Outlines
😀 The Evolution of a Programmer
This paragraph discusses the dynamic nature of programming skills, emphasizing that a 'bad' programmer can improve over time, just as the speaker once did. It challenges the notion of fixed positions in programming ability. The speaker also touches on the idea that some programming languages are designed for skilled programmers who pay attention to detail, while others, like Go, are designed to simplify tasks like memory management through garbage collection, making them accessible to a wider range of programmers. The paragraph concludes with the acknowledgment that natural talent, beyond just intelligence, plays a significant role in excelling at programming, drawing a parallel to other fields like sports or fishing where instinct and intuition are crucial.
Mindmap
Keywords
💡Programmer
💡Fixed Position
💡Formula 1
💡Go
💡Garbage Collection
💡Natural Talent
💡Intelligence
💡Wisdom
💡Midwit
💡Instinct
💡Language Design
Highlights
Bad programmers can become good programmers over time; programming skills are not fixed.
Programming languages are designed with different types of programmers in mind, like how Formula 1 is designed for skilled drivers.
Go is designed to make certain aspects of programming easier, such as memory management with garbage collection.
There may exist some programmers who can never become great, just as some people might never excel at certain activities.
Natural talent in programming is not the same as IQ; it's a mix of problem-solving ability and knowing which problems to solve.
Wisdom in programming is not just about solving problems but also about knowing which problems to tackle.
Some programmers have a higher skill ceiling and can learn at an exceptional rate, which sets them apart.
The best programmers combine wisdom and intelligence, knowing when and how to solve problems effectively.
Instinct or intuition in programming may come from internalizing complex processes that others need to deliberate on.
There are 'midwit' programmers who understand the basics but lack the instinct or intuition of top-level programmers.
Different programming languages cater to different levels of programmer skill, with some being more forgiving and others requiring deeper expertise.
Languages like Go are considered easier and designed for less experienced programmers, while languages like Rust or Zig are for more skilled programmers.
The intuition some programmers possess can make them highly effective, even if they can't always explain their process.
The concept of 'midwit' refers to programmers who may be competent but do not have the exceptional instincts of the best programmers.
Programming languages reflect the diversity of programming skills, with some making tasks easier and others demanding more from the programmer.
Transcripts
I do I do agree with that there's
obviously better programmers and worse
programmers but I would say that you
should almost slice it a different you
should slice it a different way because
I think it makes more sense because a
bad programmer can become a good
programmer right because at one point I
was a bad programmer I was a less
skilled programmer I became a better
programmer over time and so it's it's
not like a fixed position I'm really not
convinced of any sort of fixed
positioning there there there's no
hopelessness exactly they're not
hopeless but what I think makes it
probably a better way to say the same
thing is that there's languages that are
designed like Formula 1 is designed it's
designed for someone that is going to
have to care about every last detail and
has the capability to care about every
Last Detail it's designed for good
programmers and there's languages that
are designed for not as good programmers
such as go go is just which also it
shockingly is designed for good
programmers because it makes you think
about nil all the time but nonetheless
it's designed to have more Wheels you
don't have to manage memory inco it just
manages it for you it has garbage
collection it just makes life a lot
easier and so you can still be a good
programmer you can still fall under this
category it's a language designed to
make certain aspects of programming
really easy where some are designed for
other aspects to be really easy which
makes hard programming and second there
is always going to be bad programmers
and you know what there probably does
exist a bad programmer who can never
become a great programmer right I I I
can never become a a great ping pong
player even if I practiced from my very
early childhood all the way up until I
grew up I don't think I could ever
become an Olympic ping pong player no
matter how much time or effort and all
that because I'm just like I just don't
have that I don't have the second
component of becoming really great at it
which is that inborn natural talent I do
think some people just have natural
talent and they just come out easier
like I If you've ever seen some coding
guy the guy is just a freak he's just a
freak like I look up to him as a freak
comparatively to me like his skill
ceiling is way bigger than me he just
can learn things at a rate I've just
never seen in my
life it's quite wild some coding guy uh
guy is great yeah yeah Prime sucks oh
absolutely and
so is natural talent in programming
basically IQ no no no no I think it's
something more than IQ uh IQ it's it's
you know like just like wisdom and
intelligence are different
wisdom like I always like to say
intelligence is the ability to solve a
problem wisdom is knowing what problem
to solve I think that's the right thing
is I think some people just have
whatever that whatever that thing is
right the ability to not only solve hard
problems which is the smarts it's also
the ability to know when and how to
solve the thing right a great programmer
has that wisdom and has the intelligence
to back it up it's just different and
some people are just good at like like
that's why you see people that somehow
build the right product at the right
time because they just have this they
they they can tell or the person that's
just really good at fishing right
there's professional Fishers that
literally their job is to catch fish and
you have the midwit that comes in and is
like well actually the sun is shining
it's 82 degrees the sun's at this Theta
we also have this wind speed and we have
this depth of water with this murkiness
therefore I should probably either use a
or b I should probably use a streamer
and then you have this guy that's paid a
ton of money who doesn't any of that who
just walks and goes it's a streamer just
like just knows right just like there's
something like he internalizes all those
calculations and doesn't go through the
midwit process and goes I know this is
the way this is what we should do Jordan
Peter Fisher just don't don't do it
don't do this to me right like there's
just people that can just do like they
just there's something else in there
that we just don't have they internalize
at this this level that's really weird
yeah this intuition I don't know what
you call it Instinct intuition as CS
Lewis says instinct is just a a
placeholder word for process we don't
understand uh midw yes it is it is this
midwit thing so I think that I'm
probably more of a midwit programmer
than anything else I might have some
proper instincts of knowing how to
design software fast and build it in
some level of of quality that can scale
decent but it's just like I'm still also
just a midwit it's it's just funny to
say there's languages that are designed
for people who are smart and languages
who are designed for people who are dumb
because it's not wrong go is designed
for the bad programmer zigg or rust or
ji which I believe is uh Jonathan blows
one or even closure as he said is not
designed for that person and
تصفح المزيد من مقاطع الفيديو ذات الصلة
5.0 / 5 (0 votes)