Building my own OS | Sololearn: Learn to code for FREE!
New course! Every coder should learn Generative AI!
Try a free lesson
+ 3

Building my own OS

I want to build my own OS and I want to know what programming language should I learn? I already know Java.But i saw that will not help.Should I learn C or C++ for building OS??

7th Jan 2017, 1:02 PM
Hamza Merdzanic
Hamza Merdzanic - avatar
9 Answers
+ 9
Design a OS in now days from scratch might still be a hard work but not imposible if you have the will and a great team of developers with you. You will need at least Assembly, but that would be painful for you because you will have to handle and consider the diferences among a lot of procesors that your OS will have to support, because the Assemby language differs from one to another . So you will need something that can help you a bit with that problem and you can focus on what is more important without redesigning your system for each processor, for your epic quest you will need a general purpose language like C/C++, Java, C# , etc. I would recomend you to use C or C++, they are fast, reliable, and support Assemby code inline with your C/C++[1] code, giving you a great control over hardware and performance without going crazy writing everything on Assembly.
7th Jan 2017, 1:31 PM
Ekansh
+ 5
Before learning any language, you should learn basically what are the different component of an OS ^^ If you always plan to build one by your own, meaning from scratch/zero, you need a lot of practice before starting your project, and of technical knowlendge... Well so, my advice to you, is rather to build it totally from nothing, learn to build it ( ie: from a gnu/linux/debian base -- you just need to learn command line terminal :P ) at least at first, to have a good view of the work intended to make an OS ;)
7th Jan 2017, 1:18 PM
visph
visph - avatar
+ 5
@Theo: ... and so, what's: ++ C++ ?:P Whitout joking, C is still a relevant proven language that continue to be widely useful, especially on low level programming, for which oriented object concept aren't adapted... and it's widely too anchored in the adn of a lot of languages which have succeeded.
8th Jan 2017, 1:34 PM
visph
visph - avatar
+ 4
You probably can do it in a virtual instalation of a linux, but you probably too add problems sources, and at least lower performances in compiling... Looking at documentations/tutorial, even without do it, will certainly learn a lot to you ;)
7th Jan 2017, 7:49 PM
visph
visph - avatar
+ 1
I have not tried this myself, but this may help. (other may comment) https://www.raspberrypi.org/blog/building-a-simple-raspberry-pi-os/
8th Jan 2017, 10:45 AM
ifl
ifl - avatar
0
#visph -- yeah! The problem is that I do not use Linux,I am windows user... Can I do that with VirtualBox?? And also, I am ready to learn anything I just started c++ course here and after that I will learn Assembly
7th Jan 2017, 5:40 PM
Hamza Merdzanic
Hamza Merdzanic - avatar
0
I asked it to a friend yesterday. So, he said: "You should not start a house by the roof, but once you're in it for real, and you'll know when it is, you'll want to play a little with Minix first."
8th Jan 2017, 5:49 AM
Tony Fernandes
Tony Fernandes - avatar
0
Ekansh, I thought C was replaced by C+ and then C++. You're saying that C is still a relevant language?
8th Jan 2017, 1:19 PM
Theo
Theo - avatar
0
I saw a Web page that says that I should learn C to build OS and C ++ for games is that right? I mean should I learn C now instead C++¿¿?
10th Jan 2017, 8:48 AM
Hamza Merdzanic
Hamza Merdzanic - avatar