[Boards: 3 / a / aco / adv / an / asp / b / biz / c / cgl / ck / cm / co / d / diy / e / fa / fit / g / gd / gif / h / hc / his / hm / hr / i / ic / int / jp / k / lgbt / lit / m / mlp / mu / n / news / o / out / p / po / pol / qa / r / r9k / s / s4s / sci / soc / sp / t / tg / toy / trash / trv / tv / u / v / vg / vp / vr / w / wg / wsg / wsr / x / y ] [Home]
4chanarchives logo
So, /g/, what's the best way to learn coding?
Images are sometimes not shown due to bandwidth/network limitations. Refreshing the page usually helps.

You are currently reading a thread in /g/ - Technology

Thread replies: 58
Thread images: 2
So, /g/, what's the best way to learn coding?
>>
C -> C++
>>
>>53025680
I meant how to learn it, but that could be useful
>>
>>53025687
install linux.
Open terminal
learn C using exclusively the CLI. Nano and gcc is all you need.
once you learnt C, learn C++ to get what is OOP. It won't teach you every concept of OOP like java can, but it's still a good thing.
Then just pick a graphic library (Qt or GTK+ for GUI stuff, SDL for 2D stuff, openGL for 3D stuff) and make cool stuff.
Learning C++ is not a requirement actually.
>>
>>53025687
>how
read books, watch tutorials, do exercises, work on your own projects etc etc
>>
>>53025680
No, nobody should ever learn C
>>
>learn coding
is that english
>>
>>53025776
>>53025789
Thanks
>>
by doing it
https://www.youtube.com/watch?v=9oYs_hSlfy0
>>
>>53025670
Please refrain from using coding as a verb to refer to programming. A code is a set of instructions a computer can execute, which are programmed by people that are aptly called programmers. Programmers program; they don't code.
>>
Codeacademy is a nice start if you're a complete beginner.
>>
>>53025789
this, learning how to code has no super secret shortcuts
>>
Start small and learn by doing.

Wrote a game last year in C and ported it to iOS. I've made enough money off of it to cover the costs of Apple's developer license so I consider it a mild success.

First game I ever wrote was a super battle simulator in text -- think Dragon Warrior. It was probably 200 lines long or something. I've still got the source of it and it is absolutely horrible, but that's how you learn.

