How did you learn to code?

Books? Online guides? Jesus? I would like to learn but I don't know how.

Other urls found in this thread:

Went to college for electrical engineering. Started by learning how silicon atoms interact along a thin line called a PN Junction that forms the basis of all modern transistor and diode technology. Worked my way up to building simple single transistor amplifiers, then to opamps. After that I was ready to learn about logic gates and how to construct basic logic elements like flip flops, adders, and registers.

After THAT I took a break from hardware to learn binary math, IEEE floating point representation, all that fancy stuff. Then I was ready for assembly, which ended up just being a straight translation of binary into human readable text.

Then I learned C, and then I learned Java.

Best way to learn is to watch a youtube tutorial series, or read highly rated programming books. There are a lot of good youtube tutorials, that cover everything you need to get started programming in whatever language you want. I prefer to go the route of watching youtube tutorials rather than read books because my focus is terrible. Basically I just search "language tutorial" and find a playlist that has videos covering every part of the language.

I taught myself basic on a TI-84 in high school

Dabbled a little thanks to magazines, but nothing more complex than variables, loops and functions, nothing useful at all. At university we had one semester of Java, again nothing complex. Then I gave up on computers for years because there was no real place to learn from.

The biggest problem is that there is too much crap out there. It wasn't until I stumbled upon a blog post with a good list of book recommendations. It was like finally finding a map after being stuck in a desert for years.

Kek, unless shit HTML counts as code, I used codeacademy.

Online guides on a website that used to be somewhat good (at least for 15 year old total beginners) but in 2014 its CEO decided to delete everything on it and turn it into a shitty MOOC website that lost half its userbase within a year. MOOCs and YouTube Pajeet courses are fucking retarded, don’t do that. Choose a language (I recommend Lisp or C, then Python once you have a basis) and buy a book with a good reputation (such as SICP).

Verily I say unto you, by your faith you shall learn to program. For the computer was made by my father in heaven, and as you are in his image so you shall learn to harness it as you harness the beasts of the field, over which dominion was given to you through Noah, father of all men.

I did this too. If your initial response to buying a graphing calculator wasn't
then you're fucked, you will never be a good programmer.

If your initial response to buying a graphing calculator wasn't
then you're fucked, you will never be a real Holla Forumsnologist.

It will take you around 3months if you're just getting started.

read books or watch videos or just read code, what ever keeps you sitting and learning is the best way.

Best language to start with is C due to it teaching you about pointers and memory management.
Best language to start with if you need to feel you are doing something as you learn is Python due to the standard library.
Make sure you learn about OOP. first with C++ and later on Java.
It should take you 6months to get good at C,Python,C++,Java
Spend a good 2 months just writing code to practice your ability.

I recommend you try to learn a multimedia library to keep you from getting bored of the terminal input/output

also if you cant spend at least 4 hours a day learning concepts/programming you are not programmer material, even if you're a wageslave.

everything comes with time. you cant cheat the time needed to learn a skill.

It all started when I was 13. WIth a couple of friend we were like "let's make a game and shit". Made my research, and said like: "you learn this and this and you this! This is going to be fun!", in the end, beside me, no one actually went looked to the tutorial for more than a hour. People played Call of duty while I was learning C on some site called website), which changed today for The website is now filled with javasccript everywhere, so it's not worth going in there anymore. Eventually I looked thenewboston channel on youtube which is mostly pretty good for newbies. a year later I started reading books, alot of books on computer science. My life eventually become after school 3 things: going out/programming/shitposting on 4chan.

so overall, thenewboston channel on jewtube for total newbies, then has mationned by , playing with multimedia library is a good thing. Afterward, when you feel somehow comfortable with basic programming, start reading book on the subject and discret math and linear algebra if you have time read book about data structure and algorithm only after you did your basic discret math.

Fooling around in a microbiology lab with R. Later I had a simple intro computer science class learning programming with Java.

If your initial response to getting a graphic calculator wasn't
then you're fucked.

Then you're not a nigger*

BASIC on a TI-84 in high school, trial and error. The CATALOG key was the only sort of documentation i had.

Was the reason i flew through math with low effort and top grades, and is the reason why im now shit at math.

HTML/CSS because it was a topic in our very basic, shit IT classes and i could directly produce something visually tangible and demonstrable with it. Learnt it by experimenting, looking at how things where done on real websites and practice.

