Programming Languages are how people give instructions to the computer. For info see this wikipedia article∞.
Puppy has a few built-in, and more can be added
The code that a computer executes is binary, 0's and 1's. Humans have great difficulty creating such code directly so we use programming languages to create the binary code.
Assembler is a symbolic language humans use to represent each computer instruction, one at a time, which is translated into binary code.
Macro Assembler uses more powerful constructions that can generate multiple machine instructions from one line of code.
Interpreters are high-level languages that are translated and executed line-by-line. This is a quick way to develop a program, but the execution is not as efficient. (examples are Java, Ruby, and Python)
Compilers are high-level languages that are translated into computer code for later execution. (examples are C, C++, Fortran, BASIC) Compiling Help
Shell Scripting Languages are not compiled and are a subset of Interpreted Languages. They are used throughout puppy for many tasks. (examples Bash, Ash)
PuppyBASIC - PuppyBackground, PBcdripper, Puppysearch, PBrename
Tcl/tk - Tkdvd, Pvolume, TKmines, TKdiff
Perl program using Gtk: http://www.murga.org/~puppy/viewtopic.php?t=3755∞
Java - jrisk.pup∞
Shell Scripting - Puppy makes intensive usage of the scripting capabilities of the bash-shell.
C with GTK1 - Gcrontab, Gtkfind, Gtksee, Dillo, SSH gui, Turma, uxplor, xpdq, Xproc.
Currently there is no formalized method to contribute code to Puppy. If you want to contribute code just make a post on the forum.
If you would like to help find bugs in Puppy, there is a Mantis bug tracker for Puppy. It is currently only semi-official to the best of my knowledge.
forum link∞ - link to bugtracker∞
If you want to program in C then you will need devx_214.sfs (if you are using Puppy2.14)
See Compiling for more info about setting up your environment.
PuppyBasic - you're pretty much all set, just check the PuppyBasic page for more help
Tcl/Tk - You're pretty much alll set also. Check the Tcl/Tk page for more help.
IDEs: (Integrated Development Environments)
KDE has Kdevelop
http://www.kdevelop.org/∞
Unfortunately, KDE is quite huge, so not by default in Puppy.
This might be a good alternative (no package yet):
http://women.kde.org/articles/tutorials/kdevelop3/∞
Qt Designer can use QT without the additional KDE libraries.
KDE is a desktop based on QT, but also requiring additional libraries.
An example for a QT application without KDE libraries is the webbrowser Opera.
A "classic" way to write programs for Puppy would be C / Gtk.
Tutorials see http://gtk.org∞
There also is a "visual" tool:
http://glade.gnome.org/∞
But we have no package for Puppy yet, as most of the programs made for Puppy are based on dialogs/scripts.
Also Glade might require a full Gnome installation (not sure though), while Puppy only uses the smaller Gtk subset.
Gnome is a desktop based on the Gtk libraries and many additional Gnome-libraries.
We only have a testversion of Gnome, it is too bloated to be seriously maintained by us.
http://www.murga.org/~puppy/viewtopic.php?t=9599&highlight=gnome∞
An enhanced editor/IDE without visual designer:
http://www.murga.org/~puppy/viewtopic.php?t=9077&highlight=mingw∞
http://www.murga.org/~puppy/viewtopic.php?t=4413∞
for a gui designer for tcl there's visual tcl:
http://vtcl.sourceforge.net/∞
Languages IN Puppy: