advantages of being a linux programer instead of programing in windows??
ProgrammingThis forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
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)
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.
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.
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 )
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.
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 ...
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.
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 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.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.