PDA

View Full Version : Just a little request from a noob...



Lee134
03-15-2005, 01:01 PM
Hi all, I am new to these parts. Anyway, I had a couple of questions that I hoped you all could help me with. Not sure if this the correct place but it seems to fit best here. When I was at uni a couple of years ago we did a fair bit of programming (though nothing too spectacular ;)) in Pascal, C, C++ and a microscopic amount of Java. I did rather well with Pascal and C but I went and got myself a girlfriend half way through which kinda got in the way of C++ and Java for me but just about scraped through them though. Since I came out of uni I was unsure which area of IT to persue so I ended up in a tech support job and have kind of let all my uni knowledge slip quite a bit really. I now want to get back into programming as I really enjoyed the pre-girlfriend programming I did.

Anyway, to try to cut this waffle short, I am thinking of going back in and refreshing (and hopefully vastly improving ;)) my C abilities and I was just wondering whether this is still advised. I notice these days that all the comp science courses seem to really be pushing OO.. mostly Java it seems. Has C become depreciated in the last couple of years? Or are they just jumping on the cool band wagon? Eventually I want to progress from C to maybe either C++ or Java because as we all know, the more you know the more desirable you are to employers. However I dont want to jump in and try to learn 3 or 4 languages all at once as in my experianced (at least for me) things can get a little confusing doing that.

Oh, being as until I start learning again, I am unsure how much of my uni knowledge I have retained. I am looking to invest in a couple of books and I see the C Programming Language by K+R is highly recommended. I am probably going to get that book but I would like to complement it with another. Do you guys have any recomendations for a companion book that caters for both beginners and experianced programmers alike? I dont want anything too noob like but by the same token, I dont want anything that you need a PHD just to be able to understand the preface....

One last question. Are there any online books for C? I have seen there are a few on C++ and Java from some really kind authors so I was just wondering whether there are any for C.

Thanks for your time :)

Lee134
03-15-2005, 01:02 PM
Holy crap, thats a lot of waffle. Sorry bout that :(

InvariantLoop
03-15-2005, 01:45 PM
Maybe this will answer your C question, http://www.joelonsoftware.com/articles/CollegeAdvice.html As for books, i think you should buy hard copies, online books are free but in my personal opinion hard copies are even better.

Perspective
03-15-2005, 02:09 PM
my personal opinion would be to go for an OOP language. My more specific personal opinion would be to learn JAVA. If you know C and JAVA than C++ is just a matter of learning new syntax for concepts your already familiar with. Of course every language has its specific oddities but learning those just comes with practice. Don't let your C knowledge die though, books and hobby apps are a good way to refresh/revive those skills.

Lee134
03-15-2005, 03:51 PM
Hmm, thats some food for thought. Thanks for the input guys. Actually Invariant, I do plan on buying a couple of books as I mentioned above. Unfortunatly pay day isnt for a couple of weeks so I just wanted something to get going on while I wait for my books. ;)

Perspective, just out of pure curiouisity, why do you suggest that? Dont worry, I am not questioning you, I just wondered whether there was any particular reason that you felt that way

:)

Perspective
03-15-2005, 04:38 PM
I just think OOP is the way of the future, so many job descriptions ive seen want a strong OO foundation. I suggest JAVA over C++ because you already know C (or are at least somewhat familiar with it). Java is a great language to learn OOP design and principles. C++ IMHO is not. Its just too easy to fall back to C like programming. If you use java to get a good understanding of OOP then using that knowledge with your C knowledge, it would make using OO desings and prinicples in C++ that much easier.

In the end you should really go with what you want. If you try java and don't like it, then learning it and getting a JAVA programming job would probably suck ;)

My opinion is biased though, I program in JAVA at work and am really fond of the language. The only things i dont like JAVA for are applications where performance is of absolute importance, such as Graphics and Game programming.

Lee134
03-16-2005, 03:14 AM
Thats interesting Perspective. I was in two minds as to whether to go direct to OO or not. And if I did then I was probably going to go the Java route. I think I might just spend a few weeks refreshing my memory on C before I do though just so the little I know about C does not get totally lost. Can you recomend a good Java book to me also? Hopefully one that covers the theory of OO as well as the language since I do remember having a dog of a time trying to understand the concepts (though my mind was elsewhere at the time so that may explain it, lol)

Thanks for the input

:)

major_small
03-16-2005, 07:12 AM
I, too, believe you should try learning OOP. I, however, suggest learning C++ over Java--mainly because (1) you already know C syntax, so you won't have to learn an entirely new language, and (2) C++ can teach you when not to use OOP.

Perspective
03-16-2005, 10:49 AM
>I think I might just spend a few weeks refreshing my memory on C before I do
>though just so the little I know about C does not get totally lost.

Thats a good idea, being familiar with any language will help you learn a new one.


>Can you recomend a good Java book to me also?

Unfortuantly i can't :( Its been 4 years since i started with java and i can't even remember what text book i had. Maybe some of the other people on this site that are starting uni with java can comment on a good book.

You can probably find some good tuts (or at least docs) at http://java.sun.com

RoD
03-16-2005, 10:52 AM
I think the title of this should be somewhat altered, have it stickied and locked, and moved into the FAQ. We get questions like this alot and it would be nice to have one to link to for a change.

Perspective
03-16-2005, 10:53 AM
I think the title of this should be somewhat altered, have it stickied and locked, and moved into the FAQ. We get questions like this alot and it would be nice to have one to link to for a change.

I agree. This is probably the first one that hasn't turned into a "this language is better than that language" flame war.

InvariantLoop
03-16-2005, 10:56 AM
I took a course in Java my first year in college, we used this book, http://search.barnesandnoble.com/booksearch/isbnInquiry.asp?userid=My75oP7B1x&isbn=0130125075&TXT=Y&itm=6

dpro
03-17-2005, 01:25 PM
Thats interesting Perspective. I was in two minds as to whether to go direct to OO or not. And if I did then I was probably going to go the Java route. I think I might just spend a few weeks refreshing my memory on C before I do though just so the little I know about C does not get totally lost. Can you recomend a good Java book to me also? Hopefully one that covers the theory of OO as well as the language since I do remember having a dog of a time trying to understand the concepts (though my mind was elsewhere at the time so that may explain it, lol)

Thanks for the input

:)


Now this may only apply to certain people, but the library system near me has a neat thing online. Basically they allow people to look at technical books (i.e. Java, C++ etc) online and for free. If you live in the US, some library systems might have them, if not, well I am not sure what to say. However it might be a great place to find a book (that fits your style for free).

novacain
03-18-2005, 05:01 AM
My advice is to look at the job sites and see whats in demand.

I think JAVA, C# or anything .NET will get you a starting job. C++ usually requires more experience or qualifications.

Its easier to get another job in a different language once you have a few years experience.

7smurfs
03-18-2005, 05:45 AM
If you are going with a OOP language, my personal opinion is to go with C# over Java. Learning C++ with C# can help you learn several techniques, and learning one thing in language X can help you in language Y.