OSDev.org

The Place to Start for Operating System Developers
It is currently Thu Mar 28, 2024 12:55 pm

All times are UTC - 6 hours




Post new topic Reply to topic  [ 7 posts ] 
Author Message
 Post subject: Is an OS a useless inspiration for learning programming?
PostPosted: Thu Jun 22, 2017 7:28 pm 
Offline
Member
Member

Joined: Tue Sep 23, 2014 6:12 pm
Posts: 144
I really need help on this one. I decided to learn C a month ago, kind of because I wasn't really sure of myself of which direction to take, even after spamming these forums up asking for advice (which registering in this forum was a bit of a mistake in the first place, and blame my high spamming count for my lack of great online communication skills). But now I finally wonder if OSDev or operating systems as a whole is a bad or useless way to be inspired to learn programming?

I'm not as concerned about my choice of first language. And my uncle supports me when I announced to him my learning C (he once worked at AT&T in New York/NJ and had exposure to Unix), even though I tried messing with Python and "language-hopping" for a little while before.

And this isn't necessarily implying learning to program while developing any OS.


Top
 Profile  
 
 Post subject: Re: Is an OS a useless inspiration for learning programming?
PostPosted: Thu Jun 22, 2017 7:31 pm 
Offline
Member
Member
User avatar

Joined: Sun Jul 14, 2013 6:01 pm
Posts: 442
if you continue your logic for days, you actually can demotivate any activity in any profession

_________________
Operating system for SUBLEQ cpu architecture:
http://users.atw.hu/gerigeri/DawnOS/download.html


Top
 Profile  
 
 Post subject: Re: Is an OS a useless inspiration for learning programming?
PostPosted: Thu Jun 22, 2017 8:07 pm 
Offline
Member
Member

Joined: Tue Sep 23, 2014 6:12 pm
Posts: 144
What logic are you talking about?


Top
 Profile  
 
 Post subject: Re: Is an OS a useless inspiration for learning programming?
PostPosted: Thu Jun 22, 2017 10:16 pm 
Offline
Member
Member
User avatar

Joined: Thu Nov 16, 2006 12:01 pm
Posts: 7612
Location: Germany
An OS project is hugely unlikely to ever get into the "useful" stage (as in, actually working, and a good choice to actually work with). Kernel space programming is also a very involved, unforgiving environment, with many things you need to do / learn for it that you will never, ever, need in any other field (except hardware driver programming). It involves handling lots of technical information. You are also, by definition, reinventing the wheel.

For some, that's exactly the incentive why they pick it up.

To be answering your question more directly, if you check the Wiki articles Required Knowledge and Beginner Mistakes, you will find that they strongly discourage "learning programming" while doing OSDev. An operating system is the most complex piece of software you can imagine, and done in a more-hostile-than-average environment.

Again, some take that as a challenge to do it anyway, but personally, I feel it is just setting yourself up for frustration.

_________________
Every good solution is obvious once you've found it.


Top
 Profile  
 
 Post subject: Re: Is an OS a useless inspiration for learning programming?
PostPosted: Fri Jun 23, 2017 5:49 am 
Offline
Member
Member
User avatar

Joined: Wed Aug 17, 2016 4:55 am
Posts: 251
Quoting this part from the OP just to prevent it from getting overlooked:
mac wrote:
And this isn't necessarily implying learning to program while developing any OS.

Sounds like learning in the hopes to make an OS some day, not learning while trying to make it at the same time =P Definitely nothing wrong with that, though one may want to consider some other projects in the middle to tackle first (e.g. some parser for some file format, some software renderer for graphics or sound, etc.).

Also the first language I learned properly was C, so it's definitely doable. The problem is not how hard it is to learn (depends on one's mentality!) but how easy it's to spot when and how you're shooting yourself in the foot.


Top
 Profile  
 
 Post subject: Re: Is an OS a useless inspiration for learning programming?
PostPosted: Fri Jun 23, 2017 6:55 am 
Offline
Member
Member
User avatar

Joined: Thu Nov 16, 2006 12:01 pm
Posts: 7612
Location: Germany
Let's put it this way.

The chances that you'll ever work on OS code professionally are miniscule.

The chances that you'll ever "make" a hobby-project OS (as opposed to "working on one") are... less.

8)

Personally I'd recommend, learn programming, write userspace applications or servers or games or whatever, learn about managing a project, documentation, revision control, efficient algorithms, architecture, and all the related things that help you to become a competent and thorough software engineer. You can do all that without ever touching on the subject of OSDev, but it will help you in the trade. (Something that is not necessarily true the other way around -- things you learn in OSDev are not too seldom very specific to OSDev.)

If you're there, and bored, OSDev is certainly a way to sink lots of spare time. But a lonely one. ;-)

_________________
Every good solution is obvious once you've found it.


Top
 Profile  
 
 Post subject: Re: Is an OS a useless inspiration for learning programming?
PostPosted: Mon Jun 26, 2017 11:17 pm 
Offline
Member
Member
User avatar

Joined: Tue Mar 06, 2007 11:17 am
Posts: 1225
At the OS level, you reach absolutely everything that there is to programming, so it all will become understandable if you always come from "OS land" and its tasks by default.

It's like being at the highest possible point. Of course there's much more to be done and learned (everything actually), but you just need to stay in the territory of those problems and starting out by solving and implementing the things that concern you personally the most, and the code that supports them to make them possible, and you will see advance.

I have taken around 12 years just to consolidate an OS with a basic text console for driving commands in a standard PC (any that has proper BIOS, PS/2 peripherals, VGA-compatible video, floppy and ATA disks). That doesn't mean that it's all I know. Actually it demonstrates you how difficult it is if you make an OS by hand all by yourself. I want to make it more advanced, with all the features that any OS has, and I want to learn to do it all by myself (I would get to understand the code of existing projects on my way). All I need to do is to make OS development my default programming task to keep learning. That's all. My learning speed compared to that of the rest of projects is meaningless if I am already doing the best I can and continuously trying to improve my methods.

See my current project status: http://devel.archefire.org/forum/viewto ... 4263&hl=en

_________________
Live PC 1: Image Live PC 2: Image

YouTube:
http://youtube.com/@AltComp126/streams
http://youtube.com/@proyectos/streams

http://master.dl.sourceforge.net/projec ... 7z?viasf=1


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 7 posts ] 

All times are UTC - 6 hours


Who is online

Users browsing this forum: No registered users and 34 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group