Harold Thimbleby, Author at New ĐÓ°ÉÔ­´´ Science news and science articles from New ĐÓ°ÉÔ­´´ Fri, 21 Jun 2002 23:00:00 +0000 en-US hourly 1 https://wordpress.org/?v=7.0.1 242057827 Desktop Witness: The do’s and don’ts of personal computer security by Michael Caloyannides /article/1866116-desktop-witness-the-dos-and-donts-of-personal-computer-security-by-michael-caloyannides/?utm_campaign=RSS|NSNS&utm_content=currents&utm_medium=RSS&utm_source=NSNS Fri, 21 Jun 2002 23:00:00 +0000 http://mg17423484.900 1866116 From Anarchy to Power by Wendy Grossman /article/1862991-from-anarchy-to-power-by-wendy-grossman/?utm_campaign=RSS|NSNS&utm_content=currents&utm_medium=RSS&utm_source=NSNS Fri, 13 Jul 2001 23:00:00 +0000 http://mg17122995.300 1862991 Robo sapiens: Evolution of a new species by Peter Menzel and Faith D’Aluisio /article/1859762-robo-sapiens-evolution-of-a-new-species-by-peter-menzel-and-faith-daluisio/?utm_campaign=RSS|NSNS&utm_content=currents&utm_medium=RSS&utm_source=NSNS Fri, 15 Sep 2000 23:00:00 +0000 http://mg16722565.500 1859762 You don’t want to see it /article/1851465-you-dont-want-to-see-it/?utm_campaign=RSS|NSNS&utm_content=currents&utm_medium=RSS&utm_source=NSNS Sat, 28 Nov 1998 00:00:00 +0000 http://mg16021626.200 The Invisible Computer by Donald Norman, MIT Press, ÂŁ15.95, ISBN 0262140659

“WHAT is wrong with our world, where horrible products don’t matter?” asks
Don Norman, a well-known writer and critic of technology, ex-Apple computer guru
and now a consultant. Take, for example, the Swiss Army knife. It’s a boon to
the soldier and the mountaineer—you can carry all the tools you can
imagine in a handy “all in one” kit. It’s versatile, but each tool is pretty
feeble compared with a real screwdriver or a real pair of scissors. This is
Norman, a man on a mission: to challenge multipurpose, multifeature devices that
are overcomplex and difficult to use. And that applies to eveything from
screwdrivers but to computers and other gadgets.

Norman says the complex gadgets that make our lives fraught should be
re-engineered, rethought. They should be invisible “information appliances”,
like the computers already hidden inside our cars and washing machines.
Invisible computers are easy to use: they are embedded where they are needed.
That’s the route we ought to follow: forget calling up files and downloading
paper copies, the address book is inside the phone.

That he has solutions, not merely complaints, makes his case very persuasive.
And his examples from Apple’s great mistake (turning down a web browser) to
Thomas Edison’s failure to sell his phonograph fill give you a fund of
anecdotes.

But do these ideas really work? I found myself disagreeing with almost every
solution Norman proposes. Forget that Swiss Army knife, take the dictionary.
Dictionaries have lots of words in them; this is what makes them useful. But a
dictionary that was not in alphabetical order would be a disaster. Aren’t
today’s computers more like disordered “dictionaries”? More features just make
them harder to use. The issue is not whether PCs provide many functions, but the
sensible organisation of those functions for users.

Surely, then, Norman, having wonderfully described the disease, prescribes
the wrong cure? That he informatively and brilliantly identifies one of the
besetting problems of the modern world makes it a great book, nevertheless. You
need controversial ideas if you want to work out how to make the world a better
place.

]]>
1851465
Common tongue /article/1850736-common-tongue/?utm_campaign=RSS|NSNS&utm_content=currents&utm_medium=RSS&utm_source=NSNS Fri, 02 Oct 1998 23:00:00 +0000 http://mg16021545.600 ORGANISATIONS are large complex beasts, and they operate in a competitive
world where failure means extinction. No wonder they seize ideas from science.
For example, artificial life, neural nets, chaos and self-organisation all have
organisational applications. Arthur Battram’s Navigating Complexity
(The Industrial Society, ÂŁ17.99, ISBN 185835899X) makes an excellent
easy-to-read overview, which establishes a common scientific vocabulary. If
scientists or managers don’t know what to do, they at least speak the same
language.

You might also like Max Boisot’s Knowledge Assets (Oxford University
Press, ÂŁ25, ISBN 0198290861). If Battram is a guide to scientific ideas
for management, then this is for the scientist who wants to impress
managers.

It’s a serious book. As Boisot says, organisations often fail to account for
their knowledge assets or understand that real power is locked up in ideas,
skills, and networks of people and computers. NASA’s Viking mission to Mars
produced thousands of unprocessed images because nobody was left who understood
the data.

]]>
1850736
Review : Sailing to Java /article/1848960-review-sailing-to-java/?utm_campaign=RSS|NSNS&utm_content=currents&utm_medium=RSS&utm_source=NSNS Sat, 28 Mar 1998 00:00:00 +0000 http://mg15721277.000 CHANGES occur rapidly in computer science. Take Java, for example. Could the
writer James Gosling and his colleagues have guessed in 1994 that millions of
people would be programming in their language?

Java is now used in settings from the Mars Lander to the military, and has
been embraced as the solution to all programming problems. True or false, no one
yet knows. Meanwhile, hundreds of universities have set up programming courses
using Java. Hence the flood of Java books.

Sadly, few of these are suitable for university courses, most being little
more than recipe books for short programs, or applets, as Java users call them.
Computing Concepts with Java Essentials, however, is an exception. It’s
an ideal first-year programming book, covering both Java and programming
concepts clearly, with humour to boot. The book also gives background facts and
advanced topic boxes, appealing to those quickly bored with programming as well
as those who want to go deeper.

Java’s adoption into the syllabus will eventually make many older course
books obsolete. Developing Java Software is ready to fill the void. Its
818 pages provide a pretty thorough curriculum—all in Java—from
basic programming and core algorithms to software engineering issues. It will be
a useful single-book reference for anyone wanting to program well.

Some might prefer separate books for the different issues. Try UML
Distilled for a good overview of object-oriented analysis and design, using
the justly popular Unified Modelling Language. There’s no Java here, just clear,
focused ideas on object-oriented design. A Little Java, A Few Patterns,
on the other hand, is an unashamedly Java-based object-oriented programming
book. The quirky “dialogue” style, familiar to readers of Matthias Felleisen and
Daniel Friedman’s other books, may be offputting at first, but persist. To
appreciate the charm of their approach, you must be prepared to work through the
book with a computer beside you for experimenting.

Java has an edge over many other languages in that it seems to give students
and other users a sense that everything is possible. Of course, this is far from
the truth: computing is a deeply profound subject with some surprising twists.
Elements of the Theory of Computation is a broad introduction to the
theory of just what is and is not possible, and why. It has good coverage
without getting carried away with theoretical results for their own sake. The
book ends with a practical discussion of coping with NP-complete problems, for
instance, by using simulated annealing.

Rather than program in a language, it is wiser to program into a language,
having first specified what you want the program to do. Z is one of the standard
notations for specifying a program, but it has seemed a bit esoteric to many
potential users, as most books about Z emphasise the mathematics, rather than
the benefits of this approach. The Way of Z breaks out of this mould to
make Z relevant and accessible to all programmers. It is an ideal first or
second-year book for students of computing science who want to design and write
reliable programs.

However specified, most programmers want to improve their programs to make
them run faster and become capable of handling larger problems. This is the area
of algorithms, and you’ll find a good choice of books in this field.

Algorithms in C is now in its third edition, but while it’s getting better,
it is getting bigger. Unfortunately, it has been split into two volumes for this
edition. Many students may never get around to buying the second volume, and so
will not get the comprehensive view that the earlier, single-volume editions
provided. Nevertheless, the distinctive illustrations are extremely good, and
really help the reader to visualise the behaviour of complex algorithms.

Most real computer systems are complex. So complex, in fact, that few
students will get the chance to become really familiar with them. The Be
Developer’s Guide is one of several new books on the Be operating system.
Because it comes with a CD and source code, it could be used either for
laboratory work on operating systems—or, far better, as a way of
experiencing the excitement of being completely in control of a computer from
the ground up.

Be is just one operating system, but a course will usually cover the
principles of design choices among the different types. Operating Systems
Concepts is a popular, basic book taking the conventional view that the
computer is where it is at. In contrast, Concurrent Systems takes the
wider view that concurrency underlies the operation of operating systems,
databases and networks.

The way each book handles Java perhaps typifies their differing approaches:
Operating Systems Concepts looks inwards, by explaining the Java
virtual machine, whereas Concurrent Systems looks outwards at the new
possibilities that Java has opened up in, for instance, mobile applications.

One example of a book using this approach is The Theory and Practice of
Concurrency, which is a substantial text on CSP. Since its origin in the
1970s, CSP has become supported by a wide range of tools, analysers and
simulators. It is much more accessible, and much more important. This
would be best as an optional final-year course book, but it will also be useful
for postgraduate studies.

It’s no good having fascinating computer systems unless they are usable. New
editions of several human-computer interaction books have been published
recently. Designing the User Interface and Human-Computer
Interaction stand out as the major players, and both cover this important
area very clearly and comprehensively.

Designing the User Interface is slightly more oriented to
professional issues. It is for people with a career in human factors who want to
know more about influencing computer design, in contrast to Human-Computer
Interaction, a more theory-oriented title that will appeal largely to
computer scientists who want to introduce human-factor issues to their work.

Just as the clash of “logical” computers against humans made human-computer
interaction a critical area, the pervasiveness of the Internet and digital
thinking affects everything from business to global politics. Privacy on the
Line is a review of the policy debate, but one that’s unusually well
grounded in the technology. Its coauthor is Whitfield Diffie, the inventor of
public key cryptography. It should be required reading for any computing student
at any level, either as a general background to the real-world impact of
computing, or as a stimulating backdrop to a cryptography or communications
course.

But Java—to return to our original concern—may turn out to be a
flash in the pan: books on human-computer interaction face a struggle to stay
abreast of rapid developments in computing, such as the Net. In spite of the
speed of change in computing science, it may come as a surprise that the best
book in this area is well over thirty years old—and still hasn’t been
finished. No serious computer scientists can ignore Donald Knuth’s Art of
Computer Programming. It is a masterpiece. The first three volumes are now
out in updated, revised editions.

You can read Knuth at many levels: to solve a problem, to learn a new
technique, to tour a fascinating byway, or to tackle one of the many exercises
on offer as a stimulating project. Knuth’s authority and enthusiasm give a
profound sensation of the importance and centrality that the basics of computer
science have had for humanity for more than 4000 years. These are the lasting
values of computing science on which we will build the next millennium.

  • Computing Concepts with Java Essentials
    by Cay Horstmann, John Wiley,
    ÂŁ22.50/$65.95, ISBN 0471172235
  • Developing Java Software
    by Russel Winder and Graham Roberts, John Wiley,
    ÂŁ22.50/$65.95, ISBN 0471976555
  • UML Distilled: Applying the Standard Modeling Language
    by Martin Fowler and Kendall Scott, Addison-Wesley,
    ÂŁ23.95/$29.95, ISBN 0201325632
  • A Little Java, a Few Patterns
    by Matthias Felleisen and Daniel Friedman, MIT Press,
    ÂŁ14.95/$20, ISBN 0262561158
  • Elements of The Theory of Computation
    by Harry Lewis and Christos Papadimitriou, Prentice Hall,
    ÂŁ24.95, ISBN 0132727412
  • The Way of Z: Practical Programming with Formal Methods
    by Jonathan Jacky, Cambridge University Press,
    ÂŁ19.95/$29.95, ISBN 0521559766
  • Algorithms In C
    by Robert Sedgewick, Addison-Wesley,
    ÂŁ26/$39.95, ISBN 0201314525
  • Be Developer’s Guide
    by The Be Development Team, O’Reilly,
    $49.95, ISBN 1565922875
  • Operating System Concepts
    by Peter Galvin, James Peterson and Abraham Silberschatz, Addison-Wesley,
    ÂŁ25.50, ISBN 0201542625
  • Concurrent Systems
    by Jean Bacon, Addison-Wesley,
    ÂŁ23.95/$51.10, ISBN 0201177676
  • The Theory and Practice of Concurrency
    by A W Roscoe, Prentice Hall,
    ÂŁ24.95, ISBN 0136744095
  • Designing The User Interface
    by Ben Shneiderman, Addison-Wesley Longman,
    ÂŁ26.95/$44.95, ISBN 0201694972
  • Human-Computer Interaction
    by Alan Dix, Janet Finlay, Gregory Abowd, Russell Beale, Prentice Hall,
    ÂŁ24.95/$42, ISBN 0132398648
  • Privacy on the Line
    by Whitfield Diffie and Susan Landau,
    ÂŁ19.95/$25, MIT Press, ISBN 0262041677
  • The Art of Computer Programming, Volumes 1-3
    by Donald Knuth, Addison Wesley,
    ÂŁ37.95/$49.95 each, ISBN 0201896834
]]>
1848960
Review : Roar of the surf /article/1848581-review-roar-of-the-surf/?utm_campaign=RSS|NSNS&utm_content=currents&utm_medium=RSS&utm_source=NSNS Sat, 17 Jan 1998 00:00:00 +0000 http://mg15721175.200 Net.wars by Wendy Grossman, New York University Press, $21.95, ISBN
0814731031

HERE at last is a sensible, thought-provoking and informative book about the
complexity and challenges of the Net. Most books are too enthusiastic about the
technology, too American, too Utopian, too get-rich-quick—or just out of
date. In Net.wars we have a good, profoundly challenging book, which
rises above parochialism. It is full of insights—as much into bulletin
boards as sexual stereotyping, rights to free speech and establishing global
copyright. Everyone, particularly police, lawyers, teachers, parents and
scientists, can usefully read this book and consider what the Net really means
for us all.

It is, for a start, forcing us to think in new ways. About privacy, for
example. In real life, when I post a letter in the box in my street, nobody
knows I posted it. If I go to a market and pay in cash, nobody knows where the
money came from, and there need be no record of what I bought.

Yet as soon as we begin to live even part of our lives on the Net,
governments want to monitor and record everything. To guard our privacy, we
might use cryptography, but this has become mixed up with trading in armaments
and is illegal in many nations. Yet human rights activists use cryptography to
protect correspondents, so it can be a force for democracy. Net.wars
explains these issues in a way that makes them accessible to people who don’t
know about the technology. It also has enough background knowledge (and good
references) to make a gripping read even for knowledgeable people.

For example, because the Net works by moving information around the globe,
intellectual property rights, including copyright, are a vital issue. Yet many
countries on the Net have never signed the Bern Convention which protects
copyright. In one case, somebody accused of publishing private American material
had copied it to the Swedish parliament. As a result, it became public
information by Swedish law.

Other contentious issues include both anonymity and unlimited access to the
Net. Grossman takes a balanced stance, and makes it clear why there aren’t any
quick fixes. To stop children getting access to nasty material, for instance,
you need complicated software. And that, ironically, will probably be understood
better by children than by adults. As for anonymity, in Net conversations,
nobody knows anything about you except what you reveal. It isn’t supposed to
matter what your race, gender or physical impairments are. But, inevitably, they
do matter. Everything we do carries the stamp of our personality and background.
Maintaining anonymity may be a goal, rather than a reality, for most users. And
if we aim to create a Net that offends no one, we risk making it insipid to
everyone.

Meanwhile, governments propose all sorts of solutions to such problems. It
seems unfair that people who only know the Net secondhand, and often
inaccurately, want to regulate it. It is unlikely that any computerised solution
designed to cope with millions of users and with the Net’s worldwide diversity
would work as planned.

The Net is like another country. One vision of its future is as an
information superhighway jammed with locked security vans, steered by armed
guards who speak only in cryptograms— unpleasant to visit, let alone to
inhabit.

While some people dither at the edges of the surf, wondering whether to jump
in or wait for legislation to make the Net safe, millions are already in deep.
The sooner people read Net.wars and understand how the ripples from the
Net will splash us all, the better.

]]>
1848581
Christmas books : Collected works /article/1847711-christmas-books-collected-works-2/?utm_campaign=RSS|NSNS&utm_content=currents&utm_medium=RSS&utm_source=NSNS Sat, 22 Nov 1997 00:00:00 +0000 http://mg15621097.600 INSTILLING a love and understanding of science is one of the most important
things we can do. Lots of books aim to help parents, teachers and children, but
finding one that is outstanding isn’t easy: for one thing, it has to fit the
child’s temperament and abilities. Some superficially attractive books reduce
science to a spectator sport, while in others excellence may hide behind a
boring appearance. Finding a good book that encourages the active involvement of
a child takes perseverance.

You might begin with Janice VanCleave, author of a successful series of
science books. Her Guide to the Best Science Fair Projects
(Wiley, ÂŁ11.99, ISBN 0471148024) offers 50 nifty experiments, each clearly
presented. Each project starts with the problem and materials, followed by the
procedure and questions, goes on to make the experiment into a show, and finally
leads to further investigation.

I found that some experiments are easy for young children to do alone,
perhaps after an adult or teenager has checked the project, but others require
long-term commitment and support from adults. There is one on the spontaneous
generation of maggots that takes a few weeks to run.

Physics Lab in a Housewares Store by Bob Friedhoffer (Franklin
Watts/Grolier, $6.95, ISBN 0531158241) takes a slightly different tack.
There’s a lot more discussion here, and a lot less doing. Friedhoffer emphasises
the physical principles underlying household gadgets, though as the title
suggests, most people will need to do some shopping to cover the book’s entire
range.

The important message that science is around us in everyday objects,
especially those used in the kitchen, comes through loud and clear. Science need
not be packaged in bright colours to be interesting.

Inevitably, many books are written for the American market, so Brits with
strong opinions about Americanisms should check them carefully before they
buy.

The Math Chef by Joan D’Amico and Karen Eich Drumond (Wiley,
£9.99, ISBN 0471138134) also exploits cooking as does Friedhoffer’s
Physics Lab, in this case as a practical and painless way into sums and
measurement.

For some reason, though, it uses a variety of measurements: some recipes use
inches, some millimetres, some quarts and cups, some litres. For anyone who
finds this bewildering, the maths won’t seem like much fun, or even relevant,
which is a shame.

In complete contrast, have a look at Murderous Maths by Kjartan
Poskitt (Scholastic, ÂŁ3.50, ISBN 0590134574), which leaves the kitchen
behind. It is a truly addictive reading book, and was leapt on and devoured by
my children. The book is full of awful jokes, fascinating facts, real murders
and, yes, the maths is good too. This is a brilliant book.

To the curious, science may be interesting for its own sake, but another
approach is to find an area that children are naturally interested in and
exploit the science in that. There are lots of books on wildlife and astronomy
that do this, but nature is not the only option.

For a change, Spy Science by Jim Wiese (Wiley, ÂŁ9.99, ISBN
047114620X) builds on secret messages, eavesdropping and spies’ secret
techniques to do what are really maths, chemistry and physics experiments. The
book has 40 activities, quite enough to run a spy ring in your
neighbourhood.

Most children’s science books cannot be read alone: they require adult
involvement. The moral is: find out which approach sparks enthusiasm. Perhaps
the best present you can offer is to take the lucky child to a good bookshop or
library. There you can do some experiments of your own on exactly what their
preferences are.

]]>
1847711
Review : Sleepwalking to disaster /article/1844939-review-sleepwalking-to-disaster/?utm_campaign=RSS|NSNS&utm_content=currents&utm_medium=RSS&utm_source=NSNS Fri, 04 Jul 1997 23:00:00 +0000 http://mg15520896.900 GENE ROCHLIN has given his book a trendy title, but the message of
Trapped in the Net is a serious one. He talks about how we get trapped in
nets of “scenario fixations”, of believing that we are doing one thing when the
world is going its own unpredictable way. Many people believe that computers are
going to solve all our problems, so they install more computers to cope with the
complexity that the machines themselves create.

In 1988, the warship USS Vincennes was engaged with hostile Iranian vessels.
A rapid manoeuvre caused the ship to heel sharply. In the confusion, the crew
incorrectly identified a civilian Airbus 320 as an Iranian F14 fighter, misheard
its identification squawks, and mistakenly thought it was descending towards the
ship, when it was on its usual flight path. Two missiles were fired at the
airliner, bringing it down and killing all 290 passengers. The ship’s computer
system, Aegis, had performed perfectly.

