What is the programming environment like under Linux? I'm new to Linux but do have Puppy running on CDROM.
My programming experience on Windows is Visual Studio .NET. Is there something similar for Linux? For Puppy? I've programmed in C on Unix in the past which was basically command line - i.e. cc file -o a.out
Do most Linux programmers use C, C++, Java, ???
Coming from a Windows background, I was wondering what programming is like under Linux.
Thanks
CW
Programming on Linux ...
terminology: toolkit is the equivalent of the Win32 API (=Application Programming Interface). For Linux, more than one is available.
Gnome: a desktop environment.
KDE: a desktop environment.
Languages:
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).
Both APIs have bindings to other languages like Python, Perl, Ruby.
Example of a Perl program using Gtk: http://www.murga.org/~puppy/viewtopic.php?t=3755
Java is not so common, though there are some nice applications already.
Puppy makes intensive usage of the scripting capabilities of the bash-shell.
http://www.murga.org/~puppy/viewtopic.php?t=11778
It has no grafical API, but you can use "dialog" in several versions, which is a set of pre-defined windows like a input-box.
Puppy also has more and more tools written in Puppybasic, which uses the same approach.
It is a Basicdialect, that I enhanced with some new functions (based on wxBasic).
http://puppylinux.org/wikka/PuppyBasic
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 shure 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.p ... ight=gnome
An enhanced editor/IDE without visual designer:
http://www.murga.org/~puppy/viewtopic.p ... ight=mingw
http://www.murga.org/~puppy/viewtopic.php?t=4413
Another language used for Puppy is Tcl/Tk.
The drive mounter MUT uses it.
http://puppylinux.org/wikka/TclTk
Mark
Gnome: a desktop environment.
KDE: a desktop environment.
Languages:
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).
Both APIs have bindings to other languages like Python, Perl, Ruby.
Example of a Perl program using Gtk: http://www.murga.org/~puppy/viewtopic.php?t=3755
Java is not so common, though there are some nice applications already.
Puppy makes intensive usage of the scripting capabilities of the bash-shell.
http://www.murga.org/~puppy/viewtopic.php?t=11778
It has no grafical API, but you can use "dialog" in several versions, which is a set of pre-defined windows like a input-box.
Puppy also has more and more tools written in Puppybasic, which uses the same approach.
It is a Basicdialect, that I enhanced with some new functions (based on wxBasic).
http://puppylinux.org/wikka/PuppyBasic
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 shure 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.p ... ight=gnome
An enhanced editor/IDE without visual designer:
http://www.murga.org/~puppy/viewtopic.p ... ight=mingw
http://www.murga.org/~puppy/viewtopic.php?t=4413
Another language used for Puppy is Tcl/Tk.
The drive mounter MUT uses it.
http://puppylinux.org/wikka/TclTk
Mark
Re: Programming on Linux ...
The good newscwmoser wrote:My programming experience on Windows is Visual Studio .NET. Is there something similar for Linux?
Mono is a .NET implementation under Linux. http://www.mono-project.com. Several distributions fully support Mono (SuSE, Fedora, etc)
There are .NET development tools under Linux. There is a Graphical Development environment called Monodevelop.
The bad news
As you may well know, .NET requires a huge framework. In windows the framework depends on the Windows API, In Linux case, that framework depends on Gnome if you want to write Graphical applications.
As far as I know no-one has compiled Mono for Puppy due to the numerous dependencies.
The expectations
The VS.NET environment is an awesome and highly productive development environment. IMHO Microsoft hired the best development environment architect to do it. At the present time you won't find a development environment as powerfull well integrated and complete under linux. The closest would be Eclipse http://www.eclipse.org which has plugins for many different languages.
Of course you can code in VS.NET under windows and have your applications run under Linux.
Other languages
In linux most people code either in C or C++ for compiled languages and Perl, Python, PHP, Ruby, and many other scripting languages, Borland even made a port of Delphi called Kylix. Pretty much every language you can use in Windows you can use in Linux.
Eclipse is in my own opinion the best Java development environment but I haven't seen anyone use it in Puppy either.
So, it all depends on what you want to do.
[url]http://rarsa.blogspot.com[/url] Covering my eclectic thoughts
[url]http://www.kwlug.org/blog/48[/url] Covering my Linux How-to
[url]http://www.kwlug.org/blog/48[/url] Covering my Linux How-to
- Pizzasgood
- Posts: 6183
- Joined: Wed 04 May 2005, 20:28
- Location: Knoxville, TN, USA
I've even run Basic4GL with WINE in Puppy.Pretty much every language you can use in Windows you can use in Linux.
[size=75]Between depriving a man of one hour from his life and depriving him of his life there exists only a difference of degree. --Muad'Dib[/size]
[img]http://www.browserloadofcoolness.com/sig.png[/img]
[img]http://www.browserloadofcoolness.com/sig.png[/img]
- Lobster
- Official Crustacean
- Posts: 15522
- Joined: Wed 04 May 2005, 06:06
- Location: Paradox Realm
- Contact:
Very nice explanation from Mark
I have put it on the wiki
(needs some formatting)
Some more details from the wiki
http://puppylinux.org/wikka/ProgrammingLanguage
XUL - built into Mozilla - I think this has great potential for Puppy but am too stupid to implement . . . Byzantine OS uses this
SVG - similar to actionscript - seen a tetris game written in this at croczilla. . .
javascript - thus of course Ajax (the present hyped language)
Actionscript - well there is openflash and wink but no one is programming directly in this
awk - Language for processing text-based data, generating reports etc. with a c-like syntax.
sed - StreamEDitor: read textfile line by line and apply changes from a script.
Postscript/Ghostscript is a language, and could proably do a lot more than just page layout if given half a chance.
http://wiki.linuxquestions.org/wiki/Postscript
Perl - pupget
Java - command line version available somewhere
Ruby - With Qemu Puppy
[[PythonProgramming Python]] - available from grafpup
Xbasic - just go to website and install - GUI code also runs on Windows
Gambas - I loved this but no one else was keen
RealBasic - now free - not got this working John Murga may have done so?
ASQ - pre alpha design stage - Lobster insanity
X11 Basic (was a potential Puppy Basic - never got used)
I am designing ASQ in Puppy but am awaiting Quantum computers
and day release from my psychiatric team
(at the moment I am kept sedated in a maximum security psychiatric cupboard for cructaceans)
http://tmxxine.com/Wikka/wikka.php?wakk ... evelopment
I have put it on the wiki
(needs some formatting)
Some more details from the wiki
http://puppylinux.org/wikka/ProgrammingLanguage
XUL - built into Mozilla - I think this has great potential for Puppy but am too stupid to implement . . . Byzantine OS uses this
SVG - similar to actionscript - seen a tetris game written in this at croczilla. . .
javascript - thus of course Ajax (the present hyped language)
Actionscript - well there is openflash and wink but no one is programming directly in this
awk - Language for processing text-based data, generating reports etc. with a c-like syntax.
sed - StreamEDitor: read textfile line by line and apply changes from a script.
Postscript/Ghostscript is a language, and could proably do a lot more than just page layout if given half a chance.
http://wiki.linuxquestions.org/wiki/Postscript
Perl - pupget
Java - command line version available somewhere
Ruby - With Qemu Puppy
[[PythonProgramming Python]] - available from grafpup
Xbasic - just go to website and install - GUI code also runs on Windows
Gambas - I loved this but no one else was keen
RealBasic - now free - not got this working John Murga may have done so?
ASQ - pre alpha design stage - Lobster insanity
X11 Basic (was a potential Puppy Basic - never got used)
I am designing ASQ in Puppy but am awaiting Quantum computers
and day release from my psychiatric team
(at the moment I am kept sedated in a maximum security psychiatric cupboard for cructaceans)
http://tmxxine.com/Wikka/wikka.php?wakk ... evelopment
also there's john murga's murgaLua:
http://www.murga.org/%7Epuppy/viewtopic ... hlight=lua
for a gui designer for tcl there's visual tcl:
http://vtcl.sourceforge.net/
this link mentions kylix on puppy:
http://www.murga.org/%7Epuppy/viewtopic ... ight=kylix
mu mentions glade, and whether they would need full gnome. i've got gnome & gnome3 working on my computer, without full gnome.
also wxhatch works for wx widgets:
http://biolpc22.york.ac.uk/wx/wxhatch/help/
as a gui frontend for g++ there's also the ultimate compiler:
http://upp.sourceforge.net/
i've also got newlisp, with a tcl frontend, on my system.
of course, being the slacker that i am, i haven't done anything productive with any of them. i'm looking forward to summer hols to actually doing something useful.
http://www.murga.org/%7Epuppy/viewtopic ... hlight=lua
for a gui designer for tcl there's visual tcl:
http://vtcl.sourceforge.net/
this link mentions kylix on puppy:
http://www.murga.org/%7Epuppy/viewtopic ... ight=kylix
mu mentions glade, and whether they would need full gnome. i've got gnome & gnome3 working on my computer, without full gnome.
also wxhatch works for wx widgets:
http://biolpc22.york.ac.uk/wx/wxhatch/help/
as a gui frontend for g++ there's also the ultimate compiler:
http://upp.sourceforge.net/
i've also got newlisp, with a tcl frontend, on my system.
of course, being the slacker that i am, i haven't done anything productive with any of them. i'm looking forward to summer hols to actually doing something useful.