Does learning C++ teach you programming in a more effective way?
There are a lot of things changing out there in the world, but the more it changes…well, the more it stays the same. One of the (arguably) big time, general purpose languages: C++ while still a very usable language in it’s own right, is not necessarily the first choice for teaching programming anymore… Now, in the interest of transparency, “I don’t think that any particular language is necessarily better for teaching than any other language…”, that being said however, “…I would lean towards teaching with a language like a Python, like a JavaScript over a C++, simply because it’s easier to get stuff going [with those languages], meaning it’d be easier to show the students something they can see once they start programming…we’re visual creatures, humans are…”.
Now, if you know the kind of environment we try foster around here, you know we’re not saying that C++ is dead and nothing can be gained by learning it. Quite the opposite, especially if you’re more of a hardcore, ‘devil in the details’ kinda learner. And as far as ‘run’ time (the speed at which the language processes information when completed) vs ‘write’ time (how long it takes to actually program it), “If you write an app in C++ , it’s gonna run circles around Java, JavaScript, PHP, Python, especially Ruby<Boom!>, it’s gonna run circles around all those languages in terms of run time speed, your C++ application is going to be blazing fast! The problem is that by the time you’re done writing your C++ applications, the person who’s writing a similar application in Python or Java, JavaScript, etc, they’ve already moved on to 10 other projects: maybe they’re already tired at this point in time…”.
Now, as much as we say there are no inferior languages out there, we also say that you have to follow what the market dictates (especially as a freelancer), and let us tell you, it’s not looking good for C++ out there. “…The industry moves towards faster write time languages. The speed [run time] advantage that you saw in languages like C++ over the others is becoming a moot point, as computer hardware gets faster and faster, you don’t even see the speed difference in practical application.”
So there it is. Please checkout the VLOG for more info and check out our new newsletter (link below): NEED2NERD. Shameless, we know. Sign up and get exclusive video content that would otherwise not be published on the channel, plus more cool stuff to come! Enjoy!
Sign up to my ‘Need2Nerd‘ Newsletter for exclusive nerd content that everyone loves: https://www.need2nerd.com/
I think we’ve all seen a film where the heroes are trapped in some room and the walls are closing in, threatening to crush them, or the room’s defenses are activated and lasers are shooting at them while they’re pinned down in cover, or desperately trying to dodge the blasts. What do the heroes do? Well, they call out to the “techie” person of the group, who’s usually in another room, watching from a monitor, and scream at him or her (usually him) for help. And this person goes to work on a keyboard and we see a window open up on screen with code on it, and they do some quick (non-nonsensical) typing, and the room’s traps/defenses either shut down or turn on the bad guys and take them out. No, I’m not trying to sell you my screenplay, I want to bring this up because when we see this, we think to ourselves, ‘That’s badass! To just hit a few keys on a computer and Boom! I just saved the day. I wanna do that…’ But then our brain automatically switches to thoughts of mountainous, thick textbooks with titles like, ‘Super nerd calculus-programming’, or ‘Say goodbye to your social life, nerd! Volume II’. And we think that we could never be this studious person, this soul of near-cosmic understanding of numbers, formulae, and ‘the maths’. We can’t see ourselves as this hero…
Well, we’re here to tell you that nothing could be further from the truth. “Coding is not that difficult to learn. Why then is there this major misconception about how difficult coding is?” The reason may not surprise you, if you’re a parent putting their kid through high school, or a kid in high school who’s hating physics or chemistry right now: teachers. “Most of the code courses out there are put out…[by] people who have no business trying to put out courses on code, because they simply do not know how to teach. …I would say if you tried to learn to code and you weren’t able to do it; you found it too difficult, too hard, I’d say there’s a 95% chance that it’s not you, it’s the bloody course.”
Now, we’re not saying this applies to all courses, and FULL TRANSPARENCY: We do offer coding courses, but this isn’t about that. You don’t have to buy our stuff, we’re not pushing that on you (there will be links down below, but there always were -nothing has changed there). The real reason is, “it leaves people with a bad taste in their mouth…because they’re not getting trained properly [and], they’re throwing you off of something that you could actually do.”
Check out the VLOG for a way more in depth dive into the subject, including the difference between courses and tutorials (which is what a majority of the all the so-called courses you get sold are), and on a lighter note, find out how good Stef was at grade 10 math (hint: not very). If January is already getting you down, check out the awesome beach and boats scenery towards the end of the VLOG, and if you have or know someone who you think is a great teacher, take 5 minutes and let them know you appreciate their efforts, it’s nice to hear.
We definitely covered this in a past article, but in the words of my proctologist doing his 3 colonoscopy in 2 days, “It’s always good to check in…”. So, how does one go from average developer, to master code? What is the quickest way to having a deep understanding of code and software development … how do you develop deep coding skills?
Well…practice. And by practice we don’t mean doing tutorials or coding camp, etc. We mean putting on your speedo, inflating your water wings, getting on your swim goggles and jumping in the deep end like a real man…hehe. “Short answer is by actually building real projects. Don’t get caught up in the game of continuously doing tutorials, or code camps, or code competitions, or studying algorithms -that is not going to give you a deep understanding of code. The analogy I like to use is the ‘pad hitters’ and the people that actually jump in the ring and fight. This is in reference of course to martial arts…and you [have] a group of people who would just do training drills and combination drills, and pad hitting and heavy bag work, but they didn’t want to get in the ring…because they were scared. But when they eventually got in the ring (some of them do), what they discovered is all that pad hitting, all those types of exercises didn’t really do too much to prepare them for fighting -you can take someone whose done 6 months of pad hitting training vs. someone whose done 3 months of sparring, and the guy whose done 3 months of sparring will be a much better fighter: meaning they will have a much better understanding of fighting…”
Now, it’s very true that we simply could have used the martial arts metaphor instead of the imagery of a grown man putting on a speedo, water wings and goggles, and then jumping into the deep end of the pool (to gain their experience), but I say to you good sir or madam…why can’t we have both?
Check out the VLOG, it’s a nice and candid talk about experience and growth, plus a story about when Stef was a “JavaScript theoretical master”, and also a sweet, somber Montreal skyline to take us into autumn… -Enjoy!
How many hours a day should you spend learning code?
‘Eager beavers’ everywhere! Whether it be the gym, sweet/salty snacks, continuing education, or becoming the best damn Fortnite player in history, most of us tend to go ‘hard and fast’: that is to say we try to absorb as much as we can in as little time as we can. The result: We end up ‘burning out’ real bad and probably never want to return to the thing that hurt us so bad…at least for awhile. We’ve all been there, we want to do, learn, or be something so bad that we end of ‘OD’ing’ (over-dosing) on it. And this is especially true with learning; remember the all night ‘cram’ sessions before big exams when you were younger? Add to that the fact that you’re learning a new skill like coding, which sometimes is not as intuitive as you’re used to things being, and you could ‘burn out’ before your first session is done!
So how many hours a day should you spend learning to code? “If you’re first starting out, you should maybe limit it to 30-45 minutes a day. Whenever you start getting into code for the first time, you’re literally going to be re-wiring your brain physically …you’re going to be learning to think and process information in a totally different way.”
What’s really cool about this is learning in different ways is that it makes your brain ‘stronger’. Much like physically training with different exercises, disciplines, and sports makes your body stronger and more adaptable to different stresses and pressures, learning/thinking and reasoning in different ways re-wires the brain to be ‘fit’ (for lack of a better word) and more adaptable to different situations. And I don’t know about you guys, but as I get older and more set in my ways, the need for an agile mind is more and more necessary.
Always leave’em wanting more It’s an old vaudevillian/performer’s adage. It means don’t go overboard when entertaining/performing. Always leave your audience wanting more so they will return, buy more tickets and (more importantly), they’ll want to be there. Very apt and very applicable to learning, “you should leave your daily learning session (encoding) wanting more, not exhausted. You wanna leave it and go, ‘this is cool’ …you want to create an association that’s positive, that’s fun with coding…”.
The VLOG really goes into more detail about this, while adding a psychological angle to it …and what would a good VLOG be without a RUBY slam (there’s more than one!), BOOM! Also, check out our courses for coding, freelancing or entrepreneurship <links below>. They have been built from the ground up with this very principle in mind! Remember when you’re starting out be kind to yourself, take it slow and easy, and have fun so you’ll want to come back. Whether it’s learning a new skill or anything else in life, it’s just a good ‘code’ to have… -Enjoy!