Javascript because i went on to demand money for my websites and it was required for advanced features. Initially i just copy and pasted snippets that "did cool stuff", then went on to learn every nook and cranny of the language over time, did really advanced things eventually.

PHP because i had a project with a friend where we would create a complete website, and he was terrible and slow at his part of the project. I just know the basic syntax and simple tasks, never bothered to continue with the language because learning about function naming and how everything generally works is rage inducing.

C and Java because i wanted to advance from being a shitty webdev, learnt it by basically trying out things how i would intuitively do them, then reading why my shit doesn't work. I am sad to write that Javascript is still by far my best and most comfortable language though

I feel bad for you

I was so poor that I had to learn on a keyboard made of paper. I taught myself everything I know, nobody else helped me.

Goldenboy Episode 1 reference. I wanted to learn to program for years but nobody I knew knew how to program, so I had to teach myself, really. Only much later did I take a class, and later many classes, on computer science.

Had big dreams in HS, googled how to program and heard about C. I quickly jumped over to C++ but then didn't do much until I turned 20 or so. At that point, the military had me doing some stupid ass classes that didn't have any good study materials with the exception of a horrribly boring PDF.

After giving up trying to just read through on the third out of twenty chapters, I decided that I needed to get creative and wrote this terrible program that read in a .txt version of the PDF and tried to reformat statements into questions that I could answer. It barely worked at all, but helped me stay interested in the subject matter and rekindled my interest in programming.

After that, I was able to find other interesting problems to solve that would keep me interested. I'll just be walking along one day and think "hey, I need this." It's not very common that I actually complete a project 100%, but I've learned a lot along the way.

TL;DR: Find a simple problem that you can solve with code and look at ways to achieve it. All of the other details will fall into place along the way.


I made a thread on this recently.

After trying to learn Assembly, I struggled with the lack of 3ez5me resources and structured learning.

I've since discovered odinproject and codeacademy, learning ruby from both. Odin Project includes tons of great books to, all of which feature Ruby or Ruby On Rails.

I don't care for Ruby, I thought Lisp, C and assembly were interesting, but I'm willing to sacrifice that for getting on my feet fast.

Also an interesting mooc from UT that I haven't gotten started with yet.

General link dump incoming:

also, this fucking stellar, cream of the crop MOOC:

again, I just chose Ruby because it seemed convenient, and I got tired of searching for resources. So I'm just sticking to this.

If you have plenty of resources for C or Lisp, do it

also, beginner here, r8myresources? anything else I should throw in the mix?

Currently, I'm trying to breeze through the command line books first, while doing some codecademy shit and just getting my bearings on odinproject. probably gonna start working my through that killer MOOC asap, since so it's so beefy and all

Codecademy is an alright place to start.

Personally, I'd recommend starting with a simple book on logic though. I had a course on propositional logic at uni and it helped me A LOT with grasping programming logical later on.

self taught via online tutorials and books

Programming games on a TI-83 while bored in class at high school.

Same story over here, got into hacking around with computers, learned C on and never stopped learning more things ever since.

Another baguette here. Went to UPEM for a CS license and going to UPMC for a super cool master in september.
The fun part is that I got into programming by pure chance: I choose a mathematics/programming license believing I liked maths. I only liked arithmetics and algorithms in the end, so when I had to choose between maths and programming after the first year, I choose programming.

We started with C (now they start with Python), then did some OCaml and little asm. And fucking Java.

1. Learn assembler and get some basic knowledge about computer architecture. Obviously you will program most of your serious stuff in higher level languages. But your code will most likely be cumbersome drivel if you dont understand what the computer is really doing.

2. Learn about classic data structures. When to use each one. How to actually build them yourself in a language that allows memory management.

3. Never be lazy.
4.but also dont try to prematurely optimize.
5.dont be afraid of rewriting code either.
6.before copy pasting code frombsome random page, always try to read line by line to make sure you actually get what is happening.

7. Dont try to make 'easy' scripting languages such as python or js your hammer. Make sure you understand what those languages are doing for you, otherwise everything will start to look like a nail.

8. If you dont like learning, come up with fun projects that will take you out of your confort zone.