Military systems ought to be able to work under stress. But the sophisticated
USS Vincennes was next to useless in the real world, even though its computer
systems had worked exactly as designed.

Trapped in the Net covers not only the military, but also financial
markets, aviation and business. In all cases, humans working inside
organisations become helpless just when the systems they use encounter the
unexpected and start behaving idiotically.

This is a fascinating and well-argued book from Princeton University Press
(ÂŁ19.95/$29.95, ISBN 0 691 01080 3). The references are good, and
certainly prove that Rochlin is not a lone voice with a cynical message. If your
organisation uses computers: tremble.

]]>
1844939
Student books : The really hard soft stuff /article/1843395-student-books-the-really-hard-soft-stuff/?utm_campaign=RSS|NSNS&utm_content=currents&utm_medium=RSS&utm_source=NSNS Sat, 01 Mar 1997 00:00:00 +0000 http://mg15320715.600 The Structure and Interpretation of Computer Programs (second edition)
by H. Abelson, G. J. Sussman and J. Sussman, MIT Press, ÂŁ22.50, ISBN 0 262
51087 1

Parallel Programming Using C++ edited by Gregory Wilson and Paul Lu,
MIT Press, ÂŁ34.95/$45, ISBN 0 262 73118 5

An Introduction to Distributed Algorithms by V. C. Barbosa, MIT
Press, ÂŁ33.95/$40, ISBN 0 262 02412 8

Newnes C++ Pocket Book (second edition) by Conor Sexton,
Butterworth-Heinemann, ÂŁ12.99, ISBN 0 7506 2539 2

Concurrent Programming in Java by D. Lea, Addison-Wesley,
ÂŁ29.95/$35, ISBN 0 201 69581 2

Foundations for Programming Languages by J. F. Mitchell, MIT Press,
ÂŁ34.95/$60, ISBN 0 262 13321 0

Java Security by G. McGraw and E. W. Felten, John Wiley,
ÂŁ19.95, ISBN 0 471 17842 X

Computer Security (third edition) by J. M. Carroll,
Butterworth-Heinemann, ÂŁ35, ISBN 0 7506 9600 1

International User Interfaces edited by E. M. del Galdo and J.
Nielsen, John Wiley, ÂŁ39.95/$49.95, ISBN 0 471 14965 9

Selected Papers on Computer Science by Donald E. Knuth,
CSLI/Cambridge University Press, ÂŁ16.95/$24.95, ISBN 1 881 52691
7

IF YOU visited a bookshop today, you might easily get the wrong impression
about computers. The bookshops are full of thick volumes about specific
packages. And the books they stock on their shelves explain how to use Version
7.5 of something, rather than offering any principles or deep insights. Really,
their thickness shows that the people who design computer systems do not think
seriously about making them easier to use, more consistent, or even easier to
write about.

Fortunately, real computer science is not about listing lots of
if-you-hold-the-alt-key-down trivia, but is about principles and theories that
make sense. These deeper ideas are exciting and stimulating.

So what is computing really all about? The Structure and Interpretation
of Computer Programs is now in its second edition and I recommend it
wholeheartedly to students as a great introduction to every aspect of
programming. Although the book can be read for pure inspiration, to get the most
out of it you need access to the programming language Scheme, a dialect of LISP.
If that is a problem for you, then be aware that anyone who wants to be a
well-rounded computer scientist should write a few programs in LISP to
appreciate why it is such a neat language. The exercises in the book are well
thought out, making it ideal for personal study—perhaps also for setting
programming challenges for any recalcitrant people who have not been converted
to LISP yet.

LISP is not all there is to computing, of course. The Internet is also
impossible to ignore. For the computer scientist, it opens up the prospect of
writing hugely parallel programs, distributed around the world. Parallel
programming is going to be one of the most important growth areas in the next
few years, as people realise that lots of computers working together on the
Internet can do really powerful things, and that means that they will be doing
new things, and there will be lots of programming problems to understand and
solve.

