as for coding language:
quest's code language is it's own, however it does resemble 'XML (eXtensive Markup Language)'
download this program~software:
http://notepad-plus-plus.org/and when you got it installed and opened up:
at the top, click on 'languages', and choose 'XML', and craft your own (or copy and paste others' code into it, from posts in the forum such as mine or Jay's or Pixie's or etc's) quest code. Then for the file itself's name, change~rename it's extension to: *.aslx (ie: your_name_of_file.aslx), to play it as a quest game (if the code is that of a functioning game and is of the same version as your quest.exe, current is: version="550" ). Err, you can always have it be a library file, if its code does not create a functional game.
due to the color coding that it uses, it makes it SOOOO much easier ro read, write, and~or troubleshoot your (or others' ) quest code
(and a lot of other really cool features, which I've not learned to use yet... doh!)
also, it tells you the 'line' and 'line position' of where your cursor is at, so very useful for finding your errors from the error messages, made up example:
Error code: extra ' ) ' at line 8 position 5, hehe
or my own personal common typo~error:
Error code: missing ' { ' at line X position Y, hehe
------------------
as for learning to code in quest:
first first (forgot, lol): complete the tutorial in its entirety
first understand all the terms (or stuff) and about them (able to use them) in quest:
Elements (THINGS~Physics: MATTER)
-> Objects
-> Turnscripts
-> Timers
-> Verbs
-> Commands
-> Functions
-> Object Types
-> Exits
-> etc etc etc
Attributes (Types of Attributes) ~ (MECHANICS~DATA)
-> String
-> Integer (int)
-> Double
-> Boolean
-> Object
Scripting (ACTIONS~Physics: ENERGY~FORCES~WAVES)
-> 'set a variable or attribute' Script
-> 'if' Script
-> 'msg' Script
-> 'get input' Script
-> Parameters (Commands and Functions)
-> etc etc etc
second, understand Attribute usage (setting and altering Attributes)
third, understanding the 'if' code mindset~mentality~logic~thinking of scripting (which means: 'if' Scripts + 'set a variable or attribute' Scripts: understanding 'if' logic and Attributes)
fourth, 'character creation' Scripting
4.5 (forgot these), Parameters (Functions and Commands), Functions, Commands, and (separate~unrelated from the rest) Object Types
fifth, lists + 'foreach' and 'for' + Randomization Scripts~Functions ( 'DiceRoll', 'RandomChance', 'GetRandomInt', and 'GetRandomDouble' )
sixth, dictionaries + (see lists' above)
seventh, take some small simple code, learn it, and keep building up more and more small code things.
for challenges, when you feel you're ready:
combat, equipment, magic, 'explore' and 'travel', dynamic dialogue, and etc etc etc