Why I Don't Memorize Code when Programming
Vložit
- čas přidán 29. 07. 2024
- Gonna give my thoughts today on how and why I don't remember a bunch of code that I write. Short list here:
1. Keyword Searches in Google
2. Github Repositories
3. IDE Auto Completion
Intermediate Training Core Data
www.letsbuildthatapp.com/cour...
Instagram Firebase Course
www.letsbuildthatapp.com/cour...
Facebook Group
/ 1240636442694543
iOS Basic Training Course
www.letsbuildthatapp.com/basi...
Follow me on Twitter: / buildthatapp
Hey everyone! Let me know your thoughts on how you recall code from old projects
I think that if you specialize on a language you should not be Googling every single thing. If you really specialize in one language, you rarely Google search for information for that programming language
Copy paste
Yes, I think it's quite rare these days to be specializing in a single language though.
Developer can’t survive without stack overflow and github 😂😂😂
Once stackoverflow goes down, all developers take a coffee break.
Over the years I figured that what makes a good programmer isn't the amount of languages he or she understands / remembers from the top of their head but it's more about getting that special programmers way of thinking. Once that finally clicks and you get that way of thinking, you're able to jump into any language, understand it and get past all problems with ease. Memorising is helpful but not the reason an engineer is a good one.
Totally agree, all programming languages blur into one after a while. I treat everything as a tool for getting the job done. There's always going to be updates and new things to learn, thats why I love programming.
You don’t understand how hard I’ve been working for that specifically I can’t wait to get that type of thinking thank you!
i'm still working desperately to understand the "way of thinking" :( not doing very well currently
@@coffeeenthusiast8774 I think he means that programmers copy and paste codes as long as you know how to use those codes its good because it saves a lot of time rather than memorizing everything and typing the codes on your own. Very time consuming. Therefore, a good programmer writes codes, a great programmer copies codes....I learned that quote from Codecademy if I'm not mistaken
@@eggxecution but how does that work in academic settings? in school my profs tell me to "not memorize code" but then on exams/projects we're not supposed to look at anything except our textbook
Thanks for making this video. I've been putting myself down for not remembering every single thing from every language, but now I know that I can't and don't need to learning every aspects from all the languages I touched.
Very good video Brian. I completely agree. And as Brian says, if you want to remember something, then type the actual examples along with Brian; your brain will store the memories in a much stronger way. Also, don't bother trying to learn syntax and method names and whatnot. Instead, concentrate on the big picture: the "why" of doing something. Learn patterns, concepts and the art of learning itself. As Brian showed with Stack Overflow, know when to deep-dive yourself, and know when you should copy-and-paste code from Stack Overflow, Github etc. Don't reinvent the wheel.
This vid made me feel sooooo much better. I’ve been trying to memorize every single little thing. I have a TON of notes I keep & snippets of codes I save
Everything you need to know is one google search away
Thanks for making this video! I am a beginning developer and am always worried about not remembering Swift syntax when creating projects. This video gives me better reassurance😊
Thanks for this video
I needed the subject
I used to think I was a fool when I couldn't remember the code
Hey Brian, good stuff. I always do all these things but I felt like I am not good enough. Your video gave a huge relief to my thoughts. Thanks.
That's great, beginners are already starting out great these days.
OH MY GOD, thank you for this video. Now I don't feel terrible when I dont remember something when it comes to coding. Its nice to know that a better programmer also has to use reminders on how to do a project. Thanks again!
Brian, could you give us tips on how to structure our iOS Apps. For example, a defaults wrapper layer, the networking layer, services layer. Also, where to store things like API keys. Basically the best practices for setting up your professional codebase and how to separate everything so that it's professional and easily scalable. Thank you.
Matthew Houston look at the design patterns
I think the trick to good programming is to know to make the computer to perform tasks most effectively and efficiently. If programmers try to think this way they look at solutions and develop a creative mindset which will make them want to create great things rather than just memorising stuff. codes.
This was SUPER HELPFUL! Thanks for making me feel better as a coding newb ^^
Ty Brian. I've learned one more thing among the many I already learned!
Thank you so much for sharing your advice! It’s very useful!!!
ehhh, this is clearly one of the best videos on the CZcams ... Hats off to you Brian, you are the real MVP !
Glad you enjoyed it.
Wow. Thanks for the video. I felt like a little teenager getting a handshake from a celebrity I am a huge fan of. Haha.
Really really really helpful, thanks Brian!
I've been looking forward to a video like this. Awesome video as always Brian.
(congrats on almost 90k subs 🎉)
It's amazing how far we've come right?
Yes. I remember when you only had 1k. Cheers. Who knows, we might hit 500k by end of next year 😄
That would be lovely, just getting 200K by end of next year would be awesome.
Super-great advice - especially on using auto-complete and github searches.
I also very heavily rely Stack, copy pasting from my old code, or autocomplete. Really felt awkward being asked to code with a paper and pen last month in an interview
If I can spend 20 seconds searching up something, and quickly implementing it into my code, I’m 100 times better than someone who doesn’t and relies purely on memory and rapidly makes mistakes
Me and plenty others would never hire someone who had to copy paste the majority of their code.
Jayo Caine who said I did it for the majority?
@@theodore2067 narrowing your job opportunities in the name of laziness does not seem like an effective strategy.
Jayo Caine are you stuck in the past? More than ever, everyone has access to technology, and there are so many viable sources to help programmers. Just because a programmer needs to do a quick search doesn’t mean he’s lazy or incapable.
@@theodore2067 If you're copy pasting your code consistently then whats the point in hiring you? What skill do you have that anyone else doesn't?
I’ve always maintained that the key to successful software development lies with the concept of “resourcefulness.” Searching for a solution and then creating blog posts and repos as you arrive at successful solutions will serve you well. Resources that you find or create will resurface later, whenever you need to repeat the same or similar tasks. Quite simply, it’s just too much to memorize these days!
The best audio on youtube period!!!
I think I might do a review on the audio equipment I use for people that want to start their own channels.
Meanwhile codecademy:
*this is what you have learned this week*
Super helpful video. Thanks a million!!
Thanks for all the information. One quick question, what is your opinion on native vs hybrid apps
Much thank you for this video!
Thanks for the video! it helps a lot, i just started learning how to code, it can get a little scary
Back with another killer video. You the real MVP, Brian.
Good to see you here Ben, love the hair!
High and tight my friend!
Thanks but what do we do for coding interviews in companies where they value code quality? I’ve also not been memorizing code/ syntax but I’m going to appear for an interview soon where I need to be able to code without autocomplete
Wow this video helps me a lot. Thanks a lot for explaining this kind of thing. Because before I thought I need to memorize all of the programming language just to be a good developer. :)
Programming is more about learning how to look up solutions on google.
Dude, thanks, this video was really helpful !
What can I say except another great video 👌🏻
Should I remeber though for coding interviews? Like I heard they used google docs which I thought was a joke but they do to test devs to make all the code vanilla
Hey Brian good stuff here, btw I'd like to know what do you think about MVVM?
I like to think of learning a programming language as building a Lego set. Building a model by only memorizing the instructions can get the work done perfectly but is stressful and time-consuming and you eventually forget versus building the model and referring to the instructions which is a lot easier and wastes less time
Very good Vídeo, thanks! I really liked to know this from a pro!
Hey Brian. I am a beginner programmer. I am wondering if it is normal for me to always google the same code? For example, when I set up a game with Pygame, I would have to google the structure each time... I feel like i DO understand it tho
I'm studying HTML and I suffer with Dyspraxia and that comes with memory loss. I can easily remember how to do the hello world part and a paragraph with the tags but with anything else I can forget it pretty quick but what I do when typing some code up I save it and when I go to do something I just copy that code back in and just change it around if I need to
Really nicely explain on important thing ... :)
It depends a bit on the language and what background you are coming from. I don't use autocomplete because functions are rather intuitively named in the libraries I use. So I can rely on intuition and the compiler to help me out, after a while you've memorized the most-used functions. Another thing is "domain knowledge" - if you have worked a lot with certain libraries, it's easier to use them because you already know where you need to look.
One of the biggest hurdles I have is when people don't include an example on how they intend their library to be used. They give you the documentation, but no starting point. If I have a simple example, I can usually discover the API myself, but I need some "proof of concept", minimal example. What class do I have to instantiate in order to do the thing the library was designed for? Which functions are important and which ones are just helper methods? Then I can look at what parameters I need in order to get there. It is often a path between "too verbose" and "too simple".
Anyway. My process for programming is roughly the same, first I look at the example(s) and try to get them running (often I discover weird build errors that way). If the proof-of-concept is done, I lookup the class names in the documentation and go from there. I also always try to understand what I am doing, especially the complexity / cost of each function.
However, I do not collect random snippets on GitHub. Part of that is because these snippets would be outdated very fast, part of it is because if I have used a library once, I usually know how it works in the larger sense - even if the API changes, the core model of how the library works does not change. Plus, if I found it once on Google, I will find it again.
I don't have much idea about what you are talking ,but I really feel to like your comment
Hi notice me hehehe ahmm i have a question how do you know the terms right away because I'm having a hard time to memorize especially on the spot when my prof give these problem and i was just curious why some of my classmate know every terms about like in Java Program.
I used to learn R. With R, I was like a project-based learner, meaning I started creating something and learned what I needed as I was progressing through my project. (I obviously hit the books for very basic stuff like function, controll structures, variable scope and etc before I started doing my project) I wanted to take different approach with Swift. I read most of Swift documentation (except some advanced topics) and half of book on iOS programming. Recently I started working on my first iOS app and I don't like the feeling of not knowing where to go in Xcode or recall the certain function on top of my head when I need it. I wish there is some dictionary that I can quickly look up and list function just by what it does. I use the web, but it can take time. So my question is, do you have any techniques or references to go to to immediately find things you need? I personally try to create mind map that organizes functions by their functionality, which I can go to find what I need. I am still early with this experiment and I wonder if you have tried it and if so is it good?
Like I mentioned in the video, I forget about 95% of things in Swift. I just google for solutions and copy and paste what I've seen before.
Okay. So basically, I continue to take approaches I took with R. I used to copy a lot from Stackoverflow to put something together. But when I did it long enough, it did stick to my memory. Does that sound good?
Sounds about right, development becomes tedious whenever we have to google for everything.
With regards to job interviews, isn't it necessary to memorize how to do certain things (besides algorithms)? An example is parsing JSON and showing the results in a tableview. Or do the interviewers allow you to use resources like google?
Parsing JSON and dumping it into a UITableView is an exercise left for take home exercises. There isn't enough time in a 1 hr interview to go through this basic task. Most companies prefer to hire programmers that can solve difficult algorithm tasks.
Hope you will do more advice videos in the future : )
All is see is Honesty. 👍👍❤
Hey Brian!
I am really interested on your opinion abot cross platform (multiplatform) development. Should we deep into that for the future? An episode would be great about pros and cons. Thanks
Great video
im a beginner in coding but keep forgetting things , im very nervous and think im fool. what should I do?
Its Stella sorta the same for me
Remember kids the moral of the story is to always use a guide of reference!
Hi Brian, i've been following your channel since you started, and i've noticed that you have been using, Constraints withString Format, and also Anchors, and another methods too. So my question here is, When or how i determine which technique should i use for constraints? is this specific for the UIKit Elements that i will to use?, i've seen that you also use CGRect in some cases, but i can't really figure out why and when, because i just read in some forums Autolayout came to replace this CGRect() to handle multiple orientations for constraints.Thank you for sharing all your knowledge with us.
Gabriel.
I use whatever is easiest, currently its layout anchors. You have to understand all three before you see the differences.
Thank you Brian!.
I want to learn programming to survive in the current software trend, what is the best way to start learning to code?
Thank you
I'm digging the "Dreams" by Joakim Karud in the background!
Thanks for one more song to add to my chill playlist :P
“Is this true for all languages or just for Swift?”
/* Learning java and felt related
* to beginners.
*/
saving old code for reference in Github
For a lot of common snipet code I will use the gists in github so that I can reference back to that directly. I keep some of gists private just because those are my code snipets that make sense only to me.
I do same
If you build an app from scratch for a company and you decide to copy (and just customize) your login process from another app, how do you charge for that? If they pay you for your time being there, they'll just assume you are experienced and thus resourceful so you will be code recycling from another projects.
Clients pay for a product, not your time. Charge them what the product is worth.
Just found this - great stuff! :-)
I do use auto complete, it's a time saver - frontend dev... also sometimes I remember code...then the next day i have a hard time remembering vanilla syntax
Ive been following tutorials on and off for a year now, and I still can’t open up a project and start coding on my own. When I follow tutorials I understand whats happening most of the time, but I can’t seem to do it on my own. :( very frustrating. Is this part of the process and should I stick with it?
It helps to have something that you're working on already. Personally I watch a ton of workout/fitness videos and never get up out of my chair to do pushups and jumping jacks. We all have the same problem regarding video consumption these days.
Haha true. I guess I just need to spend more time trying to start my own projects in tandem with tutorials. Thanks!
I'm wondering, to create a social media app like Discord/Twitter, what programming language you suggest to use? And why?
try python which is a general language useful for anything
Thank you!
Hey I’m new to iOS Dev and have 2 questions. How do I insert an image above the background image? And how do I make the background image fit to screen on all iphone sizes using code.
Try google? StackOverflow?
use what you learned here from this video
I feel Casey in this video.
The way Brian said "A polar bear dies" was hilarious
If you don't need to memorize code how do you pass technical interviews? Don't they contain code you need to remember to answer the Algo questions
so inspiring :)
what if you're in school and have to take programming exams which ask u to implement a data structure in a specific manner (C++)
Well data structures isn’t really programming, you should understand the logic behind it. Remembering these things is actually useful in the future
As a beginner developer, it just is not good practice for me to memorize code. If I am learning a new piece of code, I sometimes will repeat the video, go over the provided examples, & then try to recreate the example little bit differently. Then in the future, I may not be able to type the code by memory, but I am familar with the syntax and keywords.
I agree with you. When you work with 2-3 languages and many related frameworks, it's impossible memorize all codes and logics and u must search a solutions in google. I'm working with Java, iOS and now learning Go and it's pretty hard to memorize everything
Yes, its very difficult to even remember things for a single language, let alone a couple very different syntax languages.
I like the illustration with the animals 😂
it's not about memorizing the code. it's about thinking from a programmer POV and think problems as steps example: picking something up. "move hand to the right "x" cm, open palm, place palm on object, close hand firmly, lift hand up. and so on
Glad to know that I haven't killed any polar bears yet !:D
Keep the polar bears safe.
Do really top end programmers still do this?
David Wilson that’s what I would like to know and since this question is a year old, I don’t think this guy actually knows. Especially since he hasn’t answered in a year 😎😎😎
Good watch
Personally and honestly my comment for this video is when I see and learn coding from a person like you, then I start to thinking how he does such that (first looking hard things). That idea gone away as soon as I learn more and more but the first question is how he done all that stuff. So in this video it is answered by you and it makes you more kind person with your knowledge and coding skills. And also this video is not answered just for how to remember things, also it answers how I done my programs :). Thanks and keep going Brian.
Absolutely, anything that you learn should just be store as reference material.
What exactly is "Repo"?
Code repository.
I’m learning Java but I thought to become a god hacker. You needed to memorise it I spent 10 hours 3 hours per day memorising I learnt 10 lines of code and what they do. I found it really easy to memorise code but this video showed that I don’t need to memorise it. But honestly didn’t think you could look it up that’s easy money.
nice
There are people who memorize code? That's crazy. I've been programming for 21 years and I've never memorized code. Only commands and efficient techniques (the principle not the code itself) I came up with when working on different projects. It would be best to understand what the code does and not try to memorize it. If you understand the principle of what it's doing you can change it around and adapt it to different contexts for different usage.
Students seem to ask me how I remember so much code a lot. Truth is, as you’ve mentioned I don’t remember anything. Just google works
I was given a design web site but if that how can I code without that exact code ?
Oh thank God i am on right track 😂😂
1000th like from Me
dont recall code, just recall how i solved a problem like "this" - but maybe you find a new way on stackoverflow.. or other sources
Would you learn what you have copied and paste?
some code we don't have knowledge of
1. Copy and paste code and run to see if it works.
2. Modify it and put it into your application to suit your needs.
3. Find out later that you have to play around with a bunch of properties to get it perfect.
4. Learn along the way.
but when you go for interview they will ask you to code
At the very least you should know how to write hashmaps, trees, array sorting etc. I’m talking more specifically about iOS functions that I never remember.
Get paper and write new code you learn/make a cheat sheet. Jobs allow this and after a week you will not even need to always look at it
Human should be able use the better case by situation not JUST remember those code for copy and paste and little modify those code already there.
Well.. for a job sure but as a student i dont have an option🤷🏽♀️
Hey dude .. if you wanna do something strong, go for a full free tutorial of RxSwift, there are no free sources that cover even half of it.
I'll eventually put something about RxSwift on the website as a full course.
this is the opposite of what they are asking in coding interviews. you have to memorize a bunch of things that you don't even use in the job just to pass these stupid interviews. I'm a self-taught developer. I have a great portfolio. I've built projects but I struggle with interviews. what should I do to get a job.
The interview questions are a good way to see if you can build complex algorithms efficiently and quickly. If you can’t do that well then it’s hard to be a full time programmer at many startups. Remember startups need to generate prove viability quickly and don’t have time to mess around.
I'm not alone ahahahaha
What is your github ? 😆
If I told you, I'd have to code you.
If you learn by memorising code your potential as a programmer would be as far as much code you can memorise, but if you learn to code universally, you'll be good at every language since you know how every langage works.
Yep, all languages seem to blend together after a while.
!== instead !=
*DEVELOPER IS NOT SCIENTIST -- ONE DOES NOT INVENT CODE, BUT ONLY APPLIES IT*
nice hair
Word, youtube life
first
Memorizing the code it will cause brain draining
This is technically saying we Shouldn’t Memorise this ;-;
second. :D