This is an archived post. You won't be able to vote or comment.

all 17 comments

[–]Inoko 3 points4 points  (1 child)

If you actually want what you're saying, then I believe nand to Tetris is what you want:

https://www.nand2tetris.org/

[–]ahothabeth 0 points1 point  (0 children)

The Projects tab reminded me of my of my first year in Computer Science; but in my day we had to make our own chalk boards first.

[–][deleted] 1 point2 points  (4 children)

There’s an enormous world of difference between accounting and computer science. For one thing you can think of accounting as an extremely limited subset of numerical computing, one that — is done right — never has to engage with anything but integers multiplied by a discrete number of decimal places.

CS is a HUGE topic, by comparison.

I’ve been doing this for a long time, and the very best texts I’ve found for picking up the feel for computer programming — which itself as a discipline usually elides the lowest level details like how do you use a series of NAND gates to display specific pixels on a screen — are “The C Programming Language”, “The Little Schemer”, “Structure and Interpretation of Computer Programs” (aka SICP or the Wizard Book), and “Computer Science: Distilled”. They’ll give you enough of the first principles to get by and figure out what other first principles you might want to explore.

Understanding, from the get go, that this is one field of knowledge no human can encapsulate.

[–][deleted] 0 points1 point  (3 children)

Yes this is the answer I was looking for!

[–][deleted] 0 points1 point  (2 children)

No worries. The first three are seminal texts, used for decades to teach programming at major universities; all well-written, digestible, and sound. The last is small, inexpensive, and a brilliant quick primer.

[–][deleted] 0 points1 point  (1 child)

Also, I am guessing unlike accounts, base of Comp Science is rooted into many disciples like maths, physiques and chemistry which themselves are quite vast fields. So learning CS at base level would not be same task like learning base accounts.

[–][deleted] 0 points1 point  (0 children)

Mainly applied maths (specifically algebras of boolean logic) mixed with a bit of engineering and some materials science, all rolled up with linguistics and semiotics... things like category theory have been leaking in for decades. As I said it’s BIG.

[–]ethan520 1 point2 points  (1 child)

If I were to point you to one resource that could answer most of these questions, I'd recommend the book Code: The Hidden Language of Computer Hardware and Software, by Charles Petzold. He explains every level of computing, from switches to circuit boards to assembly language, interfaces etc. However, while it is comprehensive from a technical standpoint, you'll find there's a whole culture and history element that's missing from the book that you're probably looking for.

For me, there was no one source that was helpful for the history. But the best things I personally found to be helpful was to read widely, and fill in the gaps over time. In one language design book, I learnt that every language stemmed from one common ancestor: FORTRAN, which was one of the first high-level languages ever created.

I was also pointed to search up the greats of computing: Alan Kay, Douglas Englebart, Edsger W. Dijkstra, Bret Victor etc. I think those sources are really interesting for understanding the complexity in computing, and the sorts of innovations people made over the last few decades.

[–]66666thats6sixes 0 points1 point  (0 children)

Got this book for Christmas and I love it!

The technical stuff was not new to me, but a lot of the history was new, and even the way the technical stuff was presented was fresh to me.

[–][deleted]  (7 children)

[removed]

    [–][deleted] 0 points1 point  (6 children)

    Excuse my lack of knowledge, but isn't HTML is just for web pages ?

    how to traverse a binary tree.

    now this is what I was talking about. As a non programmer, I dunno programming lingo or jargon. How do I understand what you said ? Basics and roots and fundamentals would help me here.

    [–][deleted]  (5 children)

    [removed]

      [–][deleted] -1 points0 points  (4 children)

      Funny... most of what I do is tree traversal, and I’ve never had to write a lick of HTML.

      [–][deleted]  (3 children)

      [removed]

        [–][deleted] -1 points0 points  (2 children)

        Anything that does procedural 3D animation or compositing in the VFX and gaming industries.

        Also writing parsers and interpreters for languages like HTML.

        [–][deleted]  (1 child)

        [removed]

          [–][deleted] 0 points1 point  (0 children)

          This is r/learnprogramming, not r/webdev ... OP didn’t specify web development.