eric: What programming language should be learn for systems programming?
I’m interested in systems programming and right now I know C++ and Java. I want to know if I should or need to learn C and/or Assembly for systems programming? Can anyone help?
Answers and Views:
Answer by zimmerski
C is a weak language compared to C++. It really is C++ but doesn’t have as many functions to call from. C++ should be.
I disagree with the above poster. The language is not the limitation, the programmer is. Pick any language and go with it. Personally, I know assembly and C++. Once you learn a language, it’s simple to learn another.Answer by Colanth
Yes, C and assembly.Answer by Petze
The only person that knows what he’s talking about is colanth.
I for many years C++ was the best for the job in everything but the truth is for systems programming you need to know C and assembly (assembly mostly)
Why C over C++?
Well C is closer to the system than C++ and deals with the system and doesn’t require any syntax for the compiler and what not.
For example when coding in C++ you need to include the iostream. and that is a compiler function and therefore if you were to create your own OS or something like that. You couldn’t be using keywords from the language. You have to create your own.
Now assembly is the best. Why you may ask? because assembly is as close to the processor as you can get! and you need that to create systems and such. Without assembly i think it’s impossible to create a good system because you decide whatever goes on in the system when it comes to the assembly language.
Now I know that all this may sound a bit confusing to you but the fact is that if you want to ccreate systems then you need to know C and assembly, YOu can use the assisstance of C++ and other languages but you cannot use them a lot.
So learn some C and Assembly
Ps. C should be relatively easy for you to learn since you already know C++ and Java. But assembly will be the hardest because you’ll actually have to know how a computer works in order to code in assembly. You’ll have to be comfortable with binary numbers and such and you have to get into all that computer theory stuff. If you’re looking into this as a career I’d look into computer engineering. That will teach you what you need to know from top to bottom.
Anyways I Hope This Helped 😀
Answer by Sheeraz Ahmedwell it depends for which system you want to program, here are some cases:
1) if u want to program for Windows you should learn Win32 C++ which is Windows programming in C++, of course if u know C++ then its not difficult to learn it.
2)As u said that u know java so u can learn Android programming vary early and very easily. Android is open source operating system for mobile devices.
3)if u want to program for linux then of course C is a good choice and if u know C++ then you can learn C in 2 or 3 days there are very little differences, here are some differences:
i)C++ have classes & structures both but C have structures only
ii)OOP is implemented in C++ only so C does not support it
iii)C++ have cout<> for input but C have printf() & scanf() for input only.
iv)C++ filing is very easy and powerful but C filing is not powerful because it has few functions as compared to C++.
Leave a Reply