4 ms·
I program in K professionally and help maintain a fairly large codebase. It's an unusual-looking language and it takes practice to learn to "skim" K code in the
by RodgerTheGreat 10y ago
I program in K professionally and help maintain a fairly large codebase. It's an unusual-looking language and it takes practice to learn to "skim" K code in the way that most programmers are used to for their favorite curly-bracket language, but it can be learned.
The biggest messes I have to clean up come less from "clever" code than they do from people who try to program in K as if it were some other language. For example, somebody fond of for loops might write the following to apply a function 'f' to pairings of values and their index in a list:
result:()
i:0
do[#v
r:r,,f[v[i];i]
i:i+1
]
Ugly, complicated, but "close at hand". There is of course a much nicer and more idiomatic way to do the same thing:
result: f'[v;!#v]
Most of the time conciseness isn't the goal, but you get it as a side effect of writing good code and working "with the grain" of the language.
- shitgoose 10y agoK, not Q? nice! if you don't mind me asking, where? i am curious who is using K these days.
- RodgerTheGreat 10y agoI work for an NYC-based company called 1010data which specializes in business analytics products. Most of our backend infrastructure is written in K3. And if anyone's curious, yes, we're hiring.
- posnet 10y agoIf you don't mind me asking, how does someone start with Q/Kdb+? Can you learn it with just the free version or realistically does it require working with it in a professional setting and learning from others who already use it. Are there any sources you recommend for a someone just starting out? Thanks.
- branchless 10y agoYou can get a kdb/q cookbook here: http://code.kx.com/wiki/Cookbook http://code.kx.com/wiki/Cookbook This includes a tutorial with a smartmeter concept which has several queries of increasing complexity: http://code.kx.com/wsvn/code/cookbook_code/tutorial/ http://code.kx.com/wsvn/code/cookbook_code/tutorial/ Step through this, look at the function definitions, cross-ref with the kdb reference page. Also read Q for mortals on their site: http://code.kx.com/wiki/Tutorials http://code.kx.com/wiki/Tutorials Yes it's not as accessible as other langs with loads of books, but on the plus side it's coherent, unlike c++.
- dinnerPlaht 10y agoI interviewed at the NYC office a few months ago and had a good experience. The people I met were smart, friendly, and respected my time.
- elemeno 10y agoBank of America uses it to quite an extent - especially in eFX.