test
Page 2 of 2 [ 17 posts ]  Go to page Previous  1, 2

ElliottHird
Tufted Titmouse
Tufted Titmouse

User avatar

Joined: 18 Jun 2006
Posts: 43

07 Feb 2007, 5:36 am

Gwkyou wrote:
My new year's resolution is to learn C/++, but I cant seem to find a good tutorial/book. There is no class I can take and I would like to be into it full blown, before cologe. I all ready have the "programmers mind" thanks to actionscript. Also what is the language of Direct x, and is there any tutorials out there? because the xbox, was made by the direct x people, is it also the same language?
You don't really get the "programmer's mind" (what on earth is that) with actionscript - C-style languages are wildly different and more complicated (not neccessarily harder though)



ScratchMonkey
Sea Gull
Sea Gull

User avatar

Joined: 26 Jan 2007
Age:54
Posts: 232

07 Feb 2007, 2:45 pm

Run wrote:
Ah, I recognize another hacker in ScratchMonkey (in the meaning that he knows what he's talking about).


Thanks!

http://www.catb.org/~esr/faqs/hacker-howto.html

Quote:
Personally, I despise java - but that is probably personal, and because I already knew C++ before I looked at java
(java can't do a lot of things, so I thought it was stupid). Also, the reason that java was "promoted" is political,
and I hate politics - while C++ is written by some hacker type of guy (working for Bell Labs) from a pure scientific
point of view.


I understand what you're saying, and I felt similar trepidation towards Java for a long time. Sun's opening the source mitigates that a lot.

Java and C# both target a virtual machine, which makes them platform-independent but introduces an additional compilation step at runtime which can give the perception of slowness. They also introduce a garbage-collected heap, which can lead to indeterminacy, and that can cause grief with time-critical problems.

Quote:
1) It had to be backwards compatible with C. As a result it is not as good as a brand new language could be.


"Quality" of a language really depends on the application and the developer environment. C++ is a good compromise between systems programming (pure C) and OOP. C itself is a compromise between a high-level language (HLL) and assembly language, and mostly models the assembly language of the PDP-11. Java, C#, and Perl attempt to mimic C and C++ syntax while providing an interpreted/JIT language. (Perl also brings native regex processing, inherited from Awk.) Ada looks very attractive for applications that require a high degree of provable correctness, such as a flight control system or a piece of medical equipment.

Quote:
3) If you code the right way in C++, then still you need to code a LOT of code before you have something
that actually does something. It's not a fast language thus (C++ hardly ever wins programming contests with
a limitted amount of time).


It's no worse than C in this regard. You don't even have to use classes to use C++. It's got other features that make it a "better C", like easier scoping rules (eg. no need to declare variables at the start of a block, and you can declare them in control constructs like for). Remember that code-fat GUI's are not the only things people code. (I mostly do communications stuff to talk to robotics.)

Quote:
The only really (technical) positive side of C++ is therefore that you can do anything with it. No restrictions.
This is only a benefit for the hackish type of programs, that is, a program written by a single hacker who is
damn good. Such a program isn't very maintainable though.


I'd say its benefits are that it's deterministic (hence an improvement over Java) and more expressable than C (ie. things that take many lines of C can be said with just a few in C++).

Quote:
If you want to learn C++ the Right Way(tm) then there are a lot books the AVOID (like "C++ for dummies",
which is really really bad). Actually, for the beginner there is only one book that you should start with:
"Accelerated C++" by Koenig & Moo. Once having finished that you hardly can say you know the language,
so after that you should continue with "Effective C++" (Meyers) and/or "Exceptional C++" (Sutter). Of course,
you'll also need a "bible", as reference, for which you should use "The C++ Standard Library" by Josuttis.


Definitely get Meyers. You can read chapters from his first book online.