Where is C

Started by
57 comments, last by mikeman 17 years, 8 months ago
Personally I feel there are 3 C++ languages ...

1) First, there is the great expanded land surrounding the walled city C, just waiting for brave adventurers to explore it in their quest for great treasure. This land expands in all directions, offering both short and long quests for any level of adventurer. The quests can be completed individually or in large dedicated campaigns. Many of the quests related to each other, but most are accessable directly from the city.

2) Then there is a C++ taught in schools as a First Language, founded atop the great mound of Object-Oriented programming. This C++ is constantly engaged in sectarian fighting with the Old City from which it was born, and more vehemetly with the students of Java who live just across the river in a gated and sanitized community. This school believes that C++ is the one-true language, but would be the unquestioned ruler of all if it could only free itself of its ties to the old city.

3) Finally, there are the Boost Mages. These disiples of constant research into multi-paradigm software synthesis cannot be understood by mere programmers, but unlike the academic disertations given by the school of Java, they live and breath code. Or more acurately, computer usable constructs that yield runnable instructions - often using a mix of compille-time components, generic patterns, and dynamic dispatch to completely astond any who remember the days when productive achievement was measured in man-months.

All of these schools offer a chance for happiness to their members and each sucessive school offers assylum to previous residents of other schools whom make their way outside the gates of indoctrination.

A rare few of us wander outside of these schools in a nomadic life between the schools. We pay for our great freedom by remaining outside of the final circles of development available only to the truely devout, but we feel the price is fair. Oh the joy of fishing with C# all day, journey into the lands of C++ throughout the evenings and holidays, and drink from magical ruby cup when tired and weary.
Advertisement
You guys think i should skip the C and go to C# (because the whole XNA )
Quote:Original post by chigga102
You guys think i should skip the C and go to C# (because the whole XNA )


I think you should, but not because of the XNA thing, you won't get to take advantage of that until you have learned programming. And you most likely won't really have a use for it in the next couple of years. C# however, has some significant advantages over C++ (garbage collection, better support for concepts, interfaces and other OO constructs, etc.). I think it's much better to learn to program in C# than it's to learn to program in C++. Of course you will most likely have to learn C++ at some point, but once you get the idea of programming and good design it shouldn't be too bad. You could check out Wikipedia's entry for C# and C++.
I actually know alot of C its just that certain things in the language is a little bit tricky like bitwise operators and a bunch of more advanced stuff so thats why i was wondering.
Quote:(templates and namespaces you call those "concepts" ??)


*cough*
C is a fine language to start with. It's also the best language for home-brew applications like GBA development. There are some, but not a lot, modern games written in C, such as the City of Heroes franchise.
enum Bool { True, False, FileNotFound };
Quote:Original post by chigga102
I have been learning C language since summer, i tried other languages but somehow C just seemed to be the simplest language to learn for ***ME***. Now i wanna know where C stands as compared to other languages as to popularity, and ease of use with the More popular APIs like opengl, Directx, SDL and Allegro based on facts not on your opinions. THANKS


SDL is written in C and easy to use from C. There's C++ wrappers available if you really want them.

OpenGL API is C as well. Lots of wrappers for that, too, and some nice SDKs like ClanLib.

DirectX is COM. You can use it from C as well as C++. It (COM) sucks equally in both languages. ; )

No experience with Allegro, I've seen the name but don't recall what it is.


As for the language flamewar this thread degenerated into, my $.02:

- languages are not all the same ! That said, once you master your first language (take your pick) many of the concepts tend to carry over and so it is easier to learn the next one. Two big exceptions are: going from procedural languages (C, Pascal) to a functional language (LISP) or an OO-language (C++, Java, C#, Smalltalk) tends to be a big jump. A procedural programmer could write an OO or functional program, but it will be terrible until he gets the "zen" of the other programming style. And OO and functional styles are definitely zen, in my opinion. Once you get it, you know you get it, but you can't explain why.

- I happen to prefer C++, because I tend to think and design in objects. The C vs C++ performance issue is a myth.



Not to be crack-headed, but it seems like the majority of template functionality in C++ is used for container classes and things of that nature...

In C it is pretty trivial to implement a solid container class of a given type suck as a stack, "vector" (I'm used to real n-tuple vectors), or tree; you just have to know how to go about it.

Am I mistaken in this belief?
(same poster as above)

And, let's not forget that assembler pwns all, at least for certain purposes (crazy non-branching AABB code, vector ops, and some other strange things I've seen done). Don't be afraid of some assembler now and again.
That's one of the big differences, yes. In C you code your own containers. Granted its not hard for simple constructs, but when you find yourself wanting a multimap<string, vector<Player>>, that's when STL starts to shine.

This topic is closed to new replies.

Advertisement