When you do these small projects you teach yourself the practical skills of the language you're using. You'll run into paradigms, functions, patterns, etc. that you need and will use again. As you become more familiar with the fundamental concepts of programming (which transcend whatever language you're using) these things become second nature.

As you finish these small projects (if it take longer than a day, they aren't small enough) you will need to make them harder. Give yourself projects that will fit in a week, then months.
>>
Buy or steal a intro too Java or C++ textbook
>>
>>53026274
But programmers do write code.
>>
>>53026572
I believe he's going by the definition
code = binary
>>
>>53025790
Everybody should.
ANSI C is GOAT.
>>
>>53026327
Having it spoonfed to you is a pretty poor way of learning it in my experiences.
>>
i did python for like two weeks and it was ok
doing c now and c is fucking fun as heck, but i recommend doing python first. because c will be like the book that's a good prequel and explains all characters and motivations from a deeper perspective, which would have made the narrative boring if you started with it.
>>
>>53026274
Only if you use my preferred pronouns, xe and xis.
>>
>>53026806
Why are you bargaining?
>>
http://programming-motherfucker.com/
>>
>>53025670
all you have to do is kill a nigger, pull the trigger, stab and kill, torch a nigger.
>>
>>53025776

>actually good adivce
>>
>>53025790
>I only know JavaScript and can't find a job the post
>>
>>53025670

To learn, you must do. I learned less about writing software in 4 years of college than I did in six months on the job.
>>
>>53025670
Should probably not ask here.
Ask stupid questions general, they're a fraction bit more helpful.

To help you on your way, you'll eventually have to accept x86 assembly.
>>
>>53028268
>good advice
>not saying it'll take years before you're actually any good with those languages
>>
>>53028361
how long do you think it would take if you didn't go to college?
>>
>>53025790
yeah ur wrong.

maybe you can get by without it if you want to be some retard hacker. If you are really seeking a deeper understanding of how program interact with the hardware, I'd say its essential.
>>
>>53028041
This is a God-Tier resource. I learned Bash, C, and Python through "The Hard Way" tutorials.

On the actual "The Hard Way" site, you can learn numerous languages interactively.
>>
>>53028480

I know a guy who in two years taught himself enough programming to not only get a job, but he was so fucking good that he's now the VP of that company, and it only took him two years to get there. Now he's fucking Mensa level, so ymmv.
>>
>>53028041
This site won't work for me. :/
>>
>>53028512

that's bad ass. You can learn quickly if you put the time in though. I got my CS degree in one year
>>
>>53028439

yeah... still doesn't mean it's not good advice?
>>
>>53028506
Not OP, but is Python a good place to start?
>>
>>53025670
Sit down, start doing it.
>>
>>53026704
What do you suggest then? Just reading books? I have to learn the language somehow right?
>>
>>53025670
Python, anything else is just going to scare you away
>>
>>53029095
y
>>
>>53029244
Learn by doing. Make a goal for yourself then find out the best way to implement that. You can use the programming challenges from books if your want. Either way, start programming.
>>
>>53026274
Get your head out of your ass, It doesn't matter.
>>
>coding

Why not just say programming? This bothers me.
>>
>>53029456

Why not say development? Coding is poo in loo tier, programming is CS undergrad tier. Development is where the real intelligence starts, and I know that everyone on /g/ is the latter.
>>
>>53029625
Development is too generic and applicable to many fields outside of CS. Be concice and stick to calling it programming.
>>
>>53029754

I think that the software bit is implied.
>>
>>53029625
where do you place "software engineering"?
>>
>>53029780
Which isn't necessary with a concice term. Calling it coding is worse, but please stick to calling it programming.
>>
>>53029831

The engineering bit is a bit more abstract. Once you've surpassed the "programmer" moniker, the Architects, Engineers and Developers work in tandem.
>>
>>53029860
I meant *concise
>>
>>>53025687
> it won't teach you every concept of OOP like java can
holy shit anon. I guess you're a java babby eh?
>>
I thought this thread would die.

I believe starting with python is a terrible idea for a lot of reason :

{ } actually gives you a better idea on the scope of variables than a fucking indentation.

Python doesn't have types. no int, not double, no string etc. as a beginner it just works. But it doesn't permits you to understand clearly what's going on and don't permits you to manage your variables properly and use what you need only.

There's no memory management, no pointers. It's a good thing if you want something simple, but not knowing how it works and how to manage memory is a terrible idea. I think a beginner that wants to learn programming wants to learn that. It's something necessary for a decent programmer. If you're not good with pointers and managing the memory, of course nothing stops you to use another language, but you have to know and understand the concept.

The OOP concept in python is shit. Nothing else to add. It's just shit.

Python is a language that comes with a lot of functions that makes programming easier. For example, if you have an array filled with values and wants to sort them. In some programming language you can simply call a function that will do the job. Great. You learn how to call a function. I think it's better to learn how to implement it and learn some basic algorithms. More than knowing an algorithm, it will train you to think in front of a problem while programming. You'll be trained to think programming.


Some of those points applies to other high level languages.

Now I'm talking in general. If the guy that wants to learn already know what kind of software he wants to create just tell him appropriated languages.

Actually can somebody tells me why python is so much recommended regarding what I said ? Maybe it have to do with countries. In my country we often teach C or C++ as the first programming language. Maybe in America it's python so people are just used to start like that
>>
File: 1453836033555.jpg (12 KB, 223x250) Image search: [Google]
1453836033555.jpg
12 KB, 223x250
>>53030222
>Python doesn't have types. no int, not double, no string etc. as a beginner it just works. But it doesn't permits you to understand clearly what's going on and don't permits you to manage your variables properly and use what you need only.

This argument is often repeated, and it is always bullshit.

It doesn't matter what number type you use. I can use double-precision floating-point to represent all of my numbers, and indeed I do every time I write Javascript, because that's the only number type it has. I don't give a shit whether I use 8 bits or 64 bits to represent a number, because the shitty old smartphone in my pocket has 8 orders of magnitude worth of bits to store that variable in. I'm not programming for an Atari where I have to make every single bit count. It literally doesn't fucking matter at all, ever.

If you're a beginner and you just want to have fun making stuff, facing roadblocks in the form of errors and bugs because you used the wrong variable type is shitty, especially when its an unnecessary detail that you shouldn't have to worry about. Its going to lead to frustration and failure, not interest and learning.

So yeah, if you're a beginner use a loosely-typed language. Javascript, Python and Ruby are all fine. Have fun making things that actually do stuff, then when you're interested and aren't fighting syntax errors, start learning about all the computer science bullshit that makes it work. Computer science concepts, oop, architecture patterns etc are good and worth learning, but forcing yourself to learn them before finding how programming can be fun, is just fucking stupid, because you won't stick with it.

Once you've gotten the hang of one language, learn another, programming is about logical problem solving, not learning the intricate minutae and quirks of any given language. If you try to learn programming in C++ or something similar you'll be debugging your understanding of the language more than your own programs.
>>
>>53031561
good post
>>
>>53025670
I found visual basic to be the easiest and with plenty of documentation and tutorials online. Python isn't nearly as well covered online.
>>
>>53031665
When was this? 2001? Did you find your Visual Basic tutorials using Lycos or AltaVista?
>>
>>53030222
>Python doesn't have types.
Python's references are untyped, but the values they point to definetly have types (strong types, even).
>>
>>53031699
it was like two years ago nigga.
Thread replies: 58
Thread images: 2

banner
banner
[Boards: 3 / a / aco / adv / an / asp / b / biz / c / cgl / ck / cm / co / d / diy / e / fa / fit / g / gd / gif / h / hc / his / hm / hr / i / ic / int / jp / k / lgbt / lit / m / mlp / mu / n / news / o / out / p / po / pol / qa / r / r9k / s / s4s / sci / soc / sp / t / tg / toy / trash / trv / tv / u / v / vg / vp / vr / w / wg / wsg / wsr / x / y] [Home]

All trademarks and copyrights on this page are owned by their respective parties. Images uploaded are the responsibility of the Poster. Comments are owned by the Poster.
If a post contains personal/copyrighted/illegal content you can contact me at [email protected] with that post and thread number and it will be removed as soon as possible.
DMCA Content Takedown via dmca.com
All images are hosted on imgur.com, send takedown notices to them.
This is a 4chan archive - all of the content originated from them. If you need IP information for a Poster - you need to contact them. This website shows only archived content.