zoukankan      html  css  js  c++  java
  • Q 语言初学者系列:(1)开门篇

          声明:本系列文章全部参考自官方教程,由于缺乏中文资料而且本人E文实在太菜,对于E文较好的朋友可以直接通过下面的链接访问官方网站提供的教程,
    欢迎大家一起学习讨论。
    hhttps://code.kx.com/trac/wiki/QforMortals2/contents
    用户名跟密码为anonymous



    历史背景:
    Q语言跟它的数据库kdb+是由同个作者Arthur Whitney开发的,发布于 2003年。Q语言天生地具体处理大数理量的能力,同时它也是kdb+数据库的查询语言,类似于SQL。

    KDB+介绍:
    KDB+ 是一种适合用于处理大数量的数据库服务器,和kdb一样被设计于用来高速地抓取、分析和存储数据。主要应用于金融软件的开发,区别于传统的关系型数据库,主要优势是挖掘快速发展的硬件的潜力,我想缺点是对硬件性能要求比较苛刻。
    刚刚接触KDB+数据库,google了半天没找到一丁点中文资料,加上英文太菜,或许对它的理解有误,不过暂时先这样定义,等有了更好的答案了再来Update.
    打开地址 http://www.kx.com/developers/software.php, 然后选择点击"Personal Developer kdb+ Software License Agreement"获取一个免费的32位版本,才100多K的东西。

    特点:
    ◇内存数据库(In Memory Database)
             把数据全部放置于内存中,好在现在内存是越来越白菜价了。
    ◇解释型语言(Interpreted)
    ◇有序列表(Ordered Lists)
             实现高速处理数据的关键,区别于传统数据库。
    ◇赋值顺序(Evaluation Order)
    ◇面向表编程(Table Oriented) 
             放弃了经典的OO,取而代之的是一种更加复杂的思想,基于表得字典的编程。
    ◇面向列编程(Column Oriented)
    ◇强类型(Types): 
          强类型,动态检测    (Q is a strongly typed, dynamically checked language)
    ◇空值(Null Values):
          每种类型都有自己的空值 (Types have separate null values. )
       

    开始:
    安装Kdb+ 数据库服务器,直接解压到C盘根目录下就OK了,如果希望放到其它目录下需要添加环境变量QHOME到q目录;
    进入到程序目录通过"q"命令启动一个q会话。



    变量:
    Q语言声明变量只需要使用一个变量名跟一个值,格式为“变量名:值”,解释器会根据值的类型给变量赋予相应的类型,需要注意的是赋值符号是":"而不像大多数语言所使用的"=".
    e.g.q)a:20

    变量的命名规范基本与匈牙利命名规范差不多,但有一点需要注意的是禁止使用下划线,就算是非使用不可的情况下也不应该把下划线放在最后一个字符

    可能使用一个斜杆(/)给程序添加注释,当然使用两杆(//)也是不会报错的
    程序的执行顺序是从右到左
    e.g. q)b:1+a:42
    q)b
    43

    今天的开门篇就介绍到这里,由于文中一些概念还没完全理解清楚,有很多表达不到位的地方经过后期的学习我会尽量补上。
    下一节将介绍Q语言的基本数据类型。


  • 相关阅读:
    一行代码更改博客园皮肤
    fatal: refusing to merge unrelated histories
    使用 netcat 传输大文件
    linux 命令后台运行
    .net core 使用 Nlog 配置文件
    .net core 使用 Nlog 集成 exceptionless 配置文件
    Mysql不同字符串格式的连表查询
    Mongodb between 时间范围
    VS Code 使用 Debugger for Chrome 调试vue
    css权重说明
  • 原文地址:https://www.cnblogs.com/yyw84/p/1237803.html
Copyright © 2011-2022 走看看