This website uses cookies to ensure you get the best experience on our website. Learn more

Computer Science - Brian Kernighan on successful language design

x

Computer Science - Brian Kernighan on successful language design

Professor Brian Kernighan presents on 'How to succeed in language design without really trying.' Brian Kernighan is Professor of Computer Science at Princeton University and Honorary Professor in the School of Computer Science at The University of Nottingham.

View the presentation slides here:


For more videos featuring Brian visit:


Visit the School of Computer Science's website:

Language Design with Brian Kernighan

Listen to the full episode here:


“The best computer science is the kind where the theory is inspired by some practical problem, you develop a better theoretical understanding of what you want to do, and that feeds back into better practice.”
Brian Kernighan is a professor of computer science at Princeton University and the author of several books, including “The Go Programming Language” and “The C Programming Language”, a book more commonly referred to as K&R. Professor Kernighan also worked at Bell Labs alongside Unix creators Ken Thompson and Dennis Ritchie and contributed to the development of Unix.
Questions

What are the timeless characteristics that define a successful programming language?
How did people categorize languages 50 years ago?
What would people have been posting on Hacker News in 1965?
Why is Java so popular, and why do you think it’s strongly hyped?
Computers have become more powerful over time – how has this affected language design?
What are your thoughts on JavaScript?
What did you learn while writing a book about Go?
What did you learn about programming and life from working with Dennis Ritchie?

Links

How to succeed in language design without really trying
JavaScript: The Definitive Guide
JavaScript: The Good Parts
The Go Programming Language
Plan 9
The C Programming Language (K&R)
Brian’s professor page

Sponsors




Hired.com is the job marketplace for software engineers. Go to hired.com/softwareengineeringdaily to get a $600 bonus upon landing a job through Hired.



Wealthfront is the automated investment service that manages your investments online. Check out wealthfront.com/sedaily to get your first $15,000 managed for free, as a listener of Software Engineering Daily.
x

Language Design with Brian Kernighan Holiday Repeat

Visit our website


Originally published January 6, 2016
“The best computer science is the kind where the theory is inspired by some practical problem, you develop a better theoretical understanding of what you want to do, and that feeds back into better practice.”
Brian Kernighan is a professor of computer science at Princeton University and the author of several books, including The Go Programming Language and The C Programming Language, a book more commonly referred to as K&R. Professor Kernighan also worked at Bell Labs alongside Unix creators Ken Thompson and Dennis Ritchie and contributed to the development of Unix.
Questions

What are the timeless characteristics that define a successful programming language?
How did people categorize languages 50 years ago?
What would people have been posting on Hacker News in 1965?
Why is Java so popular, and why do you think it’s strongly hyped?
Computers have become more powerful over time – how has this affected language design?
What are your thoughts on JavaScript?
What did you learn while writing a book about Go?
What did you learn about programming and life from working with Dennis Ritchie?

Links

How to succeed in language design without really trying
JavaScript: The Definitive Guide
JavaScript: The Good Parts
The Go Programming Language
Plan 9
The C Programming Language (K&R)
Brian’s professor page

Oral History of Brian Kernighan

Interviewed by John R. Mashey on 2017-04-24 in Princeton, CA X8185.2017
© Computer History Museum

Toronto native Brian Kernighan moved to Princeton for grad school and while there, got summer jobs at Bell Labs, leading to a permanent position in Computing Research, where Unix was born.

Before Unix and C became widely available, he coauthored “The Elements of Programming Style” to help improve programming generally. In the early 1970s, Fortran 66 was one of the few relatively portable languages, but its control structures were archaic, so he wrote the RATFOR preprocessor to add C-like control structures.

Then he and Bill Plauger rewrote various Unix commands in RATFOR and wrote “Software Tools” so that a broader audience might get access, inspiring the Software Tools Users Group to adopt, port and promote them into other computing environments. Then, by 1978 he and Dennis Ritchie published the still-classic book “The C Programming Language.” He, Bob Fourer and Dave Gay wrote AMPL, a domain-specific language for optimization problems.

With Al Aho and Peter Weinberger, he created the widely-used AWK tool that eased creation of programs to associate actions with patte4rn-matching. He spent much time on text-processing, writing Device Independent Troff (DITROFF), the PIC tool for pictures and the equation preprocessor EQN, with Lorinda Cherry.

