06 Feb, 2011, sankoachaea wrote in the 41st comment:
Votes: 0
IDENTIFICATION DIVISION.
PROGRAM-ID. COBOL-MUD.
PROCEDURE DIVISION.
DISPLAY 'This programming languages cripples the mind. Its use is a crime. Don't finish building me!'.
STOP RUN.
07 Feb, 2011, oenone wrote in the 42nd comment:
Votes: 0
Tyche said:
Might be an interesting project/contest.
Pick a language from this list that doesn't have mud written for it yet, and write one.


Extra kudos for using a programming language that has no socket bindings, yet :P
07 Feb, 2011, Parhelion wrote in the 43rd comment:
Votes: 0
oenone said:
Tyche said:
Might be an interesting project/contest.
Pick a language from this list that doesn't have mud written for it yet, and write one.


Extra kudos for using a programming language that has no socket bindings, yet :P


I'm waiting on the MUD written in LOLcode and ladder logic.


As for the original topic, I suppose my own theory on this whole "Why C?" issue is simply that most of the commonly-used MUDs are written in C, or something very similar. Most new games are started by individuals who don't have the skill or gumption to go out and write their own codebase, so they use a derivative, perpetuating the survival of C codebases. Those who CAN just skip out and make their own custom MUD usually have reached the stage in their lives where it is no longer practical to do (adulthood blows).

Now something that I do want to add is that I personally do not understand this sentiment that upper-level languages > lower-level ones. C may be old, but it is not being "phased out" of the real world. To my knowledge, many major software endeavors are still being done in C because it can do things that most upper-level languages (like Ruby, Python, etc) cannot. There is a definite push to adopt these other languages, but that's because there is a commercial market for extremely fast-deploying development, but that doesn't make them better.

My personal preference is for C and LPC. I learned C++ as my first language, and have fallen into a state of harmony with all things C-like, where whenever I encounter a new language I only have to learn its differences in use as opposed to an entirely new syntax system. Asking me to go learn Python or Ruby is sort of like telling me to go out and learn Japanese after I've studied Romance languages all my life. I'm going to tell you you're insane, make some comment about pasty insane anime-worshippers, and continue to stubbornly maintain that my way is better. :)
07 Feb, 2011, David Haley wrote in the 44th comment:
Votes: 0
Parhelion said:
To my knowledge, many major software endeavors are still being done in C because it can do things that most upper-level languages (like Ruby, Python, etc) cannot.

Any examples?

Parhelion said:
There is a definite push to adopt these other languages, but that's because there is a commercial market for extremely fast-deploying development, but that doesn't make them better.

Many would argue that this is precisely why the languages are better.
07 Feb, 2011, Havok wrote in the 45th comment:
Votes: 0
Quote
Asking me to go learn Python or Ruby is sort of like telling me to go out and learn Japanese after I've studied Romance languages all my life. I'm going to tell you you're insane, make some comment about pasty insane anime-worshippers, and continue to stubbornly maintain that my way is better. :)


*laugh* I like the illustration. I am not saying abandon ship, just saying that times change. If they did not we'd still be writing all things in assembly. I appreciate you keeping on topic. Well, I give C credit where it's deserved and python can be added to the list. However, if you'd done research on either language you'll find out that python and ruby do use more memory. Devices will most likely be done by C for a while. For the most part though python and ruby are elegant languages and a reason why I am adding them to my arsenal of toys. Coming from a Java and semi C++ background it only makes sense. I would agree with you, I think some of the muds may find useful things in tutorial of sorts. Anyone ever do the vim and emacs tutorial? Having an interactive way to teach the basics of how the mud works would be an awesome way to help younger programmers. When I first started, it was knowing which files I had to edit to make everything work. I am sure everyone understand this, to add a certain skill or spells. It's done in several files. I had no idea how to figure this out, I started by just asking around. Later, of course this is not a problem. Every mud is different especially naming conventions.

-Havok
07 Feb, 2011, Runter wrote in the 46th comment:
Votes: 0
Quote
Now something that I do want to add is that I personally do not understand this sentiment that upper-level languages > lower-level ones. C may be old, but it is not being "phased out" of the real world. To my knowledge, many major software endeavors are still being done in C because it can do things that most upper-level languages (like Ruby, Python, etc) cannot.


Heh, heh. Well, I'll second David's "Any examples?" but I'll also add that yes, for some things higher level languages are better. And for some things low level languages make more sense. If you're writing drivers or if you want your mud to be hosted on your iphone or micro-devices it probably makes sense to use C. But seriously, this is the same old argument that's been going on for years and years. Someone probably said about C what you're now saying about these "high level languages." This thread specifically was in regards to MUDs I think.
07 Feb, 2011, Tyche wrote in the 47th comment:
Votes: 0
The top ten mud codebases as of 02/07/11
(by TMC category level)
MUSH - 167
LPMud - 145
Rom - 127
Circlemud - 104
MUX - 74
Dikumud - 69
MUCK - 64
Smaug - 49
MOO - 44
GodWars - 33

