Welcome Guest.   Make a donation to an author on the site November 01, 2014, 08:24:23 AM  *

Please login or register.
Or did you miss your validation email?


Login with username and password (forgot your password?)
Why not become a lifetime supporting member of the site with a one-time donation of any amount? Your donation entitles you to a ton of additional benefits, including access to exclusive discounts and downloads, the ability to enter monthly free software drawings, and a single non-expiring license key for all of our programs.


You must sign up here before you can post and access some areas of the site. Registration is totally free and confidential.
 
Your Support Funds this Site: View the Supporter Yearbook.
   
   Forum Home   Thread Marks Chat! Downloads Search Login Register  
Pages: [1] 2 Next   Go Down
  Reply  |  New Topic  |  Print  
Author Topic: Programming in the Linux operating system: where to start?  (Read 12164 times)
wreckedcarzz
Charter Member
***
Posts: 1,620



Happy wolfie ^_^

see users location on a map View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« on: March 26, 2008, 07:42:46 PM »

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
Logged

New website! With a fancy domain name and everything! *gasp*
http://www.wreckedcarzz.com/
EĆ³in
Charter Member
***
Posts: 1,400


O'Callaghan

see users location on a map View Profile WWW Give some DonationCredits to this forum member
« Reply #1 on: March 26, 2008, 07:48:07 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.
Logged

Interviewer: Is there anything you don't like?
Bjarne Stroustrup: Marketing hype as a substitute for technical argument. Thoughtless adherence to dogma. Pride in ignorance.
Gothi[c]
DC Server Admin
Charter Honorary Member
***
Posts: 857



see users location on a map View Profile WWW Give some DonationCredits to this forum member
« Reply #2 on: March 26, 2008, 08:47:24 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.
Logged
wreckedcarzz
Charter Member
***
Posts: 1,620



Happy wolfie ^_^

see users location on a map View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« Reply #3 on: March 27, 2008, 04:53:20 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.
Logged

New website! With a fancy domain name and everything! *gasp*
http://www.wreckedcarzz.com/
Anatolie
Participant
*
Posts: 18


View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« Reply #4 on: April 04, 2008, 12:02:42 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.
Logged

my web site is ToyCatSoft.com
f0dder
Charter Honorary Member
***
Posts: 8,774



[Well, THAT escalated quickly!]

see users location on a map View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« Reply #5 on: April 04, 2008, 05:08:05 PM »

Python! Python python python! smiley
Logged

- carpe noctem
wreckedcarzz
Charter Member
***
Posts: 1,620



Happy wolfie ^_^

see users location on a map View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« Reply #6 on: April 05, 2008, 12:41:03 AM »

Python! Python python python! smiley

Did I hear Python? Grin

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... undecided
Logged

New website! With a fancy domain name and everything! *gasp*
http://www.wreckedcarzz.com/
tinjaw
Supporting Member
**
Posts: 1,926



I'm so glad breakbeat techno isn't an illegal drug

see users location on a map View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« Reply #7 on: April 05, 2008, 06:25:45 AM »

Yes, you heard right. Python.  Wink

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.
Logged

 
Anatolie
Participant
*
Posts: 18


View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« Reply #8 on: April 05, 2008, 10:16:37 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. smiley
Logged

my web site is ToyCatSoft.com
wreckedcarzz
Charter Member
***
Posts: 1,620



Happy wolfie ^_^

see users location on a map View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« Reply #9 on: April 05, 2008, 04:16:04 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. smiley

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.
Logged

New website! With a fancy domain name and everything! *gasp*
http://www.wreckedcarzz.com/
tinjaw
Supporting Member
**
Posts: 1,926



I'm so glad breakbeat techno isn't an illegal drug

see users location on a map View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« Reply #10 on: April 05, 2008, 09:50:27 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. smiley

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.  Wink
Logged

 
mahesh2k
Supporting Member
**
Posts: 1,409



see users location on a map View Profile WWW Give some DonationCredits to this forum member
« Reply #11 on: April 07, 2008, 07:11:33 AM »

