I want to drop a few comments concerning some scolding and rumor mongering about the Forge, the way how development is done in Ryzom, and, in particular about the decision to do future content development using ARK and other tools under development or yet to be created.
First one thing: I have no insight into Winchgate internals, and never had. I had some contact, mainly over chat and email, with some Ryzom Core contributors (most not active anymore to my knowledge). So I do not claim in any way to be knowledgeable about development internals other than those publicly disclosed. I have read a bit through Ryzom Core code, but not to too deeply. I downloaded Ryzom Core stuff several times, but lacked the time to adapt it to a Fedora or OpenSuse environment.
What I do know a bit, is programming, programming in the C programming language in particular. I never did much C++, belonging to the older generation of procedural programmers I somewhat detest the so called object oriented paradigm, which is not mathematically formalizable (much, though not entirely, business babble. There is the evil saying "C++ is to C what lung cancer is to lung" :). Other OO languages are even worse).
It is highly injust, though, to spread the rumour that WG people were incompetent to implement further content in C++ and therefore created ARK/ARCC. There are good reasons not to continue content code creation in that programming language, and everybody familiar with C will easily understand that.
The C programming language is beautiful, compact, efficient, it allows programming close to the hardware in an abstract and portable style. That is why code like the Unix and Linux operating systems are written in C. C++ is fairly close to it, though it has some restrictions for good reason. In fact, programming in this kind of languages requires much experience, discipline, thorough code review, and even more careful testing. Even then, extremely nasty side effects and bugs may occur, and are very hard to find and to insulate.
That means, you need a fairly large and at best very experienced team of programmers, code reviewers, and testers, to implement projects using this family of programming languages. That is why more safe and more boring stuff was invented and introduced allowing more inept and careless people (hired with lower wages) to generate applications.
And that was no wrong move, to be honest, as it allowed to overcome the "software crisis" of these times (the 1980s). And higher level languages and tools are a good idea, too, as they are allowing people familiar with application requirements to formulate them in a way computers may understand and execute, without much programming experience. Also, it is a good idea to add content by scripting languages not requiring a coding, compilation, then testing cycle, instead allowing rapid prototyping and instant testing. That is what tools like ARK are for.
Moreover, those methods are insulating content from the running program. A faulty mission written in C++ and being part of the main loop of ryzom could be able to crash a whole process at least on client, at worst on server side. That's why it is wise to insulate added content from the running core (in fact this has been the case since long time, as far as I understood).
I read, with some amusement, Icus' mockings about ARK syntax (I did not perceive them as a destructive critique). Indeed it seems more clumsy to me than any C syntax (I think it is PHP, but could be wrong). But it is learnable even for non programmers. Everybody may write a mission or so using those formalisms without ever having undergone CS training or education.
Therefore, I would plead for seeing the new tools as a chance for everybody having the time and being interested to contribute to the further development of Ryzom. I kindly ask those who engaged in polemics against to check the opportunities and rethink their point of view.
First one thing: I have no insight into Winchgate internals, and never had. I had some contact, mainly over chat and email, with some Ryzom Core contributors (most not active anymore to my knowledge). So I do not claim in any way to be knowledgeable about development internals other than those publicly disclosed. I have read a bit through Ryzom Core code, but not to too deeply. I downloaded Ryzom Core stuff several times, but lacked the time to adapt it to a Fedora or OpenSuse environment.
What I do know a bit, is programming, programming in the C programming language in particular. I never did much C++, belonging to the older generation of procedural programmers I somewhat detest the so called object oriented paradigm, which is not mathematically formalizable (much, though not entirely, business babble. There is the evil saying "C++ is to C what lung cancer is to lung" :). Other OO languages are even worse).
It is highly injust, though, to spread the rumour that WG people were incompetent to implement further content in C++ and therefore created ARK/ARCC. There are good reasons not to continue content code creation in that programming language, and everybody familiar with C will easily understand that.
The C programming language is beautiful, compact, efficient, it allows programming close to the hardware in an abstract and portable style. That is why code like the Unix and Linux operating systems are written in C. C++ is fairly close to it, though it has some restrictions for good reason. In fact, programming in this kind of languages requires much experience, discipline, thorough code review, and even more careful testing. Even then, extremely nasty side effects and bugs may occur, and are very hard to find and to insulate.
That means, you need a fairly large and at best very experienced team of programmers, code reviewers, and testers, to implement projects using this family of programming languages. That is why more safe and more boring stuff was invented and introduced allowing more inept and careless people (hired with lower wages) to generate applications.
And that was no wrong move, to be honest, as it allowed to overcome the "software crisis" of these times (the 1980s). And higher level languages and tools are a good idea, too, as they are allowing people familiar with application requirements to formulate them in a way computers may understand and execute, without much programming experience. Also, it is a good idea to add content by scripting languages not requiring a coding, compilation, then testing cycle, instead allowing rapid prototyping and instant testing. That is what tools like ARK are for.
Moreover, those methods are insulating content from the running program. A faulty mission written in C++ and being part of the main loop of ryzom could be able to crash a whole process at least on client, at worst on server side. That's why it is wise to insulate added content from the running core (in fact this has been the case since long time, as far as I understood).
I read, with some amusement, Icus' mockings about ARK syntax (I did not perceive them as a destructive critique). Indeed it seems more clumsy to me than any C syntax (I think it is PHP, but could be wrong). But it is learnable even for non programmers. Everybody may write a mission or so using those formalisms without ever having undergone CS training or education.
Therefore, I would plead for seeing the new tools as a chance for everybody having the time and being interested to contribute to the further development of Ryzom. I kindly ask those who engaged in polemics against to check the opportunities and rethink their point of view.
---
Daomei die Streunerin - religionsneutral, zivilisationsneutral, gildenneutral