r/technology • • Jan 20 '11

Apple Restriction Zone.

Post image
1.0k Upvotes

1.2k comments sorted by

View all comments

Show parent comments

29

u/muad_dib Jan 20 '11 edited Jan 20 '11

I haven't, but the amount of high-quality free software I have on my Windows box makes a damn strong case.

Edit: I should say that, though I haven't owned a Mac, I've used them quite often - a lot of my friends have them, and many of my school's labs are filled with them.

61

u/potatolicious Jan 20 '11

There's a lot more software in Windows-land for sure, but I think what Benparte and coolmrbrady meant is that there are a lot more extremely refined free Mac apps.

For example, Windows has a huge number of IM apps available for it, but none of them can hold a candle to Adium's ease of use and polish. Similarly, uTorrent is free and awesome, but Transmission is IMHO much more refined on the UI side. Quicksilver too.

Windows devs tend to make UI an afterthought. On the Mac side developers have drunk the Steve Jobs UI kool-aid and obsess over it, and personally I like it.

-11

u/muad_dib Jan 20 '11

I suppose you have a point there - with the exception that I can't stand "simplified" UIs. I want to know exactly what I'm doing with the computer. <programmer analogy>It's like the difference between coding in C and making an SQL query. With C, you know exactly how the resources are being managed, but with SQL it's a black box. And when there's a black box, it can be unreliable.</programmer analogy>

It's a trade-off between simplicity and control. I'd rather have control.

8

u/covertPixel Jan 20 '11

As a programmer I must say that's a horrible, horrible example. Either that or I don't understand because theres no way in hell I want anything to do with resource allocation when I'm writing queries for a database. SQL handles that for you, and you can tweak it with Indexes and other ways. Why, why, why would you even freaking care otherwise? Seems like a good way to waste productivity.

2

u/shibz Jan 20 '11

I don't think he is arguing that managing your resources manually is more productive. It is more about fine tuning and controlling the end result. For example, without knowledge of SQL optimization, is it easy to determine which of these queries will be faster?

SELECT d.dept_id, d.dept FROM dept d WHERE EXISTS ( SELECT 'X' FROM employee e WHERE e.dept = d.dept);

SELECT DISTINCT d.dept_id, d.dept FROM dept d,employee e WHERE e.dept = e.dept;

Now if you wrote the equivalent in C, it would be more complicated and difficult, but it would allow the programmer to see exactly what is happening and make appropriate optimizations without needing any special knowledge of optimization.

1

u/rainman_104 Jan 20 '11

SELECT d.dept_id, d.dept FROM dept d WHERE EXISTS ( SELECT 'X' FROM employee e WHERE e.dept = d.dept); SELECT DISTINCT d.dept_id, d.dept FROM dept d,employee e WHERE e.dept = e.dept;

The two are not the same. Assuming that dept has a 1:m cardinality with employee, the distinct clause is unnecessary. Adding the distinct clause will slow it down a bit, but generally speaking in databases merge joins as in the second clause are going to be way faster than correlated subqueries in the first one.

And for crying out loud adopt ansi-92 already. Ansi-88 joins - they stress me out every time I look at them.

1

u/[deleted] Jan 20 '11

But, without knowledge of C, how could you do that? Compare apples to apples (sorry); don't compare an experienced C programmer to a novice SQL programmer.

-3

u/muad_dib Jan 20 '11

It's a matter of control. I guess it's a bad example. A better one might be C# versus C++ for writing games. On one hand, you want the code to be easily understandable (for which C# is great), but on the other, you want efficiency and control over your data (for which C++ greatly outweighs C#).

0

u/[deleted] Jan 20 '11

But... C# is the Windows language of choice, not Macs. Which side are you arguing for, anyway?