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语言的基本数据类型。


  • 相关阅读:
    java.lang.NoClassDefFoundError异常处理
    CMS之promotion failed&concurrent mode failure
    jvm 内存,线程,gc分析
    spring 参数校验
    常用的正则表达式
    《深入理解java虚拟机-高效并发》读书笔记
    ConcurrentHashMap源码分析
    web前端性能调优(二)
    由自动装箱和拆箱引发我看Integer源码
    阅读《effective java-第17条》遇到的问题解决与分享
  • 原文地址:https://www.cnblogs.com/yyw84/p/1237803.html
Copyright © 2011-2022 走看看