top | item 12877045

Switching from macOS: Developer Environment

254 points| bdcravens | 9 years ago |blog.elementary.io | reply

172 comments

order
[+] nebulous1|9 years ago|reply
Elementary doesn't strike me as a particularly good distro for dev. It's not that I've anything against it, but other than your personal preference in the DE (and Pantheon isn't without its charms) it doesn't seem to have much that's going to lift it over any other linux distro. Perhaps I'm missing something.
[+] forbidden404|9 years ago|reply
I've tried Elementary a couple of times for dev and it isn't suited for that at all. I understand they've been getting a spike in traffic since the new macbook pro release, but I don't see how that would be a great choice for developers, cause most of the similarities with macOS will stop with the design.

As much as I wanted to enjoy the distro since its DE looks more well-thought than other DE's around, you're going to get more problems than if you simply switch to Ubuntu with outdated packages, poor documentation to solve problems and it's easy to realize it's not made for devs.

I would say Ubuntu or Fedora are better distros for developers to switch from macOS if they don't want to spend a long time setting things up, or maybe even Arch Linux if they are experienced with Linux. After a while, I couldn't even recommend Elementary for friends since I knew the amount of problems that would come with it.

[+] dogma1138|9 years ago|reply
While not a full time dev, I would always classify Elementary as an OSX "experience" rather than a work platform.

It's elegant, it works, it has almost nothing you do not directly need, and honestly even compared to Ubuntu it's user friendly.

If you don't use many apps on OSX beyond the basic / apple ones (excluding video/media editing) you'll likely never feel the difference since even the UI is rather similar.

[+] rhodysurf|9 years ago|reply
Especially because a lot of the standard dev libraries are outdated or get outdated quick
[+] velodrome|9 years ago|reply
I have had a decent experience using KDE. It is not as beautiful as GNOME or MacOS but it sure is productive.
[+] 59nadir|9 years ago|reply
Well, for people who were using another OS not especially great for dev-work (there's nothing special about OS X in that regard) it seems like a fine recommendation. The biggest reason to run OS X apart from the obvious "you should do it because you want to develop for Apple stuff" is that it's a clean experience that mostly gets out of your way and you won't have to tinker all that much.

The macbooks are well tailored for dev work because the hardware itself hits most of the points that people want and care about.

There are arguably more options for dev work on any linux distro and Arch, for example, will do a better job with its repositories and the AUR in giving you easy access to devtools (and all other apps) of all kinds.

[+] macco|9 years ago|reply
elementary is a fine system, but nothing special for developers. As a developer I would always use an Arch based distro (Manjaro, Antergos, etc.) or Arch itself - of course.

Everything a developer needs is in the repos, no fiddeling with ppa's or downloading packages from websites.

[+] rat87|9 years ago|reply
Yeah.

I haven't tried it but Elementary has always seen like a clone of OS X. And like most clones likely to be a bad clone.

Gnome is a bit crazy these days, I'd recommend kde.

[+] jkrems|9 years ago|reply
Wonder why they didn't go with Cmd+C/Cmd+V for copy&paste. As a developer, that's one of the reasons I really enjoy working on macOS. There's no chance to confuse Ctrl+C and Cmd+C - both of which are shortcuts I use frequently.

P.S.: Not to mention that I appreciate using my thumb for the primary meta key instead of my little finger.

[+] nmalaguti|9 years ago|reply
One of the major benefits of macOS has been that everyone who uses it has a consistent experience. Some people will use more specialized applications or tools, but the base has been very consistent.

Homebrew has made things even easier and has been adopted as the one right way to install things in a lot of projects and companies. And the fact that it is a rolling release package manager means you can always get the latest and greatest or use homebrew/versions to stick with an LTS version.

I have always found installs of the same Linux distro by different people to be almost incompatible, let alone installs of different distros. Different hardware, different desktop environments, different applications and configurations. On the one hand everyone can have a tailor made experience, but it makes it hard to debug or come up with common configurations and instructions.

Elementary is making some simple and familiar choices that make it easier for everyone to start at the same place. It looks and feels good, but is different enough that I can't just switch without feeling all the rough edges.

If developers are serious about migrating to a linux distro and PC hardware, I think a hybrid rolling release for devtools and versioned releases of the base system might be needed to capture a lot of the success of macOS. I'm not even sure if that's really possible.

[+] nickbauman|9 years ago|reply
Homebrew barely works. I dread messing with it. It's not Homebrew's fault: with Macs the stars have to align to get things to work much of the time. I find that the origin OS for most of my libraries (Linux/Debian) is much more reliable than a Mac. I had some issues switching away from a mac at first, but I got over them.
[+] aptwebapps|9 years ago|reply
If Homebrew is better than Apt it must be really, really good.
[+] meesterdude|9 years ago|reply
Why are they even making a code editor? Seems like effort that could go towards more fruitful endeavors.
[+] tracker1|9 years ago|reply
Given how well VS Code, Sublime and many others work, I'm pretty surprised as well. I only glossed over the article (which mentions electron), I'd think they'd just re-skin Atom or VS Code and use one of them for their editor.
[+] jablan|9 years ago|reply
They are merely chroming gtksourceview - the same engine used in, for example, GNOME's (and Ubuntu's) default editor gedit.
[+] Shank|9 years ago|reply
Agreed. I run Sublime on macOS and Windows, and it runs on Linux, so I see zero reason to migrate to another editor. Surely they're all using something other than their editor for developing it, right?

