What programming languages are most useful on Linux?
To contribute to the community, it is helpful to know one or more of the following languages:
* Bash schell scripting. This may be the easiest language to learn in Linux, and it is very powerful. Bash scripts are used throughout most Linux systems
to control practically everything.
Bash Guide for Beginners
Main Page - Linux Shell Scripting Tutorial - A Beginner's handbook
GNU Bash Reference Manual
* C. Most programs in Linux are written in C, including atk, at-spi, and speech-dispatcher, which are used for connecting screen readers to the system.
Speakup, and GTK+, the Gnome GUI library, are also written in C.
* Python. Many programs in Gnome are written in Python and use the pygtk bindings if they need GUIs. Orca, the Gnome screen reader, is written entirely
* C++. Some applications, like espeak, the default TTS engine, are written in C++. Some GUI engines, like Qt and wxWidgets, are also in C++.
Before developing on Linux, make sure you like programming. Linux is considered by many hackers to be the happiest place to code. It is a wonderful operating
system (OS) for hackers, where you will experience freedom unlike anything in Windows. However, unless you absolutely love programming, Linux may just
drive you nuts.
There are suggestions elsewhere in this FAQ for getting started in programming on Windows, which you should probably follow first. Right now, while Linux
is fairly accessible, it's currently better for blind programmers than for general blind users. Once you feel you've learned enough to start contributing,
then feel free to jump right into almost any Linux project. There are literally thousands of them, and being blind will not hold you back from contributing
in most cases.
Decide how you want to interact with Linux. For example, if you're going to use JAWS to controll a shell, JAWS email lists can help. If you want to boot
directly into a Linux console and do your work there, you can get help on the speakup list. If you want to use the Gnome desktop, the Vinux mailing list
is friendly to newbie questions, and generally can help you get started. If you want to help improve Linux accessibility, the Vinux project is looking