topbanner_forum
  *

avatar image

Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
  • Friday December 13, 2024, 4:00 am
  • Proudly celebrating 15+ years online.
  • Donate now to become a lifetime supporting member of the site and get a non-expiring license key for all of our programs.
  • donate

Last post Author Topic: Programming in the Linux operating system: where to start?  (Read 29983 times)

wreckedcarzz

  • Charter Member
  • Joined in 2005
  • ***
  • Posts: 1,626
    • View Profile
    • Donate to Member
I have recently made a somewhat successful (and exciting) attempt to switch to the Linux operating system, and have chosen to use Xubuntu with the Xfce 4 desktop environment to let me get a good solid chance this time around (I have tried many Linux distributions before, but this one seems to just "work" for me). I have it installed and all is running well so far (updates are downloading, music is playing, Firefox is letting me post, etc).

So I am wondering, if and how can I produce small/basic applications on my distro? According to what I have read about this particular distribution, the desktop environment has many options for developers looking to create items for Xfce.

Could anyone point me in a direction of where to start? I would really love to learn how to make things for Linux, as I have done for Windows.

-Brandon

Eóin

  • Charter Member
  • Joined in 2006
  • ***
  • Posts: 1,401
    • View Profile
    • Donate to Member
Re: Programming in the Linux operating system: where to start?
« Reply #1 on: March 26, 2008, 07:48 PM »
The most important first question to ask is which language do you have in mind. Pretty all are viable for creating Linux applications so it's your personal preference which should be the main decider here.

Gothi[c]

  • DC Server Admin
  • Charter Honorary Member
  • Joined in 2006
  • ***
  • Posts: 873
    • View Profile
    • linkerror
    • Donate to Member
Re: Programming in the Linux operating system: where to start?
« Reply #2 on: March 26, 2008, 08:47 PM »
First decide what language you want to code in.

I have been developing cross-platform applications on GNU/Linux using the wxwidgets library. This lets me compile my applications for other platforms without having to re-code anything. wxWidgets also uses a native-look (it uses the native operating system to render the controls instead of drawing it's own like QT and GTK do.), so it looks integrated into the platform. You can also use this from python and a few other languages.

As far as IDE's go, I have used eclipse and kdevelop in the past, but mostly I just stick with vim and emacs.

wreckedcarzz

  • Charter Member
  • Joined in 2005
  • ***
  • Posts: 1,626
    • View Profile
    • Donate to Member
Re: Programming in the Linux operating system: where to start?
« Reply #3 on: March 27, 2008, 04:53 PM »
I am trying out KDevelop now, the designer is similar to that of Microsoft Visual Studio. I like it, but it will be a while before I understand how to work with everything and get an actual application working.

Anatolie

  • Participant
  • Joined in 2008
  • *
  • Posts: 18
    • View Profile
    • ToyCatSoft.com
    • Read more about this member.
    • Donate to Member
Re: Programming in the Linux operating system: where to start?
« Reply #4 on: April 04, 2008, 12:02 PM »
Hi,
kdevelop is good choice as IDE. For native linux applications gcc compiler and some libraries as Qt or Gtk. My favorite libraries for graphics applications is SDL and Irrlicht.  For simple application I use the Perl. Most applications runs at Linux and Windows without source changes.
my web site is ToyCatSoft.com

f0dder

  • Charter Honorary Member
  • Joined in 2005
  • ***
  • Posts: 9,153
  • [Well, THAT escalated quickly!]
    • View Profile
    • f0dder's place
    • Read more about this member.
    • Donate to Member
Re: Programming in the Linux operating system: where to start?
« Reply #5 on: April 04, 2008, 05:08 PM »
Python! Python python python! :)
- carpe noctem

wreckedcarzz

  • Charter Member
  • Joined in 2005
  • ***
  • Posts: 1,626
    • View Profile
    • Donate to Member
Re: Programming in the Linux operating system: where to start?
« Reply #6 on: April 05, 2008, 12:41 AM »
Python! Python python python! :)

Did I hear Python? ;D

I have no knowledge at ALL about that language though - all I know (honestly) is that it comes preinstalled on Windows and is available in the Xubuntu Package Manager. I have no idea about Python programming. :huh:

I looked into Perl a while ago - didn't understand it, so trashed it. Might give it a go again... :-\

tinjaw

  • Supporting Member
  • Joined in 2006
  • **
  • Posts: 1,927
    • View Profile
    • Donate to Member
Re: Programming in the Linux operating system: where to start?
« Reply #7 on: April 05, 2008, 06:25 AM »
Yes, you heard right. Python.  ;)

I believe you misspoke when you said Windows. Python comes pre-installed on Mac OS X.

I highly recommend Python as one's first programming language. I believe it is the easiest language to read. One of the things a beginner programmer needs to do is read a bunch of examples and understand them. Python makes that easy. The language also has features which make it easier to write code too.

My suggestion is to start with How to Think Like a (Python) Programmer.

Anatolie

  • Participant
  • Joined in 2008
  • *
  • Posts: 18
    • View Profile
    • ToyCatSoft.com
    • Read more about this member.
    • Donate to Member
Re: Programming in the Linux operating system: where to start?
« Reply #8 on: April 05, 2008, 10:16 AM »
Good Perl start here: http://perldoc.perl.org/perlintro.html.

Perl most suitable for me.  It's not preinstalled on Windows XP and I don't know about Vista.

Python is nice language too. :)
my web site is ToyCatSoft.com

wreckedcarzz

  • Charter Member
  • Joined in 2005
  • ***
  • Posts: 1,626
    • View Profile
    • Donate to Member
Re: Programming in the Linux operating system: where to start?
« Reply #9 on: April 05, 2008, 04:16 PM »
tinjaw, my old (almost 9 year old) Gateway w/ XP had Python preinstalled - and I believe my XP laptop does too. Hmm, strange... :huh: Anyways, I am downloading the PDF now. :)

Anatolie, Perl doesn't come preinstalled on XP or Vista (I use Vista), btw. I'll boot into Xubuntu later and read up on Perl.

tinjaw

  • Supporting Member
  • Joined in 2006
  • **
  • Posts: 1,927
    • View Profile
    • Donate to Member
Re: Programming in the Linux operating system: where to start?
« Reply #10 on: April 05, 2008, 09:50 PM »
tinjaw, my old (almost 9 year old) Gateway w/ XP had Python preinstalled - and I believe my XP laptop does too. Hmm, strange... :huh: Anyways, I am downloading the PDF now. :)
-wreckedcarzz (April 05, 2008, 04:16 PM)

My guess is that you installed some software, or it came preloaded with software, that required python and was thus pre-installed. It doesn't come with Windows.

But, either way, glad you have it. I expect to see your first Python application soon.  ;)

mahesh2k

  • Supporting Member
  • Joined in 2007
  • **
  • Posts: 1,426
    • View Profile
    • Donate to Member
Re: Programming in the Linux operating system: where to start?
« Reply #11 on: April 07, 2008, 07:11 AM »
Hmm...So i got thread of choice today. ;)

I suggest learning  C/C++ on linux..using GCC with text editor (if comfortable)you can use the Kdevelop for C/C++ and KDE/QT programming...other than that anjuta is available....There are plenty of IDE are there..if want to use Ide then go for NetBeans on Linux,it can be used for java,php,ruby,c/c++ etc.

housetier

  • Charter Honorary Member
  • Joined in 2005
  • ***
  • default avatar
  • Posts: 1,321
    • View Profile
    • Donate to Member
Re: Programming in the Linux operating system: where to start?
« Reply #12 on: April 10, 2008, 07:05 AM »
I say: "python."  8)

tinjaw

  • Supporting Member
  • Joined in 2006
  • **
  • Posts: 1,927
    • View Profile
    • Donate to Member
Re: Programming in the Linux operating system: where to start?
« Reply #13 on: April 10, 2008, 07:34 AM »
See!?! I knew that if I screamed "PYTHON!" long enough and loud enough that you people would start to see the light.

Armando

  • Charter Member
  • Joined in 2005
  • ***
  • Posts: 2,727
    • View Profile
    • Donate to Member
Re: Programming in the Linux operating system: where to start?
« Reply #14 on: April 10, 2008, 01:24 PM »
Python, he...  :)
And how's python on windows?

Gothi[c]

  • DC Server Admin
  • Charter Honorary Member
  • Joined in 2006
  • ***
  • Posts: 873
    • View Profile
    • linkerror
    • Donate to Member
Re: Programming in the Linux operating system: where to start?
« Reply #15 on: April 10, 2008, 04:19 PM »
Python's rightful place is as C++'s slave :P (it's great to add scripting functionality to c++ applications, but I wouldn't write the actual application in it.)

But that's just me I guess ;)

f0dder

  • Charter Honorary Member
  • Joined in 2005
  • ***
  • Posts: 9,153
  • [Well, THAT escalated quickly!]
    • View Profile
    • f0dder's place
    • Read more about this member.
    • Donate to Member
Re: Programming in the Linux operating system: where to start?
« Reply #16 on: April 10, 2008, 05:42 PM »
Python is just fine on Windows, works like a charm.

I probably wouldn't use the language for developing full applications, but it's great for scripts and stuff that needs a bit more power than a simple shell script. Python + pycurl + regular expressions make it very comfortable to do all sorts of data mining :)
- carpe noctem

tinjaw

  • Supporting Member
  • Joined in 2006
  • **
  • Posts: 1,927
    • View Profile
    • Donate to Member
Re: Programming in the Linux operating system: where to start?
« Reply #17 on: April 10, 2008, 06:57 PM »
All joking aside, when it comes to learning how to program, I don't think anybody could go wrong with Python. It's main mission in life is to be easy to use. You can always move to another language easily is your interests change.

Gothi[c]

  • DC Server Admin
  • Charter Honorary Member
  • Joined in 2006
  • ***
  • Posts: 873
    • View Profile
    • linkerror
    • Donate to Member
Re: Programming in the Linux operating system: where to start?
« Reply #18 on: April 10, 2008, 08:24 PM »
Should you really start with something easy when learning to program though?
It's probably best to start at the lowest level possible (asm?) and move up from there, so you get a good understanding of each level of programming and generation of programming language. It's probably too easy to develop bad habits otherwise.

mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 40,914
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Read more about this member.
    • Donate to Member
Re: Programming in the Linux operating system: where to start?
« Reply #19 on: April 10, 2008, 08:31 PM »
dont start with assembly. don't stop at assembly, just keep on walking past masochism alley.  find a high-level language you like and start there.
« Last Edit: April 10, 2008, 08:39 PM by mouser »

Armando

  • Charter Member
  • Joined in 2005
  • ***
  • Posts: 2,727
    • View Profile
    • Donate to Member
Re: Programming in the Linux operating system: where to start?
« Reply #20 on: April 10, 2008, 08:45 PM »
In a slightly different context C# and ruby were also mentioned by several people. f0dder said Ruby might still be a bit young (but it does receive much praises). C# seems to be a good choice too, according to veign and PPLandry (although for Linux, probably not as much even if there's mono?). I'm not trying to hijack the thread here, just trying to get as much info as possible from the experts...  Hopefully, Brandon and others will find it useful too. :)

Gothi[c]

  • DC Server Admin
  • Charter Honorary Member
  • Joined in 2006
  • ***
  • Posts: 873
    • View Profile
    • linkerror
    • Donate to Member
Re: Programming in the Linux operating system: where to start?
« Reply #21 on: April 10, 2008, 09:13 PM »
dont start with assembly. don't stop at assembly, just keep on walking past masochism alley.  find a high-level language you like and start there.
I'm all for high level languages, I'm just not sure if they are good to start with. I think it is very important to know what's behind them. Maybe the ideal would be to do both a high level and a low level language at the same time.

Shades

  • Member
  • Joined in 2006
  • **
  • Posts: 2,939
    • View Profile
    • Donate to Member
Re: Programming in the Linux operating system: where to start?
« Reply #22 on: April 10, 2008, 10:37 PM »
Masochism alley... ;D

That describes ASM exactly. At the time when I went to school for my electro-technical studies, a lot of lessons consisted of this kind of programming for Z80 based PLC's (Programmable Logic Controller). When compared to the high level languages ASM is very efficient in (not) consuming computer resources (depending on your skill). And I can tell you, the resources from a Z80 processor are sparse!

ASM should only be done by people that have an exact idea about the functionality of the software they want to create and have the ability to stick to that plan no matter what. Furthermore, they have to be able to think in such small minute steps to create any function readily available in a high level language.

If ASM still sounds like fun, go for it...else forget that you even were considering ASM, better yet forget what it stands for entirely! Asocial Software Masochist springs into mind (thank you for that one, Mouser ;) )

f0dder

  • Charter Honorary Member
  • Joined in 2005
  • ***
  • Posts: 9,153
  • [Well, THAT escalated quickly!]
    • View Profile
    • f0dder's place
    • Read more about this member.
    • Donate to Member
Re: Programming in the Linux operating system: where to start?
« Reply #23 on: April 11, 2008, 02:29 AM »
I think ASM is absolutely the wrong place to start. And if you're going to be doing web-programming or clientside database front-ends, you don't really have to bother with it, either.

Now, if you want to write efficient programs and be a fully-fledged programmer, machine architecture and knowledge of assembly is still important, and will continue to be so for quite a while. But starting with assembly isn't necessarily good for your mental health :)
- carpe noctem

tinjaw

  • Supporting Member
  • Joined in 2006
  • **
  • Posts: 1,927
    • View Profile
    • Donate to Member
Re: Programming in the Linux operating system: where to start?
« Reply #24 on: April 11, 2008, 06:27 AM »
These last two pieces of advice will settle this once and for all.

1) Trust The Tinjaw.
2) You can see for yourself.