Thread: Goal: ReactOS programmer, Tactic: Unknown?

  1. #1
    Registered User Witch's Avatar
    Join Date
    Mar 2010
    Location
    Stockholm, Sweden
    Posts
    15

    Red face Goal: ReactOS programmer, Tactic: Unknown?

    Who am I?
    I don't have much experience as a programmer in any kind of languages. You could say that I got serious in learning to become a programmer around the year 2007.

    From 2007 until now I mostly spent my time reading about the theories regarding PHP OOP and PHP Zend Framework. I managed to get my hands dirty around 2008-2009 with Zend Framework but I haven't finished playing with it yet.

    2010 I started to attend a night course in introductory C programming. This is the sum of my programming experience.


    Goal
    My goal is to become a ReactOS programmer. I realize that this will be a very long and exhausting journey. However I didn't plan to become a super-programmer that can understand, build and maintain operating systems. I let the smart people do all that heavy lifting.

    I know stuff not related to programming that I want to contribute to the ROS community. But in order to present these stuff and ideas I basically have to find my way to the most inner circles. And to be able to present these ideas I need to speak the same language as them, I need to think on the same frequency as them. That's why I feel I HAVE to learn C no matter the cost.


    (The Question) / Tactic 1
    So my question is basically. What tactic do you recommend me, when it comes to learning and reaching that goal?

    My tactic so far is this:
    1. Attend introductory C programming night course and learn the basics for C.
    2. Buy this C++/Win API book to learn how to make games: Beginning Game Programming
    3. Then do some easy ROS work like: finding bugs, fixing bugs, translations, etc. etc.

    What do you think about this tactic? Will it work for me?

    • The thing I'm worried about is that when I dive into that 600 page book on how to make games with C++. Dedicating years of my life on C++ will going back to C be easier or harder for me? Since it's ReactOS' primary language.

    • I browsed through that book in a store and liked how the author teaches things step by step for newbies. I already have books like K&R which the WINE people recommended me. But it's too technical written for me to even understand half of it. And technical books like that don't inspire me.

    • This is my dilemma do I have to suffer through non inspiring technical C books to reach my goal. Or will inspiring C++ game programming books help me reach that same goal?
    Last edited by Witch; 03-19-2010 at 03:48 PM.

  2. #2
    spurious conceit MK27's Avatar
    Join Date
    Jul 2008
    Location
    segmentation fault
    Posts
    8,300
    Quote Originally Posted by Witch View Post
    The thing I'm worried about is that when I dive into that 600 page book on how to make games with C++. Dedicating years of my life on C++ will going back to C be easier or harder for me? Since it's ReactOS' primary language.
    The syntax differences are not such a big deal. I would say the major issue going from C++ to C will be that most of the "design pattern" techniques you will learn from C++ will be useless in C. This will be less so if you avoid OO, but then there is not much point in using C++.

    Reliance on the STL may also lead to some challenges in C, tho this is closer to a syntax than a design level. Not relying on the STL makes using C++ even more pointless, of course.

    This is my dilemma do I have to suffer through non inspiring technical C books to reach my goal. Or will inspiring C++ game programming books help me reach that same goal?
    If the only thing that inspires you is games, then you have answered your own question. But in that case, you are unlikely to actually enjoy doing systems coding with ReactOS. Ie, All that stuff under "become a ReactOS developer" -- you will not like it if this is how you feel. Being excited by an operating system is not the same thing as being exited by the concept of writing an operating system.

    However, I'd like to point out there is a big difference between writing programs and applications for ReactOS vs, actually being someone who is writing ReactOS itself. In the later case, you are wasting your time learning about games and really do need to focus on C. I would imagine there are very few pro-level game developers who are also OS developers.

    In the former case, which is what I presume you are actually interested in, you do not need to learn C at all. ReactOS should certainly support C++ applications,* it is just that the OS kernel, etc, are written in C. As an applications developer, that is only tangentially important. And, if the "ReactOS API" (whatever they call it) is in C, you can use it in C++ -- that's why such API's usually are in C, 1) so that they can be used in both C and C++ applications, 2) because the relevant libraries, etc, were in C to start with, so a C API is less abstracted from it's foundation. No doubt they will want and need applications developers too, it looks like an exciting project, and as an applications developer you can work in C++ if you want and your experience with games will probably put you in good stead.

    * after looking at their site I can promise this is so; if someone does not have a C++ compiler for it yet, they will.
    Last edited by MK27; 03-19-2010 at 11:07 AM.
    C programming resources:
    GNU C Function and Macro Index -- glibc reference manual
    The C Book -- nice online learner guide
    Current ISO draft standard
    CCAN -- new CPAN like open source library repository
    3 (different) GNU debugger tutorials: #1 -- #2 -- #3
    cpwiki -- our wiki on sourceforge

  3. #3
    Registered User Witch's Avatar
    Join Date
    Mar 2010
    Location
    Stockholm, Sweden
    Posts
    15
    Quote Originally Posted by MK27 View Post
    If the only thing that inspires you is games, then you have answered your own question. But in that case, you are unlikely to actually enjoy doing systems coding with ReactOS. Ie, All that stuff under "become a ReactOS developer" -- you will not like it if this is how you feel. Being excited by an operating system is not the same thing as being exited by the concept of writing an operating system.
    Nah it's not that newbie books about games inspires me. It's more like the only thing I can manage to associate to when thinking about C and C++ programming in general.

    I've been a member at ROS for almost 2 years now I joined around 2008. Never once did I test their OS because I believe in it so strongly that I don't have to see it with my own eyes. I believe in it because of their architectural direction compared to Linux+Wine's architectural direction. So I think I lean more towards the excited by the concept camp. But still I don't think my intentions clearly puts me in the same camp as those who truly wants to become OS devs. (I'm messy and complicated in my head.)




    Quote Originally Posted by MK27 View Post
    However, I'd like to point out there is a big difference between writing programs and applications for ReactOS vs, actually being someone who is writing ReactOS itself. In the later case, you are wasting your time learning about games and really do need to focus on C. I would imagine there are very few pro-level game developers who are also OS developers.
    I think I'll choose the first pill. That is to focus on C and ditch C++ from my tactics.
    Because I only saw Game programming as an inspiring way to learn C more quickly which turns out to be a bad idea. Because Game programming is the only thing I can associate to when thinking about C and C++ programming in general.
    Also my dream isn't to write programs and applications.

    My dream is to help those who can and truly wants to specialize in OS programming to be able to do so full time, without worrying about their financial situations. Preferably working on ROS code.





    Tactic 2
    So my new question is what should I replace step two with?
    What book is most appropriate for me a 3 year-old-newbie?
    What tactic do you recommend me, when it comes to learning and reaching the goal?


    1. Attend introductory C programming night course and learn the basics for C.
    2. ?
    3. Then do some easy ROS work like: finding bugs, fixing bugs, translations, etc. etc.
    Last edited by Witch; 03-19-2010 at 04:08 PM.

  4. #4
    Registered User
    Join Date
    May 2011
    Location
    Greece
    Posts
    1

    Finding and showing how to reproduce bugs maybe 1st step?

    3. Then do some easy ROS work like: finding bugs, fixing bugs, translations, etc. etc.
    I think bug reporting is difficult, but if you really want it I guess you will succeed doing it. Have you reported any bug/bugs before? Maybe that's a first step.

  5. #5
    Registered User
    Join Date
    May 2009
    Posts
    4,183
    One thing that is needed by most projects, is someone to confirm the bug really exists.
    Multiple step process.
    1. Confirm the bug is really new and is not just an already known bug.
    2. Confirm the steps to produce the bug.
    You might also write more detailed steps needed to reproduce the bug.
    You might try prior version of the ROS to see if the bug was recently introduced.

    Before trying to fix bugs, you need to do is compile ROS for yourself.
    And, figure out how to use your self compiled version of ROS to test your fixes.

    Non-Bug related stuff that might be useful include.
    Testing Useful Open Source Software under ROS and reporting how well it works.
    This include updating information on Software (already in the ROS List) running under the newest ROS.
    http://www.reactos.org/compat/

    Tim S.
    Last edited by stahta01; 05-29-2011 at 01:06 PM.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. How to pass a matrix/array from main to a function
    By Inukami in forum C Programming
    Replies: 7
    Last Post: 12-09-2009, 09:03 PM
  2. Linking to shlwapi.lib in C, MSVC CMD.
    By Joerge in forum Windows Programming
    Replies: 4
    Last Post: 08-07-2009, 05:18 PM
  3. Errors including <windows.h>
    By jw232 in forum Windows Programming
    Replies: 4
    Last Post: 07-29-2008, 01:29 PM
  4. Please Help - Problem with Compilers
    By toonlover in forum C++ Programming
    Replies: 5
    Last Post: 07-23-2005, 10:03 AM
  5. UNICODE and GET_STATE
    By Registered in forum C++ Programming
    Replies: 1
    Last Post: 07-15-2002, 03:23 PM