Sunday, April 22, 2012

Dennis Ritchie and Steve Jobs

I can't help to join in, having nothing better to do.

This is why kids know about Einstein, not the CEO of Bank of America.  Or else nobody will want to be a scientist, putting the human race in danger.

There is nothing new here.  It shouldn't have been compared in the first place.  The only difference in the apple cult consumers, who can now be geeks just by waiving their fingers.

Dennis will have a place in the history books.  If you don't involve in operating system or language design or a software architecture or a programmer, you don't need to know him.  But if you do, sooner or later you will find his name.

This is always how it works.  A student in a profession will have to find out what had been done and what's the best.  A paper, book, product will point you to the greats of the past.  One day when you are curious enough, you will trace the history to them.

Dennis came at a time when computers are main frames, have their own primitive machine language called assembly language.  The operating systems are written in machine language specific to a particular machine.  The same for applications that need a lot of speed and memory.

The word then is portable.  The aim is to make Unix, a minimal operating system, that can run on all computers.  You can do that but nobody will listen to you.  The only way feasible is to design a portable language that can run on all computers, and write the operation system on that, which don't need to change for every past and future computer.

So C is born, and Dennis is the sole(?) author or inventor of it.  All sorts of languages and important concepts were developed ever since the invention of the computer, like object oriented, an ancient concept.

The key concept of C really isn't that key, but enable you to port Unix to any computer by writing a small compiler, translating C language to a particular machine language.

C is like a high speed machine language.  You can control the speed and memory efficiency as in machine language, by how you write or optimise your program.  You can also write in any style you want, so it branches into different forms, C++ is the obvious, objective C, parallel C. And since programmers are liberated from the arcane half machine language FORTRAN, there aren't any important syntax change from C.  Any fragment of code of modern languages look like each other, C++, Javascript, Java.

Perhaps you will never know who thought of a portable operating system and pushed it through.  But Dennis got the credit of authoring the C language and obvious they needed this for Unix.  Something like C and Unix will evolve, and one won't be a lot better than the other.  It's not like somebody "invented" C and Unix and changed the world.  It's is in a way, but the concept of a portable operating system changed the world.

Jobs is a lot different.  CEO's and super rich people don't go into student history books.  Somebody is glad that Bill Gates is not yet dead.  Jobs and Bill are indeed pioneers on personal computers.  The criticism that they steal ideas is sort of right, but their vision is one computer to every person, while the computer industry is for large computers that can afford at least a mini computer, expensive terminals, or hire some computer for processing.

Jobs is credited for the Apple personal computer.  But he is not alone for the Apple I, and that is most likely not the first PC.  Before the IBM PC Microsoft is writing software and operating systems for the other manufacturers, such as NEC.  As you can see, Apple is still losing out in terms of numbers of operating systems.

So Bill's major step backward operating system is still the king in numbers, and Apple's Unix based system, combined with all other Unix systems is far behind.  Third will be Linux which is not Unix, but the important concept is open source.

I'm not trashing Jobs, but it's hard to pinpoint credits due to him.  He is a great visionary and great entrepreneur but you can say that for many people, deserving it or not.

If he had been ahead of Microsoft, I bet he will do the same that Bill did, protecting his empire rather than pushing forward technology.  You give what people want sooner in order go get ahead of the competition.

iPhone is of course a great product but all the tech are there one way or the other.  Touch screen.  High resolution screen.  Pocket computer and organiser.  Of course Jobs managed to put everything together and built a great company and great products.  But he will lose out again to open source Android as history repeats itself in some ways.  But who cares about the numbers when your profit margin is so much greater?

I would say Job is so popular with fans is because he enabled people to be geeks if they want to be.  No qualification and training needed.  In the beginning you can't usually touch computer hardware.  You can be geek if you know some programming, doing it in company or edu computers.  With early PC's you need to know at least some typing, even true today.  With iPhone you can type like a journalist on blackberry, send and receive email whenever you are, text like a teen.  For anything geek can do in software, you can pay $3 and get anything you want.

Of course, Job also enable kids to do computing with zero training using iPads.  Again I bet that's not his original idea and others are doing it for much cheaper for not so rich kids.