Overclock.net › Forums › Software, Programming and Coding › Operating Systems › Linux, Unix › Comparison between Linux and Windows?
New Posts  All Forums:Forum Nav:

Comparison between Linux and Windows?

post #1 of 16
Thread Starter 
I was wondering what the main difference in windows and Linux is, in terms of these subjects:

Development
Windows:

Linux:

Licensing
Windows:

Linux:

Structure
Windows:

Linux:


Updates
Windows:

Linux:


adaptability
Windows:

Linux:

Compatibility
Windows:

Linux:


It is for a school Project, so I was hoping you could assist me in getting some info.
thanks in advance smile.gif
Edited by Norlig - 4/18/12 at 1:38am
post #2 of 16
Linux is as different to Windows as night is to day.

Development
Far too broad a subject as there's a whole plethora of languages from shell scripting through to native binaries through to web development.

However, a generalised sweeping statement would be that Linux is better for developing and executing interpreted languages where as Windows is better for developing and executing static binary blobs. But that is *huge* generalisation with plenty of exceptions.

Licensing
Windows: expensive
Linux: free

Structure
A little context please. File system hierarchy? Permissions / ACLs? Business structure? Release cycles?

Updates
Windows: Windows update is a pig and 3rd party installers create start up bloatware
Linux: Centralised software repositories make new installs and software updates childs play.

adaptability
Linux is more flexible - partly to being open source and partly by design - but in reality they can both be moulded to serve most purposes when managed by an experiences systems administrator.

Compatibility
Windows: Mostly compatible with Windows / Microsoft stuff
Linux: Will support most things.


Quote:
It is for a school Project, so I was hoping you could assist me in getting some info.
thanks in advance smile.gif
Your titles are vague so a little more detail there would be good. also you've not specified whether you're looking at the desktop market, embedded market or server market. Linux and Windows differs greatly from market to market.

Also it's worth trying Linux out for yourself too. Install ArchLinux (follow the beginners guide on their website) and Mint into a VirtualBox virtual machine. They're 2 very different flavours of desktop Linux (Arch being more tailored to advanced users, Mint to beginners). I know you might struggle with Arch but that's ok as it will show you the contrast in the different experiences Linux can offer.
post #3 of 16
Thread Starter 
I am as baffled as you are really, I was given these subjects by the teacher, not sure about his knowledge about Linux.

What I am wondering, is not a really complex answer, but just a comparison on the main differences.

Development for instance, Linux is made and updated with patches and approved by senior developers. and in windows ... (not got this far yet smile.gif )

Structure: what it is built up of. what type of code is used in windows? (C++?) and what is used in Linux?
post #4 of 16
Quote:
Originally Posted by Norlig View Post

I am as baffled as you are really, I was given these subjects by the teacher, not sure about his knowledge about Linux.
What I am wondering, is not a really complex answer, but just a comparison on the main differences.
Development for instance, Linux is made and updated with patches and approved by senior developers. and in windows ... (not got this far yet smile.gif )

Right, then Windows is developed in house with some minor non-OS critical libraries provided by 3rd parties (eg OpenGL, Java Runtime Environment, etc)

Where as Linux is developed by the community. The biggest contributors in the community do tend to be:
  • commercial organisations (eg IBM, Nokia (eg Qt framework) and I guess Redhat could fall under this heading too)
  • and community funded / donation based companies (eg companies that largely survive on donations and sponsors rather than licensing and other traditional business models. IIRC Mozilla fall under this heading)
  • however you do also get hobbyist developers providing patches too.
Quote:
Originally Posted by Norlig View Post

Structure: what it is built up of. what type of code is used in windows? (C++?) and what is used in Linux?
Both Windows and Linux will be C and ASM in the kernel, then C++ for the API's. In that respect they'd be the same. However the software layers on top of that is where the languages differ.