9. Teach yourself to find joy in reading scientific papers. Dont feel afraid of looking into scientific papers that might explain to you how to solve a particular problem.

10. If you actually like learning, a lot, make sure you actually do something! If you try to learn EVERYTHING before you begin you'll do nothing, and in fact you might end up not learning anything about the particular problem you want to solve.

11. Ignore following posts telling you to skip steps. Don't start with high level object oriented languages. These people cant understand how little they know and want you to commit the same crippling mistakes.

My nigga.

Opinions on starting from the bottom up versus top down?

You don't learn to run before walking.

yeah but this isn't bipedal motion son, some people say it's easier to jump into from the top down

I would like to formally ask Holla Forums for resources involving learning machine language and assembly.

Thank you. I think i just need a large interesting project to really hook me in into C.

It's easier from a motivation standpoint because you "skip the boring stuff" and what you do is flashy right away. Press button get banana.

Not to say it isn't a valid reason to get into programming btw, im sure most of the people here didn't start by learning assembler or memory addresses.

Starting with C isn't the bottom. You start with C because:
- Good abstraction/power ratio.
- The language itself is small, so you don't lose yourself in a gigantic and bloated stblib.
- You learn to do memory and threading management.
- You'll be able to understand the cost of abstractions in the future.
- It's fast, and we have formidable tools to work with it (gdb, gcc/llvm, sanitizers, valgrind and so on).

I'd advise against starting with asm.

Me in senior year high school:

When you "get it"

sleep tight pizzer

Book obviously

Well this simply isn't true.

What's a good multimedia library for beginners?

This and the TC++PL4 OP.

I never programed before. Is a combination of brute force & learning to trouble shoot your mistakes a decent way to program?

It's how I learned to type. I just looked at the screen and fumbled around until I didn't need to look at the keyboard anymore.

It isn't. You need to take at least one look at the documentation on how a certain function works. After that you can brute force it all you want.

I had a problem I needed to fix that couldn't be fixed conventionally, and used online communities like stack overflow and search engines like google for each step to learn.

It's literally childs play to code these days. I don't understand why all these threads keep popping up because I literally had no trouble learning to code and if it was that easy for me shouldn't it be equally easy for someone browsing Holla Forums? Maybe I'm being too optimistic.

It's easy to program if you just look everything up.
But people like me keep forgetting, so we have to look everything up every time we do it, and that's not what we want to do.
We just want to know how to program and be able to write it.

I have no idea how to code.

I started with online tutorials. Specifically, these ones:
Keep in mind that a lot of tutorials are shit if you're going to look for other ones though. The ones on codeproject tend to be pretty good, but they're generally for more specific non-beginner things.

When I started to get more serious, I got books (for other languages, and for CS concepts), but the main thing you need to do is practice.

Also, take a look at - they have a lot of high-quality free courses, and a few of them are introductory compsci/programming courses. Having been to university as well as done one of these, I can confirm that that the MIT one delivers the equivalent of a modern first-year university introduction to programming class.

There is no 'right way' - some people who I respect swear by coding along with youtube videos, but I always hated them because they tend to drag on and over-explain things. Others insist the only real way to learn is with a textbook and some practice. Personally, I think you need SOME resource, and a fair amount of practice and experimentation. If the tutorial/textbook/video gives you some code, change some shit and see how that breaks or changes the output or behavior, and try to figure out why.

I'm in exactly the same dessert. Can you link that blog pl0x?

Sure thing

Those tutorials are okay if you are very new. They suffer from having no exercises though, and some things are written in a way that seems like they are pandering to people who don't "like" math or something. Probably a bit too beginner friendly, although they work well enough as an introduction to c# specifically.

These tutorials are good:
They are for c++ but are good for general programming learning too. Things take a dip in quality after chapter 8, but give you a good foundation.

I am personally using a combination of things.

Free Code Camp and Viking Code School.

I think for many its a structure kind of problem. People want to learn but get caught up in where to start. Others may need a community of none autists to help encourage them. You seem to be a pretty strong lone wolf type of guy.

from shortly
then to various challenges on until totally stuck
then onto reading the first half of peter cooper's 'beginning ruby'
then onto completing all of
then i wrote two sudoku solvers from scratch
and that's how i got to here. but my next project is not ruby based - i'm gonna try arch linux