By derivative
diku - 516
tiny - 361
lp - 145
unknown - 96
other - 28
aber - 14

Why are Mushes so popular?
07 Feb, 2011, Runter wrote in the 48th comment:
Votes: 0
What do the numbers there represent, Tyche?
07 Feb, 2011, David Haley wrote in the 49th comment:
Votes: 0
I'm not sure it's a question of MUSHes being so popular so much as there being less fragmentation.
07 Feb, 2011, Tyche wrote in the 50th comment:
Votes: 0
Runter said:
What do the numbers there represent, Tyche?


Muds listed on TMC. The breakdown has been consistent over the last 6 years throughout the irregular purges of inactive muds.
07 Feb, 2011, Runter wrote in the 51st comment:
Votes: 0
Tyche said:
Runter said:
What do the numbers there represent, Tyche?


Muds listed on TMC. The breakdown has been consistent over the last 6 years throughout the irregular purges of inactive muds.


Oh, I thought it was some kind of vote or something.
08 Feb, 2011, oenone wrote in the 52nd comment:
Votes: 0
Parhelion said:
Now something that I do want to add is that I personally do not understand this sentiment that upper-level languages > lower-level ones. C may be old, but it is not being "phased out" of the real world. To my knowledge, many major software endeavors are still being done in C because it can do things that most upper-level languages (like Ruby, Python, etc) cannot.


That's FUD… C has always been one of the worse choices for software projects.
08 Feb, 2011, Tyche wrote in the 53rd comment:
Votes: 0
Runter said:
Oh, I thought it was some kind of vote or something.


Well in a sense it is.
Anyway, it would seem that the top languages for creating one's mud are C, Mushcode, LPC, MUF, and MOO in that order.
Muds written in Java like CoffeeMud haven't even surpassed AberMuds.
08 Feb, 2011, Runter wrote in the 54th comment:
Votes: 0
Tyche said:
Anyway, it would seem that the top languages for creating one's mud are C, Mushcode, LPC, MUF, and MOO in that order.
Muds written in Java like CoffeeMud haven't even surpassed AberMuds.


That's cause C does stuff no other language can.
08 Feb, 2011, David Haley wrote in the 55th comment:
Votes: 0
oenone said:
That's FUD… C has always been one of the worse choices for software projects.

Just as it's a little silly to say that C is the always best choice for software projects, it's a little silly to say that it's always the worst…
08 Feb, 2011, Runter wrote in the 56th comment:
Votes: 0
Who wants to take on this one?: Is high or low level languages better for beginner programmers wrt muds? I'm curious to hear your takes on this question.

Btw, I've heard this one argued both ways.
08 Feb, 2011, Runter wrote in the 57th comment:
Votes: 0
Here's my take to answer my own question:

So my personal opinion is that you can learn both ways. I know people who are fantastic who have started on either a low or high level language. I myself started on C, but I really think that learning a high level language is easier for new programmers to grasp. And that's the real first hurdle. Being able to grasp the syntax so that you can effectively express things. Learning *what to express*, I agree, is going to take more time. Usually a lot of the high ceremony you see in languages like cpp is lessened in these high level languages, though. So I think with projects directed at doing things with simple concepts (like muds) high level makes more sense for new developers. Look at the success of LPC for builder-coders. It's higher level than C, certainly. The fact that you can write what would be complex statements in C in only a few (if not one) line in these high level languages makes them more wieldy and intuitive for the non-CS major. Many-a-kid is learning to modify and write Lua addons for World of Warcraft in a few hours. The best example I can give is implementing a list in C vs a high level language. The entry level to something so simple is amazingly high with C. You're dealing with instantiation just to construct container nodes, and the concept of pointers. In high level languages it's a batteries included standard library type that they'll likely learn to use within their first few lines of code written. Other things "taken care of for you" like garbage collection further lowers the barrier. Fwiw I think it's also benificial to learn first about passing things by reference and that type of design. Pointers are really dirty, dirty black magic for new designers.

A quick google search on the subject yielded this:
http://ezinearticles.com/?10-Reasons-Why...

Which is kinda funny in the reasons it gives for why C is the best language for beginners. I'll mention some of their points:

