Good day to all!

I'm totally lost here. I am just beginning programming lessons by reading How to Design Programs and use Dr. Racket. I bump into C++ and got confused which one should I learn first. Or should I study them at the same time. Please advise.

I don't know what Dr.Racket is but looks like some form of haskell. Personally, I would learn the core bread and butter languages first, so that includes c++, java, maybe PHP and python.

Haskell type languages I would consider later. Not sure what everyone else thinks but you can't go too far wrong learning a language that has stood the test of time.

"Dr. Racket" is the IDE for the Racket programming language, which is often used to teach first-year computer science students at several large institutions. "How to Design Programs" is MIT's introduction on the language. In my opinion, it is the best approach to start programming (I often see people learning faster starting with Racket as opposed to more industrial languages).

Not sure what everyone else thinks but you can't go too far wrong learning a language that has stood the test of time.

Lisp (which Racket is based on) is much older (1958) then shiny new languages like C++, PHP and Python. It has been used to introduce new programers to programming at many large university since the later 60's, and is still widely used today for that purpose.

I don't know what Dr.Racket is but looks like some form of haskell

To be fair you're not off. Haskell and Racket are both functional languages. Though, not much else is simular between them (learning one wouldn't help you learn the other more then what would be naturally expected when you learn a new language).

I (not everyone shares this opinion) would suggest you stick with Racket to start out with. It challenges your brain to think in a more general purpose way. Also it will let you focus less on the language, and more on the other skills used for programming (where as I feel that when you start out with C++ or PHP, you start out by focusing on the language and learn other skills later if you get around to it). For example, you'll see backtracking algorithms naturally and much earler on, where as it's less natural for someone who's used to using imparitive languages.

Racket is certianly not a wrong place to start out with. It's even usefull outside of introducing you to new languages. I would suggest after Racket you move onto C and then you have more freedom. Other usefull things would be C++, Assembly, PHP, Python, Perl, C#, etc...

Edited 2 Years Ago by Hiroshe

I haven't read How to Design Programs, so I don't know how good it is, but if you're having success so far, I'd say just stick with it. In my opinion Racket/Scheme is a much easier language to learn than C++, so I wouldn't recommend starting with C++ (though you certainly can).

I don't know what Dr.Racket is but looks like some form of haskell.

Racket is a dialect of Scheme, which is a dialect of Lisp. It's not related to Haskell. Dr Racket is an IDE for Racket.

Comments
+1 for clearing up the origin of Racket.
This article has been dead for over six months. Start a new discussion instead.