lainchan / λ
Stuck as a beginner
Boole · 2024-11-08 12:05
I'm a beginner programmer and I have been trying to get better for awhile now, but it feels like i've hit a wall. Whenever im learning a programming language I always eventually reach a point where I get the basics of the language down, but I dont know where to progress from there. I don't know how to employ the things ive learned into something thats actually practical. It's happened to me with Lua and it's happened to me with Python. I just don't know how to get better from here.
Sabo Engle · 2024-11-08 12:42
What do you want to larn programming for? Write software. There is no point in learning a billion languages if you aren't using them.
Also, creating new threads won't make you a better programmer.
Sipho Nkosi · 2024-11-08 12:46
Well, now you're at the point where you should just start building stuff. When I was 12, I wanted to make games so I started by making the most basic game I could think of which was tic-tac-toe in the console. I didn't even know how to use arrays at that point so I just made 9 separate variables. Make it work any way you can, it doesn't have to be perfect code, you learn a lot in process of just figuring stuff out. If you don't know how to do something, just google it. Even that's a skill that you get better at, what to search for, what your specific problem is, what you're actually trying to achieve with a piece of code etc.
Here are some project ideas.
Faye Valentine · 2024-11-08 14:14
>>40369
Thank you! this will be very helpful!
>>40368
I only have been learning 2 programming languages, not a billion, and this is the first thread I have ever made on this board. I know making a thread itself wont improve my skill, but I am just trying to get some advice.
Agent Richard Gill · 2024-11-09 13:01
As the other lain said, You should just build stuff that interests you.
I know this is harder said than done, i have a hard time finding something that interests me enough to finish it i've been stuck like this for a while trying to come up with something that is at least a bit new which is quite hard.
So, it's completely ok to make things that other people have done before. Start with simple things that feels interesting. I for example started with a simple snake game in python. (After the basics of course i have learned the basics of OOP and solved some algorithmic problems at this point)
At first i didn't know how do i even open a window? well i found a library called pygame that will help with that. Now how do i draw a shape on the window? well i found a video explaining the library and the functions and classes it provides you and so on until i did it. (in a week or so)
I year later another project interested me i made a chessbot written in C++ that got an ELO of 1800 on lichess and deployed on a cloud service to play 24 hrs which took me more than two months but it was interesting and learned a ton of stuff this way. 95% percent of the concepts used i knew nothing about just searched and learned them along the way.
That's how you learn just try to make stuff then get stuck with some problem then search for a solution then get stuck again and so on.
Just be yourself and create what you want the most important thing is to persevere to the end.
XERXES · 2024-11-12 12:49
>>40374
Thank you very much! A lot of the problems you described are ones I've had myself, so I found this super helpful.
Anonymous · 2024-11-12 22:37
>>40366
The next step would be tackling a larger project and getting absolutely bogged down, to the point of not being able to change a single thing without a major rewrite. Rewriting the resulting mess will teach you a lot about how to structure the code base, and will grant you some wisdom about the simplicity/complexity trade-offs of various designs. Even if you don't like java, learning their templates, and, more importantly, the reasons why did they invent templates and wanted to build software with nothing but templates, will make you a better practical programmer.
Hiro Protagonist · 2024-11-14 02:32
there are many "sub-skills" related to programming, which might be the reason you are stuck. do you know how to use a SQL DBMS? do you know how to setup and use an ORM in any language of your choice? do you know how to use a UI framework of sorts (web or desktop) to develop UIs for your applications? do you have a rough idea of the ecosystem of your language of choice and which libraries are considered the most useful by seasoned programmers?
and, most importantly, do you even know what you want to build?
Unnamed · 2024-11-14 11:37
>>40417
>there are many "sub-skills" related to programming, which might be the reason you are stuck.
This might be my problem. I don't know most of these sub-skills you mention. I've never even heard many of them ever mentioned in the resources I read when learning how to code. Is there anything I can read to learn all these different sub-skills?
Hitomi · 2024-11-14 14:03
>>40366
The things I want to build are all complex, some seems impossible because of how complex they are. At this point I have realized that it's easier to get a single simple thing among these complex thing I want to build and write it first. Then another thing, etc. Before I know, I have this big complex built.
Crazy Jake · 2024-11-15 04:03
>>40423
for learning SQL i would recommend PostgreSQL Introduction and Concepts by Bruce Momjian. it's a great introductory book to SQL and SQL DBMS's. while it's about PostgreSQL the things it teaches you apply to all DBMS's.
as for the other things, they are a bit more on the practical side. you said you learned Python, look for a framework to develop desktop applications. I think TKinter is the most minimal one on Python. then follow tutorials on the internet, google your way into reaching your goals and so on and so forth. eventually you'll be standing on your own feet. same thing with the ORM.
im not much of a Pythonista myself but i would recommend you pyfunctional as a fundamental library for any application. that's the first thing i import whenever i have to write some Python code, in general you want to have a functional coding style in any language you're using and pyfunctional is the right way to do that on Python.
Cowboy · 2024-11-19 02:24
Sounds like laziness. Find a open source project that interest you. If you cant think of anything pick a simple video game. Learn the basics and hack in some new features. Best way to learn anything is by reading source code. You will learn how to actually solve problems with any language. Its very impractical to just learn syntax and rules of different languages, its almost useless.
Judge Fang · 2025-01-05 16:47
>>40369
Thank you, I've been looking for this image for quite some time.
Davis · 2025-01-10 14:48
Try making a simple ZX Spectrum game.
Modern computers and operating systems are extraordinarily complex, and it abstracts away the bare basics of digital computing, which is really just "turn switches on and off so that the hardware does something". Working with simpler hardware in directly in assembly makes it much easier to understand not only what your code is doing, but what a computer program even is.
hash table · 2025-01-11 06:26
>>40366
Try implementing algorithms and data structures in your favorite language. Or try solving Leetcode, Exercism or Project Euler problems. Try to find something in your personal day to day life that you can automate. Or maybe try to find some open-source project that's written in your favorite language and try to read the code and try to improve it if you see something that can be improved (or check issues at the bug tracker).
Chani · 2025-01-11 13:49
>>40925
you cant program manually anymore dude, you have to scale up.
Drifter · 2025-01-23 12:39
>>40926
If OP’s goal is to learn programming, then it's about the journey and the skills you're building along the way. However, if OP cares more about the final product than the coding process itself, then you are right.