Page 1 of 3
What makes noobs pick OS dev?
Posted: Mon Jan 19, 2009 2:02 am
by Solar
<rant>
Sometimes I wonder.
What makes some people, having a shaky understanding of general programming, next to no actual experience in C/C++, a complete ignorance of stuff like Makefiles or writing proper bug reports, and no netiquette to speak of, pick
OS development as what appears to be their first significant software project?
I mean, what makes people who've had their first driving theory lesson think they could
handle a rallye car?
Sure, you want to be among "the big ones", you want to win fame (and a fortune, perhaps). But don't you realize that greatness requires
skill, which has to be
earned through hard work and experience?
Trying yourself at OSDev, when you haven't written a single functional user-space application yet (and I don't mean "hello, please enter your name"), can
only result in
one thing: Dismal failure.
If you believe otherwise, you've watched too many casting shows.
Paul Potts didn't just step on the stage and showed his great voice. He's had
years of singing lessons. He was
already a great singer when he enlisted for Britain's Got Talent, he didn't just "happened" to be one.
Hey, you - you who couldn't be bothered to actually read the manual, use google, or even read the sticky threads on this forum crying "READ ME!". What makes you think you could be anything else but the next
Fail on
this casting show?
</rant>
I thought I'd just vent this one here, unconnected to any actual thread or person.
And before anyone posts an "up yours!" - back when I started Pro-POS, I already
had some experience in programming, and I
did google, and I
did read the manual, and I
still failed dismally, because I was stupid enough to think I was up to the task. So, in a way, that rant above is also addressed at my younger self. Today I know I'm a pretty decent driver, but I wouldn't try the Pikes Peak...
Re: What makes noobs pick OS dev?
Posted: Mon Jan 19, 2009 4:27 am
by JackScott
Well the reason I picked OSDev as a n00b (still am one really, but there we go) was that I just couldn't grasp the complexity of usermode libraries. I was just moving from BlitzBasic (a game programming language) to C++, I distinctly remember sitting in my chair looking at some SDL (a game programming library) source code examples thinking "this is too complex, I'm sure I could make it simpler". It all stemmed from there. Oh how wrong I was...
5 years later, and I still don't know enough to start coding my kernel properly. All I know now is, I know nothing.
Re: What makes noobs pick OS dev?
Posted: Mon Jan 19, 2009 4:37 am
by stephenj
I don't really think that what you said is that bad... Setting a goal to do OSDev isn't a bad thing. And I'd bet that there are plenty of people who come here, read the wiki/sticky and then set realistic goals. We just don't hear about them because they don't cause a fuss.
The bad part is when kids, since I'd bet most of the trouble makers are kids, come here and expect to be taught OSDev by forum members who they think are teachers. And most of them only know of school teachers that coddle to the hilt. Which isn't how programmers teach.
And let's face it, a lot of kids wouldn't know an intellectual challenge if it bit them on the @$$. If you're smart, school doesn't provide one until you get a lot older. At least, that was my experience. And I'd wager that not failing intellectually would cause a bit of arrogance. Which is what we see.
At least, this is my theory, I've always been the type to read any literature I can get my hands on before I try anything. Not that my way is perfect. It can lead to the problem of getting too much information without proper context, so I usually find myself re-reading materials. Not to mention that I sometimes spend way too much time reading when I should be writing.
I suppose the second part is that they simply don't know anything, including how hard it can be.
It could be worse though, we could be on a video game development forum!
EDIT: Changed "to" to "too"
Re: What makes noobs pick OS dev?
Posted: Mon Jan 19, 2009 4:50 am
by AJ
Hi,
I think that there is a very good reason for trying OS Dev as a project early on in a programming career - learning.
That's how I got in to OS Dev and it's mainly why I'm still around. I don't plan to create the next commercial success or the next *nix replacement or win fame - I'm just interested in this area of computing.
Since starting out, my goals have changed from "A GUI OS that runs Windows and linux binaries". To "A boot loader and device spec that may help other OS developpers". I don't see this as dismal failure - I'm glad I have gone through the entire process and am now a much better applications developer as a result. With hindsight, my understanding of C++ and Assembly prior to starting OS development was appalling. I like to think that when it comes to C++, I'm now much improved.
I also now have an understanding of PC's and how other systems work "under the hood" that is vastly better than I could have imagined before. This is mainly thanks to the contributors to this forum (you are certainly included in that!).
Before starting OS Dev, I had used BBC's (BASIC), QBASIC, VB, VB.NET and a little C#. I had also made some of those basic "Type your name:" C and C++ programs (compiled at the command line with Visual Studio). Hardly an ideal CV for someone starting out in OS Dev
I agree that if I had knowlege of Makefiles and GCC prior to OS Dev, I would have got started more quickly and asked less stupid questions along the way - but ultimately, those questions have been answered very well here and I get much more out of computers for it.
Ultimately, though, I agree with your sentiments - it's just the reasoning I disagree about. I think that the most important aspect of the sticky post is "Meet the Intellectual Requirements". If you can do this, you can get something out of OS Dev. I know that sounds elitist, but that's just how it is if you want to tackle something of this complexity.
Cheers,
Adam
Re: What makes noobs pick OS dev?
Posted: Mon Jan 19, 2009 2:51 pm
by bewing
Background in my case: my first real coding was done on a UNIX system in '82. There were some problems with it: graphics support was below minimal, there was no real-time clock driver (even though the hardware HAD an RTC), the system seemed hackable to me, etc.
I was a decent C programmer. I managed (with luck) to fake up an RTC driver. But when I looked at any of the fragmentary sourcecode that I had for the OS, it was still completely beyond me, even though I was a decent C programmer. So I knew I wasn't ready to do OS coding yet.
But my answer to Solar's question would be different than those above.
One of the most important things to learn, early on in your programming career, is to recognize when a piece of code sux and you need to rewrite it.
And the one "program" you use more than any other when you are using a system is the OS/shell.
I think the n00bs are just recognizing that their current OS/shell simply doesn't work right, and needs a rewrite.
But recognizing that there is a problem, and being able to fix it are two very different things.
Re: What makes noobs pick OS dev?
Posted: Mon Jan 19, 2009 4:04 pm
by 01000101
I think you are being a bit harsh on partially the wrong crowd.
You are ranting about inexperienced developers getting into the hobby OS development rhelm, when really, that's not a bad thing. How do you gain experience in such a distant field from common programming without starting off as a noob at some point so that you may gain the experience later. I agree with you on the points related to the ones that do not google, read manuals or specifications, or put any effort on their own to furthering their knowledge.
I started out with very minimal experience (I had prior experience with C++/C#/VB.NET and had written quite a few applications dealing with steaneography and cryptography), but I learned along the way, listened to what the other people who had already walked the beaten path had to say, and revised.
Even with great experience in C/Assembly, you are not by-proxy experienced in OS development. Everyone has to start somewhere.
Re: What makes noobs pick OS dev?
Posted: Mon Jan 19, 2009 6:21 pm
by Dex
I see Solar's point, as nothing is more frustraighting than to see noob's wanting to write a OS, but do not know the basic's of coding.
But to me the most important thing is to stick with it, as i have seen many coder's like this that have stuck with it and end up as top OS Dev's.
But then you get some who will never get it, no matter how long they stick at it.
That's why i alway try to get coder's to start by coding bootable program's, to give a tast of what its like to code without the help of a OS's API.
By coding these demo's, it may save the coder many a waisted year's.
Re: What makes noobs pick OS dev?
Posted: Mon Jan 19, 2009 7:19 pm
by paxcoder
01000101 wrote:I think you are being a bit harsh on partially the wrong crowd.
You are ranting about inexperienced developers getting into the hobby OS development rhelm, when really, that's not a bad thing. How do you gain experience in such a distant field from common programming without starting off as a noob at some point so that you may gain the experience later. I agree with you on the points related to the ones that do not google, read manuals or specifications, or put any effort on their own to furthering their knowledge.
You can say that again.
My personal opinion is that the high-horse post of Solar's turned around and bit him in the arse
Which is not a bad thing, since we all need to learn.
Peace be with you guys
Re: What makes noobs pick OS dev?
Posted: Mon Jan 19, 2009 7:51 pm
by stephenj
How is a post that ends with Solar bashing himself high-horsed?
He was talking about people who arrogantly set out to conquer one of the biggest challenges in the computer field without wanting to work for it.
"I'm going to prove that P = NP, but I'm only going to think about the problem from 6-7 pm on days with a
blue moon!"
Granted, building an OS is provably possible. But without effort that point is rendered meaningless.
Re: What makes noobs pick OS dev?
Posted: Mon Jan 19, 2009 11:25 pm
by Solar
I didn't want to achieve anything with my post, or even really start a discussion. I simply had to vent that bit before I explode.
And I still hold to one thing, "high-horsed" or not: If someone has to explain to you how to use a compiler, or similar basic things, OS Dev (not meaning this site, but the hobby) is the wrong place for you.
To reiterate my previous metaphor, if you don't know what a hand brake has to do with a power slide, don't sign up for a rallye race. You will get hurt.
Now flame away. As I said, I don't want to attack anyone, I just had to blow off some steam.
Re: What makes noobs pick OS dev?
Posted: Tue Jan 20, 2009 12:29 am
by 01000101
Solar wrote:
Now flame away. As I said, I don't want to attack anyone, I just had to blow off some steam.
fair enough. I can definitely relate with that at times.
Re: What makes noobs pick OS dev?
Posted: Tue Jan 20, 2009 6:43 am
by Solar
idiot < noob < newbie.
Re: What makes noobs pick OS dev?
Posted: Tue Jan 20, 2009 7:53 am
by yemista
I didnt want to be a n00b anymore
Re: What makes noobs pick OS dev?
Posted: Tue Jan 20, 2009 8:44 am
by Firestryke31
I started OS development because my motto has always been "If you don't like something, make your own!"
Re: What makes noobs pick OS dev?
Posted: Tue Jan 20, 2009 9:44 am
by Troy Martin
DOS 4 and 7 sucked BIGTIME so that's enough to make one want to write an OS.