+1 as well. I was once asked for computational science what program I used as a lab notebook. People looked surprised when I said I used an actual lab notebook.
+1 for the book "The New Turing Omnibus". Not very well known (it seems to me), but it has lots of interesting stuff. Perfect for little exploratory programming projects.
I am really surprised the vim plugin for visual studio is not on his shortlist. It makes vs nice to work in for those of us who can't stand modeless editors.
The submitter wasn't interviewed by Fog Creek, but the author of the post was. When reproducing their headline the submitter quoted "I" because they didn't do the thing the title said.
I'm not sure which edit you mean at this point, but the current title seems ok, since it's the author speaking, and most of the time the submitter isn't the author.
I'm always amazed when I hear a developer state that they use Windows by choice. Frankly it makes me look down upon them - no matter how successful they are (and this fellow is clearly very successful). I have to use Windows at work every day, and every day it will make me howl in frustration. How do people cope without a decent terminal?
You are making a very generic statement by saying "developer state that they use Windows by choice". If you read the entire post, he clearly says that he uses a dual environment of Windows/Linux. He uses Visual Studio which is certainly one of the best IDEs and right now, it only works on windows. So it is not like he is only using windows but he is using what works best for him. He also uses Vim as he clearly explained. Isn't that the point for developers that they use the tools they are most comfortable with ?
I am not a Windows fanboy of course. I know Linux works really well for dev environments but if you prefer to use an IDE for development and not just a simple editor, then I would argue that it is hard to beat Visual Studio. Sure you can program even in notepad. Again, a choice. CLI is not always the answer. But then again, Windows does have Powershell which has evolved well.
I will give you one example. If you are building ASP.NET MVC applications, you really don't have a better choice than Windows as you can integrate it really well within Visual Studio, link with Git and pretty much do everything within VS including deployment. It just works. So there are uses cases like these where Windows makes sense.
I guess I'm an equal opportunity howler: I howl in frustration at Android, at Ubuntu, at iOS, at Windows, at OSX... Sometimes I wonder if—gasp!—all of 'em are imperfect and I should just find something that suits me well enough and be done with it.
I used to be of this opinion, but then I ended up working in a .Net startup and, a few years later, did a project in ASP MVC.
Once I figured out Visual Studio, it got the hell out of my way and just let me work. It is really one hell of an IDE and, I'll be honest, I miss it sometimes. Windows itself needs quite a bit of tweaking to be used as a serious development box, but armed with some patience and good paht thai, it wasn't even the most horrible experience. Of course, we often had Ste. Ambroise Oatmeal stout in the fridge, so I may have been feeling bulletproof...:)
Of course, I'm in my late thirties and remember building awful websites with Windows ME. I may not have an opinion, I just may be a sadist...:)
Maybe the problem isn't the Windows OS (which is quite fine actually, especially compared to the hot mess OSX has turned into), but the development approach, tooling and processes that was forced upon you.
Personally, i couldn't care less where my VMs are running. I SSH into them and do my work, using the tools i know are best for the job. I develop locally using VMs managed by Vagrant, i deploy to AWS or DO. If i feel like it, i can switch from Ubuntu, to Windows, to OSX and my dev env will be there waiting for me.
How do people cope without a decent dev mindset?
PS You should look into ConEmu, which is what all the Windows devs use.
The same way you do on a mac! You are using a virtual machine to mimic your production environment, right?
I have Win8 desktop and MBPr laptop and develop on both about 70/30. Brew is nice and all (tho has made me howl in frustration numerous times) but I want stuff running on the exact same software as what I deploy.
Between work and pleasure I use a mix of PHP, Ruby, Java, Node, and Python (well and Haskell.. hello coworker! /wave). Not that I actively develop in all of those but will use other programs written in them and sometimes modify the source. CLI on mac is better than cygwin on PC, but I have had hiccups with both getting the right packages/libraries installed. OSX is far from the holy land imo.
I never have a hair pulling event on Ubuntu installing things, sadly I am too frustrated with the NON-CLI parts of Ubuntu to make it my primary OS.
I have all of those languages installed "natively" (ie not through cygwin) on Windows so linting works in Intellij. For SPAs I can use bower,grunt,gulp,livereload etc in cygwin just as easily as OSX. I've not tried installing Haskell on windows, I run that in my VM exclusively.
Right now my biggest gripe is Ansible is a b to get working in windows, but it can work. Hopefully the "run ansible on host" PR gets merged soon into Vagrant.
I know a lot of really good developers who work mainly in the windows platform. While I personally find working in windows like working with 1 1/2 hands tied behind my back they have built up just as large a toolset as I have in unix based systems. Most of them are just as effective as I am they just have a different toolbox. If I wished to I could build up just as large a toolbox on a windows platforms. I just don't want to at this time in my life.
> I have to use Windows at work every day, and every day it will make me howl in frustration. How do people cope without a decent terminal?
You should probably stop torturing yourself and install Cygwin + mintty (or kitty/puttycyg). Never had any major issues with Windows and the CLI after discovering it. Anything it can't do, I launch Powershell, but that's mostly things Cygwin can't do easily (like working with Windows/.net objects).
I have the same prejudice - and yes, I'll freely admit it is a prejudice.
But it is also based on observation. "Windows-only" developers tend to be too narrow-minded and many will have never heard of a lot of stuff that I take for granted. Stuff like Vagrant, Docker, Puppet, even a 'grep'. You get a blank stare whenever something that's not from Microsoft gets mentioned.
Given the difficulty that it is to install a lot of things under Windows, that's understandable. The other day I was having trouble installing Jupyter (formely iPython), which is trivial to install on Linux or OSX. Managed to, but only because I am stubborn. Firing a VM would have taken less time.
Not everyone is like that of course. You'll see that Notch uses Windows, even if he develops with Java and Eclipse. But he develops games (or used to anyway) and Windows is hard to beat in this case.
If I hear that the guy actually prefers Windows, during a job interview, you can be sure that I'll ask a whole bunch of additional questions to see how aware of the outside world the guy is. I could be turning down Notch, or Jeff Atwood.
So far, I don't think I have.
[edit: just noticed that I've used 'guy' here a lot, my mistake. Please replace by whatever genderless word feels more appropriate.]
My problem with development on windows hasn't been the OS itself, but the fact that companies that prescribe an OS for your development also tend to prescribe a set of tools, an IDE, a browser type + version, have the configuration of your PC locked down, and the corporate virus scanner dialed up to 11.
I can't work on a workstation where I can't choose that editor I'm so used to that I don't have to think about 'how', only about 'what'. I can't stand the latency caused by having the virus scanner run on access, create, change and write of every file, which makes an incremental build laggy and a full build impractically slow. I can't stand working on a workstation where I only have write access to c:\temp and a network drive, complete with more latency and flakiness.
My current employer lets us choose, but the admin told me if it's something other than Windows, Linux or OSX, don't expect support from us.
I feel you, but I used to have to use Windows for work (for no reason in particular other than my boss was a dick). PowerShell + https://chocolatey.org/ is a great way to go. It made working in Windows quite enjoyable and now I use Windows at home.
I use linux every day but I would not berate another programmer their tools. They should use what works best for them. And Putty is a half decent terminal so if that's your reason for not using windows you can switch tomorrow.
I tend to agree with you (even though I can barely read your comment :)). I haven't used Windows for years and I'd rather not to if given the choice. However, I find it very respectable to be comfortable with different platform and to be able to use the best tools on each of them. It also shows open-mindness not to be stuck into religion wars.
It reminds me of a colleague of mine who was an OS researcher. He was hacking the linux kernel all day long but still wrote his PhD dissertation using Words (when everybody else in the community was using Latex).
This is a dumb attitude. Windows is not much worse than other OSes for dev. At worst, you can easily virtualize. And it is much better for daily life than Linux, so if you aren't willing to pay the Apple premium, Windows is your likely OS of choice.
He does stuff on the server? In the part where he mentions using windows, he says he uses SSH into a server. Windows might be bad, but is it too bad to host a text terminal client?
You're only saying that because you're a bigot: A person who is intolerant toward those holding different opinions.
If you ever feel bad about being a bigot - don't - because whether you realize it or not, people generally look down upon bigots, so you've already been getting back what you've been putting out.
[+] [-] JustSomeNobody|11 years ago|reply
[+] [-] dhagz|11 years ago|reply
[+] [-] Fomite|11 years ago|reply
[+] [-] henrik_w|11 years ago|reply
[+] [-] rayiner|11 years ago|reply
[+] [-] unknown|11 years ago|reply
[deleted]
[+] [-] GarethX|11 years ago|reply
[+] [-] weaksauce|11 years ago|reply
[+] [-] Kiro|11 years ago|reply
[+] [-] bjacobel|11 years ago|reply
[+] [-] unknown|11 years ago|reply
[deleted]
[+] [-] pdiddy|11 years ago|reply
[+] [-] raldi|11 years ago|reply
[+] [-] dang|11 years ago|reply
[+] [-] adwhit|11 years ago|reply
[+] [-] codegeek|11 years ago|reply
I am not a Windows fanboy of course. I know Linux works really well for dev environments but if you prefer to use an IDE for development and not just a simple editor, then I would argue that it is hard to beat Visual Studio. Sure you can program even in notepad. Again, a choice. CLI is not always the answer. But then again, Windows does have Powershell which has evolved well.
I will give you one example. If you are building ASP.NET MVC applications, you really don't have a better choice than Windows as you can integrate it really well within Visual Studio, link with Git and pretty much do everything within VS including deployment. It just works. So there are uses cases like these where Windows makes sense.
[+] [-] AndrewDucker|11 years ago|reply
I use a CLI for about 10% of my work, and that's all PowerShell, which works very well for what I want it to.
But the vast majority of my work is inside either text editors or IDEs.
[+] [-] binxbolling|11 years ago|reply
[+] [-] hluska|11 years ago|reply
Once I figured out Visual Studio, it got the hell out of my way and just let me work. It is really one hell of an IDE and, I'll be honest, I miss it sometimes. Windows itself needs quite a bit of tweaking to be used as a serious development box, but armed with some patience and good paht thai, it wasn't even the most horrible experience. Of course, we often had Ste. Ambroise Oatmeal stout in the fridge, so I may have been feeling bulletproof...:)
Of course, I'm in my late thirties and remember building awful websites with Windows ME. I may not have an opinion, I just may be a sadist...:)
[+] [-] kgtm|11 years ago|reply
Personally, i couldn't care less where my VMs are running. I SSH into them and do my work, using the tools i know are best for the job. I develop locally using VMs managed by Vagrant, i deploy to AWS or DO. If i feel like it, i can switch from Ubuntu, to Windows, to OSX and my dev env will be there waiting for me.
How do people cope without a decent dev mindset?
PS You should look into ConEmu, which is what all the Windows devs use.
[+] [-] chrisan|11 years ago|reply
The same way you do on a mac! You are using a virtual machine to mimic your production environment, right?
I have Win8 desktop and MBPr laptop and develop on both about 70/30. Brew is nice and all (tho has made me howl in frustration numerous times) but I want stuff running on the exact same software as what I deploy.
Between work and pleasure I use a mix of PHP, Ruby, Java, Node, and Python (well and Haskell.. hello coworker! /wave). Not that I actively develop in all of those but will use other programs written in them and sometimes modify the source. CLI on mac is better than cygwin on PC, but I have had hiccups with both getting the right packages/libraries installed. OSX is far from the holy land imo.
I never have a hair pulling event on Ubuntu installing things, sadly I am too frustrated with the NON-CLI parts of Ubuntu to make it my primary OS.
I have all of those languages installed "natively" (ie not through cygwin) on Windows so linting works in Intellij. For SPAs I can use bower,grunt,gulp,livereload etc in cygwin just as easily as OSX. I've not tried installing Haskell on windows, I run that in my VM exclusively.
Right now my biggest gripe is Ansible is a b to get working in windows, but it can work. Hopefully the "run ansible on host" PR gets merged soon into Vagrant.
[+] [-] dovel|11 years ago|reply
[+] [-] zaphar|11 years ago|reply
[+] [-] isxek|11 years ago|reply
[+] [-] gokhan|11 years ago|reply
[+] [-] smackfu|11 years ago|reply
I think you underestimate the number of developers who basically use IDE plugins to do everything.
[+] [-] reymus|11 years ago|reply
[+] [-] yareally|11 years ago|reply
You should probably stop torturing yourself and install Cygwin + mintty (or kitty/puttycyg). Never had any major issues with Windows and the CLI after discovering it. Anything it can't do, I launch Powershell, but that's mostly things Cygwin can't do easily (like working with Windows/.net objects).
[+] [-] CurtHagenlocher|11 years ago|reply
[+] [-] ceejayoz|11 years ago|reply
I'm not a big Windows user, but PowerShell came out in 2006 and has made a lot of big strides since.
[+] [-] outworlder|11 years ago|reply
But it is also based on observation. "Windows-only" developers tend to be too narrow-minded and many will have never heard of a lot of stuff that I take for granted. Stuff like Vagrant, Docker, Puppet, even a 'grep'. You get a blank stare whenever something that's not from Microsoft gets mentioned.
Given the difficulty that it is to install a lot of things under Windows, that's understandable. The other day I was having trouble installing Jupyter (formely iPython), which is trivial to install on Linux or OSX. Managed to, but only because I am stubborn. Firing a VM would have taken less time.
Not everyone is like that of course. You'll see that Notch uses Windows, even if he develops with Java and Eclipse. But he develops games (or used to anyway) and Windows is hard to beat in this case.
If I hear that the guy actually prefers Windows, during a job interview, you can be sure that I'll ask a whole bunch of additional questions to see how aware of the outside world the guy is. I could be turning down Notch, or Jeff Atwood.
So far, I don't think I have.
[edit: just noticed that I've used 'guy' here a lot, my mistake. Please replace by whatever genderless word feels more appropriate.]
[+] [-] wobbleblob|11 years ago|reply
I can't work on a workstation where I can't choose that editor I'm so used to that I don't have to think about 'how', only about 'what'. I can't stand the latency caused by having the virus scanner run on access, create, change and write of every file, which makes an incremental build laggy and a full build impractically slow. I can't stand working on a workstation where I only have write access to c:\temp and a network drive, complete with more latency and flakiness.
My current employer lets us choose, but the admin told me if it's something other than Windows, Linux or OSX, don't expect support from us.
[+] [-] ddoolin|11 years ago|reply
[+] [-] jrbancel|11 years ago|reply
Try cmder (http://gooseberrycreative.com/cmder/).
Some of the features: tabs, most Unix commands available, git integration and the default font and color theme are very good.
[+] [-] jacquesm|11 years ago|reply
[+] [-] yodsanklai|11 years ago|reply
It reminds me of a colleague of mine who was an OS researcher. He was hacking the linux kernel all day long but still wrote his PhD dissertation using Words (when everybody else in the community was using Latex).
[+] [-] obstinate|11 years ago|reply
[+] [-] logicallee|11 years ago|reply
[+] [-] WorldWideWayne|11 years ago|reply
If you ever feel bad about being a bigot - don't - because whether you realize it or not, people generally look down upon bigots, so you've already been getting back what you've been putting out.