Many programmers are already familiar with C++, and Parallel Programming
Using C++ edited by Gregory Wilson and Paul Luis a serious review of what
can be done in the language. It is a collection of 13 different approaches, a
bit specialised, and a bit too arbitrary in its choice of topics for an
undergraduate course. If you are programming in C++, parallel or otherwise,
then the second edition of Newnes C++ Pocket Book by Conor Sexton
covers all the standard C++ language. If you are going to toil in labs over hot
PCs, this is a convenient and authoritative book for quick reference, and it
really is a pocket book. But I think C++’s days for programming are
numbered.

For example, An Introduction to Distributed Algorithms from MIT
Press prefers to use its own language. Because it is not tied to C++, or any
other language, it is suitable for use as a reference, and because it is written
by one person, it has a clear thread to it and is suitable as a course book. It
would be especially useful for an undergraduate final year project on
distributed programming, particularly as each idea starts with an intuitive
description, an outline program, and then a more rigorous development.

No programmer can ignore Java. It has become ridiculously popular, and even
if not the language of choice for programming, everybody pretends it
is—especially for doing anything on the Internet. Apart from taking the
world by storm, Java will bring distributed and parallel programming to all
programmers ready for it.

I can recommend Doug Lea’s Concurrent Programming in Java. It
explains a great deal about the many styles of parallel programming, not just
Java’s particular approach. Unlike the other two books reviewed here on parallel
and distributed programming, Lea’s book invites experiments, partly because Java
is not a specialist language. With the aid of diagrams this book succeeds in
making the ideas clear and enticing, and obviously necessary to cope with the
practical programming challenges. It is also unusually insightful for a Java
book.

Indeed, it makes a wonderful antidote to the many rubbishy ones filling
bookshops. Choose Java books carefully, and I would recommend that you should
beware of any with more than 350 pages.

Java is not the great language it might have been, and part of the reason is
that language design is extraordinarily difficult. Foundations for
Programming Languages by J. F. Mitchell is a tremendous book that will
certainly influence me in my future efforts at language design, but sadly it is
hard going. I think that most of its 846 pages will be beyond undergraduates
unless they are especially interested in the mathematical foundations of
programming language semantics, rather than the practical details that would be
covered in a compiler course.

Nevertheless, languages of one sort or another underpin all computer systems,
and the world would be a better place if we could somehow pass a law that
required anybody who built a system to have read and understood Foundations
for Programming Languages.

Programming is not all there is to computing; you can build computers, you
can program them, and you can use them. The result? With all those people around
the world having access to your computer via the Internet, security has become a
major issue.

Java Security is an easy read, and exposes some interesting problems
of the language. It is good background reading for a course in Java, but as a
student book it fails by being too wrapped up in specific faults with particular
versions of software. You would not be able to sell this book to another student
in a year’s time.

A far more substantial book on security is Computer Security, now in
its third edition—proof that it is widely appreciated. It covers computer
security and cryptography, and is sprinkled with worrying anecdotes. It has a
useful international approach, especially when it comes to computer law, so it
will interest lawyers and all users of computers, not just specialists.

While the Internet may allow people to break into your computer system, it
also enables you to sell software to other users. With the worldwide reach of
the Internet, many of these users will be in other countries. International
User Interfaces edited by E. M. del Galdo and J. Nielsen is a useful review
of the issues you must anticipate when developing multicultural computer
systems. It is a collection of essays and a bit uneven in its coverage, but it
could form a supplement to a human-computer interaction course. The book also
affords unintentional insights into its American origins, revealing what hard
work the Americans think Europe is.

Finally, no serious computer scientist should ignore our subject’s heroes.
Arguably, Donald Knuth defined the field with his 1960s’ Art of Computer
Programming series of books. Since then, his output has been prolific and
influential. His Selected Papers on Computer Science from Cambridge
University Press is a marvellous collection from his varied and fascinating
writings. We can all enjoy the humour, insights and sense of enjoyment he brings
to the subject.

Some of the books that I have reviewed here are “must haves” regardless of
what courses you are doing or what other books you are supposed to be
reading.

For anyone who plans to do programming at university level, The Structure
and Interpretation of Computer Programs is essential, with Concurrent
Programming in Java the best book for filling in the concurrent programming
issues. Computer Security provides broader views on computer
applications, while Knuth’s collection would not be out of place on your coffee
table, especially if you ostentatiously leave it open at a page of 4000-year-old
programs.

]]>
1843395