As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 9 years ago.
What would be the best language if I want to develop a range of Linux related things. I want to make kernel patches, Linux programs, contribute with other projects, etc. Where and with which language do I start?
The best way to decide which language is going to be useful to you is to look at the source for the projects to which you wish to contribute. Take a look around popular code repositories, such as github, google-code and sourceforge.
Diving into a language like python may be useful for some scientific projects, but not at all useful for something low-level like linux-kernel development.
I want to make kernel patches
The Linux kernel source tree is currently:
96.5 % c
2.2% assembly
1.3% "other" (documentation and makefiles, presumably).
So start with The C Programming Language and go from there!
Good luck!
You should know C (for kernel patches) and Bash (so you can actually use Linux). Maybe also Python (for general scripting).
If you want to do kernel work and a variety of other Linux core things, then C (followed by C++) would be your starting point. You also need to throw in a healthy does of bash shell programming. And gcc is the compilation tool of choice. The kernel is nearly all C and a lot of apps use C++
Learning Python is a good start, if you are familiar with Object Oriented programming. Shell scripting can help you a lot too.
Related
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
Can any one suggest me how to become a linux device driver programmer.
I have many doubts as I am working as software engineer in a company (1+ yr experience ).Our project is done using C,c++ in linux and windows both,I am working in C,C++ and using Visual studio and Linux GCC for my project.Our project is mainly on remote management of servers and systems.
I am very interested linux kernel-device driver programming .
can any one tell me what is good for me,and how to start I got some books (LDD 3ed ,etc ) but only reading book is sufficient or I have to get some training.
what about this driver programming future and scope.
Kindly tell some suggestion.
Thanks
The LDD O'Reilly book is really good (Rubini et all), Also take a look at the LXR project:
http://lxr.linux.no/
It is a great cross-linked reference of the kernel source. Reading over current driver code is probably the best way to become acquainted.
The best way to learn any language or coding style is to read as much code as you can. Compile it, modify it, crash the kernel, and just play around. Kernel drivers are my personal favorite thing to write, you have a lot of exciting stuff to see!
Good luck!
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
Which IDE is best for coding in C/C++ in Linux which offers the following:
debugging
code completion
tooltips / documentation (function definitions)
Also if the IDE can be used in general for Python and Perl coding it would be the best choice available.
My personal favorite is KDevelop. I've never used its debugger (I use straight gdb) but its code completion and documentation viewers are excellent. One of the best you'll every find. Also, it's not written in Java but C or C++, so it runs faster on worse systems.
I typically use Eclipse. It has good support for C/C++ via CDT. It has all the features that you are requesting. It has also support for python via a plugin called pydev. For perl you have epic.
Moreover, there are many more plugins available. Just a brief list:
SVN integration
Support for many linux tools (autotools, valgrind, gcov, gprof, etc.)
Application lifecycle (Mylyn)
Feel free to check answers for a similar question in stackoverflow too.
And wikipedia always comes handy. Here you have a comparison of many IDEs, grouped by programming language.
I prefer QtCreator for C++ development. It is tightly coupled to programming using the Qt toolkit (which I occasionally require), but works well for more "generic" programs. I particularly like its great support for CMake. Of course qmake is supported as well. In addition to this the QtCreator is platform-independent and has built-in support for several version control systems, including SVN and git. Last, but not least, its debugging capabilities are great (although I sometimes prefer using gdb manually).
Edit: To clarify: QtCreator neither supports Python nor Perl. It is meant for C/C++ programming only. For Perl, I personally like the vim editor best (using nothing but the normal syntax highlighting; I am a bit of a purist there). For Python, I cannot recommend anything and hope my fellow stackoverflowers will step in :)
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
I've written a C-app on Linux, but I didn't know about "make" to auto compile, just write code with Vim and manually compile my app.
Which tools, utilities that a programmer should learn to be more productive on Linux?
I know git, diff, batch, make. Can you suggest more? thanks
(more specific, what tools for C, Python, Java programming)
PS: sorry for my bad English.
You could learn more by looking into how actual free Linux software are. So try for instance to retrieve and build from its source code some utility like e.g. GNU make
You could also use GNU emacs instead of vim. It is a matter of taste (sort of "religious wars"). The main difference is that emacs users are doing all from emacs.
You could try Netbeans an IDE for writing codes?
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
I apologize if this is off topic. Please close if it is.
I want to get in to a bit of Linux application development. What programming language are the majority of GUI apps made in?
It usually largely depends on the DE (desktop environment) you are focusing on; each usually has one GUI toolkit that it's using the most.
For instance, GNOME mostly uses GTK+; and since GTK+ is written in C, many Linux GTK+ GUI apps use that, but there are also bindings to other languages, like Python, which I've also seen used often. And there are bindings for other languages too.
On the other hand you have KDE, which is mostly based on Qt; and, since Qt is written in C++, most apps using Qt are also written in C++.
However, honestly the choice of language doesn't matter much; it's more the toolkit that matters. I'd pick the one your DE uses, and then choose one of the languages it supports.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
Apart from C, C++, Delphi, VB, can you put an example of a relatively "modern" COMPILED* programming language* supporting things like OO, collections, GUI libraries?
Please do not mention experimental or academic only languages, I'm looking for something used in the real world, for PCs 80x86, and I don't mind about the OS.
Thanks!
*UPDATED: Compiled to native code.
*DISCLAIMER:
For language understand language implementation.
For compiled to native code understand not interpreted.
Haskell.
Source: http://www.realworldhaskell.org/
Cython. Compiles to native code, is used in high performance computing, both academic and commercial, and is used to implement LXML. GUI libraries include all those available for Python.
Also, Objective-C. That's now one of the most popular programming languages.
Wikipedia has a lot: http://en.wikipedia.org/wiki/Comparison_of_programming_languages