By 2000, he had “retired” from Bell Labs into teaching at Princeton, including much effort on making computing comrephensible for non-computing students. He has written much software still in wide use, plus many understandable books and articles. is useful for more detail.

* Note: Transcripts represent what was said in the interview. However, to enhance meaning or add clarification, interviewees have the opportunity to modify this text afterward. This may result in discrepancies between the transcript and the video. Please refer to the transcript for further information -

Visit computerhistory.org/collections/oralhistories/ for more information about the Computer History Museum's Oral History Collection.

Catalog Number: 102740170
Lot Number: X8185.2017
x

Language Design with Brian Kernighan Holiday Repeat

Visit our website


Originally published January 6, 2016
“The best computer science is the kind where the theory is inspired by some practical problem, you develop a better theoretical understanding of what you want to do, and that feeds back into better practice.”
Brian Kernighan is a professor of computer science at Princeton University and the author of several books, including The Go Programming Language and The C Programming Language, a book more commonly referred to as K&R. Professor Kernighan also worked at Bell Labs alongside Unix creators Ken Thompson and Dennis Ritchie and contributed to the development of Unix.
Questions

What are the timeless characteristics that define a successful programming language?
How did people categorize languages 50 years ago?
What would people have been posting on Hacker News in 1965?
Why is Java so popular, and why do you think it’s strongly hyped?
Computers have become more powerful over time – how has this affected language design?
What are your thoughts on JavaScript?
What did you learn while writing a book about Go?
What did you learn about programming and life from working with Dennis Ritchie?

Links

How to succeed in language design without really trying
JavaScript: The Definitive Guide
JavaScript: The Good Parts
The Go Programming Language
Plan 9
The C Programming Language (K&R)
Brian’s professor page

Brian Kernighan Q&A - Computerphile

Hear Brian Kernighan on how he got into programming, the successors of C and the biggest challenges...

Watch Part 2 before it's live!:




This video was filmed and edited by Sean Riley.

Computer Science at the University of Nottingham:

Computerphile is a sister project to Brady Haran's Numberphile. More at
x

Brian Kernighan, 'K' of 'K&R': Goals of AWK and AMPL programming languages



'Princeton Startup TV' - interviews with the stars of startup and computer science world.

The full episode of 'Princeton Startup TV' with Brian Kernighan:

Brian Kernighan! The computer scientist who doesn't need any introduction: co-author of the programming classic - 'The C Programming Language' (with Dennis Ritchie), coauthor of AWK and AMPL programming languages, Professor of Computer Science at Princeton, author of many Unix programs including ditroff, cron for Unix 7, early contributor to Unix alongside its creators Ken Thomson and Dennis Ritchie, the person who coined the term Unix which stands for Uniplexed Information and Computing Service, co-author of well-known heuristics for graph partitioning and TSP, author of 9 books: Software Tools (with PJ Plauger), Software Tools in Pascal (with PJ Plauger), The C Programming Language ('K&R') (with Dennis M. Ritchie), The Elements of Programming Style (with PJ Plauger), The Unix Programming Environment (with Rob Pike), The AWK Programming Language (with Al Aho and Peter J. Weinberger), The Practice of Programming (with Rob Pike), AMPL: A Modeling Language for Mathematical Programming, 2nd Ed. (with Robert Fourer and David Gay), and the most recent 'D is for Digital: What a well-informed person should know about computers and communications'.

Other shows, podcasts and talks for entrepreneurs I would recommend: Foundation with Kevin Rose, 'ThisWeekIn Startups' with Jason Calacanis, Mixergy with Andrew Warner, Pandodaily Fireside Chats with Sarah Lacy, TechCrunch TV Founder Stories with Chris Dixon, Stanford Entrepreneurship Corner, The Random Show with Tim Ferriss and Kevin Rose, All Things D conference (Steve Jobs, Bill Gates, Elon Musk, Mark Zuckerberg, Jeff Bezos, Larry Ellison, Larry Page, Sergey Brin), LeWeb Paris & London, TechCrunch Disrupt New York and San Francisco, Y Combinator Startup School, TED talks, talks at Google, UCBerkeley Haas, A Total Disruption, SXSW Interactive, Robert Scoble.

Brian Kernighan: How I Write



'Princeton Startup TV' - interviews with the stars of startup and computer science world.

The full episode of 'Princeton Startup TV' with Brian Kernighan:

