15 Years Writing C++ - Advice for new programmers

SyncMain
22 Jun 202304:04

Summary

TLDRChris, a seasoned C++ programmer with 15 years of experience, reflects on his programming journey. He discusses the common misconceptions about learning C++ and encourages new programmers not to worry about the language they start with. Chris emphasizes the importance of writing code, making mistakes, and learning to debug as key to growth in programming. He advises aspiring programmers to focus on the process and enjoy the journey, regardless of the language they choose to start with.

Takeaways

  • 📂 Chris has been programming in C++ for 15 years and keeps all his code files.
  • 🧠 His code-hoarding habit stems from a belief in the future usefulness of his code.
  • 🌟 He found his first compiled C++ file from June 23, 2008, which led to reflections on his programming journey.
  • 💼 Chris works professionally in game development using C++ daily.
  • 🌐 Online opinions suggest that new programmers should avoid learning C++ due to its complexity and dated nature.
  • 🛠️ Despite the language's imperfections, Chris believes that learning C++ can be beneficial for beginners.
  • 🚀 The key for new programmers is to focus on writing code and learning from mistakes rather than achieving perfection.
  • 📌 Chris advises against fixating on the 'right way' to learn programming and instead encourages exploration and experimentation.
  • 💡 He regrets not writing more 'bad code' early in his career, as it would have helped him learn and save time.
  • 🌟 There's no 'end of the world' scenario in programming; every experience contributes to growth.
  • 💻 Chris encourages anyone interested in programming to start by simply writing code on their preferred IDE.

Q & A

  • How long has Chris been programming in C++?

    -Chris has been programming in C++ for 15 years.

  • What does Chris's habit of keeping all his code files reflect?

    -Chris's habit of keeping all his code files reflects his paranoia that he might need them in the future, even if they are considered total scrap or just following a tutorial.

  • What significant discovery did Chris make while going through his old files?

    -Chris discovered his first compiled C++ file, which he wrote on June 23, 2008.

  • What is Chris's professional occupation?

    -Chris works professionally as a programmer, focusing on game development, and uses C++ every day in his work.

  • What advice does Chris have for new programmers regarding the choice of programming language?

    -Chris advises that new programmers should not worry about the language they start with and that any time spent learning to code is well spent. He suggests focusing on writing code and learning from errors rather than getting fixated on doing it the 'right' way.

  • What common misconception does Chris address about learning C++?

    -Chris addresses the misconception that C++ is an outdated language that causes frustration and deters people from continuing with programming. He believes that no programming language is perfect, and learning C++ can be a great starting point.

  • How does Chris feel about the notion of 'writing bad code'?

    -Chris believes that writing bad code can be beneficial as it allows programmers to learn from their mistakes and improve their debugging skills. He thinks that his early focus on avoiding bad code might have hindered his learning process.

  • What was Chris's initial mindset when he started learning programming?

    -Initially, Chris was fixated on learning 'the right way' by emulating the学习方法 of those he admired. This mindset, he later realized, might have prevented him from exploring and making mistakes that could have加速了他的学习进程。

  • What encouragement does Chris offer to those who are interested in programming?

    -Chris encourages interested individuals to simply start writing code on their computers using their preferred IDE. He emphasizes that the key is to begin and enjoy the process of learning and problem-solving in programming.

  • How does Chris's personal journey with C++ inform his perspective on programming education?

    -Chris's personal journey shows that persistence and learning from errors are more important than the language one starts with or the fear of writing bad code. He suggests that the focus should be on the experience of coding and learning rather than on achieving perfection early on.

  • What is the main takeaway from Chris's reflection on his programming experience?

    -The main takeaway is that the journey of learning programming should be about doing, experimenting, and learning from errors rather than worrying about the language or the 'right' way. It's important to enjoy the process and be open to making mistakes as part of the learning experience.

Outlines

00:00

👨‍💻 Reflecting on 15 Years of C++ Programming

