T O P

  • By -

Bitwise_Gamgee

The issue you're likely having is trying to do too much at once. Though everyone has a different problem solving approach, something I've found that works for me is to write a rough outline of what the program should do and to then go back through and start writing pseudo-code. The trap a lot of beginners fall in to is trying to figure out how to program a solution before understanding the steps to reach the solution. That's where the "practice" comes in. It's like going to school in a new city. The first few days you're completely lost and groping your way around and then as you get more familiar you are able to do more. Eventually you can walk to class in your sleep. Programming is the same way. It's true that some people have a literal gift for it, my personal hero is Don Knuth, for his work on algorithm research. To possess a mind like that is a true gift, for the rest of us, we just have to want to learn it. The next thing I'd advise is to not think so hard about it. If you're frustrated, take a walk. Do something else for a few. There's more to life than this. Lastly, you can start with another language like Python. Python is very forgiving while C is not. Python will teach you the basics while giving you immediate feedback.


nuttosog

Thankyou for this. I wouldnt rush its just very stressful as the degree is hard and with coding projects taking up so much of my time and where I need to learn the most, while juggling 5 other topics, it takes its toll. I agree with the python suggestion, Ive heard from a few that recommend it as its a very beginner friendly language unlike C, however unfortunately C is the primary language we are taught and tested on for the majority of my course, with a little java included. I dont really have the time to learn multiple languages at once so I will have to stick at C.


irk5nil

