• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

Hello.

Status
Not open for further replies.
Level 6
Joined
Oct 10, 2013
Messages
173
I joined Hive Workshop when I was 12, back when Warcraft 3 community had its charm, when it was a very populated community. Now I have turned out 17, and learnt some decent English Grammar. I return to Hive, because I see great talents here. It's like a mini Silicon Valley, after I have read the quality of discussions here.

I want to learn more about programming, and also to have some friends who can help me to do so. I am about to go College in my country, but in my country opportunities are dim. I have planned to take on SAT in five months, and all I have to struggle through will be some maths. The point of my introduction is if someone can introduce me to this exciting world of programming, where a individual is a god who creates his world. I would appreciate that guy who can lead me to wisdom, and tell me which tools will be necessary for my talents to go from basic rules to master ways. I will strive to do my best, if someone is ready to teach me.

There maybe some grammatical errors in my intro, but i hope you won't mind that ;D.

PS edited some Grammar
 
Last edited:
Level 29
Joined
Jul 29, 2007
Messages
5,174
I highly suggest you to choose a relatively easy programming language to begin with (as in, not C++).
Starting with JavaScript is probably the easiest, and you already have all of the tools for it - your browser.

Whatever language you choose, after a few days of learning the very basics, try to pick some kind of program that you want to make. Something that isn't too big, but also not too small. Then try to make it, learning along the way how to do things (and learning from all the mistakes you will make!). I find this way much more efficient than just "go to site X and read everything on said language".

Your most important skill will be searching for information. If you can't properly use a search engine to find information, you should probably start with getting proficient at that. If you have a question, it's very likely that someone else asked it in the past, and got an answer.
 
Level 6
Joined
Oct 10, 2013
Messages
173
Hmm..Interesting indeed, I will choose Java script, because of its popularity and ease of use. Just tell me what will I need to have a good start, also i will add you as friend.

I do have some info on c++(did some minor addition and subtraction program in school) , but i will start with Java . Just me some insights, and i will start working on it asap.

Cheers!
 

Dr Super Good

Spell Reviewer
Level 64
Joined
Jan 18, 2005
Messages
27,198
(as in, not C++).
Pff everyone knows you always start with the hardest languages. This is why Scottish Highschools still each COMAL. How can you teach programming unless you force people to learn about numbering lines and how to use DOS like interfaces?

Ironically I would say WC3/SC2 games are a good places to start. Although their scripting language is not really a programming language it shares a lot of features with other languages. It is also very easy to see the actions of what you write since you have many other displayable elements than in normal languages. For example in WC3 you can make units to stuff where as in a normal programming language you will just output something to command line or a file, with any sort of graphical display being extremely complex for a beginner.
 
Level 29
Joined
Jul 29, 2007
Messages
5,174
Note that JavaScript is not Java. The "Java" in their name is the only related thing between them.
To use JavaScript, simply open your web browser, and open its console (usually F12).
If you have more complicated code that you'll want to dump in a file, you will either have to make a simple HTML file too, if you want to run it in the browser (since browsers were meant to render HTML files), or run it with an actual JavaScript run-time like node.js (alternatively you can use something like this).

For once I would agree with DSG, Jass is actually a pretty decent introductory language. Simple, with instant visible results.
 
Last edited:

Dr Super Good

Spell Reviewer
Level 64
Joined
Jan 18, 2005
Messages
27,198
Galacy for SC2 can be slightly better than JASS in my opinion. It shares C-like syntax and has an integrated debugger, a tool that you will grow to depend on as a programmer, while still enabling you to affect the game directly. That said there are some third party JASS debuggers now which can help. GUI also compiles into Galaxy in SC2 quite efficiently, allowing you another means to learn it.

A debugger is a program that lets you stop and inspect programing language execution. Features include step-by-step allowing you to see what is happen (and where stuff goes wrong), inspecting the content of variables to see if they are as intended and many other useful features. You can even change values during execution to see the result.

Always remember that a correct programming language is completely logical. It will not do anything beyond what you tell it to. It is not a natural language where everything seems to be an exception.
 
Level 6
Joined
Oct 10, 2013
Messages
173
Hmm.. I would like to learn some java, since I am opting for safer side of programming. I have this fear that Jass programming , or any of war/star craft modding will not have great hopes in future. I just don't wanna risk it . I maybe wrong, and i don't want to hurt anyone. Still better be safe then sorry :C

Maybe I am wrong about my thinking, I would definitely love a healthy discussion on the future of War/Star craft programming.I personally loved modding these games, and I even create a mild blink spell in spell section. Please clarify me about more safer side on programming.


I will go with java atm, but would love to start Jass,if someone can explain me importance of the Jass. :). Or to be more specific the specialty of Jass.

Cheers!

PS Just some grammar corrections.
 
Level 29
Joined
Jul 29, 2007
Messages
5,174
There are only about four main paradigms ("ways") to program. The most common, called imperative programming, is shared by almost all existing languages. This includes C, C++, Java, C#, JavaScript (ECMAScript), Python, Ruby, Go!, Jass, and a whole lot other languages (almost every language you will ever use, in fact).

Once you understand the logic behind one of these languages, and start thinking in the proper way in order to use it, you will more or less be able to use any of these languages. There will be some transition because each one has its own syntax, and looks slightly different, and maybe some internal mechanics (objects, concurrency, whatever) work differently, but the idea is more or less the same thing.

Therefore, starting with something as simple as Jass isn't a problem - as long as it's only the start of your journey. It will teach you many of the principles of imperative programming, and make it ever easier to move to some other target language.
The benefit of an easy in-game language like this, is that you can easily see the results of your code visually on your screen. Outside of the game environment, you don't see anything - you need to get used to debuggers, write your own debug messages, and basically figure out why "this stuff just isn't doing what I expect it to do" without any visual indication.
 

Dr Super Good

Spell Reviewer
Level 64
Joined
Jan 18, 2005
Messages
27,198
To learn JASS download Warcraft III RoC + TFT. Install JNGP and use a program like JASS Shop Pro or JASS Craft for the native list (list of all native functions you can call). Obviously a Warcraft III licence should be owned.

To learn Galaxy download StarCraft II from the BattleNet Application. In order to use the editor legally you will need to buy at least 1 SC2 licence.

To learn JAVA download the Java 8 JDK. To write the programs download an Eclipse IDE with Java support. Both of these are completely free and largely open source (some systems/code in Java SE is still proprietary). The JDK comes with the sources for many built in Java classes which one can configure Eclipse to display during debugging.
 
Status
Not open for further replies.
Top