I want to start developing for linux - where to start
Linux - SoftwareThis forum is for Software issues.
Having a problem installing a new program? Want to know which application is best for the job? Post your question in this forum.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
I want to start developing for linux - where to start
I really want to get into developing for linux. I really don't know where to start. What are some categories like software or drivers or something. I know some programming and whatever suggestions that would work, i would be willing to go more in depth to that language
So you just want to start developing for Linux in general? It would really help if you had a project in mind, as that would narrow down what sort of languages and libraries you should be looking into. As it stands, there are many different ways to develop on/for Linux.
If You would like to have a general idea what You can do in Linux, I would suggest the book:
Beginning Linux Programming
Neil Matthew, Richard Stones
ISBN: 978-0-470-14762-7
I have the first edition and I still use it very often. It was simple enough to understand back in days when I had any knowledge of programming at all.
Or you might check out the free online books at http://www.freebookcentre.net/UnixCa...-Download.html and see what takes your fancy. Many areas of programming are not specific to the OS though. For example Java is designed to be platform independent as are many database centred programming environments.
There's no shortage of OSS projects looking for developers. Perhaps you could browse http://sourceforge.net/, see which projects you like, see which language(s) they are using and get yourself enough up to speed in those languages to be useful.
Or you could learn about development by volunteering as a tester, working up to bug administration then seague into bugfix coding (great for learning, because you see so much and so different code) and on to actual development ...
Well thats why I did post I had no idea what I could join. I know the basics of most programming languages. Maybe I just want to make gui applications. Would that require learning Qt or Gtk and C/C++ ?
Last edited by itsbrad212; 11-28-2009 at 08:05 AM.
As it stands, there are many different ways to develop on/for Linux.
I would really like to see various similar packages for other developer environments. There is a "meta package" to install and activate XAMPP or LAMPP web server environment. Why not do something similar for C++ or Mono or Java or "kernel" or "drivers."
Our package managers coordinate the various library and application dependencies so that one gets all of the supporting players when one installs a favorite application. Where is a tool for developers where someone says, "I want to develop for XXX" and the tool facilitates collecting and organizing all of the programmer-workbench parts. The tool might understand that a given developer community uses emacs vs. vim vs. eclipse for editing and cvs vs. subversion for management.
{I just threw some examples. I don't want flame about editors or management tools.}
For the veteran programmer who wants to start working in the linux world, is it important that folks climb the learning curve that is tracking down all of the tools and utilities at the same time that they clime the learning curve of their chosen project(s) programmer and community practices.
Perhaps C/C++ would be better to come back too if you've touched on it before and it will give you the familiar syntax of PHP. But i do both Web Design freelance and Python programming fluently and there fairly easy to seperate in my mind when working on projects. As suggested browse for a specific project your REALLY interested in(If your not you'll just lose interest and fail to be useful and productive), then make your self familiar with the projects, its released versions, the code behind its released versions, maybe begin bug testing and get yourself familiar with the languages they use and the structure of there development process. Best of luck!
Perhaps C/C++ would be better to come back too if you've touched on it before and it will give you the familiar syntax of PHP. But i do both Web Design freelance and Python programming fluently and there fairly easy to seperate in my mind when working on projects. As suggested browse for a specific project your REALLY interested in(If your not you'll just lose interest and fail to be useful and productive), then make your self familiar with the projects, its released versions, the code behind its released versions, maybe begin bug testing and get yourself familiar with the languages they use and the structure of there development process. Best of luck!
Thank you. That was helpful. Do you know any examples of python or c++ coded projects? (I know there are TONS out there, but I want to find one that I could understand) ^^
Everyhting is open source, grab them and take a look
Buyt the link I posted above is a good way to get started with Qt/KDE. If you are looking to make a GTK apps, look elsewhere.
+1 and as someone mentioned above you can browse through sourceforge or other project sites, i havn't really participated in any team projects lately but u can browse around and if it sounds interesting, grab the source and see if its something you'd be interested in working on. I'll google around a bit later today and maybe post back some interesting projects, but as stated it will take research, time, and learning on your part as well and takes dedication to really be successful at team based volunteer projects.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.