Weird use of resources.

[+] unhammer|9 years ago|reply
> Similarly, you can just Ctrl+V to paste in the terminal instead of having to work around with extra modifier keys.

– that's a bit dangerous; Ctrl-V is normally used to "escape"/make literal the following keypress, or do block select in vim.

The notification-on-long-running-process looks very handy though (I've been using https://gist.github.com/unhammer/01c65597b5e6509b9eea , but of course clicking it doesn't put me back in the right tmux window). And the "energy-sucking apps" indication mentioned in http://blog.elementary.io/post/152626170946/switching-from-m... looks very handy. (I've been considering creating wrapper for Firefox that Ctrl-Z's it when it's minimized …)

Is anyone running the Elementary DE (or parts of it) on Ubuntu? Does it work OK, or do you have to run the whole OS for it to be worth it?

[+] Longhanks|9 years ago|reply
That's one thing I love about macOS. The GUI app keyboard shortcuts all work with the command key and don't intervene with the ctrl key. You can always be sure control-v will paste text in terminal and CTRL-C will send SIGINT.
[+] lukaszkups|9 years ago|reply
I don't get all the hate of elementaryOS distro here on HN as a dev machine. I've worked before on osx, ubuntu, xubuntu and fedora. Comparing to other linux distributions, it is just another linux-like system and works as a dev machine similar to any other distribution, but IMHO looks nicer. Please, provide me information what makes elementaryOS worse than e.g. Ubuntu as a dev machine? (I'm a webdev working with cordova/phonegap, RoR, Django and Node.js every day and eOS works like a charm for me)
[+] srean|9 years ago|reply
I have not used elementaryOS so I have no opinion about it, but if its raison d'etre or main differentiator is 'looks' I can imagine why many devs wont be going gaga over it. I care, but I care less about looks than I care about default installed dev tooling, or how well organized its package bundles are. (I believe its packages and package management is pretty similar or exactly the same as Ubuntu). I am less impressed with fancy, memory hogging, terminals with transparency and what not, give me rxvt (not bloated like xterm, but has enough of the functionality) and tmux (well screen will do fine too) I am happy.

For example I like Debian testing more than Ubuntu as I find Debian's package groups better. I couldn't care less about unity. Or atleast I care less than I care about the ease of fiddling with non-mainstream languages. I can trust a whole lot of them being available in Debian testing in the right groups. It might just be familiarity.

[+] nickbauman|9 years ago|reply
I bought a System 76 laptop a couple of years ago. It completely smokes my 2x more expensive MBP (which has faster processors) in important tasks like running test harnesses and compiling projects. The body, keyboard and trackpad all have this cheap, "dollar-store" quality that initially drove me nuts but I got used to it after a couple of days.
[+] xor1|9 years ago|reply
I keep hearing that System 76 laptops are just rebranded Clevos, but I haven't personally looked into it yet.
[+] rerx|9 years ago|reply
I've been running only Linux for years. Here's what I miss and why I still regularly contemplate just getting a Mac:

- a modern full featured client for email, with an efficient and pretty UI, with good shortcut support (at least as good as the Fastmail and Gmail web interfaces)

- a fast and full featured PDF viewer that supports annotations properly -- anything based on Poppler unfortunately does not cut it

- friendly software to create pretty presentations -- Keynote still seems to be king

Development tools are the least of my worries.

[+] geoelectric|9 years ago|reply
Let me know if you find that email client on Mac. The best one I've found has been Mailplane, which is literally a native frame and some OS integration features surrounding a Gmail page. There are prettier native ones but the ongoing support has always been hit or miss, and few are even as powerful as Gmail.
[+] JustSomeNobody|9 years ago|reply
Wow, they are really pushing hard in the wake of all the "controversy" with the new MBPs.
[+] cyberferret|9 years ago|reply
It makes sense though, from a marketing angle. A lot of people will want that 'Mac' experience and now they can get it without having to commit fully to the whole ecosystem.

If they can convince a bunch of technically minded people to at least try it out and be seen in coffee shops etc on a non Apple device looking quite 'Apple' like, then that legitimises their OS and might spur everyday consumers to jump on board.

[+] cyberferret|9 years ago|reply
I installed Elementary in a VirtualBox on my old Windows 7 Thinkpad, and am loving it. Seriously considering installing my Ruby (Padrino) development environment within it to fully test, with a view to completely scrapping Win7 from the laptop and running pure Elementary in the future.
[+] tananaev|9 years ago|reply
The only reason I have to use macOS for development is Xcode which I need to make iOS mobile apps. I used to use macOS in a VM with Linux as a host system, but it's just too slow and laggy even on good hardware.
[+] kayoone|9 years ago|reply
there are still other ways (like Xamarin) where the actual building could be done on an old mac mini or similar.
[+] bhldr|9 years ago|reply
This is not particularly interesting. You can't leave the Mac ecosystem because of vendor lock-in. To me this would make me want to change my tech stack. If you don't care, you are just not the target audience for the article.

You're just as uninsteresting as people not switching to Mac from Windows in 2010 because it doesn't play games.

[+] vijucat|9 years ago|reply
I guess Elementary had to copy the Cmd+spacebar shortcut to mimic the Mac OS experience (Spotlight), but on that count, Windows' just-press-Win-and-start-typing experience is much better. It's just one key less, but opening up a program is used ALL the time, and eliminating that key press makes a huge difference, IMHO. Not sure when they introduced it in Windows, but that was a good one.
[+] uabstraction|9 years ago|reply
> just-press-Win-and-start-typing experience is much better.

Despite the non—stop bickering, this has been the killer feature of Gnome 3 since it's inception. Most applications can be launched just by hitting win, the first one or two letters, and enter. The whole DE is streamlined for efficient keyboard driven operation and makes multitasking and launching arbitrary programs lightning fast. It doesn't have as many customization options that some other DEs have, but I highly recommend trying it out.

[+] astrodust|9 years ago|reply
Mashing two buttons that are literally side by side vs. pressing one button is not really a huge usability boost.

Having a key like Option which allows you to easily type accented characters and other things quickly is a big deal.

[+] aq3cn|9 years ago|reply
I go with Winodws+R and there is a software called Everything http://everything2.com/.

Windows + Space is for switching input language or keyboard layout. But other alternatives are win+Q or win+S. It just works fine.

[+] pmlnr|9 years ago|reply
elementary again within 2 days? Come on.

Anyway, Geany beats Scratch.

[+] na85|9 years ago|reply
Yep. Let's stick to the Javascript Framework Of The Day posts, toy program languages, masturbating about Docker, and "12 reasons why you should XYZ".
[+] jasoncchild|9 years ago|reply
i was reading this and wondering why there would be so much emphasis on stuff like apt...then realized that there are indeed developers who've only ever used OS X (and perhaps windows). i guess i assumed everyone ended up with Linux as a daily driver at some point, if even for a short time
[+] stephenr|9 years ago|reply
I haven't read the page, but I would guess they're trying to highlight how a real package manager works, compared to the cool-kids toy tool Homebrew.

Given that there are Mac using developers, who somehow think Homebrew is a good tool, and then want Homebrew for Linux so they can use it there, because they have no fucking idea what a real package manager is like, I don't blame them for wanting to highlight how powerful Apt is.

[+] tracker1|9 years ago|reply
I think there are a lot of us developing on Windows and/or Mac and deploying on Linux... Depending on your experience, you may not even be doing the deployments.

I happen to use all three almost daily, so less thrown by various differences, but can see how it would be very jarring to some.

[+] joeevans1000|9 years ago|reply
This may be a good transitional and familiar OS for people now having to migrate away from Apple now that it isn't taking developers and professionals seriously. Some may find this meets all their needs.
[+] achikin|9 years ago|reply
As a mac user I wonder why do I need to use sudo to install packages?
[+] shirro|9 years ago|reply
The systems binaries are only writable by the root user to prevent malicious changes. The unixy parts of OSX are the same as they are based on systems designed to safely accommodate multiple users. Unlike Linux, OSX has been considerably updated to accommodate the modern single user desktop. There are application bundling schemes for Linux applications that take a similar approach to OSX bundles but they are not widely used.
[+] owaislone|9 years ago|reply
Because they are installed system wide and not in the home directory. Unlike on macOS, in Linux ecosystem, letting regular users write outside their home directory without privilege escalation is considered a very bad thing.

BTW, there is a homebrew port that installs to home directory IIRC. https://github.com/Linuxbrew

[+] mancerayder|9 years ago|reply
Because it involves writing in naughty places on the filesystem, in places that affect other users. It's a Unix thing.

Because it's logged, so if someone does something salacious to the system, it's written in a log (which you need sudo to read the indecency).

So there's an extra step to think through before you hurt yourself.

So someone doesn't log on your laptop while you're not looking and in seconds wget and install and remove all evidence of a package that will log your keystrokes, or tell you you're a poo-poo head in a mean (but funny) popup on your screen.

Because it's sexier than [edit:shift-]right-clicking and selecting Run as Administrator. That always felt dirty somehow.

[+] shorodei|9 years ago|reply
An year ago I started dualbooting Elementary as my daily *nix OS. All was well, until one day, with no hardware change or OS update, the touchpad stopped working. I'm back to VMs now.

If I wasn't dualbooting I might have spent more than a day to figure out what happened - but I was too lazy and scrapped dualbooting.

[+] erokar|9 years ago|reply
My gripe with Elementary OS is that it's too much like MacOS. It's dervied and feels boring and stale in the same way that MacOS does. If you're switching, do it with a bang, not a whimper.
[+] cyberferret|9 years ago|reply
Opposite feelings here. I like Elementary because it looks and feels polished and finished. Most Linux distros to me seem like a veritable tower of Babel, with many almost every corner you peek in to seemingly designed and built by a different teams with absolutely no prior consultation with anyone else working on the project.