Brainlet Thread

Jow Forums I know you hate newfags but if any of you are in a good mood today can you help out us brainlets? What's the best way to learn about computers and computer science? I feel like when jumping into any one subject I'm missing so much, so how would you recommend getting into this stuff?

I'm 19 so I still have time to learn, but I didn't grow up on it like a lot of you guys. I imagine there are other pseuds on here like me who pretend they know how stuff works when they don't. Where do I start to become someone who's generally well-versed in this stuff?

Sorry to beg for advice/info on your board, but I figure why not

Attached: brainlet.png (645x729, 77K)

Other urls found in this thread:

en.wikipedia.org/wiki/Source_code
twitter.com/AnonBabble

read the sticky. install a gnu/linux distro. pick any programming language and start tinkering. once you understand code reasonably start reading theory on algorithms

>pick any programming language
This. I recommend Python as it just werks and is both easy and efficient for small scripts.

What about Java? That's the language they make you learn anyways at my school, so I guess I could start with that.

Alright so I'm going to just going to start with basic programming and math stuff then, and then I'll move into theory.

Is there anything you guys would recommend on learning more of the mechanics behind the computer? Like how the actual hardware operates? Would this be what circuitry is or engineering?

Java is a pain in the ass dude

Like others have said, pick a language and go to town. Ask yourself how does this work, how could I do this. Find the answers to those questions. Force yourself to read up on a difficult topic that you know wont make sense to a brainlet of your caliber. You'll get discouraged and feel like you didn't learn anything. Good! Keep doing that over and over, take breaks as needed. You wont realize it but your subconcious will be busy making sense of it all and one day you'll revisit the difficult to learn topics and they will just click. So I say the most important thing you need to learn is commitment and how to handle your discouragment.

Well I've got a good bit in between when I would take the class so maybe I'll just learn Python first.

Is there any online course you'd recommend for Python? The last time I learned a programming language (I've done intro courses in C++ and Java, one in hs one in college) I just sort of bs'd my way through it without properly learning/studying. Do you know any good courses or books that will allow me to do that?

Yeah this sounds good. I'm just going to throw myself at it with everything I've got every day over the summer, and will keep going with it even if I feel like its not clicking.
So yeah I'll start by just learning a language, probably Python.
Btw here's an infograph for any other brainlets in the thread who want to learn, this is roughly what I'm going to do as I learn the language.

Attached: csinfo.jpg (1134x2268, 1.49M)

>maybe I'll just learn Python first.
Don't. Either start with C++ or Java. Python is a terrible choice for a first language.

Zed shaw gets shit on a lot, especially on here, but his book "learn python the hardway" is what really got me going in computer science.

Hmmm okay then, maybe I should go with my original idea of Java even though its supposedly a pain. I found what I had done so far with it in the class I took easy enough, but we didn't go very far with it.

I'm going to have to learn it for the class anyways so it might make sense to just do that

read Clean Code if you're learning OOP

To be completely honest, I'd reject all the suggestions to jump into a language like java, c/c++. I'd go with either python, javascript or if you want something esoteric, scheme/lisp. But as someone who's used all of them starting with a language like java/c/c++ will increase the likely hood of becoming discouraged and giving up by a non-negligible amount. You really can't go wrong with python or javascript or even ruby. You'll know when to move on from there because you'll feel bored.

Thanks I'll look into both of these, just saved them

Roughly, how long do you think it'll take to learn Python fully if I put in 5 hours a day?

Jokes aside from my first post, I'm not actually retarded, I find learning new concepts / skills incredibly easy, I've just never really tried CS, I've mostly been involved in business and finance.

Do you think I could learn both over the span of a few months? Or look at it from your level of competence, is this something you could have done starting out?

If you're learning a scripting language then learn JavaScript. It's the one with the best documentation and most job opportunities. Optionally learn Python and definitely avoid Ruby.

You should be able to learn it in a few months. Scripting languages are very easy to learn.

Hmm alright, so I'm just going to attempt to do both over the summer then.

I'll pick a scripting language, either Python or JS and then I'll learn Java. I'll learn JavaScript later if I choose Python.

Thanks for the help guys I was unsure where to begin because I didn't want to just sink all of my time into something that I needed to begin with something else for. This is good, I'll start with programming and also math then move on from there.

Well theres no mountain top destination to reach, if you stick with it you'll be learning new things til the very end. But devoting 5 hours a day, 4 days a week to python, I'd expect you'd be employable at a django shop within 6 months.

Alright nice. I'm not even looking to be employable immediately, I want to learn the stuff because I'm considering adding it as a second major and maybe even going for a Masters in CS. My main goal is just getting good at this sort of thing so I have a real skill, as opposed to the useless BBA I'm currently on track to get.
All that's left is starting and maintaining a solid work ethic now that I know where to begin

t. rajesh

I have no idea how Linux works. :(
The more I hear people talk about it, the more confused I get.

It's an operating system. An operating system is pretty much just a program that lets you run other programs within it. It does more than just that, like managing resources(memory, cpu, persistent data storage like hard drives, and other hardware like gpus). But it does all that so that you can run more than 1 application at a time.

Yeah OP here, I'm a linux brainlet too, that's something I'll probably figure out on the side, thanks for the explanation

Are Indians Javafags?

I know what an operating system is, I just don't understand how Linux functions.
What does it mean to "compile from source?" Why does everyone praise the "archetype?" Why are there so many variants and offshoots of it?

>Install any linux (it will probably be ubuntu since you are a retard and can't into computers)
>google any problems you have (this is how you get good btw)
>learn bash
>learn HTML
>learn C
and you are on your way to becoming decent at computers.

>Are Indians Javafags?
lots of employers are javafags, that's why Indians learn it first.

compiling from source isn't exclusive to linux or operating systems. What that means is taking a language that was designed to be understood/wrote by humans and translate it to a language that the cpu can understand, usually called machine code. Its not exclusive to OSs because some operating systems are compiled themselves and its possible to run compiled code on a machine without a true OS.

>compile from source
Source code = human readable logic code
Compiled code = machine readable instruction binary
en.wikipedia.org/wiki/Source_code

Also, linux isn't an operating system. Its a kernel which is kind of like the heart or brain of an os. Thats why theres so many different variants. Different operating systems using a common shared piece.

>Why are there so many variants and offshoots of it?
Because there can be, as it's open source. There are tons of specialized distributions (for routers, security, old computers, servers, IoT, single board PCs, etc). Even Android is Linux and there are many versions of it (AOSP, Android One, Touchwiz, MIUI). The point of different distributions is to provide defaults which some people would prefer. It's sort of like comparing different editions of Windows. Except windows isn't as open, so installations with different desktop environments don't exist.

Compiling from source in the linux world means you can get slightly better performance because you can let the compiler make some optimizations specific to your CPU, and you can compile software with specific functionality enabled/disabled.
It is made possible by free and open source licenses, which give the user access to the source code. You couldn't compile MS office even if you wanted to, because it is proprietary and therefore its source code is kept secret by microsoft.

continuing from this OP, don't get too sucked into what language to pick. pick Java if that is what you want too, it's a bit verbose but it works fine. honestly once you learn a language learning another one is really simple, what you want is to get to a stage where you can write and read pseudo code decently - at that point you can most likely learn any language fairly quickly as well as any CS textbook