Advertisement

Low-level programming is good for the programmer's soul

Started by March 06, 2014 12:50 PM
25 comments, last by Anri 10 years, 10 months ago

I would say that low-level programming is, in general, turmoil for the programmer's soul -- By definition, regardless of the language its expressed in, low-level programming is rather detached from the the problem said programmer is actually solving; instead, you are mostly bogged down in fickle technical details that are as unforgiving as they are fleeting. The average programmer needs to solve problems, not scratch a pedantic itch.

Its useful as a high-level programmer to have insight into the lower-level workings of the machine, but its not a realm that's critical to most. Programmer salaries, especially for great ones, are usually more than the cost of hardware. Its almost always more cost-effective to throw (several) faster CPUs or some extra boxes at a problem than it is to have your rock-star programmer spending 50% of his time making the code run 15% faster.

All of that said, as some kind of sadist who actually does enjoy bogging myself down in interesting details, its not unusual or wrong to enjoy low-level programming. Its an opportunity to think about things differently and to prove oneself capable and clever. And to produce work that feels as though you can be more proud of it. Its like building a handsome writing desk using only hand-tools -- impractical for sure, but also a more-careful production that is unmatched by modern tools in its attention to detail and ability to respond to the materials used.

throw table_exception("(? ???)? ? ???");


Going back to C++ was just soul-crushing the last time I tried it

Most programmers don't have souls, you should consider removing yours too, to avoid said crushing.

"I would try to find halo source code by bungie best fps engine ever created, u see why call of duty loses speed due to its detail." -- GettingNifty
Advertisement


Going back to C++ was just soul-crushing the last time I tried it

Most programmers don't have souls, you should consider removing yours too, to avoid said crushing.

Disposing of your soul has also been shown in some studies to improve programmer efficiency by almost 20%, so it's really a no-brainer.

“If I understand the standard right it is legal and safe to do this but the resulting value could be anything.”


Going back to C++ was just soul-crushing the last time I tried it

Most programmers don't have souls, you should consider removing yours too, to avoid said crushing.

Disposing of your soul has also been shown in some studies to improve programmer efficiency by almost 20%, so it's really a no-brainer.

And don't worry, as we all know, corporations != devil. Upon contract termination, you actually receive your soul again, in mint condition too!. If for some reason you do not regain your soul, or your soul has been damaged, better call saul!

"I would try to find halo source code by bungie best fps engine ever created, u see why call of duty loses speed due to its detail." -- GettingNifty

It depends on how far you wish to develop your programming skills, but I do recommend spending some time towards exploring Assembly or at the very least C. You would be at least expanding your knowledge and experience, which may come in handy later on, or provide you with more options for personal projects.

My experience with "low level" would be some C64 assembly, whilst my first language was C. Assembly taught me respect for those programmers who came before me, whilst C introduced me to pointers which made learning "references" in Java so much easier to understand. Without that lower-level knowledge, I might not have appreciated Java as much as I do now.

Its been years, but I remember doing some funky stuff in C regarding function pointers in a structure. At the time I thought "wow, is this how one implements somekind of OOP in C?", but I could be wrong. Still, it helped the idea of OOP sink in with me at the time. Thats how low-level can be useful.

Languages; C, Java. Platforms: Android, Oculus Go, ZX Spectrum, Megadrive.

Website: Mega-Gen Garage

It depends on how far you wish to develop your programming skills, but I do recommend spending some time towards exploring Assembly or at the very least C. You would be at least expanding your knowledge and experience, which may come in handy later on, or provide you with more options for personal projects.

My experience with "low level" would be some C64 assembly, whilst my first language was C. Assembly taught me respect for those programmers who came before me, whilst C introduced me to pointers which made learning "references" in Java so much easier to understand. Without that lower-level knowledge, I might not have appreciated Java as much as I do now.

Its been years, but I remember doing some funky stuff in C regarding function pointers in a structure. At the time I thought "wow, is this how one implements somekind of OOP in C?", but I could be wrong. Still, it helped the idea of OOP sink in with me at the time. Thats how low-level can be useful.

The opposite is true too. I do my hobby projects in C, but I did Matlab stuff too. Matlab coding was an esential step for me to win32 C coding. Nowadays, I only do Labview stuff. I think this can be essential to be able to do multithreading in C, if I ever want to.

Advertisement


The opposite is true too. I do my hobby projects in C, but I did Matlab stuff too. Matlab coding was an esential step for me to win32 C coding. Nowadays, I only do Labview stuff. I think this can be essential to be able to do multithreading in C, if I ever want to.

Quite true, my friend. I suppose it goes to prove that so long as you make a start in programming and stick with it, then all roads lead to Rome.

Languages; C, Java. Platforms: Android, Oculus Go, ZX Spectrum, Megadrive.

Website: Mega-Gen Garage

This topic is closed to new replies.

Advertisement