À l'époque où G+ était encore quelquechose, j'avais trouvé ça (en anglais, bien sûr) :
Jean-Baptiste "JBQ" Quéru
Oct 15, 2011
Dizzying but invisible depth
You just went to the Google home page.
Simple, isn't it?
What just actually happened?
Well, when you know a bit of about how browsers work, it's not quite that
simple. You've just put into play HTTP, HTML, CSS, ECMAscript, and more.
Those are actually such incredibly complex technologies that they'll make
any engineer dizzy if they think about them too much, and such that no
single company can deal with that entire complexity.
Well, when you know a bit about how networks work, it's not quite that
simple. You've just put into play DNS, TCP, UDP, IP, Wifi, Ethernet,
DOCSIS, OC, SONET, and more. Those are actually such incredibly complex
technologies that they'll make any engineer dizzy if they think about
them too much, and such that no single company can deal with that entire
complexity.
Let's simplify.
You just typed www.google.com in the location bar of your browser.
Simple, isn't it?
What just actually happened?
Well, when you know a bit about how operating systems work, it's not
quite that simple. You've just put into play a kernel, a USB host stack,
an input dispatcher, an event handler, a font hinter, a sub-pixel
rasterizer, a windowing system, a graphics driver, and more, all of
those written in high-level languages that get processed by compilers,
linkers, optimizers, interpreters, and more. Those are actually such
incredibly complex technologies that they'll make any engineer dizzy
if they think about them too much, and such that no single company can
deal with that entire complexity.
Let's simplify.
You just pressed a key on your keyboard.
Simple, isn't it?
What just actually happened?
Well, when you know about bit about how input peripherals work, it's not
quite that simple. You've just put into play a power regulator, a
debouncer, an input multiplexer, a USB device stack, a USB hub stack,
all of that implemented in a single chip. That chip is built around
thinly sliced wafers of highly purified single-crystal silicon ingot,
doped with minute quantities of other atoms that are blasted into the
crystal structure, interconnected with multiple layers of aluminum or
copper, that are deposited according to patterns of high-energy
ultraviolet light that are focused to a precision of a fraction of a
micron, connected to the outside world via thin gold wires, all inside
a packaging made of a dimensionally and thermally stable resin. The
doping patterns and the interconnects implement transistors, which are
grouped together to create logic gates. In some parts of the chip,
logic gates are combined to create arithmetic and bitwise functions,
which are combined to create an ALU. In another part of the chip, logic
gates are combined into bistable loops, which are lined up into rows,
which are combined with selectors to create a register bank. In another
part of the chip, logic gates are combined into bus controllers and
instruction decoders and microcode to create an execution scheduler.
In another part of the chip, they're combined into address and data
multiplexers and timing circuitry to create a memory controller.
There's even more. Those are actually such incredibly complex
technologies that they'll make any engineer dizzy if they think about
them too much, and such that no single company can deal with that entire
complexity.
Can we simplify further?
In fact, very scarily, no, we can't. We can barely comprehend the complexity
of a single chip in a computer keyboard, and yet there's no simpler level.
The next step takes us to the software that is used to design the chip's
logic, and that software itself has a level of complexity that requires to
go back to the top of the loop.
Today's computers are so complex that they can only be designed and
manufactured with slightly less complex computers. In turn the computers
used for the design and manufacture are so complex that they themselves can
only be designed and manufactured with slightly less complex computers.
You'd have to go through many such loops to get back to a level that could
possibly be re-built from scratch.
Once you start to understand how our modern devices work and how they're
created, it's impossible to not be dizzy about the depth of everything that's
involved, and to not be in awe about the fact that they work at all, when
Murphy's law says that they simply shouldn't possibly work.
For non-technologists, this is all a black box. That is a great success of
technology: all those layers of complexity are entirely hidden and people
can use them without even knowing that they exist at all. That is the
reason why many people can find computers so frustrating to use: there are
so many things that can possibly go wrong that some of them inevitably will,
but the complexity goes so deep that it's impossible for most users to be
able to do anything about any error.
That is also why it's so hard for technologists and non-technologists to
communicate together: technologists know too much about too many layers and
non-technologists know too little about too few layers to be able to
establish effective direct communication. The gap is so large that it's not
even possible any more to have a single person be an intermediate between
those two groups, and that's why e.g. we end up with those convoluted
technical support call centers and their multiple tiers. Without such deep
support structures, you end up with the frustrating situation that we see
when end users have access to a bug database that is directly used by
engineers: neither the end users nor the engineers get the information
that they need to accomplish their goals.
That is why the mainstream press and the general population has talked so
much about Steve Jobs' death and comparatively so little about Dennis
Ritchie's: Steve's influence was at a layer that most people could see,
while Dennis' was much deeper. On the one hand, I can imagine where the
computing world would be without the work that Jobs did and the people he
inspired: probably a bit less shiny, a bit more beige, a bit more square.
Deep inside, though, our devices would still work the same way and do the
same things. On the other hand, I literally can't imagine where the
computing world would be without the work that Ritchie did and the people
he inspired. By the mid 80s, Ritchie's influence had taken over, and even
back then very little remained of the pre-Ritchie world.
Finally, last but not least, that is why our patent system is broken:
technology has done such an amazing job at hiding its complexity that the
people regulating and running the patent system are barely even aware of
the complexity of what they're regulating and running. That's the ultimate
bikeshedding: just like the proverbial discussions in the town hall about
a nuclear power plant end up being about the paint color for the plant's
bike shed, the patent discussions about modern computing systems end up
being about screen sizes and icon ordering, because in both cases those
are the only aspect that the people involved in the discussion are capable
of discussing, even though they are irrelevant to the actual function of
the overall system being discussed.
# Dizzying but invisible depth
Posté par ymorin . En réponse au lien Le Web est-il devenu trop compliqué ?. Évalué à 10.
Plop,
À l'époque où G+ était encore quelquechose, j'avais trouvé ça (en anglais, bien sûr) :
Jean-Baptiste "JBQ" Quéru
Oct 15, 2011
Dizzying but invisible depth
You just went to the Google home page.
Simple, isn't it?
What just actually happened?
Well, when you know a bit of about how browsers work, it's not quite that
simple. You've just put into play HTTP, HTML, CSS, ECMAscript, and more.
Those are actually such incredibly complex technologies that they'll make
any engineer dizzy if they think about them too much, and such that no
single company can deal with that entire complexity.
Let's simplify.
You just connected your computer to www.google.com.
Simple, isn't it?
What just actually happened?
Well, when you know a bit about how networks work, it's not quite that
simple. You've just put into play DNS, TCP, UDP, IP, Wifi, Ethernet,
DOCSIS, OC, SONET, and more. Those are actually such incredibly complex
technologies that they'll make any engineer dizzy if they think about
them too much, and such that no single company can deal with that entire
complexity.
Let's simplify.
You just typed www.google.com in the location bar of your browser.
Simple, isn't it?
What just actually happened?
Well, when you know a bit about how operating systems work, it's not
quite that simple. You've just put into play a kernel, a USB host stack,
an input dispatcher, an event handler, a font hinter, a sub-pixel
rasterizer, a windowing system, a graphics driver, and more, all of
those written in high-level languages that get processed by compilers,
linkers, optimizers, interpreters, and more. Those are actually such
incredibly complex technologies that they'll make any engineer dizzy
if they think about them too much, and such that no single company can
deal with that entire complexity.
Let's simplify.
You just pressed a key on your keyboard.
Simple, isn't it?
What just actually happened?
Well, when you know about bit about how input peripherals work, it's not
quite that simple. You've just put into play a power regulator, a
debouncer, an input multiplexer, a USB device stack, a USB hub stack,
all of that implemented in a single chip. That chip is built around
thinly sliced wafers of highly purified single-crystal silicon ingot,
doped with minute quantities of other atoms that are blasted into the
crystal structure, interconnected with multiple layers of aluminum or
copper, that are deposited according to patterns of high-energy
ultraviolet light that are focused to a precision of a fraction of a
micron, connected to the outside world via thin gold wires, all inside
a packaging made of a dimensionally and thermally stable resin. The
doping patterns and the interconnects implement transistors, which are
grouped together to create logic gates. In some parts of the chip,
logic gates are combined to create arithmetic and bitwise functions,
which are combined to create an ALU. In another part of the chip, logic
gates are combined into bistable loops, which are lined up into rows,
which are combined with selectors to create a register bank. In another
part of the chip, logic gates are combined into bus controllers and
instruction decoders and microcode to create an execution scheduler.
In another part of the chip, they're combined into address and data
multiplexers and timing circuitry to create a memory controller.
There's even more. Those are actually such incredibly complex
technologies that they'll make any engineer dizzy if they think about
them too much, and such that no single company can deal with that entire
complexity.
Can we simplify further?
In fact, very scarily, no, we can't. We can barely comprehend the complexity
of a single chip in a computer keyboard, and yet there's no simpler level.
The next step takes us to the software that is used to design the chip's
logic, and that software itself has a level of complexity that requires to
go back to the top of the loop.
Today's computers are so complex that they can only be designed and
manufactured with slightly less complex computers. In turn the computers
used for the design and manufacture are so complex that they themselves can
only be designed and manufactured with slightly less complex computers.
You'd have to go through many such loops to get back to a level that could
possibly be re-built from scratch.
Once you start to understand how our modern devices work and how they're
created, it's impossible to not be dizzy about the depth of everything that's
involved, and to not be in awe about the fact that they work at all, when
Murphy's law says that they simply shouldn't possibly work.
For non-technologists, this is all a black box. That is a great success of
technology: all those layers of complexity are entirely hidden and people
can use them without even knowing that they exist at all. That is the
reason why many people can find computers so frustrating to use: there are
so many things that can possibly go wrong that some of them inevitably will,
but the complexity goes so deep that it's impossible for most users to be
able to do anything about any error.
That is also why it's so hard for technologists and non-technologists to
communicate together: technologists know too much about too many layers and
non-technologists know too little about too few layers to be able to
establish effective direct communication. The gap is so large that it's not
even possible any more to have a single person be an intermediate between
those two groups, and that's why e.g. we end up with those convoluted
technical support call centers and their multiple tiers. Without such deep
support structures, you end up with the frustrating situation that we see
when end users have access to a bug database that is directly used by
engineers: neither the end users nor the engineers get the information
that they need to accomplish their goals.
That is why the mainstream press and the general population has talked so
much about Steve Jobs' death and comparatively so little about Dennis
Ritchie's: Steve's influence was at a layer that most people could see,
while Dennis' was much deeper. On the one hand, I can imagine where the
computing world would be without the work that Jobs did and the people he
inspired: probably a bit less shiny, a bit more beige, a bit more square.
Deep inside, though, our devices would still work the same way and do the
same things. On the other hand, I literally can't imagine where the
computing world would be without the work that Ritchie did and the people
he inspired. By the mid 80s, Ritchie's influence had taken over, and even
back then very little remained of the pre-Ritchie world.
Finally, last but not least, that is why our patent system is broken:
technology has done such an amazing job at hiding its complexity that the
people regulating and running the patent system are barely even aware of
the complexity of what they're regulating and running. That's the ultimate
bikeshedding: just like the proverbial discussions in the town hall about
a nuclear power plant end up being about the paint color for the plant's
bike shed, the patent discussions about modern computing systems end up
being about screen sizes and icon ordering, because in both cases those
are the only aspect that the people involved in the discussion are capable
of discussing, even though they are irrelevant to the actual function of
the overall system being discussed.
CC:BY 3.0