Thread: The Art of Computer Programming

  1. #1
    Registered User
    Join Date
    Feb 2012
    Posts
    10

    The Art of Computer Programming

    I'm a beginning programmer and I want to try this book. I'm a physics student with extra mathematics in my curriculum. Understanding the math should be a challenge, but not an unconquerable one.

    I've studied Python for a month in college, and I fell in love with programming. I'm currently learning C++ because I wanted something more low-level. Then I stumbled upon this series, which I have in my possession now. But I'm lost...

    The MIX computer and the MIX Assembly Language that are used throughout the book are imaginary! How am I to study all the examples in an imaginary language??

    I'm well willing to learn assembly language; I would love to come as close as possible to the 0's and 1's that the computer speaks. But I need directions right as to what to do concretely to get into studying this book.

    Many thanks in advance!

    Kappie

  2. #2
    - - - - - - - - oogabooga's Avatar
    Join Date
    Jan 2008
    Posts
    2,808
    MIX is an extremely simple assembly language.
    In fact, writing your own assembler for it is a good exercise.
    However, you can find assemblers for it online.
    The cost of software maintenance increases with the square of the programmer's creativity. - Robert D. Bliss

  3. #3
    Registered User
    Join Date
    Feb 2012
    Posts
    10
    I need cues on how to write my own assembler. I've tried Google search but it's too much information all at once - I need simple steps on how to from here to actually being able to get into algorithm analysis. That's the reason I'm so interested in the book, in the first place.

  4. #4
    - - - - - - - - oogabooga's Avatar
    Join Date
    Jan 2008
    Posts
    2,808
    If you don't know how to write your own assembler, then don't do it. Others have done it for you.

    Here's one written in Java that has an IDE.

    Here's a command-line version.

    (Note however that Knuth has updated his example machine to MMIX, a risc processor.)

  5. #5
    Registered User
    Join Date
    Feb 2012
    Posts
    10
    Thanks very much! I'm reading the command-line version right now. I've read in different places that using the command-line instead of IDE is preferable, so I'm already (to some extent) familiar with it in C++ context.

    I'm aware that MMIX is an upgraded version of MIX, however all examples in my book (I have the latest third edition) are still in MIX, so I decided to go with that.

    In your opinion, is MMIX over MIX worth it, and if so, how do I overcome the translation difficulties from MIX to MMIX?

    Kind regards,

    Kappie

  6. #6
    - - - - - - - - oogabooga's Avatar
    Join Date
    Jan 2008
    Posts
    2,808
    MMIX is far superior to MIX in representing a modern machine, but the translation difficulties may be, at your stage, insurmountable, as the machines are radically different.

    I'd stick with the old machine for now. I don't know when volume 4 is due out but it will use the new machine, as will future editions of volumes 1 to 3.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Computer Programming in the News
    By Kramer55 in forum A Brief History of Cprogramming.com
    Replies: 7
    Last Post: 05-18-2005, 03:03 PM
  2. Knuth's Art of Computer Programming
    By andyhunter in forum A Brief History of Cprogramming.com
    Replies: 28
    Last Post: 01-03-2005, 01:16 AM
  3. What inspired you to become a computer programming?
    By ZooTrigger1191 in forum A Brief History of Cprogramming.com
    Replies: 35
    Last Post: 02-10-2003, 07:03 AM
  4. Computer engineering - programming.
    By Unregistered in forum C Programming
    Replies: 10
    Last Post: 07-15-2002, 02:37 PM