Keep It SmallOne thing that is surprising to many people who are used to large, monolithic programs is the vast number of small utilities that many Unix and Linux systems come with. There are tools for searching through text, moving files around, viewing files, editing files and others. Most of them are just a few kilobytes, with a few exceptions.
Also, a lot of these programs just don’t have a lot of functionality to them. A text editor, for example, generally won’t have a spell checker. Unix programs are designed to work together and do more than one thing, concepts that will be explained in greater detail later.
According to a common adage, "10 percent of the work solves 90 percent of the problems." In other words, you’re probably better off with a smaller, simpler tool than a complex program with features you probably don’t even use.
Use TextOne thing Unix is famous - or perhaps infamous for - is its heavy reliance on plain text. Although this might seem crude in the era of high-resolution graphics and GUIs, there are some major benefits to this.
Almost all of the system configuration files are kept in plain text. This means that it’s possible for users to view and edit these files (provided they have the right permissions) without special tools. There’s no such thing as the Registry Editor in Unix and Linux versions, because there is no such thing as a registry.
Text is the lowest common denominator for data, which means that any other system will be able to read and write text files. Not only does this allow for easy file exchange, it also "future proofs" data, making sure it can be read by the next generation of machines, and the generation of machines that come after that. Which brings us to ...
Don’t Get Too Attached to Any One PlatformHardware platforms are cool. Software platforms are cool. We get it. But platforms have a lifespan, as many people who still rely on Windows XP are finding out. (Read more in: Why Now's the Time to Ditch Windows XP.)
Platforms come and go, and if you’re wrapped up in one, it can be painful when you do have to move.
The designers of Unix made a major change when they rewrote the system in C, a high-level language, instead of PDP-7 assembly language. C could run on different hardware platforms, making Unix the first operating system that could be ported to different hardware platforms with relatively few changes.
Contrast this with Unix’s old rival, VMS, which was closely tied to first Digital Equipment Corporation’s VAX line of minicomputers, then the Alpha processor and then finally the Itanium processor. HP, the current owner of DEC’s technologies, has begun finally pulling the plug on VMS.
Unix, in its various forms, is thriving, especially under the various open-source versions, most notably Linux.
Do One Thing WellUnix programs are designed to do one thing and do it well, rather than try to be everything to everyone. Most Unix programmers prefer to work in a text editor that just edits text, rather than a complex IDE.
Unix programs are designed as filters to do something to a text stream and add nothing else, forming a pipeline.
Those mobile apps running on Unix-powered smartphones? They also do one thing at a time.