Learning programming and contributting to ROS
Moderator: Moderator Team
Learning programming and contributting to ROS
So I been interested in learning programming specially to contribute to React OS and similar projects.
So if I wish to contribute I should ask the people here what should I do beside just reading a book on C language programming, I know that I have to learn how to optimize code, how to black box and other stuff like that.
So if I wish to contribute I should ask the people here what should I do beside just reading a book on C language programming, I know that I have to learn how to optimize code, how to black box and other stuff like that.
-
- Posts: 307
- Joined: Mon Oct 17, 2016 3:19 am
- Contact:
Re: Learning programming and contributting to ROS
Well first you are going to have to know how to actually code in C. Programming it not something you are going to learn in a day, or a month. Programming takes years to master.
If this is your first time coding, then I would recommend that you start with something small first, as coding a operating system, especially the NT kernel, is probably the hardest thing you can do in programming.
If you absolutely seriously want to code for ReactOS sooner, then you are going to have to know how ReactOS is built and know how to compile it from source, as that is step 1 for coding for, well, any software. Check out here: https://www.reactos.org/wiki/Building_ReactOS
There are probably some small, more simple issues you can do in ReactOS. Check out the JIRA and see if there is anything you think you can take on. Big or small, we all would appreciate it. https://jira.reactos.org/secure/Dashboard.jspa
If this is your first time coding, then I would recommend that you start with something small first, as coding a operating system, especially the NT kernel, is probably the hardest thing you can do in programming.
If you absolutely seriously want to code for ReactOS sooner, then you are going to have to know how ReactOS is built and know how to compile it from source, as that is step 1 for coding for, well, any software. Check out here: https://www.reactos.org/wiki/Building_ReactOS
There are probably some small, more simple issues you can do in ReactOS. Check out the JIRA and see if there is anything you think you can take on. Big or small, we all would appreciate it. https://jira.reactos.org/secure/Dashboard.jspa
Re: Learning programming and contributting to ROS
Sorry for hijacking this thread but my question is complementary to the answer ROCKNROLLKID already gave,
so I thought opening another thread is just a waste of space
Contrary to OP I have been programming in C/C++ for quite some time and have some WinAPI experience.
But when it comes to kernel hacking and windows architecture I'm quite lost.
I guess Russinovich's Windows Internals are a good starting point to get an overview?
Also, there seems to be plenty of information about driver development on the internet but multiple different acronyms
like DDK, VxD, VDM, ... that I'm not sure where to start reading..
I guess my question is, what resources are most fitting to get into kernel / driver dev for ReactOS, considering that the
newer materials for Win7/8 might be incompatible.
so I thought opening another thread is just a waste of space
Contrary to OP I have been programming in C/C++ for quite some time and have some WinAPI experience.
But when it comes to kernel hacking and windows architecture I'm quite lost.
I guess Russinovich's Windows Internals are a good starting point to get an overview?
Also, there seems to be plenty of information about driver development on the internet but multiple different acronyms
like DDK, VxD, VDM, ... that I'm not sure where to start reading..
I guess my question is, what resources are most fitting to get into kernel / driver dev for ReactOS, considering that the
newer materials for Win7/8 might be incompatible.
Re: Learning programming and contributting to ROS
Windows Internals 4th (which treats about Win2k3 which is our target): you can find it in PDF on the internet. Then, there's the "Programming the Microsoft Windows Driver Model (2nd edition)" (by Walter Oney). And some links in https://en.wikibooks.org/wiki/Windows_P ... troduction . And the CodeProject series "Driver Development": https://www.codeproject.com/Articles/95 ... to-Drivers etc...
Re: Learning programming and contributting to ROS
Thanks alot hbelusca
Re: Learning programming and contributting to ROS
Yes, this'll be my first time coding, I can imagine why will contributting to ROS will be hard. I will do simpler stuff to become more experienced and contribute to other projects but contributing o ROS will always be my objective.ROCKNROLLKID wrote:Well first you are going to have to know how to actually code in C. Programming it not something you are going to learn in a day, or a month. Programming takes years to master.
If this is your first time coding, then I would recommend that you start with something small first, as coding a operating system, especially the NT kernel, is probably the hardest thing you can do in programming.
Still, can anyone recommend me any lerning resources?
- Fraizeraust
- Posts: 234
- Joined: Thu Jan 05, 2017 11:46 am
- Location: Italy
- Contact:
Re: Learning programming and contributting to ROS
I got a bit in touch with the C language and its prime basics and found that it isn't that difficult to comprehend the language fundamentals. However I can feel the sensation of a big pain when you attempt to master even deeper with it. As far it goes, ReactOS is currently developed in C and C++ thus only these two languages are your MAIN priority. Here I can give you some tutorials to learn to get all the knowledge required of C and C++.
C Tutorial - Tutorialspoint (really helpful, I recommend this)
C Tutorial - Learn Cprogramming.com
Learn C - Free Interactive C Tutorial (this one contains also an online compiler)
C++ Tutorial Language
C++ Tutorial - Tutorialspoint
Furthermore, I have got an IDE tool which is useful for total beginners. Kinda old and didn't get any current updates but it's stable and has MinGW by default.
Normally it's recommended to not use an IDE if you want to get everything in control according by some experts/tutorials but it does not hurt to give a try.
http://www.codecutter.net/tools/quincy/
C Tutorial - Tutorialspoint (really helpful, I recommend this)
C Tutorial - Learn Cprogramming.com
Learn C - Free Interactive C Tutorial (this one contains also an online compiler)
C++ Tutorial Language
C++ Tutorial - Tutorialspoint
Furthermore, I have got an IDE tool which is useful for total beginners. Kinda old and didn't get any current updates but it's stable and has MinGW by default.
Normally it's recommended to not use an IDE if you want to get everything in control according by some experts/tutorials but it does not hurt to give a try.
http://www.codecutter.net/tools/quincy/
a.k.a. GeoB99 -- ReactOS Kernel developer -- My Wiki page
Re: Learning programming and contributting to ROS
For the first time:
Operation priorities in C/C++ - http://www.viva64.com/en/t/0064/ (and link on Wikipedia at the bottom)
C++ Numbers and Operators - https://msdn.microsoft.com/en-us/librar ... s.85).aspx
Operation priorities in C/C++ - http://www.viva64.com/en/t/0064/ (and link on Wikipedia at the bottom)
C++ Numbers and Operators - https://msdn.microsoft.com/en-us/librar ... s.85).aspx
Re: Learning programming and contributting to ROS
Prices of used textbooks and technical books from Internet sellers are best during the period between college semesters.
Re: Learning programming and contributting to ROS
@Fraizeraust @vgal
Thank you very much.
Should I go ahead and start with these materials or should I mind something else before doing so? Like a more generalized text
Thank you very much.
Should I go ahead and start with these materials or should I mind something else before doing so? Like a more generalized text
- Fraizeraust
- Posts: 234
- Joined: Thu Jan 05, 2017 11:46 am
- Location: Italy
- Contact:
Re: Learning programming and contributting to ROS
It should be quite enough for you to start learning these languages. Once you've acquired all the basic knowledge and you are pretty confident in you that you can cope with the difficultness while developing a program for example by writing big chunk of code, you can start watch some of ReactOS tutorials of how you build a program or helping the team with the development. I wish big lucks!
a.k.a. GeoB99 -- ReactOS Kernel developer -- My Wiki page
Re: Learning programming and contributting to ROS
So I found a book that I like, I'm doing the challenges and I've made some simple programs but I've run with some issues that I can't solve by myself.
Where can I get help? Or should I just continue and correct my mistakes later on?
Where can I get help? Or should I just continue and correct my mistakes later on?
-
- Posts: 307
- Joined: Mon Oct 17, 2016 3:19 am
- Contact:
Re: Learning programming and contributting to ROS
You can move the projects to GitHub. GitHub has some debugging tools you can use to help find bugs. It will also allow use to view the source code and send pull request to help you along the way.
https://github.com/
You can also look up some static analyze tools for C coding, which could help.
https://github.com/
You can also look up some static analyze tools for C coding, which could help.
Re: Learning programming and contributting to ROS
https://stackoverflow.com is a good place to ask for programming help. And someone else has probably asked the very same questions, so search for related keywords and see what pops up.
EDIT - Also, this thread about C/C++: viewtopic.php?f=9&t=16236&view=unread#p124929
EDIT - Also, this thread about C/C++: viewtopic.php?f=9&t=16236&view=unread#p124929
Re: Learning programming and contributting to ROS
Thank you both.
Who is online
Users browsing this forum: Bing [Bot] and 25 guests