On Tuesday 06 November 2007 04:22:46 Omkar Raut wrote: > Its my pleasure to be part of Debian community. I joined this list > recently. I started using debian one year back. It has been a great > experience! I wish to extend my relationship with debian. Till now I > have been using this OS as a normal user.
There are two basic ways to help with Debian. One is to directly help Debian itself, by packaging and/or maintaining software for Debian, or by writing Debian-specific documentation, doing Debian-specific translation, or by doing Debian-specific bug triaging and fixing. If you want to get started doing these kinds of things within the Debian organization, a good place to start is <http://www.debian.org/devel/>. In particular, you'll want to read <http://www.debian.org/devel/join/> to get an overview, and then start with <http://www.debian.org/doc/maint-guide/> if you want to package software. Honestly, being an amazing programmer isn't critical for contributing to Debian. But with few exceptions, Debian is almost completely composed of software written not by Debian Developers themselves but by the large Free Software community, composed of numerous individuals and groups. Debian is an important part of this overall community, because Debian contributors help and improves software by packaging, bug reporting, bug fixing, etc. Given that most of Debian's software exists as it's own project, the other way to help--indirectly--with Debian is by contributing to the development of the software that Debian contains. See below for more. > I am a good C and C++ > programmer. I wrote small programs under gcc which were part of my > academic course. I am conversant with linux shell. Learning curve in > linux is very steep and I consider myself stuck in the midway. I have > no clues about how development of sophisticated softwares takes place, > especially using GUI(Qt,gtk etc.). I seek guidance from you on how to > start off with the development. Please advice me. Any suggestions for > using particular books, online tutorials, tools will greatly help me! Programming is an art. It takes knowledge, skill, creativity, and good taste. Knowing a language is part of programming, but becoming a good programmer takes a lot of time, practice, and usually a lot of slowly-assimilated niche knowledge about particular fields, protocols, methods, etc. Everyone learns best in different ways, but one good way to get started is to just start contributing: find a program that you use and like and are interesting in, and start contributing. Fix a minor bug that has been annoying you. Add a simple new feature that would be helpful. To get your fix to others, work directly with the community of whatever program you are focusing on, or--if you prefer--just submit your fixes through the normal Debian bug reporting channels. If you are interested in particular technologies maybe you just need to play and practice by writing some fun program on your own. Often you just need to do a little research to find out what software libraries or programs are out there that do what you want, then you need to go learn about them either so you can use them, or do something similar. For instance you mentioned GUI toolkits. Okay, for example, install Qt4 (libqt4-dev), and then head to <http://doc.trolltech.com/4.3/tutorial.html> and you'll be walked through how to make a simple game using C++ and Qt4. (Or better, use Python (python-qt4) <http://www.riverbankcomputing.com/Docs/PyQt4/pyqt4ref.html>.) Anyway, there is no "catch-all" way to go about starting, but if you are interested in some particular software, it's easier to give advice about where to start. The links about are one way to start learning Qt4, which is in my opinion one of the very best GUI toolkit in existance. There are lots of other good and popular GUI toolkits, however. Here is a list of a few: Qt4 -- http://trolltech.com/products/qt (e.g. used by KDE) GTK+ -- http://www.gtk.org/ (e.g. used by GNOME) FOX -- http://www.fox-toolkit.org/ Wx -- http://www.wxwidgets.org/ However, keep in mind that--like programming languages--the important thing about GUI programming is not just to learn one specific toolkit, but to learn the principles of GUI applications, which includes branching off into understanding other topics and concepts such as event-driven programming, callbacks, polymorphism, human-interface style, etc. Anyway, hope this gives you some good ideas. I'm sure others will chip in with more advice, especially if you ask some more specific questions. -- Wesley J. Landaker <[EMAIL PROTECTED]> <xmpp:[EMAIL PROTECTED]> OpenPGP FP: 4135 2A3B 4726 ACC5 9094 0097 F0A9 8A4C 4CD6 E3D2
signature.asc
Description: This is a digitally signed message part.