ArticleslgStudy

science

Stephen C. Johnson

Stephen C. Johnson is a science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand Stephen C. Johnson rather than just read about it. In short: Stephen Curtis Johnson (born 1944) is a computer scientist who worked at Bell Labs and AT&T for nearly 20 years. He is best known for Yacc, Lint, spell, and the Portable C Compiler, which contributed to the spread of Unix and C.

Key takeaways

  • Stephen C. Johnson belongs to science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect Stephen C. Johnson to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of Stephen C. Johnson from memory before moving on to harder problems.

Reference excerpt

Stephen Curtis Johnson (born 1944) is a computer scientist who worked at Bell Labs and AT&T for nearly 20 years. He is best known for Yacc, Lint, spell, and the Portable C Compiler, which contributed to the spread of Unix and C. He has also contributed to fields as diverse as computer music, psychometrics and VLSI design.

Life and education Johnson's passion for computing started at age five, when his grandfather took him along to his work at the Bureau of Standards. The computer he saw ("the size of a small house") made a strong impression on him, and he decided he "wanted to work with computers, and never looked back after". There were no computer science classes in college, so he studied mathematics, in which he eventually earned a PhD.

Career

Bell Labs and AT&T Johnson joined Bell Labs and AT&T in the 1960s and worked on Unix tools for nearly 20 years, alongside computer scientists like Jeffrey Ullman, Dennis Ritchie and Alfred Aho. He was best known for writing Yacc, Lint, and the Portable C Compiler. In the mid-1970s, Johnson and Bell colleague Dennis Ritchie co-authored the first AT&T Unix port. They also "demonstrated that Unix was portable", which Ritchie considers the spark that led to Unix becoming widespread. In the mid-1980s, he served as the head of the UNIX Languages Department (UNIX System V). Johnson developed Yacc in the early '70s because he wanted to insert an exclusive or operator into Ritchie's B language compiler. Bell Labs colleague Alfred Aho suggested he look at Donald Knuth's work on LR parsing, which served as the basis for Yacc. In a 2008 interview, Johnson reflected that "the contribution Yacc made to the spread of Unix and C is what I'm proudest of". Lint was developed in 1978 while Johnson was debugging the Yacc grammar he was writing for C and struggling with portability issues stemming from porting Unix to a 32-bit machine.

Silicon Valley In 1986, Johnson moved to Silicon Valley, where he joined several startups, where he worked mostly on compilers, but also 2D and 3D graphics, massively parallel computing and embedded systems. The startups included Dana Computer, Inc., Melismatic Software, and Transmeta, which made low-power, Intel-compatible microprocessors. Johnson served on the USENIX board for ten years, including four years as president in the early 1990s. He now serves as the USENIX representative to the Computing Research Association.

Later career In 2002, he moved to Boston to work at MathWorks, where he helped maintain the front end of the MATLAB programming language, for which he also built a lint product called M-Lint. He had met MathWorks founder Cleve Moler while working at a Silicon Valley startup and developed a "long-distance consulting relationship" with him in the 1990s. As of 2018 Johnson currently lived in Morgan Hill, California busy working on energy-efficient computers for machine learning at Wave Computing.

References

Worked examples

Example 1 — a first encounter with Stephen C. Johnson

Start with the simplest possible case. Write down what Stephen C. Johnson claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to Stephen C. Johnson before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about Stephen C. Johnson ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of Stephen C. Johnson

In research
Stephen C. Johnson appears in science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses Stephen C. Johnson in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
Stephen C. Johnson is common in secondary-school and first-year university syllabi. It links to neighbouring topics 1944 births, Compiler developers, Living people, so understanding it makes those chapters shorter.
In everyday life
Look for Stephen C. Johnson outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.
Ask Teacher Smith questions about this articleOpens your AI tutor with a question about “Stephen C. Johnson” →

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study Stephen C. Johnson in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what Stephen C. Johnson means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain Stephen C. Johnson out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is Stephen C. Johnson in simple terms?

Stephen Curtis Johnson (born 1944) is a computer scientist who worked at Bell Labs and AT&T for nearly 20 years. He is best known for Yacc, Lint, spell, and the Portable C Compiler, which contributed to the spread of Unix and C.

Why does Stephen C. Johnson matter?

Because it connects several science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study Stephen C. Johnson?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on Stephen C. Johnson.

Tags

  • 1944 births
  • Compiler developers
  • Living people
  • Scientists at Bell Labs
  • Unix people

Keep exploring