Any coder or programmer around?

Hello there.

This year I started studying code in an university (well, not quite, it's like a "tertiary career", idk how to put it in english) and I'm having a hard time. I'm really interested in learning how to code but I keep hitting walls. My brain just hurts. I want to learn the basics by myself with tutorials and stuff so I can do better in class, and of course keep learning and learning. I'm watching a lot of videos and following tutorials but I feel so lost.

If you are a coder or programmer or whatever you call it, can you share your experience? How did you learn? I'm not looking for someone to come here and become the solution of all my problems, but I would like to read your experiences, maybe I learn something out of them, or get motivated.
 

Grail

Feel the funk blast
Good luck with your efforts, Pants! Here are a few questions that might help others give you advice:

What type of coding are you looking into learning? What concepts are you struggling with in general?
 
Good luck with your efforts, Pants! Here are a few questions that might help others give you advice:

What type of coding are you looking into learning? What concepts are you struggling with in general?
Thanks, Grail!
Now to your questions. I don't know yet. I'm trying to learn C, I would like to explore other languages but I'm kind of overwhelmed with information in general. I'm at 0% of the way and don't quite understand where to go, and at the same time I got this weird interest in it. I feel pretty dumb actually, I'm sorry I cannot explain better.
 

Walter

Administrator
Staff member
I hereby summon @m who has quite a bit of knowledge on the subject.

Before going much further in committing yourself to learning a particular language, consider what you'd ultimately be interested in doing with that knowledge. Do you want to create games, Internet stuff, database stuff, launch a side career? Finding your answer to those will help guide you down the best path to where you want to go.

But if you just want to get your feet wet with the concept of coding, I think you could start familiarizing yourself with simple things like HTML and CSS. Those are what's called "markup" languages, so they aren't the same as object-oriented coding languages like C. But they'll still give you a good feeling for what it's like to manipulate blocks of code and how clean input-output looks and operates. This might impart some bad habits, but I think it's worth it for the mental exercise of trying on coding. Then if you feel like you might enjoy it and have the discipline to learn it (I didn't), go for something like C or even Java, which are both good, powerful, and foundational languages that are still relevant.
 
Last edited:
Hello there , i know it may seems confusing at first but basic programming concepts arent that hard. (i went to university with 0 codding/programming knowledge, computer science degree and turned out pretty well........ most of the time hahahaha)

First u need to find source material u feel comfortable , it serves nothing going to videos, online courses, programmers forums/blogs , books that are recomended by "experts" if u dont understand what are they trying to say. This means u will have to do a lot of research (basically a try-error method) in order to find what suits you. Some ppl learn better reading, some others watching/listening, etc. My suggestion : try that deitel-deitel( Authors ) old book of programming in C , i dont remember the name , but its pretty famous. Look in Udemy some begginers guide or entry level free guides (dont buy any course right now, thats for later) and focus on more practice material than theory (theory can be overwhelming...really, u dont need that much at this point )

Second ,code, code and keep coding until u understand well that concept, do most of exercises and examples u can. This is more to get used to syntaxis, more than actual learning, dealing with the frustation that everything is looking like the tutorial and doesnt compile until u realize 1 hour later that u put a , instead of . or a : for a ; is priceless.

Third , keep ur expectations low. No, its not about being mediocre or something, ur learning, from 0 , so slow down and dont give up if thats what u really want to learn

Fourth , u dont have to do it alone. Find Partners , friends, whatever, some1 who also wants to learn. That myth of programmers are lonely ppl resolving all problems by themselves and saving the company is BS. One of the most vital points any programmer must have is being able to cooperate with more ppl , it may sounds trite but trust me , its very very important know how to team up , specially with others programmers/future devs.

Fifth . Start with C / C++, then move to Java (or start with Java if u find C too boring/slow) and dont switch to deep C++ Topic ( Like pointers , multiple inheritance and so on) until u master objects and classes , and all object oriented related themes. C is good to learn basics cuz theres a lot of material that focus more on practice elements than libraries, packages and a lot of things Java have to offer but it may be confusing for begginers.
Also note that im givin u the "non-web dev" course Tips . If u want to learn how to code web apps , then go HTML+ CSS , which is the very basic.

Well , its late and my shitty english is getting shittier ,if i can help u givin' more advice ill be around here floating in my own Sphere. Wish u Good Luck.
 

BiQ_

" ... "
In my opinion, C is probably the hardest language (of all languages in actual widespread use) to learn programming when you're beginning from 0. If you are looking at C because that's what your university classes are using, I feel for you. If you're looking at C because someone else told you to, I strongly suggest dropping it for now and coming back to it later. Do come back to it later though, it is actually useful to understand. Just learning programming logic is hard enough as it is, C exposes you to lots of computer machinery that is, believe or not, quite inconsequential when you're just struggling with simple input/output, conditionals (if/else), loops (for/while), functions, return values, recursion (functions calling themselves) and so on. Everyone who does programming has started from 0 at some point, you will just have to keep at it.

