5 ms·
I work in the financial industry and code in K3 (among a number of other languages). Things I like: highly orthogonal & minimalistic design (basically vectors
by snicker7 7y ago
I work in the financial industry and code in K3 (among a number of other languages).
Things I like: highly orthogonal & minimalistic design (basically vectors and functions acting on vectors), easy C FFI, well documented, satisfying to minify production code, my inflated salary (+job security for some).
Things I dislike: proprietary, impossible to skim, APL/J/K "culture", over-marketed, functions/operators overloaded in very unintuitive ways, lack of lexical scoping, interpreted languages falling out of vogue.
Overall, I recommend every coder to try K (or J or APL) at least once. They compare favorably to NumPy/R in many respects.
- jnordwick 7y ago> interpreted languages falling out of vogue This would be for performance issue though. And K, even when interpreted, is still faster than most people's C code because the interpreter does very little and most of the time is spent in optimized loops. Also, I heard rumors of a JIT (I've seen some of his compilation code and it is pretty amazing and small and even include SSE/AVX optimizations).
- yjftsjthsd-h 7y ago> include SSE/AVX optimizations I would expect K in particular to benefit immensely from SIMD instructions, yes?
- jnordwick 7y agoI think they were added about 5 years ago?
- userbinator 7y agoAPL/J/K "culture" What exactly is it about the "culture" which you dislike?
- shitgoose 7y agohigh brow. some people find it annoying:)
- robomartin 7y agoI used APL professionally for ten years. The only high-brow APL’ers I ever came across did almost nothing outside of APL. I love the language but it is, in my opinion, not much more than an academically interesting paradigm now. I agree that every programmer should have non-trivial exposure to these ideas (also Forth and Assembly). And then they should move on. The language stopped evolving some 20 to 30 years ago. Frankly, I am perplexed as to why it pops-up on HN so much.
- kick 7y agoThe language is more relevant than ever, especially with things like the D programming language (not 'WalterBright's thing, John Scholes's thing). Have you seen co-dfns?
- Athas 7y agoCo-dfns is interesting because I think it is the first compiler that has ever been written in a fully data-parallel style. But why does that make APL as a language particularly relevant, except that it was the implementation language?
- kick 7y agoI hesitate to answer this because I feel like 'arcfide's explained this much better than I can in one of his talks so maybe he'll see this and can point you to it, but if there's no response by the time I wake up tomorrow I'll give a detailed explanation on my views on this.
- chrispsn 7y agoI'd love to hear your views, regardless of whether you can find arcfide's.
- jim-jim-jim 7y agoWhat's the typical background of professional array lang programmers? Are they recruited from a community of enthusiasts who are already familiar with the language, or are they trained up from a pool of clever people already working in the industry? I don't think I've ever seen a J/K/APL job posting, but something tells me that maybe I'm not meant to see one.
- kick 7y agoBoth; array languages are really easy to learn when you have someone teaching you, so you can train newbies in a couple of weeks. I think 'RodgerTheGreat has a few anecdotes you can find using HN search on that. But it definitely helps to know it beforehand. APL/J/K job postings are pretty common, although less common than C or Rust postings. Just keep an eye out and you'll see one eventually (and if you do your stuff in public, you'll probably get an offer from one of the usual suspects).
- dilap 7y agoExactly how inflated of a salary are we talking about?
- thaumasiotes 7y agoThere was a comment about Q / kdb+ some years ago including the language "if you enjoy making furniture out of stacks of cash".
- kick 7y agok3; 1010data? If so, I'm really curious: has the k3 fork you guys have bifurcated far enough that it no longer resembles k3? It makes me really curious, because substantially modified k doesn't really seem like k much at all anymore. Things I dislike: [...] APL/J/K "culture", Ow. It cuts like a knife. Right in the heart! Is it the silly jokes? The bad memes in almost every presentation? That we think our approach is better than everyone else's because it produces better code, faster? That we like math?
- rthomas6 7y agoIn what ways is the code better?
- kick 7y agoImagine that you could write something that executed 10x faster, that required half the effort it'd take for you to write something in whatever language you're using right now, that you could reasonably be sure was bug-free, and that would reduce the complexity of your program by an order of magnitude. None of that is exaggerated; I think most of the comparisons usually have a far higher disparity between Iverson's family of languages and everything else. There are a few very plausible/simple/not at all "out there" reasons for all of this that I'll explain if you want.
- ttvecthrowaway 7y ago1010er here. I don't think Arthur would have trusted us with a fork if that was even a remote possibility. I find it true to the design and aesthetic of k3--you'd never notice if you didn't use the new features and they seem quite natural.
- kick 7y agoThank you so much for answering! That's fascinating! I hope that at some point someone expands on what features have been added.