Chris, a programmer with 15 years of experience in C++, shares his journey through old code files. He discusses his tendency to keep all his code, even from tutorials, due to a fear of needing it in the future. He reminisces about finding his first compiled C++ file from June 23, 2008, and reflects on his professional career in game development using C++. Despite acknowledging the language's imperfections, he defends C++ as a valuable tool for new programmers, emphasizing the importance of writing code and learning from errors rather than focusing on the 'right' way to program. He advises against worrying about the longevity of the programming language and encourages beginners to just start coding and learning through trial and error.

Mindmap

Keywords

💡Programming

Programming refers to the process of designing, writing, testing, debugging, and maintaining the source code of computer programs. This is the central activity around which the video revolves, as the speaker shares his experiences and insights related to programming in C++.

💡C++

C++ is a general-purpose programming language created as an extension of the C programming language, or 'C with classes'. It provides object-oriented programming features in addition to those found in C and is widely used for systems and application software, game development, and other areas.

💡Paranoia

In the context of the video, paranoia refers to the speaker's habit of keeping all his code files, driven by the fear of needing them in the future, even if they are of no use or just from following a tutorial. This term is used metaphorically to describe an excessive caution or anxiety about future needs.

💡Reflection

Reflection, in this context, is the act of thinking deeply or contemplatively about a particular experience or lesson learned. The speaker engages in reflection upon finding his first compiled C++ file from 2008, which triggers memories and thoughts about his programming journey.

💡Game Development

Game development is the process of creating a video game. It involves various stages, from conceptualization and design to programming and testing, and may use a variety of programming languages, including C++. The speaker works professionally in this field and uses C++ daily.

💡New Programmers

New programmers are individuals who are just starting to learn programming. They may be students, self-taught enthusiasts, or professionals transitioning into the field. The speaker addresses this group with advice and shares his perspective on learning programming languages.

💡Language Criticism

Language criticism refers to the evaluation and critique of a programming language's design, features, and usability. In the video, the speaker acknowledges that C++ has its share of problems but argues that no programming language is perfect, especially when trying to serve as a general-purpose tool.

💡Debugging

Debugging is the process of identifying and removing errors or bugs in a computer program. It is a crucial skill for programmers as it allows them to correct issues and improve the functionality of their code. The speaker emphasizes the importance of learning to debug as part of the programming journey.

💡Learning Process

The learning process in the context of the video refers to the methods and attitudes one adopts when acquiring new skills or knowledge, particularly in programming. The speaker shares his insights on the importance of focusing on learning and experimentation rather than adhering strictly to a perceived 'right way' of doing things.

💡Programming Language Selection

This refers to the choice of which programming language to learn or use for a particular task or project. The speaker suggests that the selection of a programming language is not as critical for beginners as the act of learning and practicing programming concepts.

💡Code Quality

Code quality refers to the standard and maintainability of the source code written by programmers. It encompasses aspects such as readability, efficiency, and the absence of errors. The speaker discusses the concept of 'writing bad code' as a learning experience, suggesting that it can be beneficial for growth rather than focusing solely on producing perfect code.

Highlights

Chris has been programming in C++ for 15 years.

Chris has a habit of keeping all his code files, even those that seem useless at the moment.

Chris found his first compiled C++ file from June 23, 2008, while going through old files.

Chris works professionally as a programmer in game development and uses C++ daily.

Some people online discourage new programmers from learning C++, calling it an old and problematic language.

Chris believes that C++ is not perfect, but no programming language is, especially one as general-purpose as C++.

According to Chris, when starting out, one should focus on writing code rather than worrying about the language they will use in the future.

Chris thinks that learning to debug and encountering errors is a crucial part of programming education.

He advises not to get fixated on learning 'the right way' but to focus on doing and learning.

Chris reflects on his early focus on learning 'the right way' which he now believes hindered his progress.

Writing bad code and learning from it is a valuable experience, according to Chris.

Chris encourages anyone interested in programming to just start writing code on their computer.

He emphasizes that there's no 'end of the world' situation in programming learning, and one should just start.

Chris shares his 15 years of experience to motivate new programmers to not be afraid of challenges in learning to code.

Transcripts

play00:00

hey everyone my name is Chris and I've

play00:03

