Mod tools rant

Mod tools rant

Post just about everything that isn't directly related to Spring here!

Moderator: Moderators

Post Reply
User avatar
SpliFF
Posts: 1224
Joined: 28 Jul 2008, 06:51

Mod tools rant

Post by SpliFF »

[rant]
I've seen this sort of thing a lot but why do people making tools for modding insist on using corporate Microsoft/Borland (aka, Windows-only) languages? Are you just being taught this garbage in school or are you under the impression it's easier? The reason I ask is because generally MS languages and frameworks are the LEAST suitable of languages for long-term maintainability (ie, .Net/Windows updates breaking old programs) and cross-platform support (ie, non-existent or requiring hacks or emulation).

Even on Windows I'm sick of essential utilities telling me to find and install some kind of service-pack or MS update just to use it.

For many mod tools you're dealing with the problem of parsing Lua scripts. The only reliable and consistent way to do this is with a true Lua parser - ie, Lua itself. If you prefer another language for your program and GUI code then there are generally easy ways to embed lua in Python, Java, C++ and other time-proven, low-overhead, cross-platform languages. Even raw lua supports about 5 different GUI frameworks via lua libraries.

I've seen a reasonable percentage of Spring devs who use linux, it's also likely to be Spring's strongest platform in the future given the complete lack of any modern commercial RTS ports. Spring is cross-platform, the tools should be too.

I've also noticed a trend in tool makers who use these languages not releasing their source code. I'm not sure what the relationship is, maybe just a "corporate mindset" or just the feeling you'll always be around to maintain it?

Anyway, I personally don't have much time for yet another buggy, out-of-date, single-platform, limited-distribution mod tool with an AWOL developer that can't ever be fixed.

