I’m going to hate myself if all I’m going to do is rely on other devs to make my ideas happen.
so yeah, I want to learn programming now, anyone can recommend me somewhere to study?
Thanks in advance.
I wrote this to a comrade who wanted to start getting into learning rust specifically. But I also second khanacademy for basic concepts.
Here’s a few resources that are easier to learn than the official rust book:
I’ll study rust when I’m done with the other basic programming languages. though what’s the reason I should use rust?
Lots of reasons, it’s currently the fastest growing and most popular programming language ( with developers ) for the past few years. Learning it will get you started off on the right foot with memory concepts, typing, optionals, errors, in a way that other programming languages that are older don’t do as well.
https://www.thinkful.com/blog/why-learning-to-code-is-so-damn-hard/
I started out with Rust as one of my first languages and it was extremely painful in my experience. Even the official Rust book assumes prior knowledge of programming and there’s just such an overwhelming amount of new programmer friendly material for a simple language like Python that I’d be very careful suggesting Rust right from the get-go.
I wouldn’t suggest the official book either for beginners, so I did link some more beginner resources for rust. Overall tho it’s better to get started off on the right foot with lower level concepts like dealing with memory earlier than later.
At least the Gentle Introduction to Rust includes stuff like this at the third chapter on adding numbers:
“We’ll deal with traits in detail later, but here all you need to know is that AddAssign is the name of the trait implementing the += operator, and the error is saying that floating point numbers do not implement this operator for integers.”
Absolute pig latin to a newcomer and nothing you should know until you’re even given an explanation on why traits exist. It’s only gonna make the newcomer feel dumb when they’re supposed to read a “gentle introduction”.
In any case I’m trying Rust again now as well, so I’ll take a look at the other links and join !rust as well :).
It’s decided then, I’m gonna learn rust as my first programming language. I’ll tell you when I’m done learning all of those resources you gave me, maybe I’ll ask a few things along the way. I’m kind of really excited rn
Sweet :) Let us know at !rust@lemmy.ml on your progress and if you have any questions!
If you are completely unfamiliar with the concepts I would recommend Khan Academy, they have a introduction to html course (which I read in another comment you are interested in).
Different people learn things in different ways, however I think it is good to have some kind of project/goal to work on when learning programming. Having something you actually want to achieve means you have to actually research and understand how the different pieces of code interact instead of just copy/pasting example code.
Apart from that:
- try to use google/ddg/ecosia as much as possible as searching/researching is a valuable skill in its self.
- try to use the documentation for whatever framework/package/language you are using. It is tempting to always go straight to stack overflow but learning to read the documentation is important because:
- it gives you a greater understanding of the framework/package/language you are using.
- stack overflow won’t always have the answer.
I have recently started playing around with HTML/CSS/JS. w3schools has lots of pieces of sample code you can use and combine together.
thanks for the advice! I’m already using CS50 now
I did cs50 last year thought it was really good. I think it gives you a good foundation. What you learn depends on what you want to do. From the other comments it sounds like you’re interested in web stuff. Web is confusing because you can use any programming language for the back end, and there will be multiple frameworks for each language. I think what is quite popular at the moment is typescript and vue.js. I recommend you have an idea of some simple project to work on, like a personal blog page, then follow a tutorial to build it. Then look at different ways of doing the same goal. Then work on a slightly harder goal like an SPA or something.
I think I’m gonna mainly use rust, the name sounds cool
Thanks for the advice, I’ll probably have to study alot to understand those different stuff
There are a lot of great resources online like Khan Academny, Free Code Camp, and W3 Schools that really hold your hand and step you through using some of the basic tools. These platforms will help you establish a basic familiarity, but it’s the practice using those tools that really counts.
It looks like you’re already doing CS50 on edx, that’s an excellent introduction keep it up! Once you’re finished with the course, then I’d recommend practicing along with guided projects on Youtube, don’t be afraid to make each project your own and try incorporating what you’ve learned across projects. Once you’ve successfully made a few websites and programs following structured platforms and videos, set off on your own and build what you want to build! You’ll quickly find you don’t know how to solve a lot of challenges, do some web searches, and find other people’s code that does what you want to do. Instead of simply copy + pasting their code, rewrite their code by hand (it helps with memory) and think through exactly what it’s doing.
thanks for the encouragement and advice. I’ll type everything from no on. I have a big project in mind but I lack some required skills. I wanna change the world.
I’m going to try out http://programarcadegames.com/.
I read that you want to learn web programming
Did you know HTML/CSS/JavaScript? It’s a quite basic requirement for web development. After learning those languages you can start to learn about a backend language. Popular languages are Python, PHP, Rust, Go, Java, Ruby, and NodeJS. You can also learn about SQL along the way. I learnt HTML/CSS/JS from W3 school - they have interactive tutorials. I haven’t used any other than Python (using Flask) and PHP, and I find Python much more intuitive. I just followed Flask tutorial and now I’m very familiar with it now. I also found this guys who gives Go tutorials (both posts and videos).
I know a bit of html and css and mysql and nginx from playing around with a vps, javascript? not yet.
I didn’t really like W3 school, maybe I’m just a normie but I couldn’t easily understand much of it. I’m planning on finishing cs50 though, on the first lecture they explained things pretty well. what do you think of it? https://www.edx.org/course/cs50s-introduction-to-computer-science
and also how long will you think I can learn all of the above mentioned languages? I don’t go to school and I only study stuff based on my hobbies. I have 24 hours of free time.
I came to this thread to recommend CS50, but looks like you already found it.
Keep working with cs50; it’s a wonderful introduction.
I can’t tell you how long it will take you to learn these languages because everyone learns differently. Plus, you can already start working on projects while learning these languages; you don’t need to be an expert before you start. Plus, you learn more while working on projects and learning stuff at the same time.
This sounds really cliche, but focus on the road, not the destination; you will learn lots of stuff, and there is no clear destination, anyway; you will always be learning new stuff, even when you become an expert.
I recommend you not only focus on the specific language, but also make sure you are actually learn the concepts being taught well. Lots of programming concepts are language-agnostic and are available across many or most languages, especially languages that belong to the same category (e.g. object-oriented languages).
I hope this was helpful. Have lots of fun!!
thanks, I’ll stay on this road then. I’m learning on CS50 as we speak. I really hope I can do it.
deleted by creator
I read this just now, I can’t really say anything, but, thanks for the encouragement, you made me smiled a bit, I’ll definitely work hard. and don’t say stuff like that again. I’m really not ready for this kind of comment.
javascript? not yet
Don’t worry about it then. It’s not really essential; you can build web apps without JS.
All the mentioned languages? I think it’d take some months for you to learn to write some functional program in each, so it would probably take several years.
are you trying to redpill me?
I just want to say that learning all languages is kinda pointless and boring, since you can pretty much learn to make things with only one or two of them and learning without clear results can be discouraging.
I’m talking about javascript and don’t worry about it, because I’m going to have fun doing code
say how long do you usually study a day, if I could study more maybe I could speed things up.
Idk, maybe 4 hours or so.
Any particular programming language or topic you want to tackle first?
It’s a vast field with many different areas, so while doing anything in the field with help you understand other topics and get you some kind of general proficiency as a programmer, you really want to start somewhere.
Kind of like people don’t just generally become a craftsman, they become a carpenter, plumber etc…
I started out as an amatuer game dev who doesn’t know code because I just use tutorials for specific and other stuff.
now I’m Interested in changing to whole social media game with fediverse stuff. before this I was basically just complaining at evil big media corporations. but now thought that I have to actually do something.
I definitely want to learn web-programming first. but I don’t really know which programming language to learn for my objective.
Would you consider learning Scheme using the SICP? It is not the usual track but I found it pretty good.
I’m already doing CS50, otherwise, please elaborate what the heck SICP is
Ah well if you’re already taking a CS class never mind me. SICP is just a classic textbook from MIT that I consider good for self-study.