Hacker News new | ask | show | jobs
by NiveaGeForce 3036 days ago
There are also many developers who are forced to use GNU/Linux dev tools, while prefering to use Windows.

Not to mention that Windows has better support for most hardware and modern form factors, such as pen & touch enabled 2-in-1s.

If you're buying something like a Surface Pro or Surface Book, the last thing you want to do is cripple its functionality, ease of use, performance and battery life by installing GNU/Linux.

But the fundamental reason for why I avoid it, is best explained in this video. https://youtu.be/rmsIZUuBoQs

3 comments

The type of developer who prefers Windows wouldn't get a job in a place that uses GNU/Linux.

The rest of the things you mention doesn't really apply to developers (when developing, at least).

Some developers like me need to do a lot of pen & paper math. It's also much easier to brainstorm and draw diagrams using a pen.
Regarding drivers and general hardware support. If you buy hardware that doesn't work well with Linux, you will have to deal with hardware that doesn't work well with Linux.

But I get it, you don't like Linux.

I replicate my answer to a different comment here because it applies identically to this one.

There is a number of issues with Surface and touchscreens. First, my impression is that Microsoft Surface hardware is, too, heavily advertised in developer forums and social media. Again, one needs to discern the desired association which that PR effort wants to create, from the actual qualities and disadvantages of the product. For example, the surface laptops have earned some negative reputation for lack of durability. Anybody who would consider to buy such a device would surely be well advised to do a web search whether such problems are more frequent, a thing of the past, or a rare exception. But that's a digression. You mentioned touchscreen support as important quality and I am zooming in on that.

Surface books and touchscreens are discussed here in the context of a software developer system. I am however really a bit puzzled by that. What does it mean to have touch on a software developer system? I understand surely that Microsoft does not want to lose a generation of developers, and that it considers them as trend-setting or even required to create gazillions of fantastic future Windows apps which will populate the Microsoft app store with killer apps for the Surface tablet. Microsoft marketing surely wants to sell the surface (if I were them, I'd probably hire some PR agencies to flood Reddit and HN with positive comments about it).

Also, Microsoft still seems to live the dream - in the face of all these failures such as Windows Phone - that desktop software, tablets and mobile apps shall be, will be, must be convergent and that desktop and mobile will have a common UI. Which is touch. I won't comment more on that. If you ever tried, it is hard to shatter someone else's dream, even if those wishes might not entirely based on experience.

But now, let's come to real life, and let's become a little, just a little, practical. As a first, consider that software developers are people which handle program code. In most cases, lots of program code. In many cases, quite complex program code.

The code is displayed on the screen. Developers have to remember many things, and the more code you have on the screen, the less you have to remember while working on one thing. They say that we can only remember seven to nine things in short-term memory, for more things we have to memorize. Memorizing costs a lot of time.

That has a simple consequence: The larger the screen is, the more text it displays, the better. Just let's take my home PC which I mostly use for hobby programming. It is a 43 inch Philips BDM4350 with 4K resolution. It is glare but I can live with that - the room it stands in does has usually no direct sunlight, I can use shutters, and I have happily exchanged non-glare with that amount of screen estate. For me, it is an absolute dream.

I just say, as a professional software developer, you will want a screen that large. A smaller screen is a waste of time, and therefore a waste of the company's money. If you own an IT company and your developers have smaller screens, ask yourself why.

So, I ask you to do a little experiment. Not a thought experiment, but a real-live experiment. Imagine you have a 43 inch touch screen in front of you. Sit at a proper ergonomic distance. Now, lift your index finger and point it at the height of your chin in that ergonomic distance.

Now, keep your finger still for one minute. Just one minute.

Do that now.

You note something? It is hard. It requires a lot of effort. Doing that all day will be very, very tiring.

If you want a high-precision graphical input for a large screen, you will not want a touchscreen. You will want a graphics tablet and stylus flat on your desk. In addition to your 43 inch monitor, of course. Good news! You can buy a high-quality Wacom graphics tablet at Amazon, even refurbished for less than $100. And Wacom tablets have excellent Linux driver support since a long, long time. They are very fine for drawing artwork. I am not going to recommend drawing software since that's not my realm of expertise.

However, as a software developer, especially with more experience, you will normally want to use your screen to display text. As much as possible. With as little waste as possible. Which leads quite naturally to text-oriented, keyboard-oriented work flows, tiling window managers (like i3), and text editor like vim or Emacs, which among other things, do one thing really well: They don't waste screen space. Of course, learning a tiling Window manager requires a little bit of dedication (you have to memorize key chords, duh), but it pays off after one or two days, switching between terminals and windows is not more a matter of a second like when doing it with the mouse, but of a single key combination which does it in a tenth of a second. And this does not only save time, this makes it much easier to keep the flow, to stay focused on what you were working on.

I'm well aware of the Surface issues, but that's what warranty and/or insurance is for.

There is a lot more to programming than typing and displaying text with 1D syntaxes. There are plenty of DSLs that go beyond that. I recommend you expand your horizon a little.

An external Wacom tablet is no substitute for a Surface Pro, where I can draw and write directly on the screen, while also being portable. Also, the screen size is fine, since I'm sitting closer to it, and you can always connect it to an external display.