Programming Languages are how people give instructions to the computer.
Puppy has a few built-in, and more can be added
- C - Many programs are written using C. Plus they don't need any interpreter
- Bash Shell Scripting - Is used extensively in Puppy.
- Note: Puppy can run programs made with these languages, but to write with them you may need other files.
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 and compiled BASIC's) Compiling Help
The development process may be slower and more tedious, but this maximizes execution speed.Shell Scripting Languages are not compiled and are a subset of Interpreted Languages. They are used throughout puppy for many tasks and programs. (examples Bash, Ash)
- C is very common for programs using the Gtk toolkit (the Gnome equivalent of the Win32 API).
- C++ is very common for programs using the QT toolkit (the KDE equivalent of the Win32 API).
C and C++ are the core languages used for writing Linux itself.
- Python, Perl, Ruby, Java - are not used by Puppy but may be used by some applications. Including them in Puppy would make Puppy bloated.
- Shell Scripting (Bash/ash) - Puppy uses the bash-shell for a lot of its scripting needs.
- LuaProgramming MurgaLua - Based on LuaProgramming Lua, Overview of Lua on wikipedia
Puppy used Murga Lua starting in 2.16 for a few versions to include a potential control panel.
- LuaProgramming MurgaLua is a scripting language that provides nice GUI's, Networking, Databases & XML in a small runtime (about 500k).
- Lua makes it easy to create rich applications easily (preferably with a GUI builder)
- Lua can deploy to both Linux and Windows with no changes to the code.
- Lua isn't a completely cryptic and propriety language.
- TclTk Tcl/Tk - used in several Puppy's for The drive mounter MUT.
- Freebasic is an open source BASIC compiler wikipedia link but has been replaced with Bacon
PuppyBASIC - PuppyBackground, PBcdripper, Puppysearch, PBrename
TclTk Tcl/tk - Tkdvd, Pvolume, TKmines, TKdiff
Perl program using Gtk: http://www.murga.org/~puppy/viewtopic.php?t=3755
Java - jrisk.pup
- java is not that commonly used in Puppy but there are some nice applications which would work.
examples: Network wizard, Pmount, Soxgui, Grafburn, Pfind, PbackupC with GTK1 - Gcrontab, Gtkfind, Gtksee, Dillo, SSH gui, Turma, uxplor, xpdq, Xproc.
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
IDEs: (Integrated Development Environments)
KDE has Kdevelop
Unfortunately, KDE is quite huge, so not by default in Puppy.
This might be a good alternative (no package yet):
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 web browser 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/ which is in the devx
An enhanced editor/IDE without visual designer:
for a gui designer for tcl there's visual tcl: