Dennis Ritchie receives 2011 Japan Prize from
Japan Prize Foundation Chairman Hiroyuki Yoshikawa during May
19 ceremony at Bell Labs headquarters in Murray Hill, N.J.
Photo by Victoria Will/AP Images for Japan Prize Foundation
(updated on 10.13.13 at 10:13 am)
Two years ago, Dennis Ritchie, one of the greatest computer geniuses passed away on this day. Some of us who were C programmers, always felt much of the current technical state of the information economy was due to his work from developing the C language and Unix operating system.
“Pretty much everything on the web uses those two things: C and UNIX,” Pike tells Wired. “The browsers are written in C. The UNIX kernel — that pretty much the entire Internet runs on — is written in C. Web servers are written in C, and if they’re not, they’re written in Java or C++, which are C derivatives, or Python or Ruby, which are implemented in C. And all of the network hardware running these programs I can almost guarantee were written in C. --- Wired.com
In our bookshelf sits many books on various strategies and tactics, Kernighan and Ritchie's C Programming book and the solution book still sit on the first middle shelf.
The Intent of Dennis Ritchie
Ritchie said he was hoping make the work of he and his fellow computer scientists easier. “It was an attempt to improve our environment,” Ritchie said. “Fortunately, we improved things in way that turned out to be useful to others.”
Click on this link for more on this view.
#
Dennis Ritchie: The Shoulders Steve Jobs Stood On
Dennis Ritchie (standing) and Ken Thompson at a PDP-11 in 1972.
(Photo: Courtesy of Bell Labs)
The tributes to Dennis Ritchie won’t match the river of praise that
spilled out over the web after the death of Steve Jobs. But they should.
And then some.
“When Steve Jobs died last week, there was a huge outcry, and that
was very moving and justified. But Dennis had a bigger effect, and the
public doesn’t even know who he is,” says Rob Pike, the
programming legend and
current Googler who spent 20 years working across the hall from Ritchie at the famed
Bell Labs.
On Wednesday evening, with a
post to Google+,
Pike announced that Ritchie had died at his home in New Jersey over the
weekend after a long illness, and though the response from hardcore
techies was immense, the
collective eulogy from the
web at large
doesn’t quite do justice to Ritchie’s sweeping influence on the modern
world. Dennis Ritchie is the father of the C programming language, and
with fellow Bell Labs researcher Ken Thompson, he used C to build UNIX,
the operating system that so much of the world is built on — including
the Apple empire overseen by Steve Jobs.
“Pretty much everything on the web uses those two things: C and
UNIX,” Pike tells Wired. “The browsers are written in C. The UNIX kernel
— that pretty much the entire Internet runs on — is written in C. Web
servers are written in C, and if they’re not, they’re written in Java or
C++, which are C derivatives, or Python or Ruby, which are implemented
in C. And all of the network hardware running these programs I can
almost guarantee were written in C.
“It’s really hard to overstate how much of the modern information economy is built on the work Dennis did.”
Even Windows was once written in C, he adds, and UNIX underpins both
Mac OS X, Apple’s desktop operating system, and iOS, which runs the
iPhone and the iPad.
“Jobs was the king of the visible, and Ritchie is
the king of what is largely invisible,” says Martin Rinard, professor of
electrical engineering and computer science at MIT and a member of the
Computer Science and Artificial Intelligence Laboratory.
“Jobs’ genius is that he builds these products that people really
like to use because he has taste and can build things that people really
find compelling. Ritchie built things that technologists were able to
use to build core infrastructure that people don’t necessarily see much
anymore, but they use everyday.”
From B to C
Dennis Ritchie built C because he and Ken Thompson needed a better
way to build UNIX. The original UNIX kernel was written in assembly
language, but they soon decided they needed a “higher level” language,
something that would give them more control over all the data that
spanned the OS. Around 1970, they tried building a second version with
Fortran, but this didn’t quite cut it, and Ritchie proposed a new
language based on a Thompson creation known as B.
Depending on which legend you believe, B was named either for Thompson’s wife Bonnie or
BCPL, a language developed at Cambridge in the mid-60s. Whatever the case, B begat C.
B was an interpreted language — meaning it was executed by an
intermediate piece of software running atop a CPU — but C was a compiled
language. It was translated into machine code, and then directly
executed on the CPU. But in those days, C was considered a high-level
language. It would give Ritchie and Thompson the flexibility they
needed, but at the same time, it would be fast.
That first version of the language wasn’t all that different from C
as we know it today — though it was a tad simpler. It offered full data
structures and “types” for defining variables, and this is what Richie
and Thompson used to build their new UNIX kernel. “They built C to write
a program,” says Pike, who would join Bell Labs 10 years later. “And
the program they wanted to write was the UNIX kernel.”
Ritchie’s running joke was that C had “the power of assembly language
and the convenience of … assembly language.” In other words, he
acknowledged that C was a less-than-gorgeous creation that still ran
very close to the hardware. Today, it’s considered a low-level language,
not high. But Ritchie’s joke didn’t quite do justice to the new
language. In offering true data structures, it operated at a level that
was just high enough.
“When you’re writing a large program — and that’s what UNIX was — you
have to manage the interactions between all sorts of different
components: all the users, the file system, the disks, the program
execution, and in order to manage that effectively, you need to have a
good representation of the information you’re working with. That’s what
we call data structures,” Pike says.
“To write a kernel without a data structure and have it be as consist
and graceful as UNIX would have been a much, much harder challenge.
They needed a way to group all that data together, and they didn’t have
that with Fortran.”
At the time, it was an unusual way to write an operating system, and
this is what allowed Ritchie and Thompson to eventually imagine porting
the OS to other platforms, which they did in the late 70s. “That opened
the floodgates for UNIX running everywhere,” Pike says. “It was all made
possible by C.”
Apple, Microsoft, and Beyond
At the same time, C forged its own way in the world, moving from Bell
Labs to the world’s universities and to Microsoft, the breakout
software company of the 1980s.
“The development of the C programming
language was a huge step forward and was the right middle ground … C
struck exactly the right balance, to let you write at a high level and
be much more productive, but when you needed to, you could control
exactly what happened,” says Bill Dally, chief scientist of NVIDIA and
Bell Professor of Engineering at Stanford. “[It] set the tone for the
way that programming was done for several decades.”
As Pike points out, the data structures that
Richie built into C
eventually gave rise to the object-oriented paradigm used by modern
languages such as C++ and Java.
The revolution began in 1973, when Ritchie published his research
paper on the language, and five years later, he and colleague Brian
Kernighan released the definitive C book:
The C Programming Language.
Kernighan had written the early tutorials for the language, and at some
point, he “twisted Dennis’ arm” into writing a book with him.
Pike read the book while still an undergraduate at the University of
Toronto, picking it up one afternoon while heading home for a sick day.
“That reference manual is a model of clarity and readability compared to
latter manuals. It is justifiably a classic,” he says. “I read it while
sick in bed, and it made me forget that I was sick.”
Like many university students, Pike had already started using the
language. It had spread across college campuses because Bell Labs
started giving away the UNIX source code. Among so many other things,
the operating system gave rise to the modern open source movement. Pike
isn’t overstating it when says the influence of Ritchie’s work can’t be
overstated, and though Ritchie received the Turing Award in 1983 and the
National Medal of Technology in 1998, he still hasn’t gotten his due.
As Kernighan and Pike describe him, Ritchie was an unusually private
person. “I worked across the hall from him for more than 20 years, and
yet I feel like a don’t knew him all that well,” Pike says. But this
doesn’t quite explain his low profile. Steve Jobs was a private person,
but his insistence on privacy only fueled the cult of personality that
surrounded him.
Ritchie lived in a very different time and worked in a very different
environment than someone like Jobs. It only makes sense that he
wouldn’t get his due. But those who matter understand the mark he left.
“There’s that line from Newton about standing on the shoulders of
giants,” says Kernighan. “We’re all standing on Dennis’ shoulders.”
Additional reporting by Jon Stokes.
http://www.wired.com/wiredenterprise/2011/10/thedennisritchieeffect/
#
Dennis Ritchie, Trailblazer in Digital Era, Dies at 70
By Steve Lohr
Dennis M. Ritchie, who helped shape the modern digital era by creating
software tools that power things as diverse as search engines like
Google and smartphones, was found dead on Wednesday at his home in
Berkeley Heights, N.J. He was 70.
Mr. Ritchie, who lived alone, was in frail health in recent years after
treatment for prostate cancer and heart disease, said his brother Bill.
In the late 1960s and early ’70s, working at Bell Labs, Mr. Ritchie made
a pair of lasting contributions to computer science. He was the
principal designer of the C programming language and co-developer of the
Unix operating system, working closely with Ken Thompson, his longtime
Bell Labs collaborator.
The C programming language, a shorthand of words, numbers and
punctuation, is still widely used today, and successors like C++ and
Java build on the ideas, rules and grammar that Mr. Ritchie designed.
The Unix operating system has similarly had a rich and enduring impact.
Its free, open-source variant, Linux, powers many of the world’s data
centers, like those at Google and Amazon, and its technology serves as
the foundation of operating systems, like Apple’s iOS, in consumer
computing devices.
“The tools that Dennis built — and their direct descendants — run pretty
much everything today,” said Brian Kernighan, a computer scientist at
Princeton University who worked with Mr. Ritchie at Bell Labs.
Those tools were more than inventive bundles of computer code. The C
language and Unix reflected a point of view, a different philosophy of
computing than what had come before. In the late ’60s and early ’70s,
minicomputers were moving into companies and universities — smaller and
at a fraction of the price of hulking mainframes.
Minicomputers represented a step in the democratization of computing,
and Unix and C were designed to open up computing to more people and
collaborative working styles. Mr. Ritchie, Mr. Thompson and their Bell
Labs colleagues were making not merely software but, as Mr. Ritchie once
put it, “a system around which fellowship can form.”
C was designed for systems programmers who wanted to get the fastest
performance from operating systems, compilers and other programs. “C is
not a big language — it’s clean, simple, elegant,” Mr. Kernighan said.
“It lets you get close to the machine, without getting tied up in the
machine.”
Such higher-level languages had earlier been intended mainly to let
people without a lot of programming skill write programs that could run
on mainframes. Fortran was for scientists and engineers, while Cobol was
for business managers.
C, like Unix, was designed mainly to let the growing ranks of
professional programmers work more productively. And it steadily gained
popularity. With Mr. Kernighan, Mr. Ritchie wrote a classic text, “The C
Programming Language,” also known as “K. & R.” after the authors’
initials, whose two editions, in 1978 and 1988, have sold millions of
copies and been translated into 25 languages.
Dennis MacAlistair Ritchie was born on Sept. 9, 1941, in Bronxville,
N.Y. His father, Alistair, was an engineer at Bell Labs, and his mother,
Jean McGee Ritchie, was a homemaker. When he was a child, the family
moved to Summit, N.J., where Mr. Ritchie grew up and attended high
school. He then went to Harvard, where he majored in applied
mathematics.
While a graduate student at Harvard, Mr. Ritchie worked at the computer
center at the Massachusetts Institute of Technology, and became more
interested in computing than math. He was recruited by the Sandia
National Laboratories, which conducted weapons research and testing.
“But it was nearly 1968,” Mr. Ritchie recalled in an interview in 2001,
“and somehow making A-bombs for the government didn’t seem in tune with
the times.”
Mr. Ritchie joined Bell Labs in 1967, and soon began his fruitful
collaboration with Mr. Thompson on both Unix and the C programming
language. The pair represented the two different strands of the nascent
discipline of computer science. Mr. Ritchie came to computing from math,
while Mr. Thompson came from electrical engineering.
“We were very complementary,” said Mr. Thompson, who is now an engineer
at Google. “Sometimes personalities clash, and sometimes they meld. It
was just good with Dennis.”
Besides his brother Bill, of Alexandria, Va., Mr. Ritchie is survived by
another brother, John, of Newton, Mass., and a sister, Lynn Ritchie of
Hexham, England.
Mr. Ritchie traveled widely and read voraciously, but friends and family
members say his main passion was his work. He remained at Bell Labs,
working on various research projects, until he retired in 2007.
Colleagues who worked with Mr. Ritchie were struck by his code —
meticulous, clean and concise. His writing, according to Mr. Kernighan,
was similar. “There was a remarkable precision to his writing,” Mr.
Kernighan said, “no extra words, elegant and spare, much like his code.”
#
The Legacy of Dennis Ritchie
From our view, the foundation of the information economy originated from the mind and the effect of Dennis Ritchie and his many colleagues from Bell labs. His contribution of C programming and the Unix operating system is the cornerstone of the current Internet.
Most modern day mobile phones and embedded devices usually contained some lines of C programming code.
Regardless of your location, whenever the web is accessed and whenever an embedded device is used, you should know that Dennis Ritchie have played a macro role in making it operable.
The Importance of Learning a System Language
Whether you are a strategist or not, C programming emphasizes the practice of viewing and transforming data in its rawest form to an well-developed object that is complete, concise, fast, efficient and tangible.
Because of the amount of detail management, writing a C program is like building a car from the level of "nuts and bolts". It does take awhile. However, the operating speed is usually quite fast.
Compass Rule: The time that it takes to build "a car" with this exotic tool is inversely proportionally to the speed of the manufactured car.
To be a C programmer, one needs to be patient and disciplined. There is no immediate gratification from writing in this language. But this practice will teach anyone the skill of looking at data from a "ground up" viewpoint while being mindful of the system.
Click here and here if you want to learn why you should learn C.
If the intricacies of C programming language is too challenging for you, try Perl. This language is easy to learn and is quite efficient in terms of system performance. Perl's cpan library is multi-facet and quite large. This language is similar to the C language, that it is available for all cyber platforms.
Sidenote
Click on this link if you want to look an online version of Dennis Richie's classic book on C Programming Language. ... Regardless of its antiquity, this book still sells quite well after so many years. This book is a super text for those who are interested in the fundamentals of functional programming.
/* Comments From The Compass Desk */
Knowing how things work and why it works are some of the keys to being a good strategist regardless of the type of terrain.
Having the skill of seeing objects, methods and events from a geometric perspective (the top down view,. the ground up view, etc.) is the holy grail of the strategy business. It takes many years of sound and solid experience to build this unique skill set. Processing it into a macro model is the real challenge.
At some point, we will discuss about those very fundamentals and how it could be used in the game of staying ahead of the competitive curve.
/* eof */