I think all programmers should know machine code...

Started by
74 comments, last by jbadams 12 years, 11 months ago
BUT NO... High-level programming is too easy, yeah... NOT! It's harder...

Think about it... Go read a DirectX source code for a small racing game. 3,000-7,000 LINES OF CODE THAT'S UTTERLY, SICKLY AND PSYCHOTICALLY DIFFICULT TO EVEN UNDERSTAND OR MAINTAIN!

Compare that to: 0 and 1. Who do you think wins, besides just ease and straight-up logic?
Again, you're just telling us that you suck at programming. Go cry, emo kid.

If coding in machine bits is easier, you'll be able to tell me what this code does, right?
[font="Courier New"]1100101111100010110010101000001011001011111000101101101010111110[/font]
[font="Courier New"]1111110100110010000110100110001101010010011011110001101001101101[/font]
[font="Courier New"]1111111101100100010100100001011001010001100110000100001101001001[/font]
[font="Courier New"]1111010101000001001101010101000101000110010100000000000011011111[/font]

If you translated those 7,000 lines of D3D-using high-level code into plain assembly (and also replicated D3D's functionality yourself), how many lines of psychotic assembly would you end up with?
Advertisement
[color="#1C2837"]Here's another example. I want to build shit. C++ is like sitting up on the 18th floor of an office building, drawing out awesome blueprints for a bridge that's being built over a massive fucking river, and then driving home in a Porsche that you designed. Assembly is like being one of the poor dirty cash-in-hand workers getting paid a buck fifty an hour to haul bags of cement to build a bridge, but who'll never actually get to see the magnificence of it's completion because they're about to fall to their death in their unsafe work environment and never amount to anything.

Understand?

You can't actually build a bridge, can you? Even with your sandpit and little sand-bridges, nothing meats standing right there in front of that massive river-conquering fucker of a bridge that you built. [/quote]


O.o

Someone's upset because of me just being honest! >.<

Here's the clearest example possible ... C++ is downloading an IDE to swallow up all of your RAM when compiling half a gigabyte of DirectX API files that do shit for you except hurt your head and offer little control without lots of headache and torture.

On top of that, we forgot the "size" issues... Commercials game take usually over 1GB of RAM to run on most modern OS. Why build in high-level, memory hogging and mentally pincing atmospheres? Exactly!

Build from the ground up only by using what IS necessary and leaving all the bulk and trash of APIs and such where they belong: in the trash.

It is a KNOWN fact that Assembly language programs usually take about 1/2 the RAM of high-level work/programs. Look it up.

If I did my lower work in Assembly, yeah, my work'd take a heck of a lot longer than yours would in your "higher languages". But break down the code and you'll see that my lower-level work is not only better organized, will have better performance regarding speed of the program, the feel of actually using building blocks rather than third-party headaches and not killing my CPU with 6GB of RAM on some crappy high-level program with tons of bulk and garbage that Assembly could've cut it down to less than half of that.

[color="#1C2837"]If coding in machine bits is easier, you'll be able to tell me what this code does, right? 10001010011011001010110010001100010010100110110010101010100000110111111101001011111110110110101111010100100010101100011010001001010010001000110001000110101000100110101000101100011010101000101100010100110101001000010110010100010101001001100100010101000111[/quote]

Very vague and blatant. Just spewing out 0s and 1s doesn't show anything other than the fact that you're letting your anger get the best of you here. And insulting me is just pathetic... I never insulted you once. Childish.

Anyhoo, if you give me about 4 hours and some instruction sets, I could find out what that would do exactly.

But, since it's just meaningless code you spewed out, you probably don't even care, so yeah... why bother with you?

To you they're just "bits". To me they're the building blocks of everything. I use them with knowledge, not spew them with hostile emotions.

Once you learn that these "bits" are everything, you'll see that coding directly to and from them is what REALLY is efficient and beneficial in the end.

High-level does NOT and WILL NOT have the same capabilities or control that Assembly or machine language has. Deal with it.



C is not a high level language. If you are as smart as you claim, then you should be able to "compile" a C program in your head, as most lines of code compile into just a few instructions each. Linus Torvalds calls C "portable assembly", which brings up one of the largest points for non-assembly languages: portability. The only thing worse than having to program an operating system, game or database in assembly would be having to write it multiple times.

High-level does NOT and WILL NOT have the same capabilities or control that Assembly or machine language has. Deal with it.


Give multiple examples of common scenarios that display this "lack of control."

O.o Someone's upset because of me just being honest! >.<
I'm not angry -- I'm trying to emphasise how fucking awesome that bridge is! It's ridiculously fucking cool! If I enjoy building shit (which you should associate with, being a painter and all), you'd know how awesome it is to complete a wonderful creation.

Seriously, how many bridges have you built? And by that I mean how many games have you finished?

On top of that, we forgot the "size" issues... Commercials game take usually over 1GB of RAM to run on most modern OS. Why build in high-level, memory hogging and mentally pincing atmospheres? Exactly!
Build from the ground up only by using what IS necessary and leaving all the bulk and trash of APIs and such where they belong: in the trash.
It is a KNOWN fact that Assembly language programs usually take 1/2 the RAM of high-level work. Look it up.[/quote]Using either C++ or assembly has no impact on the amount of memory your game ends up using. Every PS3 game has to fit into 256MB of RAM, and I assure you that they're generally written in C or C++, but never in 100% assembly.
Anyhoo, if you give me about 4 hours and some instruction sets, I could find out what that would do exactly.[/quote]If I posted the equivalent code in C++, it would take 10 seconds for you to know exactly what it does. Q.E.D. 0's and 1's are 1440 times less readable than C++ (4hrs*60mins*40secs / 10secs). Look it up.


But, since it's just meaningless ... you spewed out, you probably don't even care, so yeah... why bother with you?[/quote]This is what we're all thinking! You're spouting nonsense and ignoring reason. Why should anyone bother to listen, unless they enjoy feeding trolls?
When I started programming by 2004 there was a cliche aspect that a programmer should be a mathematician (probably those who were not into programming though that it was as difficult as math). But by experience I learned that a developer has to get things working, there's no simply room philosophy in that, you use tools to make tools.

Software development is categorized in many specific areas and there are the appropriate tools for each task. So the point is to know how to use the best method and the most suitable tool for each task and requirement.

[quote name='AndyWonHarglesis' timestamp='1305707461' post='4812352']
High-level does NOT and WILL NOT have the same capabilities or control that Assembly or machine language has. Deal with it.


Give multiple examples of common scenarios that display this "lack of control."
[/quote]

Not exactly a "lack of control", but more hassle with control. HLLs like C++ and Java COULD MAYBE get as low to the point of controlling bits, nibbles and bytes, storing and such, but it's going to not be done in the same manner as Assembly.

Since bits are really behind this "IDE you're using to hide them", it's pretty obvious that without full bit control you're not doing it right.

Here's the clearest example possible ... C++ is downloading an IDE to swallow up all of your RAM when compiling half a gigabyte of DirectX API files that do shit for you except hurt your head and offer little control without lots of headache and torture.


You know, confusing C++ and an IDE for C++ is one of the prime indicators for "I like to talk but I have absolutely no clue what I am talking about". Arrogance and absence of knowledge have always been a difficult combination as your posts clearly show.

Not exactly a "lack of control", but more hassle with control. HLLs like C++ and Java COULD MAYBE get as low to the point of controlling bits, nibbles and bytes, storing and such, but it's going to not be done in the same manner as Assembly.

Since bits are really behind this "IDE you're using to hide them", it's pretty obvious that without full bit control you're not doing it right.


What are you saying? Firstly, I rarely use an IDE for any language. A text editor and command line is more than enough. Even if I did use an IDE, it wouldn't be "hiding" anything. An IDE is a fancy text editor, it doesn't hide any aspects of the language your developing with.

Since when can you not work with bits and bytes in C or C++? It's all there, and obviously it's going to be different. That goes without saying.
DontFeedTheTrolls.jpg
[size="2"]I like the Walrus best.

This topic is closed to new replies.

Advertisement