Best approach to learning

Top down(python > C > assembly > machine language)
VS.
Bottom up (machine language > assembly > C > python)

Which is more conducive to learning a lot and becoming good?

Attached: a16bcdf6a8b3be87ae8b98bf9b1c8c6d9e8817e98471f6b34f4b8de252caddfc.jpg (512x512, 25K)

Other urls found in this thread:

youtube.com/watch?v=Kbbzwabgtok&list=PLqCJpWy5Fohdz6Nu2yG6Loubocqk3sRNR&index=1
twitter.com/AnonBabble

learning whats appropriate to your field, nobody fucking programs in assembly and python at the same job

>python
stop there

Bottom up will give you good foundation to keep building upon. Top down is retarded.

Top down if you actually want to be employed.

Specific programming languages are just a small part of programming curriculum, and pretty irrelevant one. Learning just them won't make you good.

C->Assembly->Haskell

>recommends starting with assembly
>calling anyone else retarded
ok retard

No, I recommend starting with machine language.

python > javascript > go > maybe C if your interested in systems programming
very few people need to learn about assembly or raw binary at all.

>recommend actually learning how computers do what they do and how to manipulate them
wow that's retarded...............

Attached: 6eb9874cc0e74806962d316af8aa7e8b.jpg (320x469, 30K)

computers actually work by running code compiled from high level code. Unless you're interested in reverse engineering or something of that nature it is a waste of time.

Bottom up, but start with C. It's low level enough; you can learn assembly later.

Learning "machine code" is stupid and worthless and not exposed to you at all
Just learn assembly

And in order to optimize that compiled code for efficiency you must know what it compiles into and how it works

Just learn C#.

There are two schools of thought here...

If you learn the bottom up from the metal, all of the way to a scripting language, you will have a ridiculously amazing ability to optimize and have good code and everything you make will be well done.
The counter that I've heard to doing this, is that even from assembly to C, there are so many abstractions that you just won't be able to know how C is mapping to assembly. This is just what I've read though and I don't know if it's true at all. I think bottom up is good. I don't see how starting with a scripting language is at all useful, only for people who are impatient and need to make something now at the expense of always developing bad programs.

What are some good bottom up resources? Other than NAND2Tetris.

just start with something. half the faggots on here who want to "learn koding" never actually start because they are too busy watching blacked and Nvidia unboxing videos

>Never start with python
You got your answer

I only really know C, C++, and bash and am employed quite fine. I can work with python if necessary.

If you know C then you know everything

I went python > javascript > java > C (currently). Had a pretty good time so far but the jump to C is the most difficult by far, probably because I haven't really done any practice with it and was just thrown a program written in C and asked to make changes to it.

Outside In.
Python > Machine Language > C > Assembly

imagine being this stupid

No. Just no. There is no "quantum" anything, this isn't poorly understood near magic effects of some mythical theoretical particle. This is simply electrons being so small they can move through any material at the path of least resistance, because nothing can exert 100% perfect electrical control over them. It is current leakage. It is nothing but current leakage. It is current leakage in short channel devices, and it happens at literally every feature size, it is not exclusive to small FinFET devices like upcoming 5nm EUV FinFETs. Even planar devices have extremely high degrees of leakage through their channels, directly under the gates, electrons still leak out. Yet despite this the transistors still function.

Quantum tunneling is a meme regurgitated by people who know nothing about the field of FETs.

Start with C then Haskell.

After learn what ever you think will need for your area of interest.

start from the middle, start from C

Fucking this

Best approach?
Start with something simple.
By simple I mean something simple to you.

>simple to you
so a video game written in asm

C -> Java (for classes) -> Anything you want/need

This.

>C to Java instead of C to C++
k

What's wrong with Nand2tetris?

>machine language

Nigger what are you smoking

I'd go with bottom up (assembly -> C -> any OOP faggotry language you like they're all shit).
But I don't know of any good quality assembler books out there other than pic related. That's 32-bit and Linux specific.

Attached: god-tier.jpg (397x500, 36K)

smoking your dumb ass intellectually

>>
>thanks God first in the acknowledgments
based and redpiled

Literally no difference to just assembly

You don't learn machine language, machine language is translated to assembly nearly 1-1, assembly is literally just a readable translation of the bytes

that's not true at all

imagine thinking machine language = asm

It saves you from the very intellectual task of looking up the 20 flavors of mov in the intel manual.

>he calls those bottom up and top down
>he thinks this matters

Make sure you build your own programming language.

Nigger you are dense as fuck. It's a literal translation.

top down
all courses you've ever been taught have been top down

not here, not it's not due to linking and macros

>Nigger you are dense as fuck. It's a literal translation.
Post github

>c
>low level

learn how to suck a dick

if you learn machine code you will also learn assembly

use xxd on any binary, open the same shit in radare2 and look at the translated opcodes.

I understand we might come from 2 different points here, guess you guys are talking about writing some form of assembly, I was talking about the reversing standpoint of starting with compiled binaries.

Don't have one.

this
youtube.com/watch?v=Kbbzwabgtok&list=PLqCJpWy5Fohdz6Nu2yG6Loubocqk3sRNR&index=1

>Don't have one.
That's what I thought pussy

learn about cpus
design a cpu
make an assembler for it
make a c compiler

now you are a god .

No need for that shit :-)

Ida DBs don't work on GitHub why would I
I also get paid to reverse engineer all day

As long as you stay away from
>Java
>C++
>C#
you really can't go wrong.

spotted the self-taught brainlet. any decent university CS course teaches bottom-up.

they really don't

I would actually recommend starting with 7400 series logic gates and building fundamentals until you can design and build a bare bones ALU.
Then you should move to ASM for a microcontroller, and finally C once you get the hang of interacting with real hardware, using timers, and counting instructions for a real time project. You can jump to x86 once you hit C.

This will sound like worthless bullshit until you've done it. Knowing how the machine really works is very useful for when you're not using a toy language like Python or JavaScript. If you never learn, you're destine to write pajeet code forever.

Only learn these if you want to be employed

Ideally you will start with either Java or C#, get a job that way, and then in your free time learn a systems programming language (C++, C ir Rust) and then learn assembly. Only do this however if you want to contribute to certain repositories or actually get one of the very few jobs lying around where you can apply this knowledge.

this is what im doing right now, except before c i did js

This guy gets it

learn any general purpose high-level programming language then start bottom up assembly to C

It's subjective.

Python
C
Assembly
Bootstrapping an Operating System in x86 Real Mode
Building your own CPU on a breadboard