国产开源编程语言Silk介绍

Silk语言 是一门完全独立自主开发的跨平台开源动态类型编程语言,绝非“木兰”等套壳语言。

Silk简单易学 ,30分钟即可掌握全部语法,让你像Python一样简单地写C/C++风格代码。
Silk体积小巧 ,只需600K的执行文件即可运行程序,且没有任何第三方依赖。
Silk功能强大 ,可作为脚本嵌入任何文本,网页中生成动态内容,更可通过DLL组件无限扩展功能。

Silk语言例子:

//计算斐波那契数列 
func Fibonacci(n)
{
    if (n == 0)
        return 0;
    else if (n <= 2)
        return 1;
    else
        return Fibonacci(n-1) + Fibonacci(n-2);//递归调用
}
 
main()
{
    //打印前20个斐波那契数列
    for(i = 0; i < 20; i++)
        print(Fibonacci(i));
}

Silk是动态类型语言,无需声明变量类型即可使用:

main()
{
    nCount = 1;
    dMile = 100.68;
    strName = "Wang Gang";
    print(nCount, dMile, strName);
}

Silk有丰富的数据类型,简单易用的数组,字典和集合:

main()
{
    array1 = ["good", "OK"];
    array2 = [1, true, "great", null, array1, [100, 200]];
    print(array2);
    array2[0] = 99.99;
    print(array2[0]);
     
    dict1 = {"name":"wang", "age":10, "other":array1};
    print(dict1);
    dict1["name"] = "Jack";
    print(dict1["name"]);
}

Silk是面向对象编程语言,创建类和对象很简单:

//父类Animal
class Animal(name)
{
    self.name = name;
    
    func description()
    {
        printf("this is %s\n",self.name);
    }
}
//子类Dog
class Dog(name)
{
    self = Animal(name);//继承父类Animal
   
    func SetName(name)
    {
        self.name = name;//调用并修改父类中定义的属性
    }
}
 
main()
{
    dog = Dog("dog");
    dog.description();//调用父类中的方法
    dog.SetName("pet");//子类中定义的方法
    dog.description();
}

Silk兼容绝大部分C/C++语法,C/C++程序能轻易地转换成Silk程序,C/C++程序员能立马上手Silk代码:

//C语言改编的正整数分解质因数
func prime_factor(n)
{
    printf("%d=",n);
    for(i=2;i<=n;i++)
    {
        while(n%i==0)
        {
            printf("%d",i);
            n=n/i;
            if(n!=1) printf("*");
        }
    }
    printf("\n");//换行   
}
main()
{
    prime_factor(2021);
}

Silk安装程序里包含大量C/C++改编的例子程序,包括游戏,数据结构算法等,更多内容请前往Silk官网Silklang.org下载使用。
Silk源码github下载地址:https://github.com/jetgu/Silk

posted @ 2021-01-29 15:14  macrogu  阅读(1187)  评论(0)    收藏  举报