been programming at C plus plus for 15

play00:04

years

play00:06

um

play00:07

yeah so I was going through some old

play00:09

files and I tend to keep everything that

play00:12

I write

play00:13

um I just have this paranoia that I'm

play00:15

going to need it in the future even if

play00:17

it's like Total Scrap or you know just

play00:19

following a tutorial that I read online

play00:23

and I could just look it up again if I

play00:26

ever needed to but for some reason just

play00:28

always brought my code files with me uh

play00:31

and no you know old like college

play00:33

homework and and those sorts of things

play00:37

um I was going through those files uh

play00:39

seeing what uh I need to back up and I

play00:43

found a c plus file it's probably my

play00:46

first compiling C plus plus file that I

play00:48

wrote uh June 23 2008. so I was 15 years

play00:52

ago

play00:53

and

play00:54

um it got me kind of reflecting on my

play00:58

time writing with C plus plus uh I'm a I

play01:02

work professionally as a programmer

play01:03

doing game development and I use C plus

play01:05

plus every day that I'm writing code

play01:08

um

play01:10

and I see a lot of people online telling

play01:13

new programmers that uh they shouldn't

play01:16

actually learn CFOs plus and that it's

play01:19

problematic language and it's old and if

play01:23

you start learning C plus plus you're

play01:25

going to get frustrated and quit

play01:27

programming all together

play01:28

and all these things

play01:30

um but as

play01:33

much as I do have problems with the

play01:34

language

play01:35

um it's not perfect I don't think any

play01:37

programming language is and especially

play01:40

something that tries to be as general

play01:42

purpose as a lot of programming

play01:44

languages are

play01:45

um there's going to be problems uh but I

play01:49

think if you're starting out you don't

play01:50

have to worry about any of that I don't

play01:52

think you even have to worry if you're

play01:54

going to be using the programming

play01:55

language that you're learning a year

play01:56

from now uh all you need to really worry

play01:59

about is that you're trying to write

play02:02

code you're not getting fixated on doing

play02:06

it the right way uh just your trying to

play02:10

get stuff up on the screen trying to you

play02:13

know change mutate files the way that

play02:16

you want to mutate them whatever kind of

play02:18

programming you're doing as long as

play02:19

you're doing it and learning and hitting

play02:23

your head up against the wall finding

play02:25

errors and learning to debug I think

play02:28

that is a great way to start out

play02:31

um I don't think you have to pick any

play02:34

kind of specific language

play02:36

um so I think it is all time

play02:39

well spent

play02:41

um

play02:42

and the reason I I think and I want to

play02:44

say this is I think starting out I

play02:46

really did get fixated on like am I

play02:49

learning things the right way

play02:50

um I was always trying to figure out how

play02:52

people I looked up to

play02:54

learned and I'm like well obviously the

play02:56

way they learned

play02:57

is how I should learn because they're

play02:59

the best at it and I want to be the best

play03:00

at it

play03:01

um and I think that actually caused me

play03:04

to kind of not do a lot of

play03:07

the things that I should have done I

play03:09

don't think I'm spending a lot of time

play03:10

programming I was probably too concerned

play03:12

about you know typing in some magical

play03:16

bad code that would forever render me uh

play03:19

useless as a programmer and I think

play03:22

writing bad code

play03:25

um more often and figuring out what ad

play03:27

code was that way would have done me uh

play03:30

a lot of good and probably saved me a

play03:33

lot of time

play03:34

um but yeah

play03:36

um

play03:37

it worked out uh I don't think you know

play03:40

there's really any end of the world

play03:42

situation for anyone's programming

play03:44

learnings I think if you're interested

play03:45

and you enjoy it or you think you might

play03:49

enjoy it just

play03:52

get on your computer

play03:54

open up your IDE of choice and and write

play03:57

some code

play03:59

um

play04:00

that's it thanks for watching

Rate This

5.0 / 5 (0 votes)

Related Tags
C++ProgrammingLanguage LearningPersonal GrowthCareer AdviceDebuggingNew ProgrammersGame DevelopmentMentorshipCode Evolution