4 ms·
Whitney is so fascinating to me. His code is simultaneously awe-inspiring and horrifying. It's like he struck a Faustian bargain to gain programming powers beyo
by nemo1618 8y ago
Whitney is so fascinating to me. His code is simultaneously awe-inspiring and horrifying. It's like he struck a Faustian bargain to gain programming powers beyond the ken of mere mortals, and is now cursed to write transcendently beautiful code that manifests as unintelligible gibberish to everyone else.
- jonathanhd 8y agoIf you think this is horrifying you should see what people-who-aren't-Whitney write when they're copying his style, or adding to his codebase.
- yiyus 8y agoI think this is one of the reasons he does not release his code. K is such a small language, with a very limited number of primitives, that were chosen for the task they wanted to solve. Every user would want to change that one he never uses for that one he uses the whole time, so we would have lots of k implementations, each of them with its own mesh of spaghetti code and slightly different behaviors. Talking for myself, I would love a FOSS version of k, but I am sure as hell I would patch a couple of things, and I am sure I would write much worse code than Whitney's (in his style or in my style).
- ploxiln 8y agoI think the closest thing is https://github.com/kevinlawler/kona https://github.com/kevinlawler/kona
- sansnomme 8y agoA more up to date version: https://github.com/JohnEarnest/ok https://github.com/JohnEarnest/ok
- 4thaccount 8y agoKevin Lawler and Scott Locklin (posts on here sometimes) tried to make a tsdb similar to kdb+ called kerf I think. I don't think it worked out, but it would've been nice to have a more affordable competitor.
- scottlocklin 8y agoFWIIW jd is pretty good and is definitely more affordable than Kx or Kerf.
- 4thaccount 8y agoThanks Scott! I remember reading one of your posts somewhere talking about Jd. I'm curious if you still use it, or if it or your admittedly non-expert J knowledge made sticking with R, Torch7, Lush, Tensorflow...etc more tenable. I figure you might also use Kerf. Speaking on that subject, would you and Kevin ever open-source the code if you're not selling it anymore?
- scottlocklin 8y agoI use jd on my side projects; it's great. J in general is what I invest in for side projects; powerful tool, best user community and decent support for the types of things I need.
- 4thaccount 8y agoThanks for the recommendation. I'll keep that in mind. If you ever get the chance I'd love to read some more J related articles as I find the language weirdly fascinating even though it ain't easy. The community doesn't write a lot of marketing junk either. I've been reading through "J the Natural Language for Analytic Computing" to scratch the itch when it comes up. I'm always impressed when I find that it has things like derivatives as a native primitive.
- scottlocklin 8y ago
- userbinator 8y agoEverything surrounding APL gives me that feeling, but then I remind myself that, just like Chinese (which appears just as baffling to those who haven't learned the language but have experience with Latin family ones only), there's a not-insignificant number of people who use the language every day and are highly productive at it. I like terse code and my style is closer to the early UNIX/K&R, yet I've noticed a lot of people already find that too terse; the "normal" style these days seems to be gradually getting more and more verbose (look at typical C# or Java, for example.) IMHO the readability argument in favour of verboseness is a bit of a misnomer --- you can easily "understand" a file full of extremely verbosely named functions all consisting of a single line, but that doesn't help at all with seeing the big picture. Judging by the amount of file-flipping and stack-jumping when I have to debug a project in that style, it probably hinders it. On the other hand, this is "code with a learning curve". You can't glance at it and understand immediately, but once you do take the time to read it carefully, you can understand more of the whole than if it was written in a more verbose style.
- bunderbunder 8y agoMy sense is that, once you get to a certain size of project, it becomes both impossible and undesirable for everyone in the project to be able to keep the whole thing in their head. And that this boundary is something of an event horizon in terms of what's desirable in a coding style - up becomes down and down becomes up. There's also a lot of code that's so tightly coupled to some business domain that it's natural to write it in the language of the business. That way you don't have to maintain separate mental models and translate between them.