1 Why Linux is Hard
2 =================
3 :author: Aaron Ball
4 :email: nullspoon@oper.io
5
6
7 I have had several conversations with people recently who frustratedly asked me
8 the question, "Why is Linux so hard?". I have had this conversation enough that
9 I think it is time for a post about it. Before we dive on in though, a quick
10 disclaimer.
11
12 While I prefer Linux to other OSes, I will try to avoid making quantitative
13 statements about other OSes. I think they all work fine, though I disagree with
14 them somewhat. I just prefer Linux. I also don't think anyone more or less
15 intelligent for preferring one OS over another.
16
17 Let's get started!
18
19 . <<preconceptions, You already have preconceptions of how an OS should work>>
20 . <<server-v-desktop, Server VS Desktop>>
21 . <<not-enough-xp, You don't have enough experience>>
22 . <<no-linux-to-bowels, People tend to go from no Linux, to the bowels of Linux>>
23 . <<just-work, But an OS should just work>>
24 . <<summary, Summary>>
25
26
27 [[preconceptions]]
28 You already have preconceptions of how an OS should work
29 --------------------------------------------------------
30
31 Firstly, let's talk about who talks to me about their Linux frustrations.
32
33 * Regular Windows users
34 * .Net developers using Windows
35 * Firmware developers using Windows
36 * Java developers using Windows
37 * Security analysts using Windows
38 * Regular MacOS users
39 * Developers using MacOS
40
41 You might notice a trend in that list. Each one of those people uses Windows or
42 MacOS primarily. This brings me to my first point. If you have a preferred OS
43 already, you also have preconceptions about how an OS should work. Those
44 preconceptions line up with the way your preferred OS operates.
45
46 If you live in the United States, consider how different Europe is. Their
47 traffic signs are in different languages, speed limits are usually in
48 kilometers per hour rather than miles per hour, the UK drives on the left and
49 not the right, stoplights work slightly differently, they drive manual
50 transmissions and the US drives automatic. All of this is so very different
51 from the United States, yet traffic still flows relatively fine in both parts
52 of the world.
53
54 To bring this to operating systems, when you take a look at the filesystem
55 looking for your personal files, you'll either look for **C:\Users\Me** or
56 **/Users/me**. Linux keeps this at **/home/me**.
57
58 Consider that in Windows, your settings are all in the binary registry. This
59 has its pros and cons. Linux stores most of its configs in text files in
60 **/etc/**. This also has its pros and cons. The Linux/POSIX developers just
61 solved the problem in a different way. Incidentally, IBM's AIX has a hybrid
62 text-based config file system and a binary registry, but you still don't
63 interract with it like you do with the Windows registry. HP's HPUX does not,
64 and is more like Linux. MacOS also stores its configs in text-based config
65 files.
66
67 Another great example is that MacOS uses the command key for hotkeys, and
68 Windows and Linux use Ctrl. If you want to copy some text in Windows and Linux,
69 you would use **Ctrl + v**. In MacOS you would use **command + v**.
70
71 Every OS is different because they were developed by different people with
72 different ideas on how to solve the problems at hand. This doesn't necessarily
73 make an OS bad or more difficult than others just because it is different.
74
75
76 [[server-v-desktop]]
77 Server vs Desktop
78 -----------------
79
80 To be honest, I have rarely heard frustrations about the difficulties of Linux
81 from someone trying to use a desktop Linux distro (like Ubuntu, Mint, or
82 Manjaro). Those distros are designed for ease of use. Most of the time, I hear
83 frustrations from someone who is trying to configure a Linux server.
84
85 That said, a Windows desktop support professional is not the same thing as a
86 Windows server administrator. The knowledge required for those two jobs is
87 significantly different, and arguably the Windows server admin skillset
88 requires much more time to learn than those required to be a desktop support
89 person.
90
91 You should not think that Linux as a server should be just as easy as Windows
92 or MacOS as a desktop. The Linux desktop distros are just about as easy to use
93 as Windows or MacOS, but a server requires much more knowledge to run than a
94 desktop, regardless of which OS you are using.
95
96
97 [[not-enough-xp]]
98 You don't have enough experience
99 --------------------------------
100
101 Another reason you might have difficulty with Linux is because you don't have
102 enough experience with it. This may seem like an obvious statement, but I would
103 like to argue that an operating system is not meant to be easy. Sure, we try to
104 make them as easy as we can, but if you consider how much your operating system
105 does, you might begin to appreciate the difficulty of learning all the
106 properties (especially the advanced properties) of it.
107
108 Consider, that [depending on your age] you have likely been using your
109 preferred operating system since childhood. During that time, you played,
110 experimented, failed, experimented, etc. You did that through high school,
111 college, and your adult life. Being conservative, I would suggest that amounts
112 to about 10 years of experience with your OS of choice.
113
114 How many years of experience do you have with Linux? If you ask anyone who has
115 used Linux for 10 or more years, they probably won't say it is that hard,
116 except maybe to say that every OS has a learning curve.
117
118 Further, for many years, people have wondered why children learn languages
119 faster than adults. My personal views on that aside, I think operating systems
120 are no different. Linux is likely your second or third OS. Plus as an adult,
121 you likely already have a full time job, personal life, schedule to keep, meals
122 to cook, children to take care of, etc. You likely don't have the time to learn
123 Linux to the level you know your preferred OS. You almost certainly don't have
124 time to put 10 years in or to condense that time without sacrificing
125 productivity somewhere else.
126
127
128 [[no-linux-to-bowels]]
129 People tend to go from no Linux, to the bowels of Linux
130 -------------------------------------------------------
131
132 Many of the people I have spoken with about why Linux is so difficult have
133 little to no experience with Linux, but are trying to do very advanced things
134 with it, usually out of necessity for their job. This explains why they think
135 Linux is so hard. You didn't start using Windows by programming serial busses,
136 doing block device forensics, or building and configuring web servers did you?
137
138 No. You probably played solitaire. At the most complex, you probably worked on
139 some documents or browsed the web. These things are very easy on desktop Linux
140 distros as well, but that isn't where people tend to start with it for some
141 reason. You can't jump in to some of the most complex parts of Linux and expect
142 you knowledge of your preferred OS to work in the bowels of Linux. No complex
143 tool works like that.
144
145
146 [[just-work]]
147 But an OS should just work
148 --------------------------
149
150 From a desktop perspective, I don't disagree.
151 Admittedly, Linux has a relatively steep initial learning curve. Linux is
152 definitely harder to learn at first, but is easier to learn the more advanced
153 operations once you get past the initial hurdle. Conversely, Windows and MacOS
154 are very easy to learn up front, but the more advanced operations are
155 significantly more difficult. A lot of this has to do with assumed defaults
156 that Linux prefers not to make but the other OSes do.
157
158 Also, per the first point of this post regarding servers versus desktops,
159 servers can't just work. By nature, they are complex, serve many different
160 purposes, and require some relatively advanced knowledge to successfully build
161 and configure.
162
163
164 [[summary]]
165 Summary
166 -------
167
168 Using an operating system in any advanced capacity is difficult unless you have
169 already invested the time in learning how to do what you need. Unfortunately,
170 companies often want to use Linux because of its cost (free), without first
171 considering whether their workforce posesses the skillset necessary to
172 administer it. I don't want to sound dismissive, but this situation is caused
173 by poor decision making, not Linux.
174
175 But moving forwards, consider that whatever the reason you need to learn the
176 mystical black magic of Linux, is in fact not a problem, but an opportunity.
177 Knowing just Linux opens up a very large portion of the job market to you.
178 Knowing Linux **and** another OS further opens the job market. Plus, they say
179 doing your routines in a different way is good for maintaining
180 link:https://en.wikipedia.org/wiki/Neuroplasticity[neuroplasticity]. :)
181
182
183 [role="datelastedit"]
184 Last edited: {docdate} {doctime}
|