You are not logged in.

#1 2009-06-03 17:36:54

kandrews
Member
Registered: 2007-04-21
Posts: 119

UNIX Philosophy

I found "The UNIX Philosophy" by Michael Gancarz at the library and read it for fun yesterday. I'm not a software engineer so it isn't really my field, but I found it interesting nonetheless (I started using Linux mostly because I'm a bit of a cheapskate and I'd eventually like to dabble in programming as a hobby). As an outsider, I would like to get some opinions from those of you in the field. I'd like to know why massive general purpose languages allowing "code reuse"  won the battle for dominance over "program reuse" when it looked like it would go the other way in 1991? What are the advantages of monolithic, yet modular code-wise programs over a bunch of independent programs that communicate to each other via text interfaces and are packaged up in shell scripts? Thanks for your thoughts!:)

edited to better express my question (and then edited to edit eddited big_smile )

Last edited by kandrews (2009-06-03 21:54:30)

Offline

#2 2009-06-03 19:40:16

hatten
Arch Linux f@h Team Member
From: Sweden, Borlange
Registered: 2009-02-23
Posts: 736

Re: UNIX Philosophy

I think you should edit editted to edited.
Haven't read the book and am not a programmer so i cannot add anything else to the discussion :[

Offline

#3 2009-06-03 21:26:56

Meillo
Member
From: Balmora
Registered: 2009-05-21
Posts: 10
Website

Re: UNIX Philosophy

kandrews wrote:

I'd like to know why massive general purpose languages allowing "code reuse"  won the battle for dominance over "program reuse" when it looked like it would go the other way in 1991? What are the advantages of monolithic, yet modular code-wise programs over a bunch of independent programs that communicate to each other via text interfaces and are packaged up in shell scripts?

IMO the reason is that huge all-in-one monolithic programs are easier to write than to develop a small orthogonal set of sane tools.

Another reason is that people focus too much on performance but less on good design.

Additionally, combining small tools requires some basic programming skills, but dumb end-users want stupid software. There is simply too much software written for stupid end-users -- this software is most always crap.


Congratulations, you read a valuable book. Become familiar with the Unix Philosophy and your (computer) life will improve!


Finally, thanks go to Dennis Ritchie and Ken Thompson, who showed a generation of programmers that complexity is avoidable.
(Marc J. Rochkind in Advanced UNIX Programming)

Offline

#4 2009-06-03 21:32:28

pauldonnelly
Member
Registered: 2006-06-19
Posts: 776

Re: UNIX Philosophy

I think the temptation to add this new really awesome feature can be hard to ignore. It takes a lot more thought to decide how to divide up jobs between programs and to make them interoperable than to just add another toolbar button to your growing monstrosity. Although when you do put in the work, it's amazing how many capabilities just fall out of the environment. Take a look at Plan 9 and Acme.

Offline

#5 2009-06-03 22:18:33

madalu
Member
Registered: 2009-05-05
Posts: 217

Re: UNIX Philosophy

I'd be curious to know whether the waning influence of the UNIX
philosophy in the 1990s had to do with the boom in proprietary
software during that decade. The UNIX philosophy requires openness and
transparency --- programs have to communicate with one another and
they have to be transparent to the user.

During the heyday of the closed systems (Microsoft, Macintosh, etc.),
software companies worked to build walled gardens. I.e., a word
processor had to have its own, closed algorithms for searches,
formatting, etc --- and it only shared these with other proprietary
programs from the same company. Whenever I see how gargantuan Adobe's
programs are, for instance, I think of this model.

Offline

#6 2009-06-04 06:12:53

Ranguvar
Member
Registered: 2008-08-12
Posts: 2,577

Re: UNIX Philosophy

Read it too, great book. It looked kinda weak at first but when I saw Maddog had done the intro, I knew it was probably good tongue

Offline

Board footer

Powered by FluxBB