Jump to content

Linux or Windows for coding?

Tasuma

I use all three operating systems regularly.

OS X is, in my experience, the best for web development. Ruby/JS/HTML/CSS are all really well supported and catered to.

Windows is, obviously, the only real way for .net development at the moment. Visual Studio is absolutely great if you can live without the most modern C++ features or even the C standard from 1998.

Linux (my experience is with debian) is the best for C programming. It has recent compilers, actually readable man-pages, and libraries that are easy to setup due to the wonderful package managers.

Honestly, Windows is a much better option on a laptop than Linux. My battery life, no matter how much I configured, was terrible. I ended up running linux in a VM on Windows. Which amazingly had better battery life. Or if I don't need a GUI, I ssh into the VM running on my desktop. Whatever works.

Link to comment
Share on other sites

Link to post
Share on other sites

Linux (my experience is with debian) is the best for C programming. It has recent compilers, actually readable man-pages, and libraries that are easy to setup due to the wonderful package managers.

Does anyone use anything to compile C, other than GCC on Linux? MinGW is the most popular one on Windows and it's just a Windows version of GCC.

Link to comment
Share on other sites

Link to post
Share on other sites

Does anyone use anything to compile C, other than GCC on Linux? MinGW is the most popular one on Windows and it's just a Windows version of GCC.

clang, icc. MinGW is usually quite a bit behind gcc unless you want to use some beta builds.
Link to comment
Share on other sites

Link to post
Share on other sites

If you want to program for a hobby use whatever. If you want to just play around with things Linux works really well, the only time you would need to use windows is if you want to commercially make a windows based application.

 

TL;DR:

Linux is for general stuff and do whatever on, it goes back and forth with everything really well

Windows if you want to do windows specifically and not touch Linux

Link to comment
Share on other sites

Link to post
Share on other sites

Really depends on the type of programming you have in mind. If you're interested in embedded programming using C, I'd use Linux (Fedora or Mint are my distros of choice).

I have buddies that love Mac for php scripting.

Personally I use Windows for VS which is a great IDE (intelisence is amazing). If you go with .Net you have options as there are many languages that target the CLR.

My advice, learn one OO languages, c#, Java, etc and then learn JavaScript as JavaScript is every where.

Link to comment
Share on other sites

Link to post
Share on other sites

clang, icc. MinGW is usually quite a bit behind gcc unless you want to use some beta builds.

ICC definitely has a Windows equivalent and Clang appears to have Windows version. I don't really see that much of a difference between Windows and Linux for C development.

Link to comment
Share on other sites

Link to post
Share on other sites

Whether or not it's free does not affect its functionality, unless you want to make kernel modifications for some reason, but that's not a thing most people do.

 

A lot of programs when ported to Linux just get no GUI. Folding @ home, prime95, FASM, etc. just don't have a version with a GUI. People recommend programs to me like GDB, which is entirely on command line; when I want a new program, people tell me to install through the command line. Not that many things are done through GUIs, like would be done on Windows.

 

C# is not windows specific. Mono can run C# programs on Linux, as far as I can tell. 

 

Is Linux actually less prone to viruses or does it just seem that way because there are fewer viruses? Everyone tells me Linux is less prone to viruses, but you'd think something with as many viruses as Windows would have had all the security issues patched quickly.

 

I'm also running Ubuntu and haven't had any real issues with it, other than trying to get the same software support as I have in Windows.

Ok I gotcha (with the thing about the GUIs)

 

Linux is less prone to viruses both because it was designed to be more difficult to create viruses for and it also has far less viruses due to it having a small user base of technologically adept users. See this wikipedia page. The main reason that it is harder to create viruses for linux is that you need root access which in and of itself is difficult to get for a malware creator.

CPU: AMD FX-6300 4GHz @ 1.3 volts | CPU Cooler: Cooler Master Hyper 212 EVO | RAM: 8GB DDR3

Motherboard: Gigabyte 970A-DS3P | GPU: EVGA GTX 960 SSC | SSD: 250GB Samsung 850 EVO

HDD: 1TB WD Caviar Green | Case: Fractal Design Core 2500 | OS: Windows 10 Home

Link to comment
Share on other sites

Link to post
Share on other sites

Linux is less prone to viruses both because it was designed to be more difficult to create viruses for and it also has far less viruses due to it having a small user base of technologically adept users. See this wikipedia page. The main reason that it is harder to create viruses for linux is that you need root access which in and of itself is difficult to get for a malware creator.

How is requiring root access different that Windows requiring programs have administrative access to damage things?

 

It basically just requires you to trick the person into giving it root/admin access or find some exploit to gain root/admin access.

