Skip to content
HomeVideosBooks
AllTopicsTrends
BlogsPodcasts
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
    Cover of Languages and machines

    Languages and machines

    Thomas A. Sudkamp · 1988

    MathematicsComputer Science
    Open LibraryAmazon
    Stats for nerds
    2recommend
    5mentions
    3people
    2010–2022years
    80% recommend20% neutral

    Mentions per year

    2010201220142016201820202022

    What Hacker News says

    1. erwanNov 2018
      Here's a short-list:

      - Calculating space by Konrad Zuse (See: https://news.ycombinator.com/item?id=18325689)

      - The Annotated Turing by Charles Petzlod

      - Introduction to Lambda Calculus by H. Barendregt (do the exercises/proofs)

      - Propositions as Types by Philip Wadler

      - Part III. of Languages and Machines by Thomas Sudkamp

      thread
    2. erwanOct 2018
      That's a bit unfair, Hopcroft and Ullman is extensive and detailed by design. They invented the field AFAIK so this book ought to be deep as they use it to lay its foundations. If you - or lurkers - are looking for a solid, down-to-earth exploration of automata theory - but not so much proofs, then I would recommend these in no particular order:

      - "Introduction to the Theory of Computation" [Part I] by M. Sipser

      - "Introduction to Compiler Design" by Torben A. Mogensen

      - "An introduction to Formal Languages and Automata" by P. Linz

      - "Languages and Machines" by Thomas A. Sudkamp

      >Many of OP's objections come off as petty

      I have had the book in my hands, I have turned the pages and seen the typesetting myself. It's not an exaggeration. It looks like one of those books written by a typewriter with some of the lines are misaligned, except it wasn't and that is overall a pain to parse. Also the pages are small and margins wide.

      Why inflict that upon yourself when there are plenty of other books that show a modicum of effort in editing.

      thread
    3. baddoxNov 2010
      I'm getting my CS degree because I want to know and understand computer science. This article is just wrong in so many ways.

      The author may be surprised to know that just because most of us CS majors will become programmers doesn't mean that we all want to take a "Programming" degree that would probably boil down to vocational training. There's nothing wrong with having vocational programming courses, but I don't know if universities are where they belong.

      Secondly, there is a false dichotomy here between "programming" and "theoretical computer science." Theoretical computer science is merely a part (albeit an important one) of the field of computer science. There's also things like operating systems, databases, networking, graphics, and probably more. All these fields have overlaps with actual programming and theoretical computer science, but aren't solely in one or the other.

      As an aside, I think the term "theoretical computer science" is often applied too broadly, since I wouldn't consider things like algorithms/data structures, AI methods like image recognition and data mining, and multiprocessing to be all that theoretical, since they don't require mathematical rigor to understand or produce useful results.

      My Algorithms and Data Structures class didn't have much math at all. Complexity theory edit: and algorithm analysis did require brushing up on some summations and limits from calculus, but it was taught from a very practical perspective. My Languages and Machines class, ostensibly the most "theoretical" of all, has been my favorite class, and other than some basic digital logic it had no math at all. That's not to say it wasn't formal or rigorous; it just wasn't what I would consider purely theoretical.

      The author claims that CS students don't plan to be computer scientists, but rather programmers. I am and will always be a computer scientist, and I will probably work as a programmer for most of my life. I see no contradiction or foolishness there.

      thread
    4. baddoxNov 2010
      ^ Some more thoughts:

      The author implies that this gap between real-world skill and the related undergraduate program is unique to computer science, but certainly this is not the case.

      My father is a high school History teacher. His degree is in History, not "High School History Teaching." Sure, many History majors probably go on to teach History. Sure, they probably learn way more "theoretical stuff" about the US Civil War or the Renaissance than would ever be covered in a high school class.

      In re-reading the article, I'm now confused about exactly what the author is claiming or proposing. He says that CS programs are dumbing down the rigorous stuff because students want to learn modern programming, but he also complains about using "easier" programming languages. I'd like to interject and say that "easier" languages are probably easier because they're better for the task at hand. Language/compiler/interpreter design has come a long way and I have no problems with moving away from 40 year old languages and learning 20 or 10 year old languages. I don't think scientists or employers will be impressed at your ability to solve a problem in a difficult manner rather than an easy manner.

      As for his argument that students hate the "theoretical" stuff and just want to learn to program, that's not true. I go to Missouri State University, not at all known for its CS department, and even students that don't do very well often list classes like Discrete Math or Languages and Machines as their favorite courses in the curriculum.

      thread
    5. joe_the_userMar 2022
      Godel's theorem and the halting problem began as having difficult and obscure proofs. Today, you can find "one page" proofs of either. And these proofs depend strongly on a variety of computation processes going from obscure to obvious for the average person.

      Is it "obvious" you can produce program Y that doesn't halt if program X halts? Do you understand one program can be taken as input string of another? If so, the Halting Problem proof in Sudkamp's Languages and Machines, my undergraduate text in the 90s, can indeed take just a page.

      thread

    Related

    Cover of An introduction to formal languages and automata
    2018–2020

    An introduction to formal languages and automata

    Peter Linz
    4 recommend · 5
    Cover of Introduction to the theory of computation
    2008–2026

    Introduction to the theory of computation

    Michael Sipser
    66 recommend · 96
    Cover of The Annotated Turing
    2009–2026

    The Annotated Turing

    Charles Petzold
    56 recommend · 93
    Cover of Introduction to automata theory, languages, and computation
    2008–2025

    Introduction to automata theory, languages, and computation

    John E. Hopcroft
    24 recommend · 37
    Cover of Types and Programming Languages
    2008–2026

    Types and Programming Languages

    Benjamin C. Pierce
    132 recommend · 321
    Cover of Essentials of programming languages
    2008–2026

    Essentials of programming languages

    Daniel P. Friedman
    43 recommend · 76
    Cover of Introduction to Algorithms
    2007–2026

    Introduction to Algorithms

    Thomas H. Cormen
    274 recommend · 880
    Cover of Programming Languages
    2013–2023

    Programming Languages

    Jean E. Sammet
    1 recommend · 6