0 Members and 4 Guests are viewing this topic.
@ShoozzaIf we hypothetically build a Node.JS version of soldat server, we could have the common part written in C++ and the rest could be written in Javascript.Today, Node.JS (Javascript) have the biggest open-source community in the internet. And that could be a boost in soldat's expansion.Think about that?It's impossible to start a project like that, today?
Quote from: strack on August 13, 2013, 06:42:17 pm@ShoozzaIf we hypothetically build a Node.JS version of soldat server, we could have the common part written in C++ and the rest could be written in Javascript.Today, Node.JS (Javascript) have the biggest open-source community in the internet. And that could be a boost in soldat's expansion.Think about that?It's impossible to start a project like that, today?That would require a huge rewrite. Issues: - Soldat's code is over 100k lines of Pascal, so you can't copy/paste or refactor to c++ so easily - A lot of Soldat's "features" are really bugs so reproducing the exact behavior/gameplay wouldn't be that trivial - "Node.JS (Javascript) have the biggest open-source community in the internet." << what? Are you kidding me? Node is right up there with Rails and Flask and every other hip new framework that all the fanboys rave over for a few years then forget aboutThat said, nothing is stopping you from making a clone of Soldat and its server in Node. You'll just have no existing code to go off of.
<< what? Are you kidding me? Node is right up there with Rails and Flask and every other hip new framework that all the fanboys rave over for a few years then forget about
Quote from: jrgp on August 13, 2013, 11:23:20 pmQuote from: strack on August 13, 2013, 06:42:17 pm@ShoozzaIf we hypothetically build a Node.JS version of soldat server, we could have the common part written in C++ and the rest could be written in Javascript.Today, Node.JS (Javascript) have the biggest open-source community in the internet. And that could be a boost in soldat's expansion.Think about that?It's impossible to start a project like that, today?That would require a huge rewrite. Issues: - Soldat's code is over 100k lines of Pascal, so you can't copy/paste or refactor to c++ so easily - A lot of Soldat's "features" are really bugs so reproducing the exact behavior/gameplay wouldn't be that trivial - "Node.JS (Javascript) have the biggest open-source community in the internet." << what? Are you kidding me? Node is right up there with Rails and Flask and every other hip new framework that all the fanboys rave over for a few years then forget aboutThat said, nothing is stopping you from making a clone of Soldat and its server in Node. You'll just have no existing code to go off of.Ok. Keep coding on that. And Soldat will continue falling.Quote<< what? Are you kidding me? Node is right up there with Rails and Flask and every other hip new framework that all the fanboys rave over for a few years then forget abouthttp://webcache.googleusercontent.com/search?q=cache:4IOcCsF6v_oJ:https://github.com/languages+&cd=1&hl=pt-BR&ct=clnk&gl=br&lr=lang_en%7Clang_ptWhat? 24% (21% js + 3% coffee)
Quote from: strack on August 14, 2013, 12:53:09 amQuote from: jrgp on August 13, 2013, 11:23:20 pmQuote from: strack on August 13, 2013, 06:42:17 pm@ShoozzaIf we hypothetically build a Node.JS version of soldat server, we could have the common part written in C++ and the rest could be written in Javascript.Today, Node.JS (Javascript) have the biggest open-source community in the internet. And that could be a boost in soldat's expansion.Think about that?It's impossible to start a project like that, today?That would require a huge rewrite. Issues: - Soldat's code is over 100k lines of Pascal, so you can't copy/paste or refactor to c++ so easily - A lot of Soldat's "features" are really bugs so reproducing the exact behavior/gameplay wouldn't be that trivial - "Node.JS (Javascript) have the biggest open-source community in the internet." << what? Are you kidding me? Node is right up there with Rails and Flask and every other hip new framework that all the fanboys rave over for a few years then forget aboutThat said, nothing is stopping you from making a clone of Soldat and its server in Node. You'll just have no existing code to go off of.Ok. Keep coding on that. And Soldat will continue falling.Quote<< what? Are you kidding me? Node is right up there with Rails and Flask and every other hip new framework that all the fanboys rave over for a few years then forget abouthttp://webcache.googleusercontent.com/search?q=cache:4IOcCsF6v_oJ:https://github.com/languages+&cd=1&hl=pt-BR&ct=clnk&gl=br&lr=lang_en%7Clang_ptWhat? 24% (21% js + 3% coffee)Just because 24% of the projects include javascript (I'm not going to count coffee script) doesn't mean they're all using nodejs, which is what you're arguing for. Furthermore, I can't even find the link you pasted outside of google cache. Additionally, that list probably aggregates languages each project uses, so it'll count projects that include PHP and JS and ASP/JS and Perl/JS all towards JS' share. So, if you think that 24% of Github's projects are just javascript you're probably reading the graph wrong. And again, most of that JS usage is definitely client side widget toolkits/libraries, not stuff on the server end which is what you're proposing.
Github removed that page:https://github.com/blog/1585-explore-what-is-trending-on-githubBut that info is recent. And no, that graph is based on the most written language on each project.
Most of Javascript projects also work in Node.JS.
So that fact is: The most active community today is Javascript and Node.JS (+coffee script, there is a lot of Node.JS projects written in coffee).
Probably also includes people duplicating projects/"forking" which just copies code around.If you want to see a solid example (that doesn't have the page redacted :-/) of the languages with the most lines of code written, look at OhLoh: https://www.ohloh.net/languages?query=&sort=codeC > XML > C++ > HTML > Java > JavascriptYou can't use github as your only source (lol pun!) here because it's based around people finding a project, "forking" it (which doubles the stat), occasionally submiting code or just forgetting about it.
Yeah, especially the ones that revolve around manipulating the HTML DOM to make clickable buttons and slide things around. /sarcasmJust because the syntax is the same doesn't mean the utility also is.
What you're not grasping is that the usage of JS is primarily geared to client side web browser scripting, not complex tasks on the server side, and certainly not game server logic. As this war has gone on long enough (not to say I haven't enjoyed it but it's still petty) I'll just lay down these points: - I'm all for rewriting Soldat in another language - Releasing Soldat as Open Source would be cool, but Shoozza listed the caveats required in doing so numerous times over the forums - I do enjoy writing code in JS (as well as other languages) and I use it often at work My only gripe with what you're proposing is that you're saying that JS is the best language for the job to rewrite a complex game server in, while ignoring that the vast majority of JS in existence is for the purpose of client side scripting rather than server side applications and using that as your argument.
You know, i've read somewhere that "Psychology and IT" field of study will be popular soon with thesis "Inheritance via prototyping and Stockholm syndrome". I actually start to believe that.But, let's get down to business. Soldat (server) in javascript is NOT gonna happen, no matter how hard you want it. Why? First of all, because of what Shoozza said: code won't be opensourced anytime soon (although i'm against this one myself).
Secondly, because of also what Shoozza said: netcode is shared between client and server, so if server in NodeJS was ever written, that implicates one of two things: also client in javascript (lol), or two necode bases that has to be kept in sync.
Neither solution seems appropriate to me.Thirdly (least important though), imo javascript just sucks. If you have a scale that assumes "the smaller codebase is, the better language it must be" then there's nothing left for me to say but "thank you, go be yourself somewhere else". Javascript is just bad by design: no hard typing makes all kind of typos more than easy, even decent IDE doesn't know which variable belongs where. No distinction between class and object creates a huge mess in defining new types (if we can even call it like that). Closures on function level are just hilarious. And the whole approach to "adapt" and try to parse everything that's passed to function. Seriously, it just feels that programmers are scared to throw an exception in your face because they think that it might offend you. Let's make code crash in a random place 1000 lines later, shall we.tl;dr: Just.. no, you can as well ask to close this topic. Soldat in JS is not gonna happen, at least not anytime soon.
Like I said in my last post, you can write C++ addon to Node.JS. So you can have a C++ part in Node.JS soldat server and a C++ client with the same code.
Javascript have classes. Well so you really never worked with JS and have your knowledge about it based on what people always said about it.Think what you want and keep with that. The problem of Soldat starts that. =)Do what you want with the topic. =)
That still implies maintaining NodeJS abstraction layer which is pretty much the same thing, just in C++ instead of JS (which is still different from pascal, or are there also pascal bindings?)
I work as website front end developer, i know my stuff about javascript and no, i've never seen classes in here. At least not in browser's javascript implementations. Although i've never ever used NodeJS, neither i intend to.
Well, it's everything explained. Classes on Javascript are different and confusing. But it exists.Also there are many frameworks that helps you work with classes on Javascript, for an example: TypeScript - http://www.typescriptlang.org/Also all features of ECMA 5 are being implemented on V8 and Node.JS source.
Quote from: strack on August 14, 2013, 11:24:41 amWell, it's everything explained. Classes on Javascript are different and confusing. But it exists.Also there are many frameworks that helps you work with classes on Javascript, for an example: TypeScript - http://www.typescriptlang.org/Also all features of ECMA 5 are being implemented on V8 and Node.JS source.Hacked together clases by third party modules (be it that typescript or coffee script) don't make up for deficiencies in the language itself. Using the latest ecma experimental features as they come out doesn't allow for a necessarily stable and mature codebase either since those new features might not exist forever. And none of that gets around the issue of a split codebase between server and client.
Ok, believe in what you want. Me and other thousands of developers don't agree with that statementAnd like I said before: a Node.JS soldat server can easily share a C++ part with the soldat client.You can just open a mind that is already locked.
Hacked together clases by third party modules (be it that typescript or coffee script) don't make up for deficiencies in the language itself. Using the latest ecma experimental features as they come out doesn't allow for a necessarily stable and mature codebase either since those new features might not exist forever.
Oh you want me to build a clone of Soldat? From scratch?Ok. Sit and wait. I'll not waste my time on that.