I will reiterate this: keep your expectations low. When you're starting out, wrapping your head around programming logic and abstract problem-solving is hard. For some people, it's also immensely rewarding experience in and of itself. What this means is that no matter what language you choose, you're likely to stay at the level of "reading / printing text as input and output and doing calculations in between" quite a while. And that's a good thing, because as I just wrote, learning the logic and applying it in a computer programming is hard. It takes time.

Since you are in a university class, it is likely (though, sadly, not guaranteed) that someone has actually designed the syllabus in a way that is supposedly helps the learning process by first going over the basics and then building on top of them. So, while deepening your understanding with extracurricular materials is of course a good thing, try to make sure you can follow the material and ASK QUESTIONS. That's what your professors / TAs are paid for! Falling behind will make you just fall behind even harder.

Myself, I learned Java first (in university CS classes), and I'm not sure if the smorgasbord of libraries it has is really a problem; you don't really have to use them, in order to learn the basics of programming, basic OO concepts included. But I still do think python would be better choice than both Java or C (or C++).

It's only easy when you have mastered the hurdle. At some point, it will "click" in your head. You'll know then.
 
Wow, thank you very much for your answers, all of you.

Before going much further in committing yourself to learning a particular language, consider what you'd ultimately be interested in doing with that knowledge. Do you want to create games, Internet stuff, database stuff, launch a side career? Finding your answer to those will help guide you down the best path to where you want to go.
I'm trying to figure out what I want to create. I'm not sure exactly what I'm interested in because I don't know how things work. I'm interested in coding in general, so I want to start somewhere and find out what's what I really like. I will approach HTML and CSS because, like you said, it seems simpler. Thanks Walter!



To everything you said: thank you. I'm doing a beginners course in Udemy (in spanish) and it's using Java and Javascript. I don't know if I'm more comfortable with it than C but I will find out eventually.
And your english is great, I understood everything.


In my opinion, C is probably the hardest language (of all languages in actual widespread use) to learn programming when you're beginning from 0. If you are looking at C because that's what your university classes are using, I feel for you. If you're looking at C because someone else told you to, I strongly suggest dropping it for now and coming back to it later. Do come back to it later though, it is actually useful to understand. Just learning programming logic is hard enough as it is, C exposes you to lots of computer machinery that is, believe or not, quite inconsequential when you're just struggling with simple input/output, conditionals (if/else), loops (for/while), functions, return values, recursion (functions calling themselves) and so on. Everyone who does programming has started from 0 at some point, you will just have to keep at it.
Yep, my university starts with C. I will follow your advice and leave C for later.
I know I quoted just a part of your comment but all of it was useful, so thank you very much BiQ!



Again, thank all of you. I'm glad I made this post!
 

Walter

Administrator
Staff member
I started with C when I was 13 or so, and it was way too much for me as a beginner. The feeling of being overwhelmed by the guide I used probably did more damage than good for any potential future of mine as a coder. Instead, I devoted my time to more fruitful pursuits, like the DOOM Hackers Guide. :ganishka:
 
