Or should i just do Primer?

Or should i just do Primer?

Other urls found in this thread:

ccs.neu.edu/home/matthias/HtDP2e/.
teachyourselfcs.com/
twitter.com/AnonBabble

SICP -> Practical Common Lisp -> Haskell from first principles -> Type driven development with Idris

Youtube tutorials is the shit.

thenewboston is the shit

...

If you're new to programming start here: ccs.neu.edu/home/matthias/HtDP2e/. Then, if you feel like it, read SICP.

you should probably not do C++ at all in the first place

Just use Primer, it's a good book.

>when you sit in the back seat of the car listening to the radio and imagine yourself running along beside the car doing tricks and stunts over obstacles that block your path.

I've been considering reading this for a while. I've studied algorithms (very basic), and learned superficially java, php, python and C, but as I said, VERY superficially, I never made any useful/big project with any of those languages.

My plan was to read HtDP, SICP and then learn C. Should I tough through SICP and forget HtDP or should I "waste" a bit of time on it to properly learn it? I've tried going straight for SICP and struggled quite a bit.

>it should be noted that my main objective is C.
after HtDP and SICP should I go straight for K&R or read some other C book first?

Just use primer, it's a very good book.
I'm currently going through it and have encountered no issues. My only major gripe is that they teach you about c-style arrays before std::array.

The dragon book is like an old Egyptian parchment that has no relation with the real actual world, to read it is a waste of time and A LOT of effort.

Can I read Primer before learning C? I find C too dry.

C++ primer is a C++ book not a C book.
C++ is a superset of C. Just because you know one does not mean you know the other.
tl;dr yes if you want to learn c++.

Yeah I know, I want to learn C++ but everyone told me to read K&R first, that's why I'm asking

It's a meme. C++ and C are like python 2 and python 3.
C++ is a superset, it's great for OOP but C is obviously more suited to low-level fuckery.
If you want to learn c++ do it, it's a great language.

can't C++ do everything C can, and then more? Are there things where C is a better choice than C++?
>do it
thanks, guess I'll just read Primer then. I heard C++ was difficult for a beginner but at least other languages will be easy afterwards.

SICP isn't really hard, only the math can be overwhelming sometimes.

Personally, I'd do it the other way around:
Go straight for K&R and do all the exercises.

Then learn some abstraction (design patterns).

After coding half a year of C, you can do SICP do get a different view at things (especially data vs. code and mutability/state).

Yeah c++ can but it's just sometimes not as well suited. For very low level (read embedded, OS and actual hardware programming) C is a better fit, but c++ can do pretty much everything C can.
C was made to be portable assembly.
C++ is a terse language to begin with, but a lot of that stigma comes from the pre-c++11 days. C++11 made the language a lot nicer, as well as a lot safer.

Java deitel

thats a way I was thinking about too. Guess I will go on this route. thanks

can't really vouch for anything on that image, just saved it

Not him, but I might comment here..

>can't C++ do everything C can, and then more?

"More" isn't always "better"..
C enthusiasts would say that C is good especially because it doesn't have all this crazy abstractions. (One day you'll find some legacy C++ code with some serious template fuckery and you'll understand what I mean).

Google why Linus used C instead of C++ for Linux. It's opiniated, but you'll get the idea.


>Are there things where C is a better choice than C++?

It's more or less about libraries and existing code. If you want to do something in [blablabla] and it's only C libraries, you're better off with using C for it.

That said it's easier to program C, coming form C++ than the other way around.


>C++ was difficult for a beginner but at least other languages will be easy afterwards.

C++ is just huge. I mean.. really huge. You can (read: have to) study it for a long time to get decent. C is a rather small language. But of course C++ is way more powerful. You have many different paradigms in C++, it's the swiss army knife robot generator deathstar coffeemachine fuckdoll of programming languages.


C++ is cool and I say go for it. But it's a completely different beast than C, Java or Python..

they have actually very solid list of books to guide you through all intro to cs teachyourselfcs.com/

Also you can safely start from sicp as your first programming book but if you feel you stuck you can supplement it with Little Schemer.

composingprograms.com is another good introduction which was influenced by SICP

What does SICP actually teach?

Yeah, I know C++ is huge, that's partly why I want to learn it, since it's powerful and versatile.
Why do people say some languages are better than others for beginners though?

Programming: P&P using C++ / C++ Primer -> -> Algorithms by CLRS / Algorithm Design by Kleinberg -> Programming Languages: Principles and Paradigms by Tucker and Noonan / Programming Language Pragmatics by Scot -> ToC Sipser / Kozen / Arora and Barak

Oh well..

There are basically two fundamental computational models. They are equally powerful and were discovered at the same time:
-the turing machine (the forefather of C, Java and so on)
-the lambda calculus (the forefather of Haskell, Lisp and so on)

SICP teaches you Scheme, a Lisp dialect. But that's only because Scheme has very little syntax. The real goal is to teach you about abstractions, about the differences/similarites of data and code, about mutable values and the problems that come with it, about scope of variables, about the different types of recursion, about runtime of programs, about analytical thinking and how to tackle some mathematical problems. And it also teaches you lambda calculus.

If you want to, take one day and do a lambda calculus tutorial. It sounds very scary at the beginning ("huh, a beta reduction!!"). But it's not that hard, only "different". If you done this, you will look at Scheme/Lisp with different eyes.

In the country I was riding a dirt bike in the ditch, in the city it was a skateboard.

Actually the dragon book is fucking awesome if you are writing a compiler, as long as it's not the shitty java-based 3rd edition which takes 40 pages to introduce a concept when the original could do it in one.