Brian Kernighan! The computer scientist who doesn't need any introduction: co-author of the programming classic - 'The C Programming Language' (with Dennis Ritchie), coauthor of AWK and AMPL programming languages, Professor of Computer Science at Princeton, author of many Unix programs including ditroff, cron for Unix 7, early contributor to Unix alongside its creators Ken Thomson and Dennis Ritchie, the person who coined the term Unix which stands for Uniplexed Information and Computing Service, co-author of well-known heuristics for graph partitioning and TSP, author of 9 books: Software Tools (with PJ Plauger), Software Tools in Pascal (with PJ Plauger), The C Programming Language ('K&R') (with Dennis M. Ritchie), The Elements of Programming Style (with PJ Plauger), The Unix Programming Environment (with Rob Pike), The AWK Programming Language (with Al Aho and Peter J. Weinberger), The Practice of Programming (with Rob Pike), AMPL: A Modeling Language for Mathematical Programming, 2nd Ed. (with Robert Fourer and David Gay), and the most recent 'D is for Digital: What a well-informed person should know about computers and communications'.

Other shows, podcasts and talks for entrepreneurs I would recommend: Foundation with Kevin Rose, 'ThisWeekIn Startups' with Jason Calacanis, Mixergy with Andrew Warner, Pandodaily Fireside Chats with Sarah Lacy, TechCrunch TV Founder Stories with Chris Dixon, Stanford Entrepreneurship Corner, The Random Show with Tim Ferriss and Kevin Rose, All Things D conference (Steve Jobs, Bill Gates, Elon Musk, Mark Zuckerberg, Jeff Bezos, Larry Ellison, Larry Page, Sergey Brin), LeWeb Paris & London, TechCrunch Disrupt New York and San Francisco, Y Combinator Startup School, TED talks, talks at Google, UCBerkeley Haas, A Total Disruption, SXSW Interactive, Robert Scoble.

50 Years of Programming and Language Design

A retrospective talk on five decades of practice of computing.

Presented at SPLASH-PLMW 2018

UNIX Special: Profs Kernighan & Brailsford - Computerphile

BWK, Professor Brian Kernighan visited Nottingham, so Professor Brailsford couldn't resist an 'on-camera' chat about Unix, Bell Labs and other aspects of Brian's glittering career.

Brian Kerninghan on Bell Labs:
C Programming Language: Brian Kernighan:
The Great 202 Jailbreak:
Computer That Changed Everything:

More from BWK on other computer languages at:

Thanks to Richard Minkley for holding our 3rd camera, and Dr Steve 'Heartbleed' Bagley for helping out with the microphones!




This video was filmed and edited by Sean Riley.

Computer Science at the University of Nottingham:

Computerphile is a sister project to Brady Haran's Numberphile. More at
x

Arne Martin Aurlien: Implement an Esoteric Programming Language for Fun | JSConf EU 2014

Inside most of us there’s a befunge programmer who wants to come out. When doing day-to-day “serious” programming it is usually a good idea to keep them as firmly locked up as possible. Let’s ignore that instinct for a little while.

In this talk I’ll try to convince you why you should try writing a completely impractical interpreter of your own. I’ll also use terms like “lexer”, “tokenizer” and “parser” at their widest possible definitions.

Transcript/slides at:

License: For reuse of this video under a more permissive license please get in touch with us. The speakers retain the copyright for their performances.

"Code" Books (Prof Brian Kernighan) - Computerphile

Brian Kernighan, the man who wrote the definitive book on C programming brings us up to date on his work over the last couple of years.

Sun Server:
Onion Routing:




This video was filmed and edited by Sean Riley.

Computer Science at the University of Nottingham:

Computerphile is a sister project to Brady Haran's Numberphile. More at
x

Brian Kernighan on Computer Science and the Digital Humanities

Rutgers University, February 2017

Millions, Billions, Zillions - Brian Kernighan Dec 2018 talk

Brian Kernighan's talk about his 2018 book, Millions, Billions, Zillions - an overview of how to defend yourself in a world full of big numbers.

Robert Virding - On Language Design (Lambda Days 2016)

Slides and more info:

These are some thoughts, maybe even a philosophy, I have about program language design based on my experiences with various programming languages. They include languages I have used, and languages I have been a part of in designing and implementing. These languages have come from many different types and have had different characteristics. Much of this is also valid to system design as well.
x

37 Minutes with the Legendary Brian Kernighan



'Princeton Startup TV' - interviews with the stars of startup and computer science world.

Brian Kernighan on teaching, writing, programming, startups! The computer scientist who doesn't need any introduction:
- co-author of the programming classic - 'The C Programming Language' (with Dennis Ritchie)
- coauthor of AWK and AMPL programming languages
- Professor of Computer Science at Princeton
- author of many Unix programs including ditroff, cron for Unix 7
- early contributor to Unix alongside its creators Ken Thomson and Dennis Ritchie
- the person who coined the term Unix which stands for Uniplexed Information and Computing Service
- co-author of well-known heuristics for graph partitioning and TSP
- author of 9 books: Software Tools (with PJ Plauger), Software Tools in Pascal (with PJ Plauger), The C Programming Language ('K&R') (with Dennis M. Ritchie), The Elements of Programming Style (with PJ Plauger), The Unix Programming Environment (with Rob Pike), The AWK Programming Language (with Al Aho and Peter J. Weinberger), The Practice of Programming (with Rob Pike), AMPL: A Modeling Language for Mathematical Programming, 2nd Ed. (with Robert Fourer and David Gay), and the most recent 'D is for Digital: What a well-informed person should know about computers and communications' which is available for purchase here.

Questions discussed on the program:
Where did Prof. Kernighan grow up?
How was the decision to teach at Princeton come about?
What interesting projects came out of 'COS 333 - Advanced Programming Techniques'?
What are Brian Kernighan's current research interests?
D is for Digital - teaching technical material to non-technical audience
What were the goals of AWK and AMPL programming languages?
Thoughts on Perl, Ruby and Python?
Which books and blogs does Brian Kernighan read?
What does he do for fun?
How does his day look like?
Would Prof. Kernighan ever use Twitter?
How do you write?
What are the challenges of writing a book nowadays?
What tools do you use to write books?
How do you publish books?
Join a company or start one? - advice from Brian Kernighan

Other shows, podcasts and talks for entrepreneurs I would recommend: Foundation with Kevin Rose, 'ThisWeekIn Startups' with Jason Calacanis, Mixergy with Andrew Warner, Pandodaily Fireside Chats with Sarah Lacy, TechCrunch TV Founder Stories with Chris Dixon, Stanford Entrepreneurship Corner, The Random Show with Tim Ferriss and Kevin Rose, All Things D conference (Steve Jobs, Bill Gates, Elon Musk, Mark Zuckerberg, Jeff Bezos, Larry Ellison, Larry Page, Sergey Brin), LeWeb Paris & London, TechCrunch Disrupt New York and San Francisco, Y Combinator Startup School, TED talks, talks at Google, UCBerkeley Haas, A Total Disruption, SXSW Interactive, Robert Scoble.

What were they thinking? Language design choices that seem wrong, until they don't. - Bill Wagner

Let's spend an hour exploring some of the most controversial language design choices in the C# language.
We're going to explain why each of these decisions were made. We'll have some fun looking at where developers have concerns. We'll explain why the language teams made the decisions they made. You can attend and spend the ret of the time explaining why they were still wrong.



NDC Conferences

The Design of C++ , lecture by Bjarne Stroustrup

The Design of C++, a lecture by Bjarne Stroustrup. This video has been recorded in March, 1994.

From University Video Communications' catalog:

Bjarne Stroustrup describes the origins, aims and design rules for C++, and then presents key language features and the programming techniques they support. Finally, he discusses current uses of C++, the standardization effort, and likely future uses. Throughout, he emphasizes why C++ looks the way it does. Stroustrup explains the language features which most directly support data abstraction, object-oriented programming, and the design and use of large systems: classes, abstract classes, templates, class hierarchies, run-time type information, namespaces and templates.

Lot number: X6636.2013
Catalog number: 102624733

Brian Kernighan opens the Coding World Championships 2014

Code an AI for a race car, become World Champion. Sign up now

The Programming Language Wars

The discipline of computer science has a long and complicated history with computer programming languages. Historically, inventors have created language products for a wide variety of reasons, from attempts at making domain-specific tasks easier, to technical achievements, to economic, social, or political reasons. UNLV Assistant Professor Andreas Stefik discusses the programming language wars, a term which describes the broad divergence of language designs, their impact on the world, and the communities that support them.

Andreas Stefik, Assistant Professor, University of Nevada, Las Vegas



Shares

x

Check Also

x

Menu