How does one that is not a machine, learn machine language? Become a machine? You can't talk to one, in voice...yet;P Fotran/C/ASM/VB/C++/Java/Html, All flawed human tries at a mutual language between us, and computers. Because face it, most humans don't want to bug check binary, or learn binary for that matter. Binary is the closet thing to machine language we have living today. But as to this question. One should get source, in many ways. Read it, and compare it to things you do understand. After a time aloted to your mind alone, you will get a light bulb, and start toward the path of being able to say. I am self taught in " ". Meh, being self taught is nice, but anything not binary, as in a 1 to a 0 or a 0 to 1, is lonely. A dual perspective, or share is nice. Hence why as a binary lifeform, we seek something we all feel, yet don't know. After you learn enough, share it, free source, give, and take in parts. But the ethical choice is not to use without a thank you or asking. Learning from others, and teaching them with your mind is something that we can choose. Just like the choice of good or bad. We have few real choices in this realm, imo.
_________________________
"Beware the Jabberwock, my son!
The jaws that bite, the claws that catch!
Beware the Jubjub bird, and shun
The frumious Bandersnatch!"