Windows applications will be primarily:
  • C++ (Win32 / MFC libraries; PE binary blob)
  • and C# (.NET libraries; bytecode binary blob)
where as the average Linux desktop will have:
  • C++ (ELF binaries),
  • Perl (compile on demand scripting language) and
  • Python (compile on demand scripting language) applications.
  • plus oodles of shell scripts which are essential to the system operation

This is just the basics though as both OSs can and will have other software written in a whole multitude of other languages, many of which are even cross platform. Java is the biggest example of both those points.
Edited by Plan9 - 4/18/12 at 2:47am
post #5 of 16
Linux is free and way more powerful.
But for the home-user : If a problem occurs, its not easy to fix comparing to Windows. You can google a Windows problem and solve it quickly. But on Linux its much much harder.
Little monster
(17 items)
 
  
CPUMotherboardGraphicsRAM
Ivy Bridge Core i5 3570 @ stock Asus P8 Z77-V LX Powercolor 7870 PCS+ EZ 4x2 = 8GB Corsair 1600 Mhz XMS @ 1333 
Hard DriveHard DriveHard DriveCooling
Sandisk 120 GB Extreme Sata III 2 TB WD Intellipower Green External converted t... 4 TB WD 5400 RPM Green Internal Xigmatek Loki 
OSMonitorMonitorKeyboard
Win 8.1 -64 bit Philips 190vW D-sub 1440x900 LG 29'' 2560x1080 Logitech Cordless Internet Pro 
PowerCaseMouseAudio
Xigmatek Tauro 500 Watt 80+ Bronze Zalman Z5 Plus Logitech Cordless Optical Mouse Onboard 
Other
Xigmatek Freezing Point Thermal Paste 
  hide details  
Reply
Little monster
(17 items)
 
  
CPUMotherboardGraphicsRAM
Ivy Bridge Core i5 3570 @ stock Asus P8 Z77-V LX Powercolor 7870 PCS+ EZ 4x2 = 8GB Corsair 1600 Mhz XMS @ 1333 
Hard DriveHard DriveHard DriveCooling
Sandisk 120 GB Extreme Sata III 2 TB WD Intellipower Green External converted t... 4 TB WD 5400 RPM Green Internal Xigmatek Loki 
OSMonitorMonitorKeyboard
Win 8.1 -64 bit Philips 190vW D-sub 1440x900 LG 29'' 2560x1080 Logitech Cordless Internet Pro 
PowerCaseMouseAudio
Xigmatek Tauro 500 Watt 80+ Bronze Zalman Z5 Plus Logitech Cordless Optical Mouse Onboard 
Other
Xigmatek Freezing Point Thermal Paste 
  hide details  
Reply
post #6 of 16
Thread Starter 
Thanks! I got some good points filled smile.gif
post #7 of 16
Quote:
Originally Posted by Plan9 View Post

Linux is as different to Windows as night is to day.
Development
Far too broad a subject as there's a whole plethora of languages from shell scripting through to native binaries through to web development.
However, a generalised sweeping statement would be that Linux is better for developing and executing interpreted languages where as Windows is better for developing and executing static binary blobs. But that is *huge* generalisation with plenty of exceptions.

Windows is only better for developing binary blobs because 99% of Windows is proprietary! Open source just isn't very popular on Windows. Most third party vendors compile their code to binary and do not allow viewing of the source (primarily because most Windows developers want to sell their software -- most of which has viable open-source alternatives on Linux). This has nothing to do with Linux being "worse" for binaries, it's just a different culture. You can just as easily compile binaries on Linux as you can Windows.

Overall I would say development is better and more friendly on Linux. I mean the whole OS was written by hackers for hackers. There are tons and tons of development tools you can have for free.

As for the languages used, you can program with just about any language on both OS's. However, with Linux you will likely have less setup time since most every Linux distro comes with a lot of languages and development tools already built in.

