LinuxQuestions.org
Download your favorite Linux distribution at LQ ISO.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Non-*NIX Forums > Programming
User Name
Password
Programming This forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.

Notices


Reply
  Search this Thread
Old 06-18-2006, 05:07 AM   #1
itz2000
Member
 
Registered: Jul 2005
Distribution: Fedora fc4, fc7, Mandrake 10.1, mandriva06, suse 9.1, Slackware 10.2, 11.0, 12.0,1,2 (Current)]
Posts: 732

Rep: Reputation: 30
advantages of being a linux programer instead of programing in windows??


Hello,
I do believe linux is better and much more stable for home user like me, but I'm not coding here much.
But I've heard more then 10 times that LINUX is the ultimate choise for programmers but I know some programmers (that code every day at work) that never used linux :S
can you explain me why is linux is "preffered" for coding??

Thanks (I need to have more knowledge about this when I'm making people to come to the OPEN SOURCE community)
 
Old 06-18-2006, 05:25 AM   #2
b0uncer
LQ Guru
 
Registered: Aug 2003
Distribution: CentOS, OS X
Posts: 5,131

Rep: Reputation: Disabled
Bear in mind that programmers do not just "do coding", but create applications that are intented to be of use in handling some problem or situation, and that they create programs for people, so actually it's the end-user (massive groups of them, actually) that "silently decide" on which platform is it "better" to do the coding. If all the programmers in the world would only like to do their job on Linux, but all the end-users would need/want their apps on Windows, then the programmers would be wrong and would have to switch over. Programmers do what they're asked for. It's the same thing about the aim of a program: if such a program is not needed, it's generally a waste of time, no matter how fine it is (until it's needed).

So, Linux is actually not "better" environment than any other, at least before enough people start needing new programs especially on Linux.

One advantage Linux has is that it offers open-source ("free") compilers and tools to do the job - under Windows, in most of the cases, you'll have to pay for them, a lot perhaps (there are free tools, but generally the non-free tend to be somehow better, which makes sense since more people have worked for them in the past times - it is open source that's turning this thing upside down).

Plus, if you look at Linux (or any Unix system in general), you'll notice that it's tools and the whole environment offers - in my own point of view - a more "friendly" or easier-to-start place for coders than Windows, in which you'll need to do a lot of work in order to get a good coding environment that works fluently and has every tool you'll need at hand. These are only my thoughts, anyway.
 
Old 06-18-2006, 05:34 AM   #3
adilturbo
Member
 
Registered: Jun 2006
Location: morocco
Posts: 195

Rep: Reputation: 30
i think (UNIX/Linux)was made for reserchers and master-minded people,
not like windows for stuped people "sorry for the term", so if u want to work with linux you shoud learn about it (how it works:compiling kernel,modules....)so this terms push u from the begining learning programming.

additionlly linux is an open sourse OS, so u have examples of hundereds sources that can guide u to be a good programmer.

wheras windows does not show u what it does,she wants u forever to be dumb.
 
Old 06-18-2006, 05:42 AM   #4
itz2000
Member
 
Registered: Jul 2005
Distribution: Fedora fc4, fc7, Mandrake 10.1, mandriva06, suse 9.1, Slackware 10.2, 11.0, 12.0,1,2 (Current)]
Posts: 732

