This is a little question I'd like to clarify. I see a lot of vocal HNers saying they prefer OSX over anything else, but is that a vocal minority or does that represent a majority here on HN ? Please indicate what you prefer using for Web Development, and why.
I actually work on a Windows 8 machine for most of my day, but all my actual development happens on a Fedora machine on my LAN, which I work with via Samba and SSH. The advantage of this setup is that it means that I can also work from my Chromebooks trivially - just SSH into my dev machine and hack via vim. I have a Macbook that I work on sometimes, but I frequently just end up doing the same thing there - connect to my dev machine via Samba and SSH, do my work, don't worry about the Apple tools tripping me up and getting in my way.
OS X is probably the nicest (prettiest?) shell available, but the OS as a whole is a pain in the ass from a development standpoint compared to the Linux alternatives. The shell also has its own little quirks - you end up using the mouse a lot more on an OS X machine than you do on a Windows or Linux machine, which slows me down.
I think that $YOUR_FAVORITE_DESKTOP_ENVIRONMENT works just fine as long as you are running all your actual code on a Linux machine or VM somewhere.
Can you explain further what makes OSX a pain in the ass vs a Linux distro (besides the shell quirks)? Any advantage you see by using OSX even though you prefer Linux ?
Well, for one, getting sane build tools is difficult. Apple doesn't ship anything GPLv3, which means that among other things, GCC and bash have stagnated. You end up relying on homebrew to provide modern versions of "basic" tools, which may or may not work properly depending on your use case. It generally involves a lot of trial and error and things mysteriously breaking until you find a StackOverflow question where someone has figured out the answer through exhaustive experimentation, and one of the sixteen prescribed fixes will actually work for your environment. OS X is better than Cygwin, but it's the same kind of mess - to get a functioning, cohesive GNU environment, you end up doing a lot of hacking around to balance things just so.
Since you end up relying on a third-party package system, and the OS itself makes no guarantees about the availability or compatibility of the development tools you need, upgrades become dangerous and unpredictable.
As for advantages...I dunno. Netflix, Photoshop (sorry, GIMP fans, Photoshop is still unmatched) and battery life? Linux power management is pretty horrid compared to OS X. However, basically the only time I care about that is when I'm on an airplane and won't be able to get to a plug for 4 hours, which is like...a half dozen times per year.
I find what you're saying interesting, because it doesn't really match my experience. I came from Linux to OS X not too long ago (three years maybe?) and while the first thing I do is install GNU coreutils and findutils, I don't find myself having to do much else to make the command-line environment feel very friendly. Most "Linux-only" scripts that I run across are really just "GNU-only" scripts, and work fine. Obvious exceptions are ones that do specifically touch Linux-specific constructs, but I find that most are just not tested with the default BSD tools and suffer for it.
My only other beef is that there's no rc.d system and OS X's startup stuff is messy, but I do that so rarely that it doesn't usually come up.
The other major advantage for me is Xcode. I did not get-it until Xcode 4, but these days I really miss when I'm not using it. (I do mobile and web development on the JVM, but I write games on the side.) I've yet to find a C++ IDE that's as nice as Xcode, and that's including MSVC with Visual Assist X.
Also, I haven't found serious issues with upgrades since moving to Homebrew from MacPorts. Your mileage may certainly vary, but I've upgraded the same Mac from 10.6 to 10.9 without any issues. I can't say the same for my Ubuntu system, but that may have been my fault. =)
It may just be quirks of the toolchain - I'm primarily a Ruby developer, and I dabble in Java (mostly for Android) and Scala. Setting up a CRuby environment that can compile native extensions under OS X is a minefield. It's not hard once you know what to do, but you can expect to spend several hours working around esoteric issues the first time or two you do it.
The lack of an rc.d system is another sore point for me - I can't ever remember the correct invocation to restart this or that service. Having to look it up each time is annoying.
I haven't used XCode significantly (I tend to stick to Sublime and IDEA's Java/Ruby IDEs), but I've heard great things about it from iOS developers.
Gotcha. Never got into Ruby beyond the basics, so I can't speak to that. It's funny that you mention IDEA, though, because I find it way, way better on OS X (day job is Android development, I'm also a part-time Scala cheerleader). It's just so amazingly fugly on every Linux machine I've ever used--it's a Swing problem, I've never been able to figure out how to fix that.
Heck, IDEA looking and feeling great on OS X was the reason I originally bought a Mac.
Usually this "-Dawt.useSystemAAFontSettings=lcd" will fix your fugly situation. Actually, at least since version 3 of PyCharm I don't have to muck around with java settings to make it look humane.
Also, to be clear, power management for laptops depends entirely on which one you got, there are a few where it makes better use of the same battery on the same hardware than OSX could hope to.
You can use Emacs shell or Conque/Vimshell to not use mouse while using terminal on OS X. I hate using mouse as well, I made post some time ago about removing mouse from your daily routine: https://kozikow.wordpress.com/2013/10/31/going-mouseless-on-... .
Having moved from Windows to Linux to OS X for desktop I've found that nothing beats OS X for stability and uptime. Linux esp the Kubuntu was never stable. Windows same. OS X is bloody amazing esp when under load. I guess it all depends on what type of development and torture one puts the OS through.
That's opposite of my experience - my Windows machine (seriously, who'd have thought it) is more stable than my OS X machine these days. My Linux machine is currently running at 344 days of uptime, though, so there's that.
I haven't used Samba since university - don't you suffer from "Windows doesn't have proper file permissions" thing with it? How do you work with Git? Can you commit both on the host and Linux?
Debian. And I don't understand how people manage to get anything done at all without a package manager and (binary) repository. I've recently had to help a colleague set up development environment on OSX and it was pure torture.
And yeah, once you get a hang of tiling window managers everything else just looks silly.
Can you elaborate on the advantages of a tiling window manager? I like them, but once I pass about 3 windows, things start feeling cramped and I can't really get anything done because there are things I don't care about competing for visual attention.
I use wmii, so this might not apply to the other tiling WMs (although it does seem to be similar from observing other people), but here goes:
The main advantage of wmii to me is that I can always get to my destination window with a single keystroke. I don't have to grab the mouse and I don't have to shift my focus to the window switching process itself like it happens when you Alt-Tab in Windows / OSX. I switch between windows a lot so it was a major annoyance when I used to work on Windows. Maybe for someone with a different work style it would be a lot less important.
Most of the time I have one maximized window per "virtual desktop" so there's really no competing for attention issue. But when I do use multiple ones (e.g. for multiple IM clients) I really enjoy the fact that I don't have to do the layout manually (using mouse, again).
Finally, it might be silly, but I just realized that "imperfect" windows layout (where there is unused space between windows) bothers the hell out of me. OSX is particularly bad in this regard (and I've noticed other people bothered by this as well).
Maybe I just need to learn to set one up correctly. It sounds interesting.
I hear you on the OSX "space waste" thing. Windows has the awesome Win+Up/Win+(Left/Right)/Win+Shift+(Left/Right) shortcuts that I dearly miss when I'm on OS X - being able to move windows around and maximize/restore them with the keyboard is fantastic.
Give Slate [1] a try, it's a little bit of a pain to set up initially, but it lets you easily assign hotkeys to your prefered window locations.
Personally I've also got PCKeyboardHack [2] and KeyRemap4Macbook [3] setup to disable capslock and remap it to a 'hyper' key (command+option+control+shift) so that I can assign my own key combos without having to conflict with other software.
Tiling manager - Amethyst ( https://github.com/ianyh/Amethyst ) is port of xmonad for Mac OS X.
Binary repository - brew cask lets you distribute Mac Apps as binary files. Furthermore in boxen ( http://boxen.github.com/ ) they did some work with adapting brew to distribute all software, even command line tools as binary packages.
Homebrew developers are doing god's work but I wouldn't compare it to agt-get.
Yeah, if you sweat for a couple of days you can turn your OSX (and even Windows) into some remote resemblance of a linux. But what good parts do you have left after that?
I get CentOS people always telling me their distro is better. Would love to know if as Debian users we're getting cheated out of something awesome there :)
I don't know that CentOS is necessarily better, but I haven't used Debian enough to make a really valuable judgement there. It's certainly good, though.
yum is a very capable package manager, and Redhat's distros have been very well supported for a very long time. The flexibility of having both Fedora (bleeding edge, you'll probably cut yourself, but can always get the latest goodies) and CentOS (LTS, you know it's going to work properly) is really nice, too.
Big fan of Linux (and in turn FOSS projects) so I'm a KDE + Ubuntu (moving to Debian when I can get all of my PPAs in easily) kind of guy. I use Krita/Karbon for slicing up PSDs and making quick vector images, Pencil for wireframes and light mockups and mainly Konsole, Vim and tmux for all of my webdev works (as well as Chrome and Firefox).
As long as you conform to standards, webdev is easy.
Safari issues are rare (if it works in Chrome it pretty much works in Safari). IE issues on the other hand . . . which is why when I'm doing serious web development where I care about reaching all users, I prefer to use windows so I can quickly debug Chrome, Firefox and IE(s).
A Mac OS X box, with Vagrant/VirtualBox running as close a copy of the deployment environment as I can manage. (And a VM running Win/IE too when needed). So my editor is mostly running in Mac OS X, but most of the dev actually happens on a Ubuntu, CentOS, or recently ARCH Linux environment.
Why? Mostly inertia - I've been using Mac OS daily since System 7 days, and I've never chosen to spend the time becoming familiar enough with any particular Linux distro (or Windows) to become familiar/comfortable for the rest of my day-to-day work - I like my text editor (BBEdit) and my other toolsuite much of which is OSX only. I'm happy enough in vi from a command line when needed, but I'm not as productive or efficient there. There's a little bit of liking the hardware too - I still like my (~3 year old) MacBookPro - it's a _really_ nicely made piece of kit - far nicer than most other brand laptops I see around. (I have little doubt that there are nicely engineered and designed Windows/Linux laptops, but most of them I bump into are plasticy or boxy or flimsy-feeling.) I do have a Toshiba Notebook and a non-name wintel box with Ubuntu12 under my desk, but it's a 27" iMac and a 13" MacBoo Pro that I spend all my time in front of.
This sounds pretty similar to my setup - all the actual build and dependency stuff happens on Linux, but the shell can just be whatever you're most comfortable with.
I'm comfortable with the no-brain reflexive operation of a dwm-style tile and tag window manager: I haven't thought about where my windows are, how to resize them, or how to focus them for days since I simply have that done for me.
A mix of a productive low-cognitive-overhead environment, and transparent remote operation makes the GNU/Linux and OpenBSD worlds a no-brainer for me.
Also, people keep talking about using different platforms for different things, but I find that tiring. I don't know how you guys can spend your time flopping between all sorts of thinking modes rather than standardizing your experience(I have much the same lack of understanding for the reasons why people would have multiple desktop environments, or multiple editors to go between).
My main argument against OSX is that while it may be decent on a mac, there's an entire world of other hardware and circumstance, not to mention the differences between your production environment and your knowledge of your development machine, why not put the same thing on everything? I have a PPC eMac, an entry-level 2010 laptop, and a couple of lenovo desktops sitting around, they all run exactly the same thing with synchronized configurations, I don't know how I would do without this.
I personally use a Linux Distro (OpenSUSE, and occasionally Ubuntu) for any Web Development, but I'd like to hear more about the choices of professionals in the field, those who earn a living with their work.
I use KDE mainly because it feels a lot faster than GNOME and Unity and because it moves out of the way when I don't need it. And the smart-as-shit rendering engine for Oxygen makes GNOME apps look native to KDE so it's like I'm at home. I use my laptop for gaming and work.
Arch Linux all the way, for any type of development. I love trying out different languages and frameworks , and pacman makes installation and updating a breeze.
Seems like these days you can get most of the goodies from Linux on OSX as well, so I'd not be able to state why you'd want one over the other, perhaps they're interchangeable. I myself am partial to Linux and being able to manually configure machines just the way I want, both in production and at home.
I have an ansible playbook which I use to make sure that my different machines (1 work box running Precise, 1 home box running Saucy, 1 laptop running Precise) are all running the same applications (everything from xchat to vim configs is controller by ansible). Gvim + grep/ag/sed/tmux is all I need for full-stack development. Postgres/Redis/JVM all running on the same machine, as well as Vagrant and an always open connection to our VPN. It's pretty nice, I can't complain. With vim plugins and the ability to nREPL into my apps, I've yet to miss an IDE once. Keep a personal Wiki for notes and everything interesting in vimwiki. Full support for all the other apps that provide creature comforts such as Skype, Spotify, KeePass, VLC. Quite like GIMP for basic photo editing, plenty of video editing/conversion command line tools like imagemagick and ffmpeg. Audacity for audio. LibreOffice has always worked fine for me, but I'm not an Office poweruser.
Due to time constraints I recently have pretty much stopped playing videogames, which was the last reason for me to keep a copy of Windows around. With Steam pushing hard for Ubuntu gaming, my OS should be more viable in the coming years there as well.
Don't really see a good reason to ever move to OSX besides maybe sexy hardware (yes you can run Linux on Macs, but I keep reading about the awful driver support). I strongly support the philosophies and vision behind the free and open source software movements and want to exist in that ecosystem as much as possible. I'll gladly deal with the infrequent hassles to show my support and alignment. Occasionally WiFi/Video/Printer/Projection support is spotty at best, but I'll figure something out. Worst case scenario I'll borrow my cofounders Macbook for keynote presentations :)
I'd prefer Linux but there is a huge downside - not being able to run Photoshop. The workflow still feels much more intuitive than Gimp. Virtualbox running Win7+PS could work though..
What's the reason people find Photoshop so important to web dev?
I used to use Photoshop and run my main dev setup in a VM so I could use it, but eventually I just used it less and less.
I'll agree Gimp isn't the best piece of software ever usability wise, though single window mode went a long way. But honestly I end up using Inkscape way more since it's so much easier to align boxes in layouts for mockups and create CSS-like effects, which is what I end up doing a lot.
I get Photoshop for Lightroom/really graphics heavy stuff, but as a webdev I find I either need to make simple vector graphic stuff that Inkscape works wonderfully for, or I just need to chop up stuff that someone else already created as a raster somehow, neither of which really make Photoshop a necessity.
Now the main piece of software I like that doesn't run on Linux is Sequel Pro. I really really wish that it had a Linux version.
As for what I use, I always do my development work in Linux, whether VM or regular install. Getting stuff to work on Mac can be a headache (you absolutely need homebrew, and most of the time it works alright, but compared to just using Linux it's not always convenient, especially when you want to use a piece of software that's never really been built to work with Macs), and it's generally impossible on Windows. These days my desktop distro is Mint, though I stick with LTS based.
As a front end developer, I get most of my assets in PSD format. Although the uptake of mobile browsers (and the corresponding use of media queries) is slowly chipping away at Photoshop as a web design tool, Photoshop files are still the most common format I receive.
I actually prefer GIMP. It's much more light-weight (RAM), and it does everything I need (which is usually just resizing and recompressing). Though, I see the need for PS if you have to do more involved stuff.
OS X - The quality of drivers and firmware is way better than on my linux machine. With each Linux I installed in my life I had problems with either graphics card driver, battery life way smaller than on Windows on the same machine, battery leaking too fast while machine supposed to be sleeping, lack of good SSD support (at the time I tried it), wifi/printer not working as it should, long boot time etc.
On OS X I get the best out of Linux (Unix based) and Windows (Runs photoshop and office, no problems with drivers and firmware).
Awesome quality of Mac Apps is another benefit. Photoshop and not having to use open office. I can't find equivalent alternative of Alfred for Linux. Adium works better than Pidgin. 1Password seem to be the best password manager. There are native apps for music apps like Spotify and Rdio, what gives me a benefit of controlling them using built in hardware keys. I love fantastical.
Main selling point of Linux used to be tiling window manager and package distribution. Amethyst - OS X port of Xmonad is quite good and I am using it at the moment - https://github.com/ianyh/Amethyst . Brew is getting much better than it used to be and I don't remember a recent situation when I had problem with it.
Finding help online for your system is another benefit. Linux have many fragmented distributions and things very often do not work between them. On OS X if you find a solution online it will work. There's bigger market share (even among devs) so it's more likely you will find your solution online.
While my servers are all Linux, as are most of my dev targets (I do embedded/hardware work), my workstations/laptops are all OS X.
For laptops, the hardware/integration plays into it - historically, Linux/PCs haven't been able to match form factor, build, battery life, trackpad, and just workingness for suspend etc... but mostly it's that OS X provides the most flexible/painless work configuration for me.
Working in the command line works like you'd expect (I use the same configs/dotfiles (w/ some switches) between OS X and Linux). I use MacPorts for package management (which provides sane Python and most everything else I need), and anywhere that fails I can run a VM or just SSH to a box. iTerm is a great terminal, and I use ClipMenu, which is a great clipboard manager. Quicksilver means I rarely need to touch the mouse when I'm typing. The only thing I wish was better is workspace/window management, but I admittedly have never spent enough time on it (I use Moom, but one of these days I'll get serious w/ Zephyros or something...)
Day to day, I very heavily use Evernote and 1Password, which might have Linux equivalents, but would require some work to switch. More importantly though is that OS X gives me access to Photoshop, Lightroom, and OmniGraffle which I wouldn't really want to be without. I'm rarely in XCode these days, but it's still useful for knocking out the occasional iOS/OS X code I deal with as well.
Basically, OS X gives me a very comfortable environment (I've used Windows and other *Nixes for years in the past), and the best of both worlds for design and dev software.
I do considerable design and photographic work in OS X. I've been on the Mac platform for my entire life, and I have no real reason to switch now. That said, most of my development work is platform independent– it probably wouldn't make that much of a difference if I did it in Linux, maybe a bit more if I did it in Windows. I just have no reason to do so and I'm comfortable with OS X.
I voted "Others" because I prefer to use a combination of OSes, namely OS X and a Linux distro (I use Ubuntu).
My desktop runs OS X and I use it mainly for my visual tools. Anything having to do with image manipulation, all my browsers, and a variety of other tools run just as well, better, or exclusively on OS X. Some examples: Pixelmator, Illustrator, xScope, ImageOptim, Dash, LiveReload, MacVim etc. There's lots more software and many more reasons, but that's the gist of it.
My (non-javascript) code all runs on Ubuntu, though, and I've got a Vagrant VM running any time I'm doing dev work. I used to run my dev environment in OS X but that was a huge pain in the ass because it's so extremely inefficient in so many ways. Since switching to Vagrant & VirtualBox (& Chef, but I'm looking to switch away from that) I haven't looked back, even for solo or weekend projects.
I do use Windows, but only occasionally and grudgingly so I wouldn't count it in this case. I make sure the sites I build work in IE and that's pretty much it.
At http://codedose.com we prefer Linux and Windows as the first gives you powerful scripting/command line tools out of the box and Linux is also our major deployment platform (EC2, Linode), whereas the latter gives you the perspective of a standard consumer web app visitor...
That's actually a pretty important point - as the guy on our team who runs Windows, I see issues that the rest of my Mac-using team doesn't, which is important, since a majority of our traffic comes from Windows machines!
It's always a bit painful when you run into a site that just looks bad on Windows, and it's obvious that it was an all-Mac team that didn't bother to cross-platform test.
I wonder how many people have a different preference from their development OS to their daily use OS?
Personally, I like Windows, but developing Rails on Windows isn't ideal so for Rails stuff, I use Ubuntu (sometimes OSX).
Node and PHP I've always done in Windows.
I switched from Windows to Ubuntu a couple years ago, because ruby and rails were a PITA on Windows. Now I use Windows only when I absolutely need to use Photoshop, and it just feels so slow
(Not Webdev, but Scientific Computing. Hope that's OK.)
Another vote for the OSX + VirtualBox/Linux combo on a MacbookAir here. Gives all the shininess of OSX, battery time of MBA, with the (package managed) flexibility of a Linux system. It's also seamless and transpartent when you mount your project folders, and run it headless with local port forwaring (ssh/http/...).
Also, if you need to do something crazy, you can just clone the VM, muck about, and then throw it away again.
Windows because we use C# / ASP.NET MVC and Visual Studio / Resharper is a very productive combination. Our test and production machines are Linux/Mono however. Our system utilizes a number of services which are best run under Linux, in particular Redis. On our dev machines we use Vagrant / VirtualBox to host these. Git works fine under windows, and I find myself working in the git shell a lot for general tasks as well.
Lubuntu - single screen setup, easy config sync between home/work and new PCs (setup in <30 seconds, sync with dropbox/git-annex).
Multi workspaces, allows minimal distraction for UI, Sublime Text 2, Chrome.... love it. Been using Linux since 2006 and wouldn't switch to anything, though I recently bought a MBA and that has been converting me slowly - what a great portable machine.
I use OSX at work, and it's fine... but you have to install so much third party stuff, it's too easy to set up a machine non-case-sensative and then get screwey issues later on, and none of the 'fake' tiling window managers are really that convincing in the end. I prefer straight debian.
Apple has a serious design VS usability problem with their keyboard and I seriously don't understand how people get used to it. And the unique menu bar.
Also, a windows box for testing is a must have since it's the most popular OS => no need for slow browserstack or vms.
As a Mac user, I actually don't use the menu bar often. Instead, I most often use keyboard shortcuts. When I do use the menu bar, I'm using the Help menu to search for the menu item.
What keyboard usability problems are you referring to? Compared to Windows, I quite like using the Command key instead of the Control key for most keyboard shortcuts (thumb instead of pinky).
I use OS X for a few reasons: it's the default OS on my laptop of choice, it's easier to setup ruby on OS X than Windows, and I prefer the OS X UI to that of any Linux distro (and to that of Windows 8 and Windows 7 too)
Currently running Ubuntu 13.10 with i3, freshly build from Ubuntu 13.10 Server. I mostly run my development systems in VirtualBox on a MacBook Air but don't really use OSX for anything other than the host machine.
OS X with Chrome, FF, Safari, Opera. A Parallels VM running Win7 or 8 for IE testing. IDE: Coda2 and CodeKit w/ Compass & SCSS for a compiler that gripes at me when I screw something up.
debian - mainly because it's the same environment we (a small business employing 5 people) use across home, office (where I encouraged a mass migration from Windows), and our cloud server where our website resides. In fact I managed to make 3 other people migrate their home pc / laptop too). Some proprietary Windows apps we had were moved to either Wine or, when they didn't work under Wine, to a few VirtualBox Windows machines - but I'm confident we will soon manage to get rid of them.
Linux or OSX, pretty much the same; currently using OSX because I have MacBook Air (and love the HW). I didn't find too many reasons to install Linux on it yet.
I am a Windows user at home but I have been doing Web Dev on Mac(at office) and I guess its a better overall experience than Win8. I just wish Macs were affordable!
I'm having a hard time thinking of a reason to have a preference - let alone a strong preference. I'm spending most of the time typing into a text editor, where my experience depends on the editor, not on the OS. Another chunk of time is on the web reading documentation and StackOverflow - that's the same on any OS. Then testing in the browser - same deal. The last little bit is config work in the web server. Now here, I could understand having a preference for IIS or Apache, but that's not the OS either. There are basically only 2 command lines between these three OSes. Having used both, I find them mostly equivalent for basic work. I'm sure a real power user could make a better argument for why bash or cmd or powershell is better for one thing or another, but nothing's stopping me from getting my work done in any of these. A few years ago, I might have had to prefer Windows, because that was all I knew. Now, after being forced to do a lot of development on OSX and finding it to be all the same, it's hard to think of having a preference.
It sounds like you're not really doing a lot with serverside code execution - that's where most of the difference comes into play. Configuring different applications environments is frequently where you're going to run into issues. If you're just writing HTML/CSS/JS, I don't imagine that the platform makes very much of a difference at all.
I use them all, but predominately Windows for my actual coding and then I deploy to a Debian development server that mimics my production settings with debugging enabled. I don't enjoy the OS X GUI and always find it clunky. Cost of Apple products also dissuades me significantly. I can more than afford their products, but I can't justify it because I can build what I feel is a better machine for significantly less. Linux is great, but no Photoshop and I always find myself tinkering with it (though this isn't a bad thing, just not time efficient).
Ultimately, I find I'm more productive in a Windows environment, and that's what counts for me.
I actually work on a Windows 8 machine for most of my day, but all my actual development happens on a Fedora machine on my LAN, which I work with via Samba and SSH. The advantage of this setup is that it means that I can also work from my Chromebooks trivially - just SSH into my dev machine and hack via vim. I have a Macbook that I work on sometimes, but I frequently just end up doing the same thing there - connect to my dev machine via Samba and SSH, do my work, don't worry about the Apple tools tripping me up and getting in my way.
OS X is probably the nicest (prettiest?) shell available, but the OS as a whole is a pain in the ass from a development standpoint compared to the Linux alternatives. The shell also has its own little quirks - you end up using the mouse a lot more on an OS X machine than you do on a Windows or Linux machine, which slows me down.
I think that $YOUR_FAVORITE_DESKTOP_ENVIRONMENT works just fine as long as you are running all your actual code on a Linux machine or VM somewhere.