









|
[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
[NMLUG] Linux (and Open Source in general) vs. Windows Design Philosiphy
On Wed, 2006-01-04 at 04:39, Brian Rodgers wrote:
> Hi Brian,
>
> This is the first of what will hopefully be several Linux related
> notes. I figure you can pass them on to whoever might benifit from
> them, or use them to create a F.A.Q. once the users group's website is
> up.
It certainly would be welcome on the nmosug.org wiki...
there is some talk of re-merging the groups anyway...
> ...the Linux user would just install an updated
> version of dict. Immediately, every program on his system that
> interfaces with dict would take advantage of the new dictionary. This
> also means that only 1 dictionary has to be installed on a computer,
> instead of a seperate dictionary for every software program that needs
> one....
While true, there are similar synergys under windows.
Ideally, they could all use the same dictionary DLL,
and get a similar utility.
Its really a matter of providing interfaces at a lower level.
In Windows, one needs to write a new, complete "App" that
has many, many DLL dependencies to do the job.
DLLs can (ideally) be upgraded.
In practice, this often leads to an unstable system, but thats
a different story.
Its just that higher level interfaces, like separate executables
and/or IPC are cleaner, and more robust to updates,
and different versions.
I am a huge ultra-modularity advocate.
Even on windows, I tend to solve problems with chains
of small, independently testable, easy to maintain modules.
The buzzword in Windows design seems to be "integrated".
Everybody tends to want to try and "integrate" every feature
into every little program.... causing bloat.
Most of the time, people are delivering huge sets of DLLs
with their apps to insure compatibility. Royalties
for redistributing these DLLs are often small to none.
Under UN*X the buzzword seems to be "interoperability" or
perhaps modularity. People strive to provide hooks to
use other software that the user may be familiar with.
Things like language-modes for emacs, or hooks to integrate
an IDE (Integrated Development Environment) with CVS,
as opposed to buying a MS SourceSafe add-on to MSVS.
I much. much prefer the UN*X approach for a professional
developer. I learn to use my set of tools well.
emacs. cvs. debuggers. perl. shell-scripting. makefiles.
And this knowledge is re-usable on new projects.
As opposed to being an ineffective newbie every time
a new version of MSVS comes out.
I also like that most OSS tools do not attempt to keep secrets.
The CVS file format is well understood.
I can pluck it out and use it with CVS.
I can even just copy my repository over to somebody elses,
and they keep all my history.
No propriatary binary databases to be translated and re-loaded.
i.e. CVS is hack-able.
I can do common tasks with perl scripts.
I can get a plethora of WWW front ends. etc.
--
Aaron Birenboim \ I have an inferiority complex,
Albuquerque, NM, USA \ but its not a very good one.
aaron at birenboim.com \
http://aaron.birenboim.com \
|
|