StManTiS 10 Posted May 20, 2011 I love python, easy to learn for anyone and very fast for short code which is exactly what you use in map making. Share this post Link to post Share on other sites
Meek 10 Posted May 20, 2011 I'm a huge fan of Python, I use it often to write web applications. A lot of people complain about indentation in Python, and then use indentation in their favourite language. Share this post Link to post Share on other sites
Deadfast 43 Posted May 20, 2011 To paraphrase a member of the Arma.co.za community who works with python regularly - "... with a complete enough API, persistent worlds would even be possible." That has nothing to do with the language. A whitespace programmer could say the same thing. Share this post Link to post Share on other sites
Make Love Not War 10 Posted May 20, 2011 Yes, please. Best Arma3 suggestion so far. sbsmac hits the nail on the head: In sqf, any moderately complicated operation needs to be built from the ground up. In any other modern language, primitive types and standard libraries provide huge amounts of the heavy-lifting. Share this post Link to post Share on other sites
metalcraze 290 Posted May 20, 2011 (edited) Because using something like Python, means that BI won't need to develop and maintain a scripting language as well as a game. Python development and maintenance is arguably one of the largest and most well organised systems of it's type, right now. Why duplicate this effort? The benefits are huge. What about rewriting the whole engine for Python? What about Python lacking the needed commands? Ain't gonna happen, bros Edited May 20, 2011 by metalcraze Share this post Link to post Share on other sites
JoeDamage 10 Posted May 20, 2011 What about rewriting the whole engine for Python?What about Python lacking the needed commands? Ain't gonna happen, bros I'm sure its a lot of work, but theres no need to "rewrite the whole engine for Python" and Python "lacking the needed commands" is a minor issue. Python "lacks the commands" of 3D editing software, but that didn't stop Autodesk from adding it to Maya as a scripting language (together with the existing MEL) and now tout it as a significant feature. If it "ain't gonna happen", it won't be because its not doable. It would be nice to hear the opinion of someone with expert technical knowledge of the Arma engine, if theres anyone about... Share this post Link to post Share on other sites
metalcraze 290 Posted May 20, 2011 Switching a scripting language will make all mods and addons instantly incompatible that could be ported with ease otherwise from AA2 and AA1 Python doesn't have a lot of commands SQF has that are needed for the engine. The documentation will be needed all over again for people to understand how and what to use in mods and addons Finally people who work with SQF for the last 10 years will have to learn Python instead of using something they are familiar with. You can start learning SQF. Share this post Link to post Share on other sites
ProfTournesol 956 Posted May 20, 2011 I'm 100% sure nobody meant REMOVE the current scripting environment... yes.. it says 'replace'... but we all know that doesn't make sense. Can a moderator please change the title of this discussion to "Adding Python or Lua as a scripting language" or something, so we don't have to field dozens of "why replace it, why not just add" comments... This. Renaming the topic would be useful. Share this post Link to post Share on other sites
maddogx 13 Posted May 20, 2011 I'm hoping for an object oriented "spin-off" of SQF. Python would work too though - all you need are interface classes to work with the different aspects of the game. It's a very extensible language. Share this post Link to post Share on other sites
sickboy 13 Posted May 20, 2011 Ruby, Ruby, Ruby :)) But yea, OO spin-off of SQF would do, bit like JavaScript I suppose :) If anything, I think they will always keep SQS/SQF/FSM if only to remain backwards compatible. Share this post Link to post Share on other sites
maddogx 13 Posted May 20, 2011 Ruby, Ruby, Ruby :))But yea, OO spin-off of SQF would do, bit like JavaScript I suppose :) If anything, I think they will always keep SQS/SQF/FSM if only to remain backwards compatible. You probably know this, but using game logics and object variables, it's actually already possible to do some very crude/ugly OO with SQF. I've got a faux-object-oriented SQF-based XML reader/writer sitting on my hard drive at home. Not that anyone needs one. :D I think SQF could and should be extended to enable OO scripting. (Without breaking backward compatibility.) Share this post Link to post Share on other sites
Sniperwolf572 758 Posted May 20, 2011 Ruby, Ruby, Ruby :))But yea, OO spin-off of SQF would do, bit like JavaScript I suppose :) If anything, I think they will always keep SQS/SQF/FSM if only to remain backwards compatible. JavaScript OO syntax style would indeed be nice, I'm a sucker for brackets. As long as we don't need armaQuery for it. :P Share this post Link to post Share on other sites
JoeDamage 10 Posted May 20, 2011 Switching a scripting language will make all mods and addons instantly incompatible that could be ported with ease otherwise from AA2 and AA1 If you read back a little, the intention wasn't actually to replace the scripting language, despite what the topic is called. Python doesn't have a lot of commands SQF has that are needed for the engine. Clearly you're not a programmer... :) Its not about 'commands' its about syntax and structure.. specifically the ability to use a well developed object orientated architecture and all the features of the language. The documentation will be needed all over again for people to understand how and what to use in mods and addons Again, not replaceing SQF. Python is extremely well documented and in fact also pretty easy to learn. Finally people who work with SQF for the last 10 years will have to learn Python instead of using something they are familiar with. Again... not replacing. You can start learning SQF. The arguments that SQF is suitable and thats that, are like saying: "Horses are fine, who needs tractors?". Sure, horses can plough a field... and surely did for hundreds of years. But then a new technology came along that made it even easier. I'm not sure why anybody would resist that, other than they have invested in horses recently. Share this post Link to post Share on other sites
sickboy 13 Posted May 20, 2011 You probably know this, but using game logics and object variables, it's actually already possible to do some very crude/ugly OO with SQF. I've got a faux-object-oriented SQF-based XML reader/writer sitting on my hard drive at home. Not that anyone needs one. :DI think SQF could and should be extended to enable OO scripting. (Without breaking backward compatibility.) :nods: but it's currently crude and basically you only really get basic Object properties, not all the other nicey-ness that is OO. Share this post Link to post Share on other sites
maddogx 13 Posted May 20, 2011 :nods: but it's currently crude and basically you only really get basic Object properties, not all the other nicey-ness that is OO. Yup. I think "crude/ugly" described it pretty well. ;) A proper implementation would be sweet. Share this post Link to post Share on other sites
NeoArmageddon 958 Posted May 20, 2011 I think SQF could and should be extended to enable OO scripting. (Without breaking backward compatibility.) Agree! Originally Posted by JoeDamageOriginally Posted by metalcrazeFinally people who work with SQF for the last 10 years will have to learn Python instead of using something they are familiar with. Again... not replacing. People who work with SQF for the last 10 years will have to learn Python, because in a mod team you must understand what others scripters/programmers are doing or the community have to abandon one of the languages. And nearly every addon is based upon another addon: Play a mission -> Open it -> see the scripts -> adapt the idea/algorythmen and make your own spinoff. Its leanring by doing. Two languages will hamper the whole procedure of leanring by doing or you have to learn both languages and their specific commands. Share this post Link to post Share on other sites
hawk66de 10 Posted May 21, 2011 (edited) I fully agree with the topic owner. I don't think that SQF can evolve in a programming language with similar capabilites like Python etc, because BIS surely does not want to invest so many resources in doing so. An exception is UDK from Epic, which has unreal script as a propretary scripting languge...but the issue here is that it is a full-blown programming language with strong OO concepts and third-parties provide a full Visual Studio plugin with debugging capabilites and so on. Sure, SQF is nice if you wanna create missions, where you need here and there a script. But do you really wanna implement complex algorithms in that language? How do you debug it? How do you leverage open source libraries for AI and other stuff? How do you do unit testing ? How do you make real reuse libraries? Also if you go to industry standards, you can leverage from new trends, like functional languages (.NET -> F#, Java->Scala; partly Python). Think about how shall SQF evolve...there is no real library concept (apart of that new 'function module' stuff) If you add more and more commands and isolated functions, surely the 'hard core' of the modders can cope with but don't you think this will scare off new people? I can understand people, who wanna take their investments of Arma1/2 into Arma3. On the other hand, I think it is time to make a radical switch now. The Arma engine as a sandbox is very strong. Create a library for an industry-standard language with more low-level access (or make it more transparent)...I am quite sure people will create 'miracles' with such an engine. Edited May 21, 2011 by hawk66de Share this post Link to post Share on other sites
dale0404 5 Posted May 21, 2011 SQF is a mission making programming language right? Is there another use for it? If the answer is not then why change to a different programming language for Arma 3? Everyone is comfortable with it who uses it. If you bring in another language to replace / work along side it then thats another learning curve that the missions making / scripting community needs to go through and in my opinion it isn't needed. Share this post Link to post Share on other sites
NeoArmageddon 958 Posted May 21, 2011 Think about how shall SQF evolve...there is no real library concept (apart of that new 'function module' stuff) Thats not true. You can make libary-like files with this command and some other handy sqf-commands. I wrote a lot lib-like-files and use them in a lot of addons or missions. Other big projects using the same method. Share this post Link to post Share on other sites
neokika 62 Posted May 21, 2011 Hey all, Well, replacing .sqf/.sqs at this point I would say is an absurd and completely crazy! :p _neo_ Share this post Link to post Share on other sites
ben_s 11 Posted May 21, 2011 Hey all,Well, replacing .sqf/.sqs at this point I would say is an absurd and completely crazy! :p _neo_ Noone said replace, but in addition to SQF/SQS Share this post Link to post Share on other sites
Alwarren 2767 Posted May 21, 2011 A lot of people complain about indentation in Python, and then use indentation in their favourite language. Using indention doesn't equal enforcing it. For example, if you break long lines in C by indenting them a bit further in the next line, like: int some_variable = some_rather_long_function_name( param1, param2); Python would go nuts because it thinks that param1 is a new block. Using indention for building blocks is a bad idea, and it completely and utterly fails once you start mixing tabs and spaces - and you don't even see it. (but I suppose this is going off-topic. I apologize) Share this post Link to post Share on other sites
neokika 62 Posted May 21, 2011 Noone said replace, but in addition to SQF/SQS That could work, but in the title it says "Replacing the current scripting language with Python or Lua ". _neo_ Share this post Link to post Share on other sites
Harrumph 10 Posted May 21, 2011 That could work, but in the title it says "Replacing the current scripting language with Python or Lua ". Please note that the thread text clearly states the following: Edit: The Title is a complete misnomer - if a mod could edit it, that would be appreciated.This is a discussion of the addition of Python or Lua as a scripting language If you'd read the post beforehand you'd have noticed the bold text. Could mod please change the title of the thread to avoid further confusion, despite the endless clarifications of this. Share this post Link to post Share on other sites
gammadust 12 Posted May 21, 2011 I am no hardcore programmer, I think I would fit the category of script kiddy. I have dealt with a lot of script languages directed at HTML, Flash, Houdini (which also uses python btw), and lately some of our sqf. And I had no trouble whatsoever in adapting to sqf. If I didn't, would a programmer in its propper sense? So cut the crap about syntax. Ok, advanced and OO patterns, sqf is apparently limited, why not extend/alter it to allow for that, instead of implementing a whole new language? Ok, extended libraries/frameworks of development (which Python would bring), this is the strongest point I think. I would have to concede that in the adaptation I had to look at a lot of examples and I found the existing documentation a bit lacking (both official and community), the closest we have that I know of is BIS Functions and CBA, but they're surprinsingly hidden (there is a story to tell about that too, but maybe latter). If we had a larger community stuff more on this lines would eventualy turn up, and could be sufficient. Not completely against the last point is the fragmentation that another (in parallel) language would bring, keep in mind though that dispite my investment in learning sqf I am already familiar with Python anyway. But this would make the adaptation task harder to newcomers. I am inclined to favor an extention/empowerment of existing sqf more then bringing a new language to the table. But if the latter happens, personaly, so be it, there are good dividends from that too! Share this post Link to post Share on other sites