Original Poster
Rep: Reputation: 30
Quote:
Originally Posted by adilturbo
u should learn about it (how it works:compiling kernel,modules....)so this terms push u from the begining learning programming.
I know how it works (compiling kernels etc)
I was asking for people's opinion on why it's better for a programmer to be on LINUX since the reason for being as a desktop user in linux are pretty clear to me (Linux > Windows if u don't game alot )
 
Old 06-18-2006, 08:56 AM   #5
jonaskoelker
Senior Member
 
Registered: Jul 2004
Location: Denmark
Distribution: Ubuntu, Debian
Posts: 1,524

Rep: Reputation: 47
That's actually a good question.

I think Paul Graham and Eric Raymond can express their views much better than I can express my vague intuition.

So, go read http://www.paulgraham.com/gh.html and www.catb.org/esr/writings/taoup/.
 
Old 06-18-2006, 09:48 AM   #6
introuble
Member
 
Registered: Apr 2004
Distribution: Debian -unstable
Posts: 700

Rep: Reputation: 31
I don't think the benefits for a programmer are given by Linux ONLY (or *best given* by Linux), I think all FOSS Operating Systems give these benefits. I've heard OpenBSD has very clean code and NetBSD code is a true lesson in portability.

The main advantages I can think of are:

-> You learn a language by reading and writing in it. FOSS sure helps with the reading part.
-> Manual Pages.
-> LOADS of online tutorials and even some free books on the subject [programming in FOSS environments]
-> Using a FOSS OS might give you a better idea on the wonderful concept of free, open source software which you can use for your own projects

adilturbo: I know this is a Linux forum and all.. but there's no reason to be trollish. Windows is perfect for MANY brilliant people. Be sure a quantum physics professor will not care about Linux as long as MS Windows floats his boat. And does that make him stupid? I'm sure not. Also, if you go on insulting people, make sure your post is not full of spelling mistakes and stuff like "u" before you meet a Windows-using "grammar nazi" who's going to drag you through the dirt.

Thanks.
 
Old 06-18-2006, 05:11 PM   #7
alred
Member
 
Registered: Mar 2005
Location: singapore
Distribution: puppy and Ubuntu and ... erh ... redhat(sort of) :( ... + the venerable bsd and solaris ^_^
Posts: 658
Blog Entries: 8

Rep: Reputation: 31
there are more scripts writers than programmers ...

probably learning some really powerfull scripting skills creating global/universal/standardizing tools and applications for *nix systems and hide all of your skills away from the grandma nazis ^_^ and they will say *nix systems are easy and straight forward to use ... i mean people dont need to learn scriptings and programming stuffs to understand the systems in-order to sell them well ...



//

.
 
Old 06-18-2006, 06:32 PM   #8
xhi
Senior Member
 
Registered: Mar 2005
Location: USA::Pennsylvania
Distribution: Slackware
Posts: 1,065

Rep: Reputation: 45
a great advantage of linux is that you get alot of programming tools by default. and that you can work easier at a lower level in the os than you can in a windows environment. many of the programming tools you will use seem as if they were integrated into linux (because most of them are) where on windows, you have to add all your tools in seperately, there are no goodies that come with it.

i started using linux around the end of 1999, and i was previously working from win98. i also started programming c/c++ shortly before that. so as i was learning the basics of programming, i screwed up alot. whether it was memory violations, or endless loops or whatever, it of course killed win98. i spent more time rebooting than programming. a teacher of mine got me into linux, and i could not believe it. how you could just ctrl-c an endless loop. or how when you screwed something up working with memory it just printed segfault.. no blue screen! i was hooked. recently though i have done some programming on winxp and win200*, they are much better than 98 as far as stability when programming. i have had no problems where i had to reboot that i can think of. it could be that i am a better programmer, but that is questionable , i believe that windows has progressed to a level where you can program effectively from it. i of course have no desire to go to windows to program unless i would have to, but as far as i can tell, it would be a productive environment as well once you get everything set up.

whichever env you are in, just remember to write portable, standards compliant code. that is far more important than where you work from.
 
Old 06-18-2006, 07:21 PM   #9
jonaskoelker
Senior Member
 
Registered: Jul 2004
Location: Denmark
Distribution: Ubuntu, Debian
Posts: 1,524

Rep: Reputation: 47
Quote:
Originally Posted by introuble
I don't think the benefits for a programmer are given by Linux ONLY (or *best given* by Linux), I think all FOSS Operating Systems give these benefits.
Interesting. I think I would tend to disagree. More on that later.

But actually let me clarify a bit here: OP says that "[GNU/]Linux is the OS of choice for programmers" (we'll take that as stipulated), and then asks "why is Linux good for [programming]?"

The two things are not necessarily equivalent. Windows is perfectly able OS for programming--I've written C (with DJGPP, back when that was hot ) and python. I've heard that there are also things like source control (clearcase? perforce?) and all the other applications that you'll need for doing "serious" coding (which I didn't do on windows) like debuggers, leak detectors (for C and C++), profilers and all that. Admitted, I only used an editor and a compiler (but DJGPP contained an editor with an integrated debugger, I didn't know about malloc back then , and profiling is built into gcc).

The thing to take note of is that programming is enabled by applications. The OS needs only enable those applications to enable programming, and windows succeeds at that (it can emulate *nix). GNU/Linux enables those applications very well--it comes with (or gives you convenient access to) gcc, diff, patch, cvs, subversion, git, gdb, valgrind, gprof, ....

The other thing is "why is [GNU/]Linux good for programmers?" The three-word answser is "because it's hackable". I believe a lot of this comes from a powerful CLI and lots of tools that all "does one thing and does it well".

For instance, say I want to download http://www.pr0n.com/img01.jpg through http://www.pr0n.com/img99.jpg; I do
Code:
for i in $(seq 1 99); do wget http://www.pr0n.com/img$(printf "%02d" $i).jpg; done
On windows, I have used an application which does more or less a wget -r, called PaqRat (it's proprietary and costs money, so I'm sure it'll be very popular). While it does the job, it's not scriptable; you can tweak a few options, but it'll only follow proper <a href="..."> links. The Python Challenge puzzle with the linked list of nothing can be easily solved with a little bash scripting and wget, whereas PaqRat, because of its narrow focus (downloading pr0n) won't help you.

Or, say, I want to synchronize bookmarks between elinks and konqueror. I bring ~/.elinks/bookmarks.xbel and ~/.kde/share/apps/konqueror/bookmarks.xml to a common denominator format (sorted, indented the same way, and containing the amount of xbel info that elinks understands), do a three-way merge, commit the result to my git repository and copy that back out to konqueror and elinks. All in 54 lines of shell script and 35 lines of XSLT. On windows, I wouldn't know what to do--perhaps I could write it in C with a good xml library and some 200 lines of code.

Or, say I want my machine to play a beeping noise whenever I get mail. Since I use procmail, I forward a copy of my message to "playsound ~/.mail-beep". On windows, I wouldn't know how to play sound from the command line.

Quote:
Originally Posted by Doug McIlroy
(http://en.wikipedia.org/wiki/Unix_philosophy)
This is the Unix philosophy:
Write programs that do one thing and do it well.
Write programs to work together.
Write programs to handle text streams, because that is a universal interface.
And I believe PaqRat demonstrates the fallacy of abridging this to "Do one thing and do it well": it does one thing and does it well (download porn), but it can't work together with other programs--wget can. I also think that programs being able to work together is what enabled me to write such a short bookmark synchronizer. Read the wikipedia article--it might not answer your question directly, but it will at least indirectly. Also, I found that quite surprisingly the Unix-haters handbook was not offending me, and it actually strengthened my love for the unix philosophy. Also, I feel that some of the complaints raised in it were not matching my experience (but whether that is a result of the limits of my experience is left to the reader to ascertain).

I think ultimately what makes GNU/Linux the ultimate OS for programmers is that it--and this might sound a lot like a cliché, so bear with me--is written "by hackers, for hackers".

Now, a free operating system which is a clone of DOS (freedos) or Windows (reactos) will therefore not be "by hackers, for hackers", since they follow the design of an OS which is not "by hackers, for hackers". So not all FOSS OSes are equal in this respect.

Last edited by jonaskoelker; 06-19-2006 at 04:23 AM.
 
Old 06-19-2006, 12:14 AM   #10
introuble
Member
 
Registered: Apr 2004
Distribution: Debian -unstable
Posts: 700

Rep: Reputation: 31
I can't bear with the cliche, sorry.

Last edited by introuble; 06-19-2006 at 12:16 AM.
 
Old 06-19-2006, 03:02 AM   #11
itz2000
Member
 
Registered: Jul 2005
Distribution: Fedora fc4, fc7, Mandrake 10.1, mandriva06, suse 9.1, Slackware 10.2, 11.0, 12.0,1,2 (Current)]
Posts: 732

Original Poster
Rep: Reputation: 30
so am I...

I did like that quote though
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Can i have some opinions on what linux is about and the advantages over windows? richardblade Linux - Newbie 38 02-23-2006 10:32 PM
linux advantages over windows.... erikash Linux - General 9 01-14-2006 07:49 AM
GTK programing by DEV C++ on Windows - How ? darkranger Programming 0 11-14-2004 02:30 AM
Programing in Linux for Windows FireInTheDark Programming 3 10-31-2004 01:31 AM

LinuxQuestions.org > Forums > Non-*NIX Forums > Programming

All times are GMT -5. The time now is 02:49 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration