C++ - Page 2

C++

Post just about everything that isn't directly related to Spring here!

Moderator: Moderators

User avatar
Peet
Malcontent
Posts: 4384
Joined: 27 Feb 2006, 22:04

Post by Peet »

Work with VB until you are fully proficient in it, and are so frustrated that you feel you have to move to a real language :-)
User avatar
Zpock
Posts: 1218
Joined: 16 Sep 2004, 23:20

Post by Zpock »

SwiftSpear wrote:
Zpock wrote:C++ should be learned first otherwise the aspiring programmer would probably get comfortable with whatever else he learns first and never bother to learn proper c++ and become some b-rate programmer:
Ugg, do you really believe learning is so closed ended? I hope to god your coding knowledge is good because your psychology knowledge is really really bad.

Getting comfortable with java/C#/another strict OOP language is fine, C++ isn't that different, it basicly just has more odd obscurities that must be learned through trial and error in comparison. Hell, it's pretty odd for a decent coder to not have a passable mastery of a good half dozen or so languages. It helps that most languages are reasonably similar once you get over syntax, but still...
I'm by no means a proffesional coder or anything, but I'm very happy that the stuff I do know is C++. Sure the syntaxes are similar etc it's easy to learn more languages, but personally I don't see much point, as I know C++, to use other languages. There's way more interesting things to learn, like how opengl or directx works.
User avatar
theHive
Posts: 124
Joined: 13 May 2007, 06:54

Post by theHive »

Pfft, I went from Javascript, to PHP, to C/C++...

Makes sense to me :-)
User avatar
FLOZi
MC: Legacy & Spring 1944 Developer
Posts: 6241
Joined: 29 Apr 2005, 01:14

Post by FLOZi »

imbaczek wrote:
KDR_11k wrote:Should also not be Python since strict typing is something that needs to be learned early on.
You can count on my disagreement to this line 24/7.

Why Python is good:
- teaches indentation
- doesn't bother you with complex syntax (which you need in C++ if you want STL, that is all the time)
- no need to compile
- reads well
- good documentation, free online books (dive into python)
- static typing gets in the way unless you really need it (not too often) - not a problem in Python, no static typing (you can still check types explicitly)
- it fits your head - very important for newcomers

C++ is arguably the worst choice for a first programming language you can make. Even Lisp or assembly is better, because they teach you something other than fighting obscure compile errors.
100% agree. My university taught programming with Python (when I started, now they skip straight to Java - though with a python project in the 2nd half of the year... let's just say I think the whole department has gone rapidly downhill.) Python is a great language to learn the basics.
User avatar
Boirunner
Kernel Panic Co-Developer
Posts: 811
Joined: 05 Feb 2007, 14:24

Post by Boirunner »

Zpock wrote:I don't see much point, as I know C++, to use other languages. There's way more interesting things to learn, like how opengl or directx works.
If you want to go into graphics engine development or something similar, that's fine. For pretty much every other project, a different language is probably better.
[Suck]suck
Posts: 14
Joined: 12 Apr 2007, 22:50

Post by [Suck]suck »

wow lots of replies
thx a lot guys!

i already know a bit of java so i know a bit of the programming rules that apply.

im going to go download vb 2005 then :-)
User avatar
Peet
Malcontent
Posts: 4384
Joined: 27 Feb 2006, 22:04

Post by Peet »

[Suck]suck wrote:im going to go download vb 2005 then :-)
Oh god no! I was kidding :o ..go for python.
User avatar
Licho
Zero-K Developer
Posts: 3803
Joined: 19 May 2006, 19:13

Post by Licho »

AF - C is important because it teaches you pointers and weird type syntax of C, which is missing from modern higher level languages.

As for C++ vs more advanced languages and salaries - here, C++ programmers generally earn less than experienced C# developers.
This is because productivity is generally higher in C#.

It holds true even for me personally, I used to work as game engine developer (C++ job), it was high skill job, they didnt even answer to you unless you had master in computer sciences or math and entry exams were hard, but still, salary was about 3x smaller than I get as enterprise .NET developer (mostly C#).

Personally my route was: Basic, 8bit assembler/machine code, Pascal, 80x86 assembler, object pascal, C, PHP, Delphi, C++, Java, C#/.NET

For my own apps I like to work with C# most, because it gives you high comfort, very fast development speed and decent run speed.

If spring was in C# there would be no desyncs, and even if they were due to programming error, finding them would be easy, because resync would be much easier to implement (built in binary serialization/desirialization)
User avatar
Neddie
Community Lead
Posts: 9406
Joined: 10 Apr 2006, 05:05

Post by Neddie »

Now, I have some weak experience in Basic, Java, VB and Lisp.

Where should I actually learn how to program?
imbaczek
Posts: 3629
Joined: 22 Aug 2006, 16:19

Post by imbaczek »

neddiedrow wrote:Now, I have some weak experience in Basic, Java, VB and Lisp.

Where should I actually learn how to program?
Algorithms book. Seriously. CLRS or something similar. When you have some experience in such diverse languages (I mean, VB + Lisp? That's hard to come by even in the open source hacker community!), you need to switch to a higher level of abstraction, where the language is a tool and not an objective.
User avatar
Neddie
Community Lead
Posts: 9406
Joined: 10 Apr 2006, 05:05

Post by Neddie »

Well, my experience is pretty limited. VB entered my life three weeks ago, and I only flirted with Lisp. Basic went out of me years ago, and I'm pretty bad for somebody with two years of Java.
imbaczek
Posts: 3629
Joined: 22 Aug 2006, 16:19

Post by imbaczek »

Doesn't matter _that_ much, what is more important is what do you want to do and how much time you've got to learn.
User avatar
Neddie
Community Lead
Posts: 9406
Joined: 10 Apr 2006, 05:05

Post by Neddie »

Everything to some extent, three hundred years if I can't lift this curse.
tombom
Posts: 1933
Joined: 18 Dec 2005, 20:21

Post by tombom »

neddiedrow wrote:Now, I have some weak experience in Basic, Java, VB and Lisp.

Where should I actually learn how to program?
use perl problem solved
User avatar
zwzsg
Kernel Panic Co-Developer
Posts: 7052
Joined: 16 Nov 2004, 13:08

Post by zwzsg »

You should start with assembly. Other languages are overbloat for wussies. :P

No really, when you begin, it's very comfortable to start in language where you have only a hundred or so opcode and then nothing else, where all variables are basically the same type, where the only operation you can do are addition and substraction*, etc... I much prefer this clearly delimited settings of assembly to something like C++ where between the leftover of C and each compiler idiosyncrasies, the syntax alone takes five hundred page to be described, where to get anything done you'll need to use libraries, but merely listing all c++ library would take millenias, where the compiler will nag you for unimportant stuff like the lack of a cast between a char* and unsigned char* but on the other hand let pointers and arrays indexes roam freely, etc...

Otherwise, I'd recommand to start programming in one of those nice and fuzzy languages real programmer wouldn't even call programming language, something like some javascript lines in a *.htm, or a programmable calculator, or whatever else where you can get things done and start to have fun without having to spend 30hr to merely get the "Hello world!" straight from the book to compile. Something were you can display a small image at a position with two keywords, without having to digest phonebook sized tomes on graphical library, something where you can concanetate strings with just a +, something high level but friendly.

Because it's more important to start having fun with shitty little code than to want to start right away with professional code and grow discouraged before even writing a single line of your own.

* Ok, some processor have multiplication now, but imo that's just cheating.
KDR_11k wrote:I still think that not learning strict typing is a hazard to a young programmer's development.
You just sound like a professor that's all about theory of teaching but never had any children and forgot how he learnt himself. Strict typing is way overrated. For a beginner, it's just an annoying annoyance and nothing else. And if you later need it, well, it's not like there is anything that prevent you from getting used to it afterward. No really, learning about type will just come naturally after a while, when the time is ripe and the young programmer start wondering about deeper issues, but trying to force it upfront doesn't help, to the contrary. It just teach people to go casting all over the place without a second thought when the compiler starts complaining. Totally unlike assembly, where the lack of any type checking force you to actually think about what represent the bytes you are manipulating.

But then, "what language to start with" may be slightly off topic if Suck-Suck is already proficient in many languages but just asking for recommandation on a C++ compiler. Which is unlikely come to think of it.
User avatar
KDR_11k
Game Developer
Posts: 8293
Joined: 25 Jun 2006, 08:44

Post by KDR_11k »

zwzsg wrote:You just sound like a professor that's all about theory of teaching but never had any children and forgot how he learnt himself.
I learned BASIC on the C64, that was strictly typed though it had less types than modern languages.
Post Reply

Return to “Off Topic Discussion”