bqn-libs VS kdb

Compare bqn-libs vs kdb and see what are their differences.

bqn-libs

Informal collection of BQN utilities (by mlochbaum)
Bqn

kdb

kdb+ Working Group from FINOS Data Technologies program (by finos)
Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
bqn-libs kdb
1 3
45 41
- -
6.9 5.6
3 months ago 3 months ago
q
BSD Zero Clause License Apache License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

bqn-libs

Posts with mentions or reviews of bqn-libs. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-05-12.
  • Ngn/k (free K implementation)
    17 projects | news.ycombinator.com | 12 May 2022
    Languages with multidimensional arrays (APL, BQN, J, but not K) have trouble with dicts because an index into an array is a list of numbers, and an index into a dict is an arbitrary value. Many primitives, and especially selection, are designed around lists of numbers and don't transfer to dicts. In K, where the index into a list is one number, there's still a requirement that the keys in a dict all have the same level of nesting, but this isn't bad in practice. BQN will eventually have hashmaps implemented as in a more mainstream/conventional way, as objects. There's a model at https://github.com/mlochbaum/bqn-libs/blob/master/hashmap.bq... .

    I don't think studying the compiler is a very good way to learn BQN, but I would like to write up parts of it (limited by time and motivation of course). I did some chat sessions on this sort of compilation during early development; see the links at the bottom of https://mlochbaum.github.io/BQN/implementation/ .

kdb

Posts with mentions or reviews of kdb. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-05-12.
  • Q Coding Guidelines by Finos
    1 project | news.ycombinator.com | 23 Feb 2024
  • Ngn/k (free K implementation)
    17 projects | news.ycombinator.com | 12 May 2022
    > let's say I have a finance team that have never heard of it - why might they be interested?

    In my experience it's very good at quickly developing real-time analytics applications with only a small set of developers. A couple of q developers can develop, maintain and operate the server side of 5 or 6 separate applications without breaking a sweat. Changes come in at a high speed too.

    It's a highly interactive language. A bit like a lisp, you start up a q process, open a port and then you iterate and update your application live without needing to restart. Typically on our projects we've had a well iterated program running in QA for a day or 2 before opening a PR (which becomes more of a formality for getting the solution to the problem into prod at that stage).

    The q language itself is quite wordy. Check the reference page: https://code.kx.com/q/ref/ Many programs written in q consist mainly of the key words with the special operators interspersed. Also see some example libraries: https://github.com/finos/kdb

    It's been a fairly stable language to work with, having few breaking changes between successive versions. q code written 8/9/10 years ago on older versions will most likely still run the same today. We have source code on one project at work which hasn't had a code change in 6 years now (despite moving through different versions 2.8->3.0->3.3->3.5->4.0) and it runs daily without a hiccup.

    Mostly it's a joy working with it because I feel like I get to tell the computer what I want it to do, without also having to tell it how to do it.

What are some alternatives?

When comparing bqn-libs and kdb you can also consider the following projects:

Kbd - Alternative unified APL keyboard layouts (AltGr, Backtick, Compositions)

ngn-k-tutorial - An ngn/k tutorial.

PDP_11_Simulator - PDP11 Simulator written in APL

kona - Open-source implementation of the K programming language

array - Simple array language written in kotlin

kerf1 - Kerf (Kerf1) is a columnar tick database and time-series language for Linux/OSX/BSD/iOS/Android. It is written in C and natively speaks JSON and SQL. Kerf can be used for trading platforms, feedhandlers, low-latency networking, high-volume analysis of realtime and historical data, logfile processing, and more.