Advertisement
If you have a new account but are having problems posting or verifying your account, please email us on hello@boards.ie for help. Thanks :)
Hello all! Please ensure that you are posting a new thread or question in the appropriate forum. The Feedback forum is overwhelmed with questions that are having to be moved elsewhere. If you need help to verify your account contact hello@boards.ie

Study CS at university? Knowledge of which language would have best prepared you?

Options
  • 25-07-2010 9:34pm
    #1
    Registered Users Posts: 2,797 ✭✭✭


    I'm hoping someone can tell me which programming language it would be useful for a beginner to have some knowledge of prior to starting Computer Science? I'll be reading at TCD, but I'm interested in hearing from people no matter where they studied.

    It has already been recommended to me that PHP or Perl might be the way to go, but I would like some more people to weigh in, and if the answer is indeed PHP or Perl, which one?


Comments

  • Registered Users Posts: 3,287 ✭✭✭padraig_f


    C.

    Several of the widely used languages are based on it, C++, Java, C# so will smooth your transition to them.

    Relatively simple language in terms of syntax, doesn't have the complexity of C++.

    Will also expose you to low level aspects like memory management, bit manipulation which are necessary to understand.

    For language reference Kernighan and Ritchie is the book.
    For practice, Advanced Programming in the UNIX environment, which has all examples in C. Great book


  • Registered Users Posts: 2,797 ✭✭✭runswithascript


    padraig_f wrote: »
    For language reference Kernighan and Ritchie is the book.
    For practice, Advanced Programming in the UNIX environment, which has all examples in C. Great book

    A review of the book The C Programming Language states:
    Not for the beginner, you need to know well at
    least one other language before reading this book.
    Would you agree? To clarify, I passed a FETAC level 6 examination on programming some years ago but the class and exam were both very lapse on a lot of things, and I don't think my being able to at one time create a simple hello world etc program negates my being a beginner.


  • Registered Users Posts: 40,038 ✭✭✭✭Sparks


    If you're just starting, avoid PHP and avoid Perl. They're excellent languages for industrial work but they're horrible to learn the basics with.

    C is okay for procedural, though Pascal is better. Since you've not started yet though, I suggest you forget completely the idea of learning a language now, and instead run (don't walk) to your nearest copy of Knuth and start reading. Work on the fundamentals now, the language will be nearly trivial when you have your head wrapped around them. A linked list is a linked list in every language written - but if you don't fundamentally understand what a pointer does, you won't be able to write one in any language.

    Thing is, the TCD CS and C.Eng courses do lean towards industrial languages where they shouldn't - which is why for a few years there, they taught programming using Java which is a horrible mistake. So you may need to compensate for that with more work...


  • Registered Users Posts: 40,038 ✭✭✭✭Sparks


    LA3G wrote: »
    Would you agree?
    No. K&R is still pretty much the benchmark against which language books should be judged. It's clear, concise, and as comprehensive as any other C book. Compared to some of what's written in other textbooks, it's a masterpiece.


  • Registered Users Posts: 2,797 ✭✭✭runswithascript


    Sparks wrote: »
    If you're just starting, avoid PHP and avoid Perl. They're excellent languages for industrial work but they're horrible to learn the basics with.

    C is okay for procedural, though Pascal is better. Since you've not started yet though, I suggest you forget completely the idea of learning a language now, and instead run (don't walk) to your nearest copy of Knuth and start reading. Work on the fundamentals now, the language will be nearly trivial when you have your head wrapped around them. A linked list is a linked list in every language written - but if you don't fundamentally understand what a pointer does, you won't be able to write one in any language.

    Thing is, the TCD CS and C.Eng courses do lean towards industrial languages where they shouldn't - which is why for a few years there, they taught programming using Java which is a horrible mistake. So you may need to compensate for that with more work...

    I should have stated that I'm all but sure I won't get in for this September, in which case I'll have another year left to learn on my own before actually beginning formal study.

    Many many people learn programming without a tutor or class, surely I can too?

    I see Donal Knuth is the author of The Art of Computer Programming, so I'm assuming this is what you are referencing? How about I read that, and then start on C or Pascal? Are there any hands on tutorials in Knuth as I have read there are in The C Programming Language? Reading, then practice learning appeals to me.

    Do you believe the TCD course to be teaching the correct languages now, would you have an opinion on the best CS course in the country, and if not in Dublin the best that is?
    Sparks wrote: »
    No. K&R is still pretty much the benchmark against which language books should be judged. It's clear, concise, and as comprehensive as any other C book. Compared to some of what's written in other textbooks, it's a masterpiece.

    No, I'm asking if you agree that someone must have another language learnt well before attempting C?


  • Advertisement
  • Registered Users Posts: 10,501 ✭✭✭✭Slydice


    I'd say it'd be good to:
    learn C
    follow that will C++
    next Java

    I reckon data structures and algorithms experience would be good to learn after c, c++ and java. You may have already gleaned some of this experience in learning the languages already.

    If you still have time, it'd probaby be handy to also have html, perl, php, python experience.


    After that, do a little research into the area you are interested in and see what subjects might help you if you had experience in them.

    If that much work doesn't keep ya busy for a few months/years...


Advertisement