I think Sponge needs a scripting language

So he should tell you that Sponge won’t use the Bukkit API because…

  1. Licensing reasons
  2. Sponge is being coded on top of Forge (Bukkit isn’t)

Dafaq? The entire point of sponge was to create an API that had nothing to do with bukkit to:

  1. Avoid legal issues
  2. Fix problems that bukkit had at its core
1 Like

Sponge will not use any peace of code from the bukkit api. This decision is made based on the legal issues. But let we not focus on the legal issues of bukkit or sponge and focus on the topic subject.

I think Sponge needs to brew my coffee in the morning.

What I like the most about this thread is that none of the yay-sayers talk about the fact that someone has to maintain these oh-so revolutionary ideas. How about people roll their brains back a few steps and realize that Sponge isn’t actually supposed to do much on its own, but instead enable the “doing”. There should be absolutely zero “scripting language”-implementation in Sponge, because that is outside of the scope of the project. You’re (pressumably) given everything you need to implement and maintain this supposedly undeniably important feature for your server, so do it. The more crap you add into Sponge, the longer you’ll have to wait on every update, and the more you’re going to complain at the developers that they’re “taking unreasonably long this time around”. So yeah, a “scripting language” is a wonderful idea until you actually think things through.

Also, to heck with all your zealous remarks about “best scripting languages”. If you just stick your language-fanatic heads together, I’m sure you can work out some amazing plugins that’ll enable scripting in Lua, Python, Groovy, Spanish, or whatever language is the current flavor of the month for you. Don’t litter the Sponge API with it. And don’t think that “officially supported plugin” is any better - it’s just as terrible of an idea, because it’s the exact same thing as sticking it in the API with regards to maintenance and support.

Why is it so difficult for so many people to stop and think about the implications and the consequences of their wild ideas before immediately jumping on the bandwagon and screaming “omg we need this!!!”? Sponge is not some sort of miraculous, divine entity that magically conjures never-breaking features that require no maintenance. Here’s a healthy exercise: Before suggesting that something be part of the Sponge project (part of the API or a separate, “officially supported” plugin, or whatever), ask yourself if you would be willing to implement it, and maintain and support it for the forseeable future (2+ years). If the answer is “no”, turn it down a notch or forget about it entirely. If the answer is “yes”, what the heck are you wasting your time on my stupidly cynical and grumpy post for? Get to work! I want CoffeeScript support in Sponge, since it’s probably the closest I’ll ever get to having it brew my morning coffee.

11 Likes

When you want to programm learn java its easy and you can make many things with it

The conversation wasn’t so much about “you can’t do x in java”, but more “x lang is nicer to code than java”

You really don’t need anything more than a good API. I was programming a bukkit plugin for scripting support (SinkScripts), the only problem I had was that the Plugin ClassLoaders’s addURL method was protected. But even that was not a big problem, because I could still access it with reflection.

If you are going to make plugins with a scripting language, then you should rethink about that, because thats not what scripting languages are made for…

Maybe somebody should contact all authors from the Script plugins and form a team to create “one” script engine,
instead of fighting about it.
Maybe with different languages/interpreter
#Just do it
http://dev.bukkit.org/bukkit-plugins/skript/
http://dev.bukkit.org/bukkit-plugins/denizen/
http://dev.bukkit.org/bukkit-plugins/scriptcraft/
http://dev.bukkit.org/bukkit-plugins/varscript/
http://dev.bukkit.org/bukkit-plugins/lualukkit/

Well…

is very opinion based… I love Java. I love proper OOP. I love the fact that it’s typesafe. For me it’s most convenient to code in.

As for this:

I don’t really think so.

Creating a whole new API or even a whole new language (e.g. Skript) doesn’t make a lot of sense to me.
It’s far easier to simply use the same API with other languages. There are existing bukkit plugins that load ruby (jruby), lua (LuaJava) and python (jython) plugins which allow you to use the full Bukkit API, including those that were added after the plugin was compiled.

Shouldn’t be too hard to do this with Sponge since these plugins are tiny things that just load the (existing) interpreter into java.

RubyBukkit
McLuaBukkit
Python Plugin Loader

Guys, please stop posting comments to this. :slight_smile: Lead of the project already replied and made it clear that this may be possible in the future, but not now.

1 Like

I still think people should take the time to learn Java.

1 Like

I know Java and I don’t like it. Scripting languages have many advantages. Once again, this is not “you can’t do x in java”, but more “x lang is nicer to code than java”

And I already replied and made it clear that support for a “scripting language” is not in the scope of the Sponge project. You open a thread for the sake of debate. Just because he’s the project lead doesn’t mean sk89q has it all figured out, nor does it mean he knows what’s “best” or how things “should or shouldn’t be”, and I’m sure he appreciates sound, rational arguments from both sides of the coin. And considering there still are no sound arguments as to why this whole thing would be in the scope of the Sponge project, I think it’s perfectly fair to inquire.

And once again, your opinion cannot constitute a rule. For the sake of trying to spark intellectual debate, I’m going to disagree 100% and say that no language is “nicer to code than Java”. I will also say that my dad can definitely beat your dad, so that’s out of the way. Please address and justify the afforementioned implications and consequences (in particular the maintenance issue) of humoring your laziness and tastebuds, instead of just repeating your opinion which, once again, cannot constitute a rule.

3 Likes

I’ll put a 10 on that :smile:

I was saying that was what the discussion was about, not that it is true.

That’s not what the discussion is about. The discussion is about whether or not Sponge should have a scripting language associated with it, and the argument you presented (or allegedly “someone else’s”) holds no water because it is based solely on personal preference, and it still does not address the afforementioned critical implications and consequences.

Or maybe like CommandHelper? I started coding with that until I learned Java. It was way easier than I thought, however there are still people who ask for help creating their first plugins with CommandHelper

Well, after ~2k likes of config CommandHelper was suddenly unable to compile the code / took about 10 minutes. But that’s like two years back

I believe the reason scripting languages were created for bukkit, was because it was really odd and confusing to just jump straight into bukkit plugin coding and what not. I think what the managers of Sponge are doing is really trying to make the API a lot easier to understand than the bukkit API without sacrificing any of the power. In addition to this, I think scripting languages should be plugins, not default because they are a great way to get started programming, with logic and what not but not everyone needs to have that with their sponge download. I personally learned a large amount of my code logic FROM Skript, which I still use today and love.