Jump to content

Best first language

MrMiniBeast
Go to solution Solved by jam08060,

O'Reilly is the publisher of those (see bottom left of the cover ;)).

And yes, although not all of their books are phenomenal, they have a

pretty good batting average, and some of their works can definitely

be considered must-reads.

 

It's still very much used, and will be for many years (as is C itself).

Especially when it comes to high-performance software (CAD, game engines,

OS components), C++ will be very prevalent for years to come (or C,

depending on the project).

However, the "everything-must-be-object-oriented" fad from the 90's has

indeed died down somewhat from what I can tell, and with computers being

as fast as they are today and programmer time being as expensive as it is,

languages which are maybe not quite as fast but much easier to work with

are pushing into some of C/C++'s domains (Python, Ruby, Perl, Java, and

in the coming years probably also some more unusual stuff like D, Haskell

or maybe even Lisp and languages related to it).

As for the OP's question: I've never worked with C#, but it's probably

not a too bad place to start. It is, however, Windows dependant, and

although most desktop systems use Windows, there are many programming

projects which rely on other platforms. Just something to keep in mind.

But in general which language you learn first doesn't really matter

all that much IME. Once you've learnt one, it's not that difficult

to learn others, at least as long as they're somewhat similar in

how they function (it might be a bit trickier going from C to functional

programming with, say, Haskell, but that's less about the language

and more about the programming paradigm).

 

Agreed, and omg I <3 Haskell... lol

 

I'd highly suggest learning C and then C++, that way you will start off learning what benefits you will get from an imperative language, and then expanding on it by learning the Object Oriented side of things with C++...

 

There is a really large benefit of learning C and then C++ behind it: C code is valid C++ code.

 

So since you will have already learned C, you know the basics of C++... so from there on... you can think of C++ as an expansion of C... :D

 

I love C++ because it is everything C is and more... it has all of the benefits of C and all of the benefits of being an Object Oriented Language, and doesn't fall short of Java because it doesn't have garbage collection (thank you destructors...)

 

With that said, there can be some kinda tricky things to wrap your brain around when learning C++, however, because it would be your first or second language it may not be all that confusing because you wouldn't really have a point of reference as to why certain things work the way they do in C++...

 

Also, I'm a very large supporter of the explicitness of actual pointers in C++ and C and not just having everything be a reference as in Java...

 

However, with all of that said... in the words of Peter Parker... "With great power comes great responsibility..."

 

C and C++ have no safety net and you can really break your programs if you aren't careful.

 

While struggling without a safety net and becoming familiar with the language at first may be rough... it will be extremely beneficial because it will make you very very comfortable with debugging in the future if you decide to go on and learn other languages (mainly because other languages have way better error reporting and error handling than C and C++)

 

So yeah, I suggest C then C++...

 

Hope this helps...

 

Edit: also, the books published by O'Reilley are fantastic...

Agreed, and omg I <3 Haskell... lol

Hehe, I've been wanting to get into it for a while, but I've never had the time

so far.

 

Also, I'm a very large supporter of the explicitness of actual pointers in C++ and C and not just having everything be a reference as in Java...

So many people bitch and moan about pointers, and sure, you can break your code

easily and horribly with a pointer mistake, but to be perfectly honest, I really

like them. There's just something about having that power that appeals to my

inner programmer (maybe I'm just power-hungry :D ).

BUILD LOGS: HELIOS - Latest Update: 2015-SEP-06 ::: ZEUS - BOTW 2013-JUN-28 ::: APOLLO - Complete: 2014-MAY-10
OTHER STUFF: Cable Lacing Tutorial ::: What Is ZFS? ::: mincss Primer ::: LSI RAID Card Flashing Tutorial
FORUM INFO: Community Standards ::: The Moderating Team ::: 10TB+ Storage Showoff Topic

Link to comment
Share on other sites

Link to post
Share on other sites

Hehe, I've been wanting to get into it for a while, but I've never had the time

so far.

 

So many people bitch and moan about pointers, and sure, you can break your code

easily and horribly with a pointer mistake, but to be perfectly honest, I really

like them. There's just something about having that power that appeals to my

inner programmer (maybe I'm just power-hungry :D ).

 

Hi 5! Exactly!

 

Also, if you want to learn Haskell... this is the best resource I've ever seen for it...

 

There is a link on that page to read the text for free!

 

Also, the text is just down right hilarious... even if you don't really care about learning the language so much... its a good all around read xD

Link to comment
Share on other sites

Link to post
Share on other sites

Hi 5! Exactly!

 

Also, if you want to learn Haskell... this is the best resource I've ever seen for it...

 

There is a link on that page to read the text for free!

 

Also, the text is just down right hilarious... even if you don't really care about learning the language so much... its a good all around read xD

Ah yes, I think I came across that one before. It's so nice when learning resources

are actually also entertaining. :)

BUILD LOGS: HELIOS - Latest Update: 2015-SEP-06 ::: ZEUS - BOTW 2013-JUN-28 ::: APOLLO - Complete: 2014-MAY-10
OTHER STUFF: Cable Lacing Tutorial ::: What Is ZFS? ::: mincss Primer ::: LSI RAID Card Flashing Tutorial
FORUM INFO: Community Standards ::: The Moderating Team ::: 10TB+ Storage Showoff Topic

Link to comment
Share on other sites

Link to post
Share on other sites

Alright I will learn C by getting the Oreilly book that covers it, as itseems that is the general consensus. Thanks

 

 

However, with all of that said... in the words of Peter Parker... "With great power comes great responsibility..."

 

And that wasn't Peter who said that, it was Ben, Peter's uncle

FX 8350 | MSI 650ti BOOST | Gigabyte 970A-UD3P | Corsair CX 430

Diablotek Evo | WD Caviar Green 1TB 

Linus Tech Tips Fan!

Link to comment
Share on other sites

Link to post
Share on other sites

Alright I will learn C by getting the Oreilly book that covers it, as itseems that is the general consensus. Thanks

 

 

 

And that wasn't Peter who said that, it was Ben, Peter's uncle

 

Ahhh crap you sir are correct, not sure what I was thinking there 0.o

 

I'm more of a DC fan anyway xD

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×