Learning programming and contributting to ROS

All development related issues welcome

Moderator: Moderator Team

Post Reply
TVA
Posts: 15
Joined: Mon Jan 02, 2017 8:08 pm

Learning programming and contributting to ROS

Post by TVA »

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.
ROCKNROLLKID
Posts: 307
Joined: Mon Oct 17, 2016 3:19 am
Contact:

Re: Learning programming and contributting to ROS

Post by ROCKNROLLKID »

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
Joefish
Posts: 2
Joined: Thu Jan 05, 2017 8:25 pm

Re: Learning programming and contributting to ROS

Post by Joefish »

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 :P

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.
hbelusca
Developer
Posts: 1204
Joined: Sat Dec 26, 2009 10:36 pm
Location: Zagreb, Croatia

Re: Learning programming and contributting to ROS

Post by hbelusca »

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...
Joefish
Posts: 2
Joined: Thu Jan 05, 2017 8:25 pm

Re: Learning programming and contributting to ROS

Post by Joefish »

Thanks alot hbelusca :)
TVA
Posts: 15
Joined: Mon Jan 02, 2017 8:08 pm

Re: Learning programming and contributting to ROS

Post by TVA »

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.
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.

Still, can anyone recommend me any lerning resources?
User avatar
Fraizeraust
Posts: 234
Joined: Thu Jan 05, 2017 11:46 am
Location: Italy
Contact:

Re: Learning programming and contributting to ROS

Post by Fraizeraust »

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/
a.k.a. GeoB99 -- ReactOS Kernel developer -- My Wiki page
vgal
Posts: 88
Joined: Mon Jan 26, 2015 7:38 am

Re: Learning programming and contributting to ROS

Post by vgal »

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
middings
Posts: 1073
Joined: Tue May 07, 2013 9:18 pm
Location: California, USA

Re: Learning programming and contributting to ROS

Post by middings »

Prices of used textbooks and technical books from Internet sellers are best during the period between college semesters.
TVA
Posts: 15
Joined: Mon Jan 02, 2017 8:08 pm

Re: Learning programming and contributting to ROS

Post by TVA »

@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
User avatar
Fraizeraust
Posts: 234
Joined: Thu Jan 05, 2017 11:46 am
Location: Italy
Contact:

Re: Learning programming and contributting to ROS

Post by Fraizeraust »

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
TVA
Posts: 15
Joined: Mon Jan 02, 2017 8:08 pm

Re: Learning programming and contributting to ROS

Post by TVA »

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?
ROCKNROLLKID
Posts: 307
Joined: Mon Oct 17, 2016 3:19 am
Contact:

Re: Learning programming and contributting to ROS

Post by ROCKNROLLKID »

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.
milon
Posts: 969
Joined: Sat Sep 05, 2009 9:26 pm

Re: Learning programming and contributting to ROS

Post by milon »

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
TVA
Posts: 15
Joined: Mon Jan 02, 2017 8:08 pm

Re: Learning programming and contributting to ROS

Post by TVA »

Thank you both.
Post Reply

Who is online

Users browsing this forum: No registered users and 20 guests