Both kernels are written in C (and Assembly for some specialized drivers where extra speed is needed). The GUI's are mostly C++. Just as Plan9 said. Both kernels are generally monolithic (neither are microkernels, even though Windows is somewhat based on a microkernel design).
Edited by thiussat - 4/18/12 at 6:08am
Skylake Build
(12 items)
 
  
CPUMotherboardGraphicsRAM
Intel Core i5-6600k Gigabyte Z-170 Gaming 7 Gigabyte R9 390  Gskill Ripjaws V DDR4 
Hard DriveCoolingOSMonitor
Samsung 850 Evo Corsair H115i Windows 10 Pro Asus  
KeyboardPowerCaseMouse
Generic EVGA NEX750 G1 Phanteks Eclipse P400 GSkill MX780 
  hide details  
Reply
Skylake Build
(12 items)
 
  
CPUMotherboardGraphicsRAM
Intel Core i5-6600k Gigabyte Z-170 Gaming 7 Gigabyte R9 390  Gskill Ripjaws V DDR4 
Hard DriveCoolingOSMonitor
Samsung 850 Evo Corsair H115i Windows 10 Pro Asus  
KeyboardPowerCaseMouse
Generic EVGA NEX750 G1 Phanteks Eclipse P400 GSkill MX780 
  hide details  
Reply
post #8 of 16
Quote:
Originally Posted by thiussat View Post

Windows is only better for developing binary blobs because 99% of Windows is proprietary!
That has nothing to do with it.
Quote:
Originally Posted by thiussat View Post

Open source just isn't very popular on Windows.
Firefox?
But again, completely irrelevant to the thread.
Quote:
Originally Posted by thiussat View Post

Most third party vendors compile their code to binary and do not allow viewing of the source (primarily because most Windows developers want to sell their software -- most of which has viable open-source alternatives on Linux). This has nothing to do with Linux being "worse" for binaries, it's just a different culture. You can just as easily compile binaries on Linux as you can Windows.
Indeed, which is why that wasn't the reason I made my comment.

The problem with producing binary blobs for Linux is that the platform is neither standardised across distros nor static (APIs are constantly changing). Linux has ways to work around this that works really well for Linux. However writing stable binary blobs that are re-distributable across multiple distros and remain usable for years to come works much better on Windows than on Linux. So you're left with either having to persuade distro's to include your packages into their repositories, creating your own repositories for all the main distros or providing compiling instructions that are n00b friendly - all 3 options are a complete PITA.

However in terms of writing the source code and compiling - there's not much between the two platforms.

