|
UNIX evolved as a data processing tool, Windows as a desktop OS.
UNIX has a simple philosophy - here's a stream of data, let's manipulate it. Windows doesn't have that kind of conceptual foundation, it's more of an aggregated set of tools and features. There's a purity and a power to UNIX that I rather love.
That said, LINUX is not UNIX. LINUX is something else altogether - it may have started as an attempt to clone UNIX but it has become its own beast, free to evolve/devolve into whatever directions a diverse group of developers want to take it.
I have no direct experience of LINUX (I used to work with SCO UNIX, HPUX and AIX before I got drawn into the .NET world) so I'm in no position to comment on its technical merits but the lack of central control would seriously deter me from ever considering it for an enterprise platform.
98.4% of statistics are made up on the spot.
|
|
|
|
|
Jeremy Falcon wrote: you can do things with it that people only dream of in windows
Such as?
|
|
|
|
|
The list is too long to go into right over my phone (I be typing on it) now but one such example is recompile the kernel to remove uneeded code for a specific server environment. It’s faster and from a security standpoint not having code you don’t need can help with exploits in that uneeded code.
Jeremy Falcon
|
|
|
|
|
I have never had a need to do that, nor even a desire to do that, nor have I ever met or worked with anyone who would want to do that. In fact most places I worked probably wouldn't want you doing that even if you could. Who is going to support a product on an OS that you have modified to remove code from? Also your reasoning implies that the kernel comes with exploitable code, and that you are a better programmer than the person who wrote the OS. Rather than giving people the ability to remove the insecure code, isn't it better that the code is simply secure in the first place?
Maybe you could pull another three reasons from this long list to see if they are things I only wished Windows would let me do?
|
|
|
|
|
I think compiling code out of the kernel is more a performance thing. I'm pretty sure you'd only do it because:
a). You're tinkering for the fun of it
b). You're building some embedded software to run on something mass produced, and the extra few cents per device for hardware is too expensive
c). You're building something to scale massively across thousands of servers and a slight performance loss for some functionality you don't need is expensive - probably in terms of computation time (which in the cloud directly translates to $$)
I guess maybe if you were concerned with security maybe there's a reason to do it, but I doubt you'd find many industries where that level of security is required.
If you're just talking about reasons you'd want to as a typical user I've got a few:
- Put a clock on the corner of both of my monitors
- Uninstall software and know it's not going to come back as a 'critical security update'
- Adverts and Telemetry (or adware and spyware as we used to call them) that are in Windows 10.
|
|
|
|
|
Dar Brett wrote: Put a clock on the corner of both of my monitors
I have the start bar (ergo clock) on both of my monitors?
So you're basically saying that a valid reason to ditch Windows and all of the related software and go with Linux is to have a clock on both monitors? That is something that Windows users can only dream of? Do you realise how ridiculous that sounds?
Dar Brett wrote: Uninstall software and know it's not going to come back as a 'critical security update'
I've never had that happen.
Dar Brett wrote: Adverts and Telemetry (or adware and spyware as we used to call them) that are in Windows 10.
There's no adverts on my Windows 10?
At least we finally got there, the go-to-rant of all *nix people. "Windows is just bloatware and adware and spyware and not secure, and I can re-compile the kernel of my OS". You don't actually have any real, genuine, valid reasons, you just regurgitate the nonsense you read on the internet.
The argument wasn't that Linux does some things you think Windows doesn't, it's that you can do things with Linux that Windows users can "only dream of".
Using a different OS so you can have two clocks....
|
|
|
|
|
F-ES Sitecore wrote: I have the start bar (ergo clock) on both of my monitors?
You're right, a quick Google search revealed this has been possible since the Anniversary update of Windows 10.
F-ES Sitecore wrote: Dar Brett wrote: Uninstall software and know it's not going to come back as a 'critical security update'
I've never had that happen.
Just try uninstall Skype
I've uninstalled it three times, it's on my computer.
I also had to install antivirus software to get Windows Defender to stop slowing down my compile times. I don't like computers forcing me to do anything.
F-ES Sitecore wrote: There's no adverts on my Windows 10?
You sure? I have Microsoft adverts on my login lock screen and start menu.
F-ES Sitecore wrote:
At least we finally got there, the go-to-rant of all *nix people. "Windows is just bloatware and adware and spyware and not secure, and I can re-compile the kernel of my OS".
Sure, Windows is bloated - I can agree with that, but since hardware is so cheap Windows wastes a negligible portion of my system resources. So it works well enough when I need to use it, though granted I'm not going to waste time trying to get something like Apache Spark running.
I wouldn't waste time recompiling the kernel for a desktop PC either. I did that when I was in high school, but that was just out of curiosity. If efficiency of an overall system matters I'll consider it though.
F-ES Sitecore wrote: You don't actually have any real, genuine, valid reasons, you just regurgitate the nonsense you read on the internet.
That's not a nice thing to say. I just typed the first things I thought. Sure, Microsoft agreed with me on one point and fixed it, but I think that's beside the point.
I have plenty of reasons why I prefer Linux as a development platform, a few are specific to me.
I like using a tiled desktop environment that I can control fully with a keyboard when programming.
I'm quite a fan of having a simple file-system layout that I can comprehend - I'm pretty sure that a few dozen gigabytes could be cleared out of my Windows SSD if I knew what half the files were.
I enjoy that there's informally (mostly) agreed upon standards for how third party libraries work.
I like that the majority of decent open source software is about as well documented as Microsoft's software, unlike all other proprietary stacks I've used developed on.
I do like knowing what's running on my system, and understanding what's actually happening.
I like to be able to recover my system from minor errors rather than needing to restore from a backup
or clean install periodically.
There are a few objective reasons that come to mind as well:
Developing on the same platform as you're developing for is a good idea - I'd raise an eyebrow if a .Net developer was using Linux
Native support for a lot of server admin stuff - ssh and scp specifically
Much better automation possibilities (especially when interacting with a corporate environment) - OK this is more a complaint about Windows servers
Being able to view the code of a third party dependency really does make troubleshooting a lot easier
For me it's just a matter of preference. I can do what I need to do more easily on Linux. Whenever that isn't the case I use Windows, which I still keep installed games, and whenever I need to do .Net or NodeJS development. I still can't use a Mac though.
|
|
|
|
|
Dar Brett wrote: I have plenty of reasons why I prefer Linux as a development platform
The topic at hand is that Linux lets you do things Windows users can only dream of. I was simply looking for examples. Being able to re-compile the kernel, have multiple clocks or no in-built AV software are not things I can only dream of, they are things I really couldn't care less about.
|
|
|
|
|
Well if you're not concerned with better user interfaces, privacy, security, efficiency, automation, cost, or system longevity - then I don't actually think you'll find any reason to prefer any operating system over another.
|
|
|
|
|
There is no proof Linux is better at any of those things, as I said people like to regurgitate things they hear elsewhere. The person who started this strand even said that one of the advantages to being able to recompile the kernel was to remove the non-secure code.
|
|
|
|
|
Well I know for sure that there's definitely evidence for superiority in privacy, security, and efficiency.
Cost and System Longevity are a lot more difficult to compare. My opinion is that on a small scale Windows is more cost effective, while large scale Linux is far more cost effective.
User interfaces is pretty subjective, but I think it's a much safer bet to assert that different types of user interfaces are better for different types of tasks, than to assert that one single interface is best for all tasks.
And I'd agree - being able to remove non-secure code from any application is an advantage if you're going to do that. If you're not going to do that then it's no benefit to you.
|
|
|
|
|
Dar Brett wrote: Well I know for sure that there's definitely evidence for superiority in privacy, security, and efficiency.
No there's not. Secunia are an organisation that track vulnerabilities in products and here is their top 20 for 2014
RANK | PRODUCT | VULNERABILITIES
1 GOOGLE CHROME 504
2 ORACLE SOLARIS 483
3 GENTOO LINUX 350
4 MICROSOFT INTERNET EXPLORER 289
5 AVANT BROWSER 259
6 IBM TIVOLI ENDPOINT MANAGER 258
7 IBM TIVOLI STORAGE PRODUCTIVITY CENTER 231
8 IBM WEBSPHERE APPLICATION SERVER 210
9 IBM DOMINO 177
10 IBM NOTES 174
11 MOZILLA FIREFOX 171
12 X.ORG XSERVER 152
13 APPLE MACINTOSH OS X 147
14 IBM TIVOLI COMPOSITE APPLICATION MANAGER FOR TRANSACTIONS 136
15 VMWARE VCENTER SERVER 124
16 IBM TIVOLI APPLICATION DEPENDENCY DISCOVERY MANAGER 122
17 ORACLE JAVA 119
18 VMWARE VSPHERE UPDATE MANAGER 111
19 IBM WEBSPHERE PORTAL 107
20 MICROSOFT WINDOWS 8 105
Seems to me that if you want a secure OS that Windows is one of the best options. Linux people always go on that it is "more secure" but that's just words, when you look at the facts the truth never backs them up.
|
|
|
|
|
Weird that IBM is so prominent on the list isn't it?
Now I'll concede that Windows isn't the security nightmare it used to be (I'm thinking pre-UAC), you've actually got me kind of curious now about what the distributions of severity by vendor might be.
I may be spending my weekend drawing charts now.
Anyways, based on The Lounge rules I think we should probably stop talking about our religions...
|
|
|
|
|
Dar Brett wrote: Developing on the same platform as you're developing for is a good idea - I'd raise an eyebrow if a .Net developer was using Linux
I write server software. Never worked anywhere where I got to use exactly the same environment as the production environment. Because the production machines cost too much. Actually was a problem at one point because single CPUs could not test dual CPU threaded code. Several times that produced production bugs.
That has not been a problem for quite a while now with a multitude of VM solutions.
|
|
|
|
|
Not sure where you work but in the corporations that I have worked IT support services do not want normal users messing with the OS at all.
So, for example, I wouldn't expect that Munich IT wants the DMV users to alter how the work stations get updated.
|
|
|
|
|
Jeremy Falcon wrote: but one such example is recompile the kernel to remove uneeded code for a specific server environment
Been doing server side development for more than 20 years, including on unix systems. Never had a single need for that and never had a single unix developer suggest such a need.
Rather certain that employees of a city (Munich) using desktop machines would never have such a need either.
|
|
|
|
|
Jeremy Falcon wrote: However, you can do things with it that people only dream of in windows.
Such as?
I was using perl on a PC DOS box. PC DOS as in the precursor to Windows. Windows might have been in the Windows 286/386 version then but it ran on top of PC DOS so it would have support perl too. I have been using perl ever since on Windows boxes.
I have been doing raw socket access probably since about windows 95.
Java supported actual threads on windows boxes when it was first released unlike the horrible 'fork' implementations that existed on unix boxes and the ineffective pseudo thread implementation of 'green threads'.
|
|
|
|
|
swampwiz wrote: But in terms of using Linux as a day to day OS, NO WAY! To each his own; I'm not going to trade in a machine that "just works" for anything Microsoft.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
nobody takes OS advice from the City Of Munich
|
|
|
|
|
I've already summarized my own experience with Linux in a similar thread a good while ago, and it went along something like this:
When it works out of the box, it's a fine OS and you can probably learn a lot from it.
If it doesn't work out of the box or just starts misbehaving on its own - well, good luck. The problem is surely solvable, but you'll have to find just the right keywords to find relevant results on Google.
What helps in my case is that I mostly stick with VMs, and given that there is Microsoft code in the Linux kernel nowadays that allows it to run well under Hyper-V, it tends to be a good match and Linux "just works" with that known virtualized hardware.
The same can't be said however if you're using some Linux distribution that doesn't formally have Hyper-V support, or you're running on bare metal and happen to have some compatibility issue. At that point, that's when you start wondering why you're making this your problem ("you've got the source! Figure it out and submit a patch so we can all benefit from it!") rather than somebody else's.
|
|
|
|
|
I presume that the city is supporting the OS with their own staff.
I wonder how much they pay those people compared to the commercial market.
|
|
|
|
|
Ok, try not to laugh at the title. Right now, I assume there is no real future in WinForms. It's gonna be the next VB6 if not already, as in it'll hang around but people are gonna look at it funny. That being said, I just had a job interview with a guy who I really like. He's got an entrepreneurial spirit which I jive with. Right now, for the job, the main app in question that I'd be working on is an 8 year old product based on WinForms.
Should I get the job, and to plan for the future... I know WinForms isn't going anywhere. But for the big picture, think 10 years from now... we all know .NET Core is being shown the love. So, my question is, if I wanted to write a Microsoft-backed thick client application in C# that's possibly cross platform... what options do I have? I know Xamarin is one. Is that the only one?
And of course, there's things like wxWidgets, Qt, and even GTK+ with C# bindings, but is Microsoft cooking up some Windowing/GUI juju meant to be cross platform that I just don't know about yet? Like most LOB apps, this is a MS-centric shop, so I'm just curious to know what the latest buzz is on the geek street.
Jeremy Falcon
|
|
|
|
|
Anything where the UI is specified via XAML is probably a good idea, even WPF (it's less deprecated than WinForms ).
Universal Windows Platform[^] might also be a starting place.
Software Zen: delete this;
|
|
|
|
|
Yeah I thought about WPF. Being a web guy, I like declarative UIs too. But, in the interest of cross platform I'd doubt that's ever gonna be ported since it'll be a cold day in hell before MS uses OGL for a rendering pipeline.
Then again we have SQL Server on Linux now, so who knows.
Jeremy Falcon
|
|
|
|
|
Do I sense some ego here? If the app was successful in WinForm for 8 years, it may be in the right platform. I don't look at any applications and question they should all be in the web platform or cross platforms. The app's platform depends on its purpose. I'm having to rewrite web-based applications into desktop, and yes it is rewritten in Winform, and some from desktop to web. Unless the application has broad customer base where it may specifically call for cross platform, stay where it is safe.
|
|
|
|