Link to comment
Share on other sites

Link to post
Share on other sites

How is requiring root access different that Windows requiring programs have administrative access to damage things?

 

It basically just requires you to trick the person into giving it root/admin access or find some exploit to gain root/admin access.

The linux user base is more technical than the windows user base and it is more difficult to get root access on linux than to gain admin access in windows

CPU: AMD FX-6300 4GHz @ 1.3 volts | CPU Cooler: Cooler Master Hyper 212 EVO | RAM: 8GB DDR3

Motherboard: Gigabyte 970A-DS3P | GPU: EVGA GTX 960 SSC | SSD: 250GB Samsung 850 EVO

HDD: 1TB WD Caviar Green | Case: Fractal Design Core 2500 | OS: Windows 10 Home

Link to comment
Share on other sites

Link to post
Share on other sites

The linux user base is more technical than the windows user base and it is more difficult to get root access on linux than to gain admin access in windows

 

Why?

Link to comment
Share on other sites

Link to post
Share on other sites

Why?

Take a look at this article. It gives good explanations for both of my claims.

CPU: AMD FX-6300 4GHz @ 1.3 volts | CPU Cooler: Cooler Master Hyper 212 EVO | RAM: 8GB DDR3

Motherboard: Gigabyte 970A-DS3P | GPU: EVGA GTX 960 SSC | SSD: 250GB Samsung 850 EVO

HDD: 1TB WD Caviar Green | Case: Fractal Design Core 2500 | OS: Windows 10 Home

Link to comment
Share on other sites

Link to post
Share on other sites

Take a look at this article. It gives good explanations for both of my claims.

 

Not really. It did not explain why it is easier to gain admin access on windows. Yes, it used to be that all accounts were admin on Windows, but that isn't the case anymore.

Link to comment
Share on other sites

Link to post
Share on other sites

Not really. It did not explain why it is easier to gain admin access on windows. Yes, it used to be that all accounts were admin on Windows, but that isn't the case anymore.

My bad, I overlooked that (multiple times, I know). You're correct about root access and admin access. 

CPU: AMD FX-6300 4GHz @ 1.3 volts | CPU Cooler: Cooler Master Hyper 212 EVO | RAM: 8GB DDR3

Motherboard: Gigabyte 970A-DS3P | GPU: EVGA GTX 960 SSC | SSD: 250GB Samsung 850 EVO

HDD: 1TB WD Caviar Green | Case: Fractal Design Core 2500 | OS: Windows 10 Home

Link to comment
Share on other sites

Link to post
Share on other sites

Use Linux. Microsoft Windows is mainly developed for a typical consumer (lacks knowledge in computers). You'll learn a lot using a Linux computer. Plus you'll be able to do all of your work with a text editor and the terminal.

Link to comment
Share on other sites

Link to post
Share on other sites

ICC definitely has a Windows equivalent and Clang appears to have Windows version. I don't really see that much of a difference between Windows and Linux for C development.

Almost every project on Windows uses MSVC which doesn't even support C98, no less C11. It's an absolute having to write code to the 1989 ANSI C standard. Windows only has a few of the POSIX libraries. Microsoft has been encouraging .net development at the cost of W32/C programmers. MSVC is the most popular compiler on Windows and it's a pain to write C libraries that have to target C89.
Link to comment
Share on other sites

Link to post
Share on other sites

I don't really see that much of a difference between Windows and Linux for C development.

 

Say what?

Link to comment
Share on other sites

Link to post
Share on other sites

Use whatever you are going to be developing for. If you are just starting it really doesn't matter. What is way more important is learning how to write you software so it works on both platforms. In C++ you could use things like abstract interfaces or Pimpl's to achieve this.

Link to comment
Share on other sites

Link to post
Share on other sites

First: Can't believe this is still going on. Thanks for all the input! I decided I want to do back-end website stuff. :) So I'll stick to windows for the time being.

01101100 01110110 01101100 00100000 00110101 00100000 01101101 01100001 01100111 01101001 01101011 01100001 01110010 01110000 

Link to comment
Share on other sites

Link to post
Share on other sites

wel if you really want with Java you can code in any OS you want.

Needs Update

Link to comment
Share on other sites

Link to post
Share on other sites

Most programmers work on Windows (primary targeted platform) and use virtual environments for compiling for other platforms.

Link to comment
Share on other sites

Link to post
Share on other sites

I personally use Linux for about 3 years now, and it works better then windows for me, but i'm PHP developer and most of server are on Linux so i think it's better for me to work on system that my code will work later, but depends on which IDE you need, if you are coding in Visual Studio obviously you can't use Linux. Just pick what you like more.

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×