Please also appreciate that I repeatedly stated this is a terrible generalisation because there will be many exceptions to the case (as you're demonstrating)
Quote:
Originally Posted by thiussat View Post

Overall I would say development is better and more friendly on Linux. I mean the whole OS was written by hackers for hackers.
That doesn't automatically mean it's more developer friendly tongue.gif
Quote:
Originally Posted by thiussat View Post

There are tons and tons of development tools you can have for free.
As is the case for Windows too. Even Visual Studio has a free version (which is actually very good).
Quote:
Originally Posted by thiussat View Post

As for the languages used, you can program with just about any language on both OS's. However, with Linux you will likely have less setup time since most every Linux distro comes with a lot of languages and development tools already built in.
I'd already said that. It's also why I said Linux edged it on interpreted languages.
Edited by Plan9 - 4/18/12 at 6:39am
post #9 of 16
Linux is “free” as in “free speech”, not as in “free beer”!

While the initial cost of Linux might be $0, there is an operating cost to consider. For home use, it is close to free but there is a learning curve (which means time => money). Red Hat Enterprise Linux is not free because the cost pays for support and development.
Once again...
(13 items)
 
  
CPUMotherboardGraphicsRAM
i7 920 [4.28GHz, HT] Asus P6T + Broadcom NetXtreme II VisionTek HD5850 [900/1200] + Galaxy GT240 2x4GB G.Skill Ripjaw X [1632 MHz] 
Hard DriveOSMonitorKeyboard
Intel X25-M 160GB + 3xRAID0 500GB 7200.12 Window 7 Pro 64 Acer H243H + Samsung 226BW XARMOR-U9BL  
PowerCaseMouseMouse Pad
Antec Truepower New 750W Li Lian PC-V2100 [10x120mm fans] Logitech G9 X-Trac Pro 
  hide details  
Reply
Once again...
(13 items)
 
  
CPUMotherboardGraphicsRAM
i7 920 [4.28GHz, HT] Asus P6T + Broadcom NetXtreme II VisionTek HD5850 [900/1200] + Galaxy GT240 2x4GB G.Skill Ripjaw X [1632 MHz] 
Hard DriveOSMonitorKeyboard
Intel X25-M 160GB + 3xRAID0 500GB 7200.12 Window 7 Pro 64 Acer H243H + Samsung 226BW XARMOR-U9BL  
PowerCaseMouseMouse Pad
Antec Truepower New 750W Li Lian PC-V2100 [10x120mm fans] Logitech G9 X-Trac Pro 
  hide details  
Reply
post #10 of 16
Quote:
Originally Posted by Plan9 View Post

The problem with producing binary blobs for Linux is that the platform is neither standardised across distros nor static (APIs are constantly changing). Linux has ways to work around this that works really well for Linux. However writing stable binary blobs that are re-distributable across multiple distros and remain usable for years to come works much better on Windows than on Linux. So you're left with either having to persuade distro's to include your packages into their repositories, creating your own repositories for all the main distros or providing compiling instructions that are n00b friendly - all 3 options are a complete PITA.

That's because Linux kernel development is just done differently than Windows. Microsoft doesn't release new kernels all that often. They may patch it for security updates, but the Windows kernel remains stagnant for years. The only exception might be service packs. Linux, on the other hand, is releasing new kernels every several months. Then you have distros, most of which are on a 6 to 8 month release cycle and are not always running the same kernel version at the same time. Windows doesn't have this issue because it is on a 3 or 4 year release cycle (sometimes more).

So, you're right, the API stability is a problem in Linux. Compound that with all the different distros and their separate release cycles, and writing binary software that just "works" is a major PITA like you said. Really, it doesn't matter if it's binary or open-source, the same problem applies. The best you can do is target the distro of your choice. Right now Ubuntu is probably the best choice since it is still the most popular. Otherwise, you are stuck compiling it for all the different distros with all their different dependencies, etc.

I code in python, which is pretty simple (an interpreted language), but even getting a python script to be installable across all distros with their different package managers is a PITA. So I just focus on Ubuntu.
Skylake Build
(12 items)
 
  
CPUMotherboardGraphicsRAM
Intel Core i5-6600k Gigabyte Z-170 Gaming 7 Gigabyte R9 390  Gskill Ripjaws V DDR4 
Hard DriveCoolingOSMonitor
Samsung 850 Evo Corsair H115i Windows 10 Pro Asus  
KeyboardPowerCaseMouse
Generic EVGA NEX750 G1 Phanteks Eclipse P400 GSkill MX780 
  hide details  
Reply
Skylake Build
(12 items)
 
  
CPUMotherboardGraphicsRAM
Intel Core i5-6600k Gigabyte Z-170 Gaming 7 Gigabyte R9 390  Gskill Ripjaws V DDR4 
Hard DriveCoolingOSMonitor
Samsung 850 Evo Corsair H115i Windows 10 Pro Asus  
KeyboardPowerCaseMouse
Generic EVGA NEX750 G1 Phanteks Eclipse P400 GSkill MX780 
  hide details  
Reply
New Posts  All Forums:Forum Nav:
  Return Home
  Back to Forum: Linux, Unix
Overclock.net › Forums › Software, Programming and Coding › Operating Systems › Linux, Unix › Comparison between Linux and Windows?