* Drivers of modern gadgets are written in C.
* If you want to program a OS, or if you wish to have your programs run in operating systems, better be familiar with C.
* C boasts unbeatable performance.
* Programs that need Object Oriented Programming (OOP) are written in C.
* C and C# are programming languages based on C. Java also derives its syntax and programming concept from C.
* No one will be interested in games if it takes too much time for commands to be done.
* Middle level languages like C combines the best attributes of the high and low level languages.
* C is a block-structured language.

Heh, now putting aside the validity of some of these points. (And yeah, I know this article isn't any type of authority.) I believe this is really some of the mentality that goes into this for many people. And some of these bullets actually make the case against C for beginners. Some of them are true, but still not real reasons for why a beginner should learn C. Some of them build false delimmas. Like the choice of either using C and getting high performance or using a high level language and having "No one interested in your games." A lot of high level languages are "block-structured languages." And when people talk about C as a middle level language they often only mention the hybrid qualities they gain from even lower level and high level design. Along with those qualities you have the inherited draw backs as well. So all in all, I know that pointing to what amounts to misinformation on the subject doesn't prove anything, but this was one of the first on the google search on the subject. And at the end of it the author even wrote: "With the above-mentioned reasons, do you still have doubts why C is the best computer programming language for beginners?" Why, yes. Yes, I do still have … just few doubts.
08 Feb, 2011, sankoachaea wrote in the 58th comment:
Votes: 0
Quoting only the lines I'm responding too:
Havok said:
Quote
Asking me to go learn Python or Ruby is sort of like telling me to go out and learn Japanese after I've studied Romance languages all my life. I'm going to tell you you're insane, make some comment about pasty insane anime-worshippers, and continue to stubbornly maintain that my way is better. :)


*laugh* I like the illustration. If they did not we'd still be writing all things in assembly. I appreciate you keeping on topic. However, if you'd done research on either language you'll find out that python and ruby do use more memory. For the most part though python and ruby are elegant languages and a reason why I am adding them to my arsenal of toys. Coming from a Java and semi C++ background it only makes sense. Having an interactive way to teach the basics of how the mud works would be an awesome way to help younger programmers

-Havok


@Havok: #1. Have you ever written software in assembly? Your comment suggests that you were writing software in assembly and that you personally experienced or witnessed some change that led you into different programming languages.
#2. How is talking about assembly and the historical developments of programming languages on-topic? The topic is Multi-User-Dungeons and Technology and I see very little relevance in discussing assembly here unless your answer to #1 is 'Yes' and 'I've used assembly extensively to develop MUDs.'
#3. Is research really required to reach the conclusion that an interpreted language will 'use more memory' than a compiled language? Also, are you willing to recognize that this is a blanket-statement that may not always be true? Furthermore, can you describe exactly what you meant by 'use more memory'?
#4. 'Arsenal of toys' is tantamount to an oxymoron.
#5. What is a 'Java and semi C++' background? I don't want to make any assumptions about your background, but I don't see precisely why it makes sense to come from those two languages to python and ruby. I can certainly make an argument for such a transition, but I'm failing to understand in this particular case why it 'only makes sense'.
#6. Editing code, compiling it, running the compiled code and running it through gdb is a fairly interactive way of learning how a MUD works.

@Havok & the OP of Havok's quote: I've studied Romance languages my whole life (French, Romanian, Latin (not technically Romance) and also German (definitely not Romance)) and am currently majoring in Japanese at university. I've also worked with Python and Ruby, encountering both after working with the C programming language, and in my experience, your illustration and comparison is inaccurate and misleading. You're implying that familiarity with one group of languages will hinder a person's ability to learn a language from a different group and I think you should support such claims with significant evidence, otherwise recognize how harmful statements like that can be and retract them.
08 Feb, 2011, Asylumius wrote in the 59th comment:
Votes: 0
Runter said:
Here's my take to answer my own question:
* C and C# are programming languages based on C.


Wait.. wait.. waiiit.. a minute. C is based on C?! Get outta here.
08 Feb, 2011, Tyche wrote in the 60th comment:
Votes: 0
Runter said:
Tyche said:
Anyway, it would seem that the top languages for creating one's mud are C, Mushcode, LPC, MUF, and MOO in that order.
Muds written in Java like CoffeeMud haven't even surpassed AberMuds.


That's cause C does stuff no other language can.


No that would be Assembly.
C must do something better, because you wouldn't be using it "by proxy" if it didn't.

But I'm not that guy. I'm pretty language agnostic myself.

Why do mud implementers prefer Mushcode to LUA?
Why do mud implementers prefer MUF over Java, but prefer Java over other great mud languages like MUL or Marlais?
Why the hell doesn't Ruby have GOTO?
If one thinks performance is important, why doesn't one use Delphi?
Why are y'all not asking the right questions?
40.0/275