1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Programming

Discussion in 'Entertainment and Technology' started by DeclanIRE, Oct 26, 2011.

  1. DeclanIRE

    Regular Member

    Joined:
    Oct 26, 2011
    Messages:
    1
    Likes Received:
    0
    Gender:
    Male
    Sexual Orientation:
    Gay
    Hi guys, :smilewave

    Im a first year Bsc Computer Science student and am just beginning to learn how to programming. I was wondering if anyone knows any goods books or material that would be use for first time programmers. Books regarding Java and C++, I have already looked at a few books and some are helpful but I was wondering if anyone knows any books or material etc that would be helpful for me to further develop my abilities as a programmer.

    Thanks Any Response is much appreciated. :icon_bigg :icon_bigg

    Dex.
     
  2. Tristar

    Regular Member

    Joined:
    Apr 20, 2011
    Messages:
    54
    Likes Received:
    0
    Location:
    Indiana
    Gender:
    Male
    Sexual Orientation:
    Gay
    For Java I recommend the following:

    1. "Thinking in Java" by Bruce Eckel (up to 4th edition I believe)
    2. "Effective Java" by Joshua Block (2nd Edition)

    The second one is only appropriate after you have a fundamental understanding of the Java language.

    I will leave it to others to recommend any C++ books. =)
     
  3. someguy

    Regular Member

    Joined:
    Aug 31, 2011
    Messages:
    199
    Likes Received:
    0
    Location:
    The Twilight Zone
    Gender:
    Male
    Gender Pronoun:
    He
    Sexual Orientation:
    Gay
    Out Status:
    Some people
    Well I can't recommend any reading materials, because I haven't learned Java or C++. I personally think what would be helpful is also getting some sort of reference book of the syntax and functions of the language on top of the reading material that is designed to teach newcomers. The reference book will help you remember the syntax and functions, until your confident enough in programming.
     
    #3 someguy, Oct 26, 2011
    Last edited: Oct 26, 2011
  4. Justsomefatguy

    Regular Member

    Joined:
    Oct 7, 2011
    Messages:
    3
    Likes Received:
    0
    Location:
    New York/Maryland
    There's a book I picked up a while ago called The C++ Bible(I don't have it on me, so it may have a different full title, it's at home) which is a very handy reference book, it has everything you could need to know in it and more, it's a gigantic book. For guided books I would say the Sam's Teach Yourself series has always been a pretty good series for teaching anyone about a language, I have a few in different languages(VB6, VB.Net, C++) and I can say they're some of the best beginners books I've found.
     
  5. starfish

    Full Member

    Joined:
    Nov 11, 2008
    Messages:
    3,368
    Likes Received:
    0
    Location:
    Hippie Town, Alberta of the US
    Damn I just gave away my IBM System 360 Assembler book...

    Seriously though I recommend the Dietel and Dietel How to Program series. They are a bit expensive, but are some of the best programming books I have come across.

    Also don't focus too much on learning a language. Instead focus on the concepts of Procedural and Object Oriented programming. Once you do that you will be able to pick new languages very quickly.
     
  6. Justsomefatguy

    Regular Member

    Joined:
    Oct 7, 2011
    Messages:
    3
    Likes Received:
    0
    Location:
    New York/Maryland
    On this topic actually, if you have any iDevices(iPhone, iPad, iPod touch, or a mac that can access the book store) the apple book store has a nice book on Object Oriented programming and concepts that's free.
     
  7. 0scar

    Regular Member

    Joined:
    Nov 26, 2011
    Messages:
    7
    Likes Received:
    0
    Gender:
    Male
    Sexual Orientation:
    Gay
    If you wanna go for a more bottom-up approach I recommend learning C first, perhaps from K&R's classic The C Programming Language 2nd ed. and Pointers on C by Kenneth Reek.

    I'm new btw... LINUX FTW!
     
  8. kellymporta

    Full Member

    Joined:
    Nov 8, 2011
    Messages:
    83
    Likes Received:
    0
    Location:
    Europe
    If you are just starting with Computer Science, I would highly recommend the book CODE by Charles Petzold. This book is probably a brief summary of many of the things you will learn during college. In other words, it's a book that explains how computers work oriented for a geeky audience.
     
  9. Veronica

    Full Member

    Joined:
    Aug 16, 2011
    Messages:
    81
    Likes Received:
    0
    Location:
    Europe
    The important thing to learn properly is object orientation. I don't think the above suggestion to learn C first is a good one. Learn C++ properly instead.

    I have no book recommendations though. I don't use books for learning programming languages. I just start coding and look stuff up on the internet. cplusplus.com is a good website. I use C++ for scientific research, so mostly algorithms. I have a few books on that. But that may not apply?

    Also, if you want to learn how to code, Linux really is a good platform to work on. Everything is simpler on Linux when it comes to coding.
     
  10. 0scar

    Regular Member

    Joined:
    Nov 26, 2011
    Messages:
    7
    Likes Received:
    0
    Gender:
    Male
    Sexual Orientation:
    Gay
    I forgot to mention: for some wicked insights on C you might want to take a look at C Programming FAQs by Steve Summit, and if you're reading K&R, then The C Answer Book by Clovis L. Tondo and Scott E. Gimpel should be of help. Happy reading!

    ---------- Post added 26th Nov 2011 at 07:47 PM ----------

    Well, yeah, if they're asking you to learn C++ you're probably right in that learning C++ first is probably the best choice... but if you're gonna be messing with low level stuff such as kernel modules or some other thing that's tipically written in C, it might come in handy to know C. Besides, I hear C gives you control in some areas where C++ can get somewhat blurry... I don't know, there is a language for every prurpose.
     
  11. kellymporta

    Full Member

    Joined:
    Nov 8, 2011
    Messages:
    83
    Likes Received:
    0
    Location:
    Europe
    In my case, they taught me object oriented programming while learning Java Programming using Eclipse. For my computer architecture course, we had to learn C (no C++) and then we had to program in assembly language.
     
  12. Veronica

    Full Member

    Joined:
    Aug 16, 2011
    Messages:
    81
    Likes Received:
    0
    Location:
    Europe
    A lot or the old code we use is written in Fortran. Even Fortran 77. When there's half a million lines of code patched together over several decades, you don't start from scratch :slight_smile:

    ---------- Post added 27th Nov 2011 at 03:02 AM ----------

    Well, we only care about speed. Sometimes that requires a good understanding of the architecture and how memory cache works. When you're working with matrices of several tens of gigabytes in size, efficiency is everything.
     
  13. 0scar

    Regular Member

    Joined:
    Nov 26, 2011
    Messages:
    7
    Likes Received:
    0
    Gender:
    Male
    Sexual Orientation:
    Gay
    Except that, for example, the linux kernel is not "old code", it's very much alive AND written in C (or perhaps I'm missing your point?). Btw, I've never programmed extensively in fortran but I hear it's a cool language for doing math...
     
  14. Chip

    Board Member Admin Team Advisor Full Member

    Joined:
    May 9, 2008
    Messages:
    16,560
    Likes Received:
    4,757
    Location:
    northern CA
    Gender:
    Male
    Gender Pronoun:
    He
    Sexual Orientation:
    Gay
    Out Status:
    Out to everyone
    For real, or are you joking? That's a reference that's even a little old to me, even though I vaguely remember the System 360. If somebody has one of those manuals, it probably belongs in a museum :slight_smile:
     
  15. Veronica

    Full Member

    Joined:
    Aug 16, 2011
    Messages:
    81
    Likes Received:
    0
    Location:
    Europe
    I was referring to the code we're using for modelling quantum mechanics in research.
     
  16. 0scar

    Regular Member

    Joined:
    Nov 26, 2011
    Messages:
    7
    Likes Received:
    0
    Gender:
    Male
    Sexual Orientation:
    Gay
    Wow, QM modelling, sounds heavy on the math.

    In regards to my recommending of learning C: I'm thinking that, since C has been around for so long, and C++ is almost a superset of C, and since they have some things in common and some of these things have already been discussed in great detail for C, maybe the available C++ reference material lacks some of the deeper and older (and, depending on the implementation, perhaps important) details of programming discussed in C material. Some of these details might be relevant to handling C++ and if you don't go through the available C reference you might miss out on something important.

    Then again, maybe researching these subtleties is overkill for a beginner, but still, I tend to find that some questions just arise naturally when studying programming, and perhaps they can be answered by digging deeper into the history of the language. Anyway, I could be wrong.
     
  17. qboy

    Full Member

    Joined:
    Aug 15, 2011
    Messages:
    245
    Likes Received:
    0
    Location:
    East Midlands
    For C++ the best book I come across was my course text book "C++ How to Programme Third Edition" by "Dietel & Dietel".

    I found just trying to programme in it was the quickest way to learn - then use the book and online resources to find out how to do it better/why it works!

    I'd also recommend reading Code Complete - not too focused on language, but on how you go about programming - then again it's quite dated now any might be running contrary to what you course tells you!
     
  18. starfish

    Full Member

    Joined:
    Nov 11, 2008
    Messages:
    3,368
    Likes Received:
    0
    Location:
    Hippie Town, Alberta of the US
    Seriously. I found it in a recycle pile at work. Unfortunately it was not original. It was a sprial bound photocopy. Though a very good photocopy. The funny thing is that the intern I gave it to had no idea what the System 360 was or its signifigance.


    I have a quite a few older computer books. I collect them.

    I have a UNIX network programming book. In the preface it mentions that ANSI is expected to ratify the C standard in a few years, and that the examples should work with minimal modification.

    THe prize of my collection is complete set of NeXT programming manuals. I also found them in a recycle pile.

    Now back on track. I agree on the Code Complete recommendation. Can't believe I forgot about it.

    ---------- Post added 2nd Dec 2011 at 09:30 PM ----------



    Oh God not FORTRAN. I hate FORTRAN.
     
  19. Veronica

    Full Member

    Joined:
    Aug 16, 2011
    Messages:
    81
    Likes Received:
    0
    Location:
    Europe
    Hehe. The only thing I have to do with Fortran is compiling it. Which I spent a lot of time doing yesterday!
     
  20. Chip

    Board Member Admin Team Advisor Full Member

    Joined:
    May 9, 2008
    Messages:
    16,560
    Likes Received:
    4,757
    Location:
    northern CA
    Gender:
    Male
    Gender Pronoun:
    He
    Sexual Orientation:
    Gay
    Out Status:
    Out to everyone
    In my opinion, COBOL was worse than FORTRAN... imagine a computer programming language developed by the Army :slight_smile: Back in the late 1990s, there was a sudden, enormous demand for COBOL programming because a lot of code written in the early 60s was still being used, but was not Y2K complaint, so thousands of programmers were brought out of retirement -- some in their late 70s and 80s -- to patch millions of lines of code so that the software would still work after year 2000. I suspect some of that code is *still* in use, like the FORTRAN that Veronica has to compile :slight_smile:

    (Sorry to go off-topic again...)