13 Jan, 2009, ajrillik wrote in the 1st comment:
Votes: 0
I've been taking a crash course in C and have read and had friends inform me I should be working with c++ for mud programming, I am curious what others opinion on this might be?

At the moment my familiarity with both languages is about the same, I've read books on each language but am still at the introductory level.
13 Jan, 2009, kaervos wrote in the 2nd comment:
Votes: 0
You would want to use whatever language the Mud codebase you are modifying is written in, and most codebases are written in C, not C++.
13 Jan, 2009, elanthis wrote in the 3rd comment:
Votes: 0
Use C++. There is NO good reason to use C over C++. We've got like 4 other threads on this topic right now. :p

C++ is of equivalent performance, is far easier to use, and provides far more power. C++ isn't the best language by a long shot, but it's the clear winner between itself and C in just about every regard.
13 Jan, 2009, Lobotomy wrote in the 4th comment:
Votes: 0
kaervos said:
You would want to use whatever language the Mud codebase you are modifying is written in, and most codebases are written in C, not C++.

This is very true. However, with a few minor exception(s), most C mud codebases can be made to compile under C++ and have new code be entirely C++ alongside converting existing code into C++ form; if that's what you decide that you want, anyways, ajrillik. The few minor exception(s) I mention would be any C codebases using features not present within C++, such as the C99 version of C and the GNU extensions. Although, to be fair, I only personally know of one codebase that has that issue. There may be more, but it's not terribly likely. :thinking:

That of course also means that you can easily start out using C and make a later transition to C++, if that's what you decide you want to do. I'm partial to agreeing with elanthis in that you'd be better off just going with C++ from the get-go.
13 Jan, 2009, Baiou wrote in the 5th comment:
Votes: 0
Both are good points. Either way, you can use c with c++, but the logical answer is exactly what Kaervos said. Get to know the language the cb you're using was/is written in. If you're debating whether to use a c++ vs c cb, it would all depend on your personal preference but either way, a c cb can be converted to c++ while still keeping the original code in tact and functional… however, thats a little higher development issue and you stated you were doing a crash course. My personal opinion is to use c++, but use it correctly.

… He said it first…
13 Jan, 2009, quixadhal wrote in the 6th comment:
Votes: 0
Yes, as elanthis said, C++ has enough extra shortcuts to make your life much easier, especially if you're thinking of starting a new project instead of mucking about with legacy code. If you're doing it to learn C/C++, I would chose C++ just for things like std::string alone.

However, if you're doing this because you want to write a game, you'd be even better served by choosing a language which specializes in text processing, since 95% of everything you do will involve manipulating and scanning text. Of the newer kids, ruby, python, and lua come to mind. I especially like ruby because it has many of the good points of perl with a cleaner syntax and direct support for objects.
13 Jan, 2009, The_Fury wrote in the 7th comment:
Votes: 0
I am a self taught mud programmer and having used C for the last 7 odd years, If your stuck between C and C++ take the ++ as it will do things easier for you as others have pointed out. However, if your crash course is to learn programming concepts that are independent of language, and your wishing to make a mud codebase, i would say follow quixadhal's advice to use a higher level language like Lua or Ruby.

I have just recently stopped working with my smaug derived codebase that i have used for the last 7 years, in favor of starting from scratch using Ruby. Their are a number of things that i really like about this language, doing anything with text is a breaze, loading and saving files is a snap also, the amount of code you actually write is small, case point: Samson's Overland Map snippet is about 3000 lines of code, we wrote a similar co-ordinate map system in around 300 lines of code.

You can bang out a complete system a day very easily, (Well i cant yet but Chris Bailey does, Smart Ass :) ). In just over a week, we have gone from bare socket code, to having 40 odd commands, with all major systems in place co-ordinate map system, mob system, obj system, olc editing for most things sec. If we keep up with this level of input we will be feature for feature complete with my old base within 2 months. Something that would be impossible with C.

I hope that my post helps you, :)
14 Jan, 2009, David Haley wrote in the 8th comment:
Votes: 0
There's no point learning C instead of C++. Even if you don't want to use classes heavily, it's worth using some of the C++ features.

Saying that you should learn C, not C++, because codebases are written in C, is kind of odd because C++ is a strict superset of C. Knowing C++, you will be able to read C without any problem whatsoever (because it is also C++…) but if you only know C, you have limited yourself.

I agree that if you have the option, and don't have other requirements, learning a higher level language is probably a good idea.