The first Silk program

As usual, The first program is ”Hello World“, here is a very simple program which will print "Hello World":

    print("Hello, World!");

A Silk program basically consists of the following parts:
    Include commands, functions, classes, variables,  statements(keywords, identifiers) and comments. Every full silk program should have a function called "main",  which is always called when the program first executes.
Let's take a look at a full silk program:  

//include the base class file
#include ""

//create a new class
class CMyHttpServer(port)

    //derived from base class

//get current directory
func get_curdir()
        return curfile.substr(0,pos+1);
    return "";

1. Keywords, the keywords of Silk, it's similar to C:        

main, if, else, while, break, return, continue, for, null, 
true, false, func, class, print, sprintf, printf, self, global, static 

includes the following built-in function names:
_input, _getargv,_copy, _loadlib, _freelib, _calllib, _createthread, _createlock, _lock, _unlock, 
_len, _str, _int, _float, _type, _fun 

2. Identifiers, identifier is a name used to identify a variable, function and class, which has the following rules, it's also similar to C:
  •  An identifier starts with a letter A to Z, a to z, or an underscore '_'
  •  Any other parts consists of letters, digits (0 to 9) and underscores
  • Identifier is case sensitive
  • Identifier cannot be the same as any one of the above keywords
 Valid identifier:strName, _nCount, str_name2
 Invalid identifier:Name#12, my-Name, 2Name, if, Jack&Jones, N.a.m.e

3. Semicolons
In Silk program, the semicolon is a statement terminator.


 Basically, each individual statement must be ended with a semicolon, At the end of the class/function defination, semicolon can be omitted.

 It's the same as C. The single line comment starts with //, and the multiline comments start with /* and terminate with the */:
The function to caculate fibonacci sequence 
parameter: n
return: fibonacci sequence 
func Fibonacci(n)
    if (n == 0)
        return 0;
    else if (n <= 2)
        return 1;
        return Fibonacci(n-1)+Fibonacci(n-2);//Recursion

    //print the top 20 fibonacci sequence