Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Our intro to computing class involves learning about gates, an academic architecture (LC-3), programming in bytecode, programming in assembler, learning how we assemble the bytecode into assembler, then learning C. Our final project is a basic compiler from C to ASM given an AST.

I think it's a great way to learn about the way a machine works in one semester :)



This sounds great, you learn how a machine could be programmable, and how existing programmable machines operate; but the question mostly under dispute here is whether C brings out the nature of 'programmability' -- i.e. whether it brings out very clearly the purpose that all these strata serve, namely general programmability. --And thus whether a C-only environment is missing something essential. Myself I would think it does, and that for example Lisp and Haskell and ML help bring this out more clearly, and so, in another way, do the happening scripting languages. Your experience with with assembler seems to me more important than experience with C -- though of course everyone has to learn C. In my own case, for what it's worth -- I wouldn't think everyone else would need this -- it's only when I saw that a properly assemble machine could compile Haskell that I really grew to respect the machine...




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: