Yea it's actually the most readable in the family to those who haven't put the effort into learning the array paradigm. Dyalog APL & J are the two other main languages in the family that have the largest user bases. Both are pretty awesome.
The K2 GUI was very handy for programmers, for rapid prototyping, but it is impractical to use it for making visually polished UIs you would give to a customer.
If a feature of K doesn't pull its weight, it is removed.
I wish there was a way to use this at my company without the monstrous price tag. I also wish kdb+ came with much better dashboard support kinda like Tableau...I want to retrieve and mold my data quickly with kdb+'s query language and once it is in the proper form, play with several chart types.
The PL is a little different (very similar to Haskell), interoperation with C/C++ is much more direct, and it's also suitable for low-latency applications (where the boxing overhead in K would be unsuitable).
Very difficult with large IT departments to get something unusual like this since you need hardware, a way to transfer data from your main database into an SSD to really take advantage of kdb+. Doing that would step on the toes of several departments and would require a large project to happen. Then you have the problem where many people aren't array language savvy. If kOS had a better way to build real time dashboards I would pay more attention. I really wish I could get a personal setup at work to do this (on the cheap), but classic IT really hates things outside their cotrol.
The author of that article has a very biased view tho'. An organisation that finds a lot of shadow IT happening probably ought to replace the head of the IT department since he or she is clearly not delivering what the users actually need.
From the link: Shadow IT can act as a brake on the adoption of new technology
IT should exist to help the domain users, but after a point they get too big and start to dictate what gets used even if nobody wants it. Like choosing the data analytics technology for the data analytics team when it is what they don't want/need. So then your data analytics team eventually goes outside budget to get what they actually wanted and you have two products. Very dysfunctional and common.
My IT department got suuuuuper confused just by the "db" in "kdb". It's a database! That means it must have roles and schemas and basically be a clone of Oracle! Here, fill out these 5,000 pages of paperwork!
This is Sapir-Whorf thinking. My understanding as a non-linguist is that this has never been proven. I know there is a strong/weak form of the hypothesis, but can't remember what the distinction is.
I'll be that guy that brings up Esperanto. I don't speak it fluently yet, but know it faaar better than Spanish which I have years of formal instruction in and have been exposed to a lot of Latin American culture. The important point is I've gotten very comfortable with Esperanto with only < 50 hours of learning. When around the house I can think of small things in Esperanto without trying. Esperanto was invented to be an easy auxiliary language to easily allow the world to communicate. It is against language imperialism.
> Esperanto was invented to be an easy auxiliary language to easily allow the world to communicate. It is against language imperialism.
It is only a rather recent development, since roughly the 1960s, that the Esperanto movement has advertised itself as a force against language imperialism and as purely an international second language for everyone, one that supposedly “protects” their native languages. Some Esperantists have criticized this change in marketing as simply trying to jump on the anti-imperialism and anti-globalization bandwagon just to get more attention for Esperanto.
L. L. Zamenhof himself hoped that Esperanto – or at least something like it – would eventually replace all world languages, because he saw those differences between peoples as purely a negative thing. (Just like his Homaranismo was an attempt to level out religious differences with a single spirituality that hopefully would be taken up by all.) Zamenhof’s own writings and his lifelong efforts show that he did not really care for cultural diversity as many people today would understand it and hope for.
I remember Jolt Cola [0] which was a super-caffienated cola drink, which I drank in the late 80s/early 90s when it was available in the UK (at least I found it in Edinburgh and Glasgow) from a few select delis that did US imports. Apparently a hacker staple in the USA, which is why we searched for it here...
I remember being surprised when I first regularly visited in 99 that red bull wasn’t well known in the US; it was readily available in the UK at that time.
Nim transpiles to C, C++, or JavaScript so it can run on nearly anything (Windows, Linux, MacOS, embedded to some degree, web browser...etc). Cobra appears to be .NET, so a little more restricted I guess.
Transpiling is a specific type of compilation that involves two languages with a similar level of abstraction.
Compilation involves languages with different levels of abstraction.
Nim offers a much higher-level abstraction than C, thus you could consider the process of converting Nim to C, a compilation process rather than a transpilation process.
This comes up everytime i post about this and most people agree with me that transpile means convert to a different source language. It is definitely a common use, but I realize it is a gray area.
Edit: Compiling def isn't wrong, but Transpiling is more descriptive to me as it indicates you're not going to assembly or machine language or something like that.
Compiling is the correct terminology here. Nim transpiles to JavaScript, but it compiles to C and C++. You don't say that Rust transpiles to LLVM IR, do you?
Mad respect for you Dom, but why would going from Nim -> JS be Transpiling and Nim-> C++ be compiling? Both go from a high level Lang to another high level Lang.
I would say compiles is a more general form of transpiles. Transpiling meaning it compiles into a higher level form i.e. c, C++, JavaScript, and compile meaning it compiles into a more lower level form i.e assembly, bytecode, etc?
Yes, but I have a tool for making images on my computer, too.
The handwritten bound notebook cannot be searched, diff'ed, or versioned. It is strictly inferior to the plaintext file in most ways that are in any way relevant to writing software.
Its nemesis, of course, is and has always been the mathematical equation, whose notations confound the plaintext writer at every turn. For those, you can write it to an image, or use LaTeX or MathML.
So searching an image is definitely nice, but it's a tradeoff in my opinion as it takes much longer to write out an equation in equation editor (I'm very proficient btw) or the other mathematical CAD tools I use when compared to a Notebook sketch. I use them all the time, take a pic and put it in OneNote with some keywords to search.
This assumes that the purpose of the doucment is to be archived, searched, diffed and reproduced. None of these is in fact the case. The purpose is as a tool in the production of the program being written.