If you can spare 6-12 months for developing your tool then do us, and yourself, a favour and spend some of that time learning Python or (if you're hardcore) C++.

I can now program *competently* in 15 different computer languages. I swear to you that once you've learnt your first 2 or 3 ALL languages are fundamentally the same. Sure the function names might change here or there, some might use more OO techniques, the syntax might vary, the libraries change, but on the whole they aren't as different as you might think (a lot less than human languages that's for sure).

The advantage of my approach is now I can pick up work ANYWHERE. I can choose the best jobs and the best tools for each job and save myself months of pointlessly recreating tools and abilities for a 'preferred language' when another language is better suited to the current task.

So yeah, the 'best tool' for Spring addons is NOT VB/.Net or Delphi. So STOP USING THEM! :cry: :x
[/rant]
User avatar
Argh
Posts: 10920
Joined: 21 Feb 2005, 03:38

Re: Mod tools rant

Post by Argh »

Not that I entirely disagree with your points, they're all valid... however, you are kinda poking at some stuff that exists in its current format, because it's inherited work, and has gradually evolved.

And the number of things that have been entirely abandoned, sans source release... is fairly small.

Sometimes, it was abandoned, and it's basically proprietary work, and that's just tough- maybe it was "my first project" stuff, on top of school, or w/e. Happens. Sometimes it was just experimental crap that never really evolved to a final state, but may have a special use case. Just how it goes, this is a place where a lot of people do a fun utility, get it to the point where they can't stand looking at it any more, and abandon it before it's really polished, because polish is nearly always the ouch part of making anything really decent.

That said... most of the modern, large-scale and very useful tools that are currently in development have been developed more in line with modern OS-agnostic standards, and their source is available, however irregularly.
User avatar
Felix the Cat
Posts: 2383
Joined: 15 Jun 2005, 17:30

Re: Mod tools rant

Post by Felix the Cat »

1. The people who make tools are going to make them in the way that is most convenient for themselves, not the way that is most convenient for you, or the way that is most 'ideologically pure'. If you want tools made in the way that is most convenient for you, make your own tools.

2. You have no reasonable right to demand that tools be open-sourced unless they are legally obliged to be so (ex. by using GPL'd code). Some people wish to retain ownership and control of their code; their reasons don't matter a whit because it's their code. See also my rant in the "free software" thread about increasing (ideologically driven) demands for software to be 'free', and why I think it's completely ridiculous.

Summary cliche: don't look a gift horse in the mouth.
User avatar
smoth
Posts: 22309
Joined: 13 Jan 2005, 00:46

Re: Mod tools rant

Post by smoth »

I really am beginning to resent the gimme mentality here.
Caradhras
Posts: 381
Joined: 31 Jul 2006, 21:49

Re: Mod tools rant

Post by Caradhras »

[assumption]
Maybe there is a tool, which SpliFF wants to use, but cant cause of a bug or whatever.
He perhaps wants to fix it, but he cant due to the tools character of beeing proprietary.
[/assumption]

It looks more like "let me help" than "gimme" to me...especially if you abandon a program, why would you want to keep the copyright to yourself? I think its lost effort for anyone then.
User avatar
IllvilJa
Posts: 90
Joined: 08 Sep 2008, 00:01

Re: Mod tools rant

Post by IllvilJa »

What spliFF demonstrates is not a "gimme for free" attitude but a "lemme contribute easily" attitude.

He asks for some obstacles to be removed, obstacles that makes it a bit less practical to contribute to some projects and tools that are developed. And I have to agree with him. If a tool is released open source and under some free licence like BSD or GPL, the threshold to contribute is lower, simply because you can start some work immediately and once you've got to the point that you considers the work to be of some value, you can contact the author. This is valuable, especially if you don't know beforehand whether or not you reach that point or not (perhaps you have very little time due to "having a life" with a lot of kids, work etc or perhaps because your work with the product is more an experiment which you really don't know if it will play out to result into something remotely useful or not etc).

OTOH, for some software authors, having to involve other developers into their work is not desirable, simply because they want to have the authoring process undisturbed and under control. So there are some tradeoffs here. But if an author of a tool wants to have others collaborating on developing the tool, he/she should IMHO seriously consider to open source it and to pick an OS agnostic programming language.

Then a point regarding the word "easy" in this context. Whether or not it is "easy" or "convenient" for someone to create a tool as an original author or to contribute to an already existing tool is not a matter of whether or not a lazy person can manage to get this done without the slightest effort. It is a matter of whether or not a person who already have his/her ass up to alligators in other duties (like work, family, the real worlds constant flow of emergencies to take care of) has any real chance AT ALL to create that tool or contribute to that tool.

So when someone picks a less ideal programming language (from a community contribution perspective) like visual basic for some tool (or writes it in Excel or some other non-open environment, if you get what I mean) because it "works for him/her" it is probably a matter that if another "less convenient" language were chosen, THE TOOL WOULD NEVER HAD BEEN POSSIBLE TO CREATE IN THE FIRST PLACE! On the other hand, the same holds true for closed source projects in OS-constrained development environments (like visual basic), if a project is not "easy" or "convenient" to contribute to for a person who considers participating, then it might be IMPOSSIBLE for that person to contribute due to time constraints.

In both cases above (the creator of a new tool as well as a contributor to an existing tool), I am talking about competent software developers who, if they would have the POSSIBILITY to develop on the tool, would be valuable contributors.

So it is a trade off that has to be done given all the development effort, development skills and time that is needed for these projects whilst life in general demands a lot of attention elsewhere for the involved developers.

(Side note: Springlobby is written in Delphi IIRC but runs and compiles ok on Linux... or am I mistaken on the Delphi part?)

Edit: Caradbras got to it before me... and he used far fewer words! ;)
User avatar
koshi
Lobby Developer
Posts: 1059
Joined: 14 Aug 2007, 16:15

Re: Mod tools rant

Post by koshi »

IllvilJa wrote:(Side note: Springlobby is written in Delphi IIRC but runs and compiles ok on Linux... or am I mistaken on the Delphi part?)
it's c++
imbaczek
Posts: 3629
Joined: 22 Aug 2006, 16:19

Re: Mod tools rant

Post by imbaczek »

...and tasclient is delphi.
User avatar
zwzsg
Kernel Panic Co-Developer
Posts: 7049
Joined: 16 Nov 2004, 13:08

Re: Mod tools rant

Post by zwzsg »

What tools are you talking about, SpliFF?

Because the only Spring Modding Tool I remember are UpSpring and MapConv, which are both written in, erm, non-Microsoft non-Borland somewhat cross-plateform C++ with Open Source libraries.

And the two modding tools that I remember being written in Visual Basic or Delphi are 3do Builder and Scriptor, which are not Spring Modding Tool but TA Modding Tool that were programmed so many years ago by people so long gone that your rant is irrelevant.

TASClient may be in Delphi and more recently developped, but it's not a modding tool.
User avatar
Pxtl
Posts: 6112
Joined: 23 Oct 2004, 01:43

Re: Mod tools rant

Post by Pxtl »

I code my tools (AppLauncher and the repricer) in C#, but I stick to the core libraries that are supported by Mono, so I don't know what tools he's talking about.
User avatar
SpliFF
Posts: 1224
Joined: 28 Jul 2008, 06:51

Re: Mod tools rant

Post by SpliFF »

I'm not pointing at any particular tools. Firstly because they'd know whether this rant applies better than anyone and secondly because nobody is going to change language mid project.

I wasn't even pointing at Spring (hence the choice of "off-topic" forum rather than "General Spring"). This is the third mod community I've been involved in so it's just a common pattern I've seen across communities. The difference though is the other games only ran on Windows, so it didn't matter so much if the tools were OS-specific.

There was a question in this rant that nobody answered. WHY do people think VB is so easy? It happens to be 1 of the 15 languages I mentioned knowing (though it has been awhile since I last used it) and frankly I never considered it any easier than the others, with the obvious exception of C. Why, for example, would you label variable declarations "Dim", that's just retarded! I honestly believe Microsoft obsfucated the language to sell more books.

I saw a public TAFE college in my home city that had a whole computer lab donated by Microsoft. Coincidently enough this college was one of the first to jump on the .Net bandwagon. Is this kind of thing more widespread than I think or are schools under the illusion that there's more work out there for VB/.Net developers?

I doubt very much that's the case. As a programmer myself I haven't exactly seen a strong uptake outside of schools. Most commercial software is C++ (and more commonly Java). Most websites are PHP/Javascript. Most open-source projects are Java/Python/C. Most servers are linux.

Language popularity
job offers

You'll notice that while VB does well for general "help me" searches it fairs comparatively poorly once you involve actual projects.

So the apparent popularity of VB in courses and small tools does not appear to reflect it's actual market value by a significant factor. So again, why is it still being used for tasks outside of simple spreadsheet formulas? Why are people afraid to take the first steps towards learning a "real" language?
User avatar
Argh
Posts: 10920
Joined: 21 Feb 2005, 03:38

Re: Mod tools rant

Post by Argh »

I think the simplest answer to that is that VB offers a very comprehensive set of tools to build UI with, that work, are easy, and don't involve knowing anything about how UI actually works. If the Linux world would catch on to this basic concept, and offer an alternative that was OS-agnostic, VB probably wouldn't last 10 minutes.

But for newbie programmers, a text-editor with IDE support and a compiler are not very fun at all, except for the most rudimentary "software"- we'd like to build stuff with buttons, windows, sliders, etc., immediately, because that's what we see in the real world, and while there are various hardcore applications that don't have UIs... users strongly prefer them, even if they're just a very basic frontend.
Last edited by Argh on 09 Feb 2009, 03:24, edited 1 time in total.
User avatar
SpliFF
Posts: 1224
Joined: 28 Jul 2008, 06:51

Re: Mod tools rant

Post by SpliFF »

You know Argh, that's without a doubt the most accurate and insightful thing anyone has said about this subject. I'm sure I've heard it before but it does amaze me that after so many years the closest thing out there is Qt, and that's not really close at all. I think you've answered my question anyway, it's an answer I missed because I rarely do GUI work (unless you count websites).

Actually there is Alice but i'm not convinced it'll ever really catch on.
User avatar
Argh
Posts: 10920
Joined: 21 Feb 2005, 03:38

Re: Mod tools rant

Post by Argh »

Well, meh... I would have thought it was pretty obvious, honestly.

It won't be long, I suspect, before M$, being smart mofos who think strategically about audience share, start delivering teaching kits about how to use VB to make mobile-phone applications, so that newbies can create their "hello world" on their phones. It'll even compile to run on Google's OS, I'll betcha, so M$ can claim they're being friendly ;)

After all... it's what kids relate to, it's instantly creating something "useful", it'll have a "cool factor"... and M$ will use that new Open Source platform for phones, so they can even claim they're being cool with Open Source, while actually sucking many young phone developers into their embrace ;)
User avatar
MidKnight
Posts: 2652
Joined: 10 Sep 2008, 03:11

Re: Mod tools rant

Post by MidKnight »

don't count on it, argh.

ATM, windows mobile processes can use a maximum of 32k of ram, "for virus protection" :roll:
User avatar
Argh
Posts: 10920
Joined: 21 Feb 2005, 03:38

Re: Mod tools rant

Post by Argh »

We shall see how that plays out. My guess is that they'll co-opt Google's OS, divide their programmers, and that Windows Mobile will either improve radically by the next generation, or get dumped.

I mean... they're not seeing a lot of real profit from Windows Mobile. The profit's in the applications, and the continuing stranglehold on people in the professional workforce. I don't think losing that mini-OS would really hurt them that bad, it's not like losing Windows would be, where that would remove the linchpin of their entire strategic position.

But hey, I don't run them, and I certainly don't have the money to place bets on their stocks (Google loses big all this year and loses medium the next, M$ loses small, buy Google now, they'll be back in three years because they have enough capital to ride out the storm, please send me some ramen when you get rich)... so it's just idle speculation.
User avatar
Peet
Malcontent
Posts: 4383
Joined: 27 Feb 2006, 22:04

Re: Mod tools rant

Post by Peet »

I think there are a few java RADs out there, but eew. java.
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Re: Mod tools rant

Post by AF »

Peet wrote:I think there are a few java RADs out there, but eew. java.

There's a lot of java stuff that is better than visual studio + VB for doing that kind of stuff.

The problem is very few people know java, and very few people teach java, though there's a twisted archaic form of java out there that's 'taught' in every single university, hence the bad reputation.

Simply following the golden rule of only doing UI work on the UI thread and not in other threads gets rid of the vast amount of buggy ewness.

I chose java by design not personal familiarity, I knew enough about it to judge that using it for tools in the future rather than C# like toolkit would get me much further.

I believe the same is true of springlobby and the decision to go with c++, but at the time there had been the MTR of a c++ lobby for a very long time previous.

tbh choosing languages that are OS agnostic and portable is not something you can make excuses for. Also the arguement that the author will write for their own needs is nonsense too. Your write tools for other people and yourself to use, you don't just write them for you and you alone if your releasing to the community, and theres long been a silent uproar from *nix and mac people about the lack of compatibility.
Post Reply

Return to “Off Topic Discussion”