Hmm...So i got thread of choice today. Wink

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.
Logged
housetier
Charter Honorary Member
***
Posts: 1,321


see users location on a map View Profile Give some DonationCredits to this forum member
« Reply #12 on: April 10, 2008, 07:05:57 AM »

I say: "python."  Cool
Logged
tinjaw
Supporting Member
**
Posts: 1,926



I'm so glad breakbeat techno isn't an illegal drug

see users location on a map View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« Reply #13 on: April 10, 2008, 07:34:20 AM »

See!?! I knew that if I screamed "PYTHON!" long enough and loud enough that you people would start to see the light.
Logged

 
Armando
Charter Member
***
Posts: 2,682



see users location on a map View Profile Give some DonationCredits to this forum member
« Reply #14 on: April 10, 2008, 01:24:02 PM »

Python, he...  smiley
And how's python on windows?
Logged

"I suppose it can be said that I'm an absent-minded driver. It's true that I've driven through a number of red lights on occasion, but on the other hand, I've stopped at a lot of green ones but never gotten credit for it."
Glenn Gould
Gothi[c]
DC Server Admin
Charter Honorary Member
***
Posts: 857



see users location on a map View Profile WWW Give some DonationCredits to this forum member
« Reply #15 on: April 10, 2008, 04:19:05 PM »

Python's rightful place is as C++'s slave tongue (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 Wink
Logged
f0dder
Charter Honorary Member
***
Posts: 8,774



[Well, THAT escalated quickly!]

see users location on a map View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« Reply #16 on: April 10, 2008, 05:42:58 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 smiley
Logged

- carpe noctem
tinjaw
Supporting Member
**
Posts: 1,926



I'm so glad breakbeat techno isn't an illegal drug

see users location on a map View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« Reply #17 on: April 10, 2008, 06:57:53 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.
Logged

 
Gothi[c]
DC Server Admin
Charter Honorary Member
***
Posts: 857



see users location on a map View Profile WWW Give some DonationCredits to this forum member
« Reply #18 on: April 10, 2008, 08:24:21 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.
Logged
mouser
First Author
Administrator
*****
Posts: 33,618



see users location on a map View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« Reply #19 on: April 10, 2008, 08:31:35 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:08 PM by mouser » Logged
Armando
Charter Member
***
Posts: 2,682



see users location on a map View Profile Give some DonationCredits to this forum member
« Reply #20 on: April 10, 2008, 08:45:39 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. smiley
Logged

"I suppose it can be said that I'm an absent-minded driver. It's true that I've driven through a number of red lights on occasion, but on the other hand, I've stopped at a lot of green ones but never gotten credit for it."
Glenn Gould
Gothi[c]
DC Server Admin
Charter Honorary Member
***
Posts: 857



see users location on a map View Profile WWW Give some DonationCredits to this forum member
« Reply #21 on: April 10, 2008, 09:13:04 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.
Logged
Shades
Member
**
Posts: 1,674


see users location on a map View Profile Give some DonationCredits to this forum member
« Reply #22 on: April 10, 2008, 10:37:17 PM »

Masochism alley... Grin

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 Wink )
Logged
f0dder
Charter Honorary Member
***
Posts: 8,774



[Well, THAT escalated quickly!]

see users location on a map View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« Reply #23 on: April 11, 2008, 02:29:17 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 smiley
Logged

- carpe noctem
tinjaw
Supporting Member
**
Posts: 1,926



I'm so glad breakbeat techno isn't an illegal drug

see users location on a map View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« Reply #24 on: April 11, 2008, 06:27:43 AM »

These last two pieces of advice will settle this once and for all.

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

 
Pages: [1] 2 Next   Go Up
  Reply  |  New Topic  |  Print  
 
Jump to:  
   Forum Home   Thread Marks Chat! Downloads Search Login Register  

DonationCoder.com | About Us
DonationCoder.com Forum | Powered by SMF
[ Page time: 0.049s | Server load: 0.05 ]