Programming on Linux ...

Using applications, configuring, problems
Post Reply
Message
Author
cwmoser
Posts: 20
Joined: Sat 01 Oct 2005, 14:54

Programming on Linux ...

#1 Post by cwmoser »

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

User avatar
MU
Posts: 13649
Joined: Wed 24 Aug 2005, 16:52
Location: Karlsruhe, Germany
Contact:

#2 Post by MU »

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

User avatar
rarsa
Posts: 3053
Joined: Sun 29 May 2005, 20:30
Location: Kitchener, Ontario, Canada
Contact:

Re: Programming on Linux ...

#3 Post by rarsa »

cwmoser wrote:My programming experience on Windows is Visual Studio .NET. Is there something similar for Linux?
The good news
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

User avatar
Pizzasgood
Posts: 6183
Joined: Wed 04 May 2005, 20:28
Location: Knoxville, TN, USA

#4 Post by Pizzasgood »

Pretty much every language you can use in Windows you can use in Linux.
I've even run Basic4GL with WINE in Puppy. :)
[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]

User avatar
Lobster
Official Crustacean
Posts: 15522
Joined: Wed 04 May 2005, 06:06
Location: Paradox Realm
Contact:

#5 Post by Lobster »

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
Puppy Raspup 8.2Final 8)
Puppy Links Page http://www.smokey01.com/bruceb/puppy.html :D

User avatar
Flash
Official Dog Handler
Posts: 13071
Joined: Wed 04 May 2005, 16:04
Location: Arizona USA

#6 Post by Flash »

If you're interested in the programming opportunities Linux offers, don't miss this post about an online Bash scripting guide. From the little of it I've read, the guide seems very well written.

muggins
Posts: 6724
Joined: Fri 20 Jan 2006, 10:44
Location: hobart

#7 Post by muggins »

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.

Post Reply