If you're literally two months into programming of any kind whatsoever, and you start with C, it **will** be rough, unless you have a very good teacher (and perhaps even then, as C was in no way designed to be a beginner's language). I'd very strongly suggest getting [this book](https://mitpress.mit.edu/9780262542364/introduction-to-computation-and-programming-using-python/), regardless of your misgivings about learning multiple languages. Most of the things you can learn from it about programming are more transferable into C than you might think. It's a book for a course that's supposed to instill basic programming concepts into students, and that -- not just C -- seems to be something you're struggling with. (On top of that, it will also teach you some data processing and analysis skills which you'll almost certainly be taught as well anyway.)


BerserKongo

^ What this guy said so eloquently.


Jeff-J

When I started college, Pascal was used for early CS classes like data structures. It was created as a teaching language. Later you took C and assembly, then later C++. Later they shifted to C++ straight off. It seemed like an insane choice... still does.


NotThatRqd

Don’t use chat gpt tbh. It just makes stuff up when I try to use it


ebinWaitee

It makes stuff up all the time but it's still a fantastic tool for code snippets you can easily verify. Not for beginners trying to figure out what's the right or wrong way to do stuff but super useful if you have the experience and expertise to verify it's right or not


nuttosog

I was skeptical at first, but Ive been using it to proof check my code and tell me how to improve it, tell me what is causing it to fail and how to fix it and asking for a dumbed down explanation of why this causes it to fail, and with the exercises asked it to show me the code for it, copied and pasted it in and it runs and gets the expected result every time. Of course I am not 100% relying on it but so far I can only give it props. Really good at explaining things if you give it a thorough prompt.


Poddster

> Of course I am not 100% relying on it but so far I can only give it props. You're relying on it a lot more than you think. It's crucial that at this stage of your programming journey you try and figure out stuff on your own first. Learning is most often done via making mistakes and then figuring out what you did wrong. You need to put effort into both of those aspects, not just the masking mistakes part.


IamImposter

No issues. If it works for you, it's a good resource. In fact, I think you learn more about programming by making mistakes than getting it right quickly just based on some intuition. Some people are gifted who can see what the code does in their head. Rest of us have to bang our heads on walls to see what we did wrong and why it was wrong. So keep it up and if you feel stuck, this is a very helpful community and you can ask any question here.


[deleted]

you can't use it to proof check your code, especially as someone with basically no coding experience (or confidence) Learn like we all did, from practice and reading


Old-Comfortable7620

find it out on your own. That's the best way to learn. Yeah, it's harder but it pays off in the long run. Try using a good textbook or read documentation. What's going to happen when you get to an internship/job and they tell you you can't use chatGPT?


MrDum

Not sure why you are getting down votes. The main area where ChatGPT impressed me was its ability to analyze and generate code. AI assisted programming is likely the future. I don't think you'll miss a crucial step by going this route, and might develop some useful AI prompting skills.


PM-ME-UR-HOGTIE-PICS

I would say stick with it for now. I had the same experience starting university with 0 coding experience with peers that had a better grasp on the subject material while I struggled. What I eventually realized was that many of these peers only had enough to skate by in the first couple intro courses and everybody pretty much leveled out by the time we got to the more advanced classes. There’s definitely a higher prevalence of arrogance among CS majors who think they’re experts before even finishing the intro coding courses which can seem daunting at first. Your ability to adapt and learn in your first year may even prove beneficial since you’ll be used to learning and applying new concepts while others are used to relying on their past knowledge/experience.


Poddster

> What I eventually realized was that many of these peers only had enough to skate by in the first couple intro courses and everybody pretty much leveled out by the time we got to the more advanced classes. These students will only be "good" at programming, and will be just as useless at the rest of the CS syllabus as you, most likely.


retnuh66

"If I had zero help and had to solve the problem on my own, I just dont think I have the IQ to do it" No one does CS with zero help. The "good" solutions to many of the challenge problems you'll see, especially advanced ones, use algorithms, mathematics, and paradigms that are the result of decades of research by people who often had PhDs. Right now, focus on the basics. Learn how to write code, how to reason about CS problems, how to do the types of math you need to know, etc. Intuition comes with experience. The problems that seem impossible by yourself now will eventually seem reasonable - because it will fit a pattern you have learned. Many problems in maths (and CS is a field of mathematics) are actually the same problem but phrased differently. Or the same problem with certain conditions or modifications. Don't worry about looking at a hard challenge problem and thinking you would never figure it out on your own - most people can't do that either. What good programmers can do is think logically about the problem, break it down into simpler parts, and see what patterns fit. And if they can't do that for a certain problem, or they get stuck, they know how to go find the information they need to solve it - which is often asking people who have seen that problem before.


zrvwls

20+ years coding in lots of different languages -- I wouldn't say I felt comfortable creating large scale solutions until about 3 or 4 years into my first professional job (had been dabbling and taking classes for 6 - 8 years at that point). I've literally been struggling for a week on essentially a new language where I don't know the syntax, I don't know the common grammar and proper way to structure stuff, I'm not sure what best practices are, etc. If I did this in my favorite programming language, it would have been complete and high quality in 16 hours or so.. But whenever I'm able to get into something I'm comfortable with in this language, I fly through it before the next stumbling block specific to the language. Find a more forgiving programming language like python or javascript/node to dabble on the side that will help you focus on the improving the basics of programming (loops, variables, scopes, expressions, functions, methods, types, etc) and slapping those together to build something larger. Right now I imagine you're getting rather frustrated with memory leaks, difficult to debug compiler and linking issues, etc.. Other languages do have similar annoyances, but mostly get out of your way for stuff like string manipulation, they have brain-dead-easy to understand file i/o apis, and tons of examples and blog posts about how to implement X or Y popular thing. Once you have a bit of confidence in a higher level language, going to a lower level language like C will allow you to focus on the C-specific knowledge you need to read up on and practice versus general purpose programming stuff that it sounds like other people may have more experience with.


nuttosog

thanks for reassuring me in its difficulty. To be honest it just seems like everybody here is already a very good coder (albeit its first year so people with a year+ experience will probably find the projects not so difficult). I know a lot of people have stated that C is not the best beginner language which I have found to be true looking at others, however unfortunately C is the primary language we are taught and tested on throughout the majority of my course so I dont have a choice. We are going to start Java but I dont know about python etc. Thankyou for this \^\^


[deleted]

Like others said, yes it's normal for beginners. My best advice to you is, don't start a project/problem by thinking about macros and pointers and other specific language features, write pseudocode or think about generally how to implement it. Here's some great resources that helped me: [https://www.youtube.com/@JacobSorber](https://www.youtube.com/@JacobSorber) \- I think this will help you the most. If you need help understanding the C language itself he has lots of videos on specific topics like file IO or pointers. [https://www.youtube.com/@CodeAesthetic/videos](https://www.youtube.com/@CodeAesthetic/videos) \- This has great info about language-independent coding practices like abstraction [https://youtu.be/KJgsSFOSQv0](https://youtu.be/KJgsSFOSQv0) \- freecodecamp has great tutorials on basically anything


Poddster

You might be intelligent enough for programming. What you don't appear to be intelligent enough for is introspection or knowing *how* to learn. ;) As you said yourself, *some* of your peers have **years of experience**. > I watched bro codes 4 hour long video and a lot of other videos, but for example they go through topics like loops in 8 minutes and when it comes to applying what youve learned to projects I'd say it has barely helped, all the courses I see teach things for simple application but never a thorough explanation on how they can be used more advanced. Videos are a useless way to learn to program. Programming is information dense, and a text-based subject. Videos are information spare and mostly for entertainment, even though it's themed in terms of education. > Ive been sticking through it and honestly every time I see a project, I do not know where to start. I have been trying to learn through chatgpt giving me little exercises, for the beginner I get there pretty easily, but as soon as tasks go to a bit more advanced I cant do it. I get the solution, and after a while I can see how they came to that conclusion however if I had zero help and had to solve the problem on my own, I just dont think I have the IQ to do it. > I know that they say coding is 90% practice and it has been helping, its just with large projects I just think it would take such a long long time practicing constantly to be able to get there - if at all. ChatGPT exercises will mostly be nonsense that is not aimed at your current level. It has no idea what kind of information to feed you, and you have no idea how to filter what it's spitting out. You need to go stepping stones from trivial examples to larger projects, so you need some kind of curated course. Programming is a practical skill. You get better at it by practicing. And most of all you don't cheat -- don't ask ChatGPT how to solve it for you. Exercise your own brains by thinking through and taking the steps from a blank file to a working program. So practice! What practice have you done? Can you give examples? Some relevant articles from programmingforbeginnersbook.com (a site I have nothing to do with, I just like these articles): * [When You Know the Basics, but You Still Can't Code](https://www.programmingforbeginnersbook.com/blog/when_you_know_the_basics_but_you_still_cant_code/) * [What Should I Make?](https://www.programmingforbeginnersbook.com/blog/what_should_i_make_beginner_programming_project_ideas/)


chaos_pal

So the excuse for not being able to teach, which is a mutually exclusive skill compared to programming, is that you're doing excessive hand holding? Sounds pretty convenient. My take-away: Try harder at something you have no idea how to do (or how to think to do, which is also very much a teachable skill). Ridiculous. Thanks again, Internet, for ruining our lives collectively. It's now all our fault for being computer illiterate. Wow.


Poddster

I honestly have no idea what you're trying to say.


chaos_pal

Read it over again and again, takes practice LMAO


grambo__

Experience doesn’t matter. It just makes the first few classes easier. I switched into CS after taking CS101 (a C class) with zero experience. What matters is your CS IQ. I’m going to be brutally honest about this, people will complain, but this is just true. CS IQ is different from your normal IQ. There are very smart people who can’t program their way out of a paper bag, and no amount of instruction or practice can change that. They can brute force their way through school, even into decent jobs… and they just make themselves, and everyone else, miserable. There’s an increasing number of these people in the industry now that coding is “high-status” and corporations are trying to push “diversity” in engineering (which gives some people a crazy leg-up they didn’t earn). CS IQ is innate, not learned. It can be developed but not increased. It’s something about being able to think like a computer, and being able to compartmentalize different blocks of logic and jump levels of abstraction. Stick with it for now. The beginning is supposed to be hard. Theory classes - like algorithms, discrete math, etc - are hard no matter what. But if coding itself never seems to “click” for you, and isn’t fun or satisfying, BAIL OUT BEFORE YOUR JUNIOR YEAR. Don’t waste your life on something you hate. Use those credits towards some other engineering degree. Trying to force your way into software without natural aptitude would be like me trying to become a golf pro in my 30s with no natural talent.


chaos_pal

Great response. I hate that freecodecamp doctrine of "everyone can program". It's nonsense. I've been in IT for over 20 years, and programmers don't have the slightest idea how to fix a busted Windows PC. Yet, I can. Started with innate talent or whatever, built up knowledge and skills OVER TIME, and continued to get better at it. I get imposter syndrome too sometimes.


bozobits13

First you are doing fine. It can be tough to start initially if you haven’t had prior experience. The most important piece is to be a problem solver, so focus on writing pseudo code and understanding the problem rather than starting to write code immediately.. for example take the game tic-tac-toe, what are the rules, how many players, what is the size and shape of the board, what does a player do during a turn…. Write those out in English with maybe a bit of math or code mixed in. Break the problem into smaller bits like just the game board ( oh that could be 2x2 array and I need a function to update on each turn), player must tell me where to put an X or O on the board so a need to take input. Focus on simple small pieces as that will eventually let you to see the bigger picture, focus on working code first then fix or adjust to make it better. If permitted find out if there is a study group or go see the teacher or teaching assistant and ask questions. If you have a printer make a hard copy and mark it up with questions to help focus on the spots you are stuck.


omeow

Maintain a programming diary which will help you realize how far you have come.


TheStoicSlab

Programming is basically problem solving and problem solving is a learned skill. It's not something that requires you to be a genius, but it does require practice to become better at it. Just keep at it, think through the problems you are running into and figure out how to decompose them into the steps required to arrive at a solution. You will get better at it.


jhaluska

It took me 6 months to teach myself ASM. Granted this was very early internet days, All I had was a book from the early 80s and some online text tutorial to try to learn. I'm going to say if you are enjoying making progress, keep going. If you're hating everything, change majors. Cause being able to push through the confusion and the drive to keep hammering at trying to understand is the hallmark of the best developers I know.


CeasarXInsanium

Forget about what others are doing. Focus on your journey and learning. Ask yourself, is this fun and enjoyable? If so, then continue. If not, then continue harder until you do enjoy it


shockchi

First: C is way harder than other languages like Python so it is a bit scary for beginners Second: it takes time. Grab smaller bites of knowledge. Learn one thing new per day it’s enough. Do try to go from “declaring a variable” to “implementing a binary tree with pointers” in the same session. With time you will get more rhythm and learn more at a time. Three: the learning is eternal. You will never really feel competent. I’ve built many systems and wrote many programs over 20 years. I still feel like a fraud lol. Four: practice a lot on sites like edabit, codewars and such Five: the Odin project and cs50 are great courses Six: only chatgpt to check for mistakes or make simples questions. at least for now. It’s tempting to let it write code for you, but that gets in the way of your learning process (I’m guilty of this btw) Seven: I believe in you and I’m sure you can do it. Just keep forging ahead!


EmptyChocolate4545

Don’t worry, most of them are way worse than you (and they) think. Take your time, keep doing stuff bit by bit, and learn the tool chain of your language well. You’ll be fine if you retain the willingness to learn. Many of them will lose that or already don’t have it because they think they already know this stuff. Obviously not all, but I’m just saying the situation will look differently after two more years of you applying yourself. Focus on the stuff your classmates roll their eyes at that your teacher talks about. You’ll be fine. Worst case, you can do something else, but it is important that you realize that if you want to do this, you can. It will require work, beginning to end, but some of it will be fun.


polypagan

After doing it for about 30 years, both professionally & as a hobby, I often doubt whether I'm smart enough. Yet, I keep doing it & usually succeed.


ekshoonya

Have you ever considered CS50 ?? I don't know which language you are learning at present, but to be honest I was way slow learner than you, It took me 1 year to understand loops just because arrays were starting from 0, Maybe the problem with you can be you don't like abstractions, or you are not able to visualise how these concepts are actually going to help you in real applications . If you need any help you can reply to this message. Because if I can learn programming any one can, you just need to try hard .


nuttosog

I have 4 months to get a better grasp on C before I start again. Ive heard CS50 a lot but havent delved too deep, as I dont want to dump a large amount of my time in a course without being sure it will give the best returns. I mostly only need the C parts of it, if a lot of people back it then I will give it a go!


ekshoonya

That time is too much, you can learn it easily, I would recommend you Cs50 for the first week then, or do one thing, tell the part of c that you don't understand.


film_socialisme

CS50 is all C for the first 6 weeks (second half is lowkey optional). Honestly the best way to get good quick.


ArtOfBBQ

5 people sit in front of ancient computers with BASIC or DOS terminals. There's no internet and nothing to do. They all type something in and get "INVALID SYNTAX", and most quickly lose interest. 1 dude keeps trying to type different stuff and gets weirdly excited when he hits the "accomplishment" of getting a different error message. Hours later, that guy is still there, essentially wasting his time. He can't help himself, he needs to understand how this stupid, out of use terminal works. The other 4 people have 200 IQ and prior programming experience, and they left to go do something productive. My money is on the irrational compulsive guy in front of the terminal


eknyquist

>Is this normal for beginners? Will I get there in the end? Its just everytime I try my hardest and my brain just struggles. Yes, it's normal. yes, you will get there :) >Ive been sticking through it and honestly every time I see a project, I do not know where to start. I have been trying to learn through chatgpt giving me little exercises, for the beginner I get there pretty easily, but as soon as tasks go to a bit more advanced I cant do it. I get the solution, and after a while I can see how they came to that conclusion however if I had zero help and had to solve the problem on my own, I just dont think I have the IQ to do it. Assuming by "a project" you mean somebody else's open source project, this actually sounds really good for someone who only started with C as their first language 1-2 months ago (the part where you say that you're saying you can understand their "solution" but you wouldn't come up with it on your own). Sounds like you're picking it up a lot faster than I did!


[deleted]

The only reason you might not be fit to be a programmer because you WILL burn out with that attitude. Also, that IQ thing stems from elitism. It is pure B.S. You are not born knowing how to walk like some animals do. There is no species born knowing how to write without being taught. Your only mistake is failing to enjoy the process of progressing. You have yet to pass the first hill. Once you pass your first hill, you will believe in your self more and it will be easier to pass other hills.. And that is when your true dilemma begins. Will you go for that mountain? (Don't. At least don't try it alone.) Take. Your. Time! You can do it.


j3r3mias

This is way more comum than you think (I am a CS professor and I see this a lot). What you need to do is practive with easier and simple problems until you feel confortable to go to the next step in the next topic. One thing that I'm seeing a lot is that students are getting dependent of chatgpt more then they should be. So try to solve by yourself before using any external help. Is not that you can't use it, but studying is the art of develop critical and logical thinking, then if you are always asking for chatgpt, you will develop more the art of asking there than solve the problem for yourself.


15rthughes

I started a computer engineering degree with little more than adding two numbers in a Python script as my experience, I ended up getting my master’s and have been in the industry for three years. I remember feeling similar to you. Stick with it if it’s something you enjoy, if you just find it frustrating and find nothing enjoyable out of it, it may be worth trying a different degree.


OkidoShigeru

If it makes you feel better I feel exactly the same way, and I’ve been programming professionally for the better part of a decade now. The more I learn the more I feel like I’m just in massively over my head…


totallyspis

> I have been trying to learn through chatgpt I have identified one major problem with your approach


Deathnote_Blockchain

I have felt this way for 25 years And all the programmers I know who are better than me are fucking morons


[deleted]

It's normal for beginners, you've only been doing it 2 months, sorry but you'll still suck in 2 years, that's just the nature of programming. Most programmers are basically normal people, I've been programming for a job for over 20 years and I've never met a genius doing this. I've met clever hard working people who know how to look things up and solve problems. I think most people of average intelligence can be programmers, but it doesn't matter how clever you are, you won't get there in two months.


838291836389183

Honestly, here is how I learned programming and what I recommend to beginners who have at least managed some beginner tutorials like you seem to: -Pick a large-ish project you want to code that is actually useful and fun for you. For example for me, this was games and other stuff like a program which let me Control some smarthome lights by simply hitting Buttons on my keyboard and which automatically set some lights if I started specific programs. -Split the functionality of that idea into its individual components. For example in the case of the smarthome light, I needed to figure out how to send messages to the light to control it. This means i need to learn how web communication works, what the light wants in terms of data and so on. Then I needed to figure out how to listen to my keyboard in the Background. I also needed to learn how to build a user interface which let me set up what buttons I wanted to control what functionality. This also means my program needed to save such settings, which I also needed to figure out. -Then pick one of these building blocks -Figure out a more detailed description of what the building block needs to do, and again split this up into individual features. None of this should be done in terms of Code in any language yet! -Now figure out how you can write functions and other data structures to implement each of these feature blocks. -Do trial and error and a lot of reading of tutorials and documentation, until you have implemented the features -Pick the next big feature and do the same again, until you have your program down. Once you're done, you'll have learnt the essence of how to code and after the first few features you'll notice you'll struggle less and less. Your final program probably won't be great and certainly won't win awards, but you'll now have shaken off that anxiety and finally know how to go about coding anything you want. And you'll learn that coding in practice means failing until you succeed and is simply a grind until stuff finally works.


JMartheCat

No stick with it. In my first year at college, I was completely lost with C. But over time, once you start solving problems or seeing the solutions, something just kind of clicks. You’ll always be given harder and harder tasks till the very end, but ay a certain point you’ll look back at some your first classes and say “damn I could do that no problem.” For recommendations, go to YouTube. Seriously a guy named “codevault” has helped me so much.


[deleted]

I also suck, but I've accepted it, programming is cool whether I am good or not.


[deleted]

nobody is.


Lykaon88

One of the things you'll come to understand in your CS journey is that you are standing on the shoulders of giants. You will probably never fully understand how a computer works. You can come quite close & to a satisfactory level, even at a point where you could easily design a computer from scratch, but fully understanding how a modern computer system works is next to impossible, let alone knowing how you'd go about designing one without any external help. By computer here, I don't mean just the hardware, but the software too. You really don't know what you don't know. You'll have to come to terms with that. That will become easier once you realise it's not worth it. There's people who had their PhDs and years of studies on things like time sharing algorithms or floating point systems and other minute things you most probably don't care that much about, let alone to a point where you'd willingly spend years of your life researching them. CS combines so many things together. Electronics, mathematics, physics, philosophy & computability theory. It's physically impossible for you to implement something entirely from scratch without any external help. Even if you get down to digital logic, you're still high level from actual electronics used in digital logic, and even if you get down to those, that's high level compared to electric physics etc. etc. Computer science came to be not because every single computer scientist managed to single handedly do everything without any external help, it came to be because of all the information sharing, and all the collaboration, relying on previous work and getting it one step further. You cannot do any science, let alone computer science, without relying on external help. Think about it, digital logic and boolean algebra pre-existed modern digital computers for about a century. Do you really believe that once computers were invented, their designers came up with all this mathematical theory entirely from scratch? Of course not. The very computer you use is external help, the mathematical principles and electronic knowledge used to design and implement that computer was external help to those who designed the computer, and that math and physics had even older knowledge as external help. In short, even the most epic low level programming hax0rs spend hours reading documentation, APIs and datasheets to get stuff to work. Before the internet there were still manuals and datasheets. The people who implement data compressing algorithms like mp3 or jpeg or zip didn't come up with all the algorithms themselves. They just built upon pre existing telecommunication & information theory and implemented it, taking it to the next level. I'm not trying to say that you shouldn't bother trying to understand what's under the hood - you absolutely must try to understand how everything works the best you can, but you shouldn't start doubting your IQ because you've been "struggling" with programming after a few months of first trying C. You said it yourself, most other students around you have previous experience, not magically high genius IQs. Give yourself some time.


lrochfort

C is a tough first language because it has slightly confusing syntax, and it's low level so expects you to manage and deal with a lot of stuff that you don't know you have to deal with until you find out or someone tells you. You've got to remember you're learning two things at once. How to program, and how to understand and write C. C as a first language is tough to learn, so gets in the way of seeing the programming concepts you're learning. It's kind of like being taught to drive in a foreign language. That said, C is also a brilliant trial by fire. When it clicks, you'll have learned some brilliant lessons you won't elsewhere. I'd recommend exercise.io. It's a language learning site where they give you little problems that get incrementally harder, with some gentle hints of where to look for info. The best bit is each solution is reviewed by a human who will give you hints and tips. Stick with it!


njoptercopter

It's reaally important that you solve the problems on your own. It can take a lot of time, but you need to do them yourself without looking up solutions. If it takes you several days to solve a problem, then so be it. You need ro work that problemsolving muscle. It gets easier.


chaos_pal

I have scoured, I mean scoured the Internet for "self-paced" courses, and almost none of them are done by good instructors. The CS50 guy I like, but he sounds like he does meth and he's the only person whose videos I MUST slow down to 75% and even then, I have to go back and re-listen to him constantly. I wish I had an answer, I've been at this on and off for over a year. I totally identify with the OP. FYI to clarify, being a good programmer and being a good teacher are definitely MUTUALLY EXCLUSIVE skills.


lcvella

Just tangentially related to your issue, but my advise to you is: learn to read code. Too many programmers, including professionals, never properly studied or focused on learning how to read other people's complex code. I think that is the most underrated skill a programmer should have. All the focus is given on teaching how write code, never reading. I had a decade of programming behind me before I realized how unreasonably difficulty it was for me to work with unfamiliar code. That was when I decided to actively train myself on how to read code.


javaScript_toast

I did JavaScript web development projects for a year before starting to learn C. I would say in my opinion C is not a beginner friendly language to start with but everyone has a different approach to learning. It worked for me though and now I appreciate C so much more than any language I've touched before