I'm so late to the conversation that I don't think there's much I can add to what's already been said (actually, the advice provided is probably much better than anything I could have provided :farnese:). I guess all I can do is share my own experience: I got a degree in computer science not having owned a computer until I started said degree, so my experience with programming was non-existent. My first programming course was in Pascal (yes, I'm that old :iva:) and, as BiQ_ described, the hardest part for me was wrapping my head around logic and problem solving; until that part clicked it didn't matter much how familiar I was with the programming language. To get there I kept practicing, focusing on simpler tasks.

In terms of hitting walls and feeling lost due to programming, I've been there plenty of times. What works for me is to try and define what those walls are as best I can and to try and tackle them one at the time. Also, when the situation has been overwhelming it's often been because the problem I was facing was either too big or too vague, so my approach has been (and still is) to break it down into smaller, more manageable chunks.
 
I'm so late to the conversation that I don't think there's much I can add to what's already been said (actually, the advice provided is probably much better than anything I could have provided :farnese:). I guess all I can do is share my own experience: I got a degree in computer science not having owned a computer until I started said degree, so my experience with programming was non-existent. My first programming course was in Pascal (yes, I'm that old :iva:) and, as BiQ_ described, the hardest part for me was wrapping my head around logic and problem solving; until that part clicked it didn't matter much how familiar I was with the programming language. To get there I kept practicing, focusing on simpler tasks.

In terms of hitting walls and feeling lost due to programming, I've been there plenty of times. What works for me is to try and define what those walls are as best I can and to try and tackle them one at the time. Also, when the situation has been overwhelming it's often been because the problem I was facing was either too big or too vague, so my approach has been (and still is) to break it down into smaller, more manageable chunks.
You are not late at all, my dude. Thanks for your input, it gives me hope. You didn't own a computer and you managed to advance anyway. I have all the tools at my reach, I need to not-surrender!
 
  • Like
Reactions: m
Well, I'm even later to the conversation (since my account was just approved) but I hope you find my input a bit encouraging, since I'm in the same position as you (learning C)

Personally, I don't find C to be hard at all. It's not a matter of intelligence, though. What it is a matter of is experience.
How I see it, experience plays the same role as guidelines when drawing. This analogy maps well to programming in my opinion. Then now let me introduce you to programming's guideline: Python. Python is a versatile, popular, and easy to use programming language that has many, many uses (web design, machine learning, ethical hacking, game developement, etc.)
Basically, Python is a (my) gateway to programming. With its simplified syntax, wealth of tutorials and applications, you can focus more on the underlying programming concepts like loops, conditionals, logic rather than complicated syntax. One other advantage of Python is that it can be used to do pretty much anything you can imagine within computer science, so try to branch within Python itself before trying to specialize after finding your "passion".
Edit: Just wanted to add some of my personal recommendations if you want to pursue Python:
Codecademy has a good starter course that doesn't assume any prior programming knowledge. They focus on practical exercices and have projects for you to complete (Projects are for pro members only, but you get a free pro trial for a week) It's where I started, in fact.
No Starch Press Python books I recommend Python Crash Course or Invent Your Own Computer Games with Python. (although the latter is targeted at younger audiences, which is the best thing you can wish for, as a beginner)
Learn Python 3 The Hard Way is also a great beginner book.
Sololearn is a good Android app to learn the concepts of programming, and they also offer a "coding playground"
If you're looking to improve your skills in general Codingame offers a lot of great challenges that can be solved in multiple languages (C and Python included) My favourite mode is Clash of Code, where you are pitted against other coders to solve a challenge in 15 minutes.

For C, I'm working through C Programming: A Modern Approach and doing projects and challenges on the side (if that helps)
 
Last edited:
There is a lot of good advice in this thread!

One of the most effective ways to learn coding is to pick up a college level textbook and read each chapter and do the end-chapter exercises. Textbooks like these tend to be very long but they will cover all the fundamental topics that you need to learn. If you're finding things difficult right now then you probably just need to put in the mileage, at some point everything will start to click. When it comes to languages, I suggest starting with C or C++. C is a very small and simple language and most other languages nowadays are derived from C. C++ is a much bigger language that has object oriented features, but it doesn't force you into that paradigm from the start like Java or C#. C/C++ will also force you to learn about memory allocation which is an important topic.

Once you learn some C and C++ you'll be able to transfer that skill to any other environment. Textbooks to check out would be the ones by Tony Gaddis or Deitel, the newer editions are expensive but older ones are dirt cheap, ebooks are also available for both. These books assume that you're an absolute beginner and have heaps of code examples that get explained line by line. Go through each chapter, try out the sample code yourself and see if your output matches the textbooks' output, then do the programming challenges at the end of each chapter.

Once you make enough variables, loops, functions, manipulate arrays etc...you'll be able to create all sorts of algorithms but you need practice to get there. I hear that Python is very good for beginners, everyone and their mother seems to be recommending everywhere I look these days. The python syntax is simpler than C's.

Most languages can be used for anything but certain languages dominate certain fields, so if you plan on working in a certain field it wouldn't hurt to invest some time in a specific language.

C/C++ : High performance computing, literally any environment where performance is important, most desktop apps run on C/C++, game engines are almost exclusively written in C++, even the Unity engine is C++ on the back-end, C# is only for the front end. These languages are fast and they sorta serve as the pillars that hold every system together.

Java : Pretty huge language, always super popular. Good for servers, enterprise apps and is the main language for android development, if you wanna make some android apps this is the way to go

C#: Microsoft's language, it's a java clone, prettier than java, also good for apps and very good for windows specific solutions.

Python: Pretty popular for Data Science and AI prototyping

HTML/CSS/JavaScript: The holy trinity if you plan on doing web development.

Another popular way to learn is through online programs such as edX, Coursera, and FreeCodeCamp, they're all free and great. The textbook option might sound boring but I honestly think it's the best, you can learn things at your own pace, reread as many times as you need and there is no shortage of exercises to help you master the fundamentals.

If you end up starting with C and continue to struggle due to the syntax then Java/C# might be a better option, they're much closer to english compared to C. If you're having trouble with things unrelated to syntax then just practice more. If you get overwhemed with terminology then don't worry about, just follow the textbook examples and see what the new lines of code do to the program.
 
Not sure if I'm late to the party myself but I also started with the Codecademy python tutorials from zero prior knowledge. They were great at introducing me to the basics of Python without being overwhelming. There's a great sub-reddit called something along the lines of Programming Questions who upload 3 weekly questions, 1 hard 1 intermediate and 1 beginner. I started reading the answers to some of the questions once I finished with the python course. (FYI if you can get through the case studies with a trial Pro membership then even better, if not this alternative sub can help give a source of q's and answers)
Now, I don't know if it's brave or silly but I'm starting to read about C++ because I want to understand a language one level deeper than Python which is a strong challenge in of itself. However without my python knowledge I'd have been very lost, even though they are quite different languages, I understand syntax's, logic flows etc.

I hope this helps and I'll try to find that sub-reddit below if it's of interest?

EDIT - the page is r/dailyprogrammer they've stopped posting regularly but still worth looking through their previous posts
 
Last edited:
Thank you all very much for your comments, serilion, The Master and ScarletBerserker. Very helpful advices!
I hope more newbies like me find this thread because it has awesome info.
Long way ahead!
 
Top Bottom