Skip to content
HomeVideos
AllLongsCategoriesPlaylists
BooksBlogsPodcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K

    Elements of Programming Style - Brian Kernighan

    Institute for Advanced Study

    3 HN mentions · mentioned in 3 months, 2018–2024

    YouTube

    1:10:42 · 138K views · Jul 11, 2017

    Brian Kernighan's 2009 talk at Princeton on the Elements of Programming Style, discussing readable code, avoiding cleverness and flawed examples in programming tutorials.

    HN cites it as the author's own talk on writing clear code, useful as a companion to his book.

    Software Engineering & LanguagesSoftware practice, open source & careersC, C++, Rust, Go & systems languages
    1. 2:11:32
      How I program CEskil Steenberg1M views • 9 years ago
    2. 1:00:06
      Computer Science - Brian Kernighan on successful language designUniversity of Nottingham332K views • 10 years ago
    3. 1:55:24
      Ideas about a new programming language for games.Jonathan Blow530K views • 12 years ago
    4. 1:05:59
      Modern C and What We Can Learn From It - Luca Sas [ ACCU 2021 ]ACCU Conference130K views • 5 years ago
    5. 54:14
      Zig: A programming language designed for robustness, optimality, and clarity –  Andrew KelleyRecurse Center75K views • 8 years ago
    6. 1:03:31
      Brian Goetz - Stewardship: the Sobering PartsClojureTV39K views • 11 years ago
    7. 1:29:27
      The Forgotten Art of Structured Programming - Kevlin Henney [C++ on Sea 2019]cpponsea245K views • 7 years ago
    8. 59:48
      The Road to Zig 1.0 - Andrew KelleyChariotSolutions168K views • 7 years ago
    9. 1:02:49
      Hacking with Andrew and Brad: tip.golang.orgThe Go Programming Language99K views • 11 years ago
    10. 1:29:49
      Going Native 2012 Keynote Stroustrupsavage30933K views • 14 years ago
    11. 1:00:29
      Google I/O 2012 - Meet the Go TeamGoogle for Developers108K views • 14 years ago
    12. 1:07:22
      Invited Talk - Guy SteeleClojureTV39K views • 9 years ago
    13. 37:07
      Scale By The Bay 2018: Bryan Cantrill, Rust and Other Interesting ThingsFunctionalTV45K views • 7 years ago
    14. 1:43:10
      Brian Kernighan: UNIX, C, AWK, AMPL, and Go Programming | Lex Fridman Podcast #109Lex Fridman766K views • 6 years ago
    15. 1:04:45
      Stanford Seminar - Concatenative Programming: From Ivory to MetalStanford Online14K views • 8 years ago
    16. 1:06:46
      Crockford on JavaScript - Section 8: Programming Style & Your BrainYUI Library111K views • 14 years ago
    17. 1:14:52
      Effective Programs - 10 Years of Clojure - Rich HickeyClojureTV176K views • 9 years ago
    18. 44:35
      Object-Oriented Programming is BadBrian Will2.6M views • 10 years ago
    19. 1:17:12
      C++ Seasoningaghuttun58K views • 13 years ago
    20. 1:01:39
      "Simple Made Easy" - Rich Hickey (2011)Strange Loop Conference220K views • 5 years ago

    3 comments from Hacker News

    1. @jodrellblankAug 2024· in “Go is my hammer, and everything is a nail”

      Filtering a container by a predicate is 50 year old technology and a very common thing. It's unbelievable that a "modern" language has no shorter or clearer idiom than that convoluted boilerplate filled Ministry of Silly Walks blob. Python had filter() and then got list comprehensions from Haskell list comprehensions. PowerShell has Where-Object taking from C# LINQ .Where() which takes from SQL's WHERE. Prolog has include/3 which goes back to sublist(Test, Longer, Shorter) and LISP-Machine LISP had sublist in the 1970s[1]. APL has single character / compressing an array from a bitmask result of a Boolean test in the original APL/360 in 1968 and it was described in the book in 1962[2]. Brian Kernighan gave a talk on the readability of code and not getting too clever[3] "Elements of Programming Style" where he talks about languages having one way to write one thing so that you can spot mistakes easily. I am aware he's one of the Go designers and I will mention that again in a moment. In Python the non-list-comprehension version might be: result = [] for x in foo: if "banned" in x: result.append(x) Which is still clearer than the Go, simply by having less going on. I usually argue that "readable" merely means "familiar" and Python is familiar to me and Go isn't. Your Go code makes me wonder: - "var" in C# does type inference. You declare []string but don't declare types for _ x or the tuple _,x what's up with the partial type inference? What is "var" adding to the code over clas

      CitesView on HN
    2. @undecidabotMay 2020· in “Ask HN: Best books under 200 pages for developers?”

      Brian Kernighan (the K in K&R and AWK) also wrote a similar book with P. J. Plauger called "The Elements of Programming Style" [1]. There's even a talk by him about it online (2009) [2]. Kernighan also co-authored a (imo) really great book with Rob Pike (once an assistant of Penn & Teller [3]) called "The Practice of Programming" [4]. Unfortunately, this one is a bit over the 200 page limit. [1] [LINK] [2] this video [3] [LINK] [4] [LINK]

      CitesView on HN
    3. @ZephyrPJun 2018· in “Massacring C Pointers”

      I always wondered about the C tutorials Brian Kernigan mentions in his talk ( this video ) , many of the examples seem intentionally designed to be incorrect by some trickster spirit. Now I know the even darker truth.

      CitesView on HN