Some questions on the scripting languages

Tyman2007

Ya Rly >.
Reaction score
74
Alright, so as the game has been developing, so as the language we use for our maps.

What is vJass now, really? What is it "Based" off of? Is it just some new language that people used to simplify functions already based off in C++ or something like that?

What is cJass? I hear about it, but I have no idea what it really is. Is it just Jass, but in C instead? Is it better to use and requires the knowledge of C?

What language does SC2 use? I hear it uses voids and the such. I heard people say it's like C, but is that what it really is? just a simplified version of C? If cJass is C, then would it be a smart idea to learn how to program C and use cJass for practice for the upcoming SC2?

What is RtC? I hear it allows you to create additional natives. is that all?

To better understand these languages, what do I truly need to learn? I wanted to learn C++, but because people are using some sort of <iostream> instead of <iostream.h>, my books are outdated, and I have no compiler that supports the use of <iostream.h>

I notice people make some pretty awesomely coded stuff, and I look and I can't decide, where did you people learn about this? Obviously you people know the actual programming language otherwise this kindof stuff wouldn't be too possible, or i'd actually be able to read it. Should I grab a book on C? C++? Java?

I know this is coming on a bit at one moment, but these are questions that have been bothering me for a while now.

Rep will be given if truly necessary, I just want to know. I have already posted this in world editor help, but I have taken the advice from someone on the forums and posted this here to help any Jass specific users find this post a little easier.
 

Sgqvur

FullOfUltimateTruthsAndEt ernalPrinciples, i.e shi
Reaction score
62

Bribe

vJass errors are legion
Reaction score
67
vJass - the most powerful WarCraft 3 language. Can only be used with JassNewGen Pack
cJAss - deprecated. Lost its value after the implementation of Zinc and lack of support.
SC2 - Ask on the SC2 forums.
RtC - It's a hack built into JassNewGen Pack, and does not work in multiplayer games.

Personally, I started learning GUI, then JASS, then vJass, then toyed around with Zinc a bit (kind of an incomplete language, to be honest). I recommend doing it the same way. I had no prior language experience outside of barely-comparable HTML/CSS.
 

Tyman2007

Ya Rly >.
Reaction score
74
vJass Manual - http://www.wc3c.net/vexorian/jasshelpermanual.html
Alright, that actually helps quite a bit :p didn't know that existed.

Zinc Manual - http://www.wc3c.net/vexorian/zincmanual.html
So ZinC is the language that's like C, but is not C.. I see..

cJass Manual - http://cjass.xgm.ru/manual-en
Alright I get it. That's pretty neat :p Can you use this in addition to vJass, or will it not compile.
As in can I still use libraries and private/public functions with this? If so then my life is complete :p

Awesome C++ site - http://www.learncpp.com/
Well.. I'll get to answering this one later.

Some galaxy script stuff - http://www.sc2mapster.com/api-docs/galaxy-language/
Overall it's like a more difficult cJass?

Nah... Get wc3 + patch 1.21 and go for return bug + gamecache exploits xD (and learn from the ton of maps/spells/stuff out there)
Yeah.. I'm unable to read to the abilities that are past my skill. One cannot learn to read by simply looking at a book and moving his eyes over words with a blank mind.

These links helped a bit actually :p
 

Bribe

vJass errors are legion
Reaction score
67
Use cJass at your own risk. It's not compatible with many JassHelper features any more, yet it requires JassHelper to compile o_O

It's not compatible with Zinc, for example. The two conflict.
 

Tyman2007

Ya Rly >.
Reaction score
74
It's not compatible with Zinc, for example. The two conflict.
But it won't conflict with vJass?

Is Zinc like a better version of cJass and would still be able to use some useful functions? i.e. i++ or while or something different?

I just want to know what I should learn to better understand this programming language and the upcoming Starcraft 2 code.
 

Bribe

vJass errors are legion
Reaction score
67
Zinc will get you much closer to the feel of mainstream programming, especially due to the use of semicolon and curly-brackets.

cJass does not use semicolons (why is beyond me) and therefore does not deserve the title of a C-style language.

In Zinc, i++ and i-- don't exist. You'd have to do i+=1 or i-=1, or i=i+1 or i=i-1; all of which look retarded.

Some syntax comparisons:

JASS:
function foo takes nothing returns integer
    local integer i = 0
    set i = i + 1
    call BJDebugMsg(&quot;Jass&quot;)
    return i
endfunction

function foo () -&gt; integer {
    integer i = 0;
    i += 1;
    BJDebugMsg(&quot;Zinc&quot;);
    return i;
}

int foo () {
    int i = 0
    i ++
    printf(&quot;cJass&quot;)    // You can&#039;t combine lines in cJass due to no semicolons.
    return i
}

int foo () {
    int i = 0;
    i ++;
    printf(&quot;C-Syntax&quot;);
    return i;
}
 

Tyman2007

Ya Rly >.
Reaction score
74
Alright I get it now.

The only issue is that I feel that cJass, although inefficient, might get me a head start on SC2, but I'm in no real hurry.. Although I will dive face first into the programming language of SC2, which is very closely related to C, I'm truly in no real hurry, but I will try out Zinc if that's what you claim is best. Thanks everyone :p
 

Laiev

Hey Listen!!
Reaction score
188
@Bribe
woot ;O

now I can see the great difference between all of then ._.'
 

Jesus4Lyf

Good Idea™
Reaction score
397
vJass - the most powerful WarCraft 3 language. Can only be used with JassNewGen Pack
This is not in any way true, since Vexorian (the author of JassHelper) himself does not even use Jass NewGen. It is correct to say that the only known compiler for vJass at this time is JassHelper, which Jass NewGen uses. But JassHelper can be used directly... Mentioning NewGen is superfluous.

I am, at this point, a professional Java developer. I learned (essentially) all my programming through studying vJass, and some classes at university helped formalise it. I recommend that you forget about "real programming" and just use vJass. vJass is not "based" on some other language (except JASS itself). It is a language in its own right. Programming concepts learned in vJass can be simply ported to other languages. :)
 

Tyman2007

Ya Rly >.
Reaction score
74
Hmm, Jesus4Lyf, I think you just gave me a bit of motivation there :p
I always thought that people that made this really advanced stuff knew their programming
beforehand, but I guess you guys have just been at it longer than I have :p

Thanks everyone, again.
 

Bribe

vJass errors are legion
Reaction score
67
I've been coding in JASS since February. There isn't any prior programming experience needed, because I just knew a bit of HTML and worked with WC3's GUI engine since last August.
 

Tyman2007

Ya Rly >.
Reaction score
74
February huh?.. well I guess I've been at it longer than you have :p but you seem so much better than me!
I've been coding for.. a year and a half, 2 years maybe? I can teach a person how
to code in the language to make some fairly decent stuff, but unfortunately I have no idea
how to progress any further.
 

Bribe

vJass errors are legion
Reaction score
67
I'm sure you haven't been studying it day and night like I have, so I don't blame you.
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Staff online

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top