Live data from Hacker News

Arthur Whitney's 'B' Language

kparc.com

41–50 of 109 posts

Re: Arthur Whitney's 'B' Language

#43
post #27

Programming is not telling the machine what to do. That's the easy part. What programming is about, and what's hard, is telling the next programmer what the machine does. This makes the easy part a bit easier, and the hard part much harder, than using C. And I already disliked C to begin with, for similar reasons.

Now I think you're right, but there is two strategies which boils down to the following: "you can either make a program that's so complex there is no obvious defect, or you can make a program so simple it's obvious there is no defect." What it says is that the hard part to make the next programmer understand what the machine does is not reading code, it's code complexity. Training yourself to read terse code is O(1),…

> Training yourself to read terse code is O(1) understanding code is O(N) where N is the number of lines of code.

Even granting that, this:

> f[iII]{m:0;$[k:-x;W(x){x-:1;j:y;N(k)y[i]:y[+i];y[k]:j;j:f[k;y;z];$[mz){m+:1;N(j){k:z[i];z[i]:z[j];z[j]:k;j-:1}}}];m}

Is not a single line of "terse code". It's a bunch of lines of code with the newlines and spaces removed.

> Try writing code as simple and succinct as possible.

I already strive to do that (I don't always succeed). But the operating word here is as possible. Not "above anything else".

Re: Arthur Whitney's 'B' Language

#44
post #32

https://gitlab.com/k7db/k Wasn't this public? https://duckduckgo.com/lite/?q=https://gitlab.com/k7db Reference: https://cs.nyu.edu/cs/faculty/shasha/papers/tutorial

Binaries can now be obtained from Anaconda: https://anaconda.org/shaktidb/shakti

Not sure what was on gitlab, I assume not source?

Re: Arthur Whitney's 'B' Language

#45
post #18

This is from 2015. I really wish something more from Whitney/kparc would materialize. Whitney/kparc previously covered on HN: https://news.ycombinator.com/from?site=kparc.com

He just released a new product a few weeks ago: http://shakti.com Downloadable now: https://www.reddit.com/r/apljk/comments/b1l5hi/shakti_trial_... Didn't get much attention on HN: https://news.ycombinator.com/item?id=19326007

It got attention here: https://news.ycombinator.com/item?id=19418570.

Re: Arthur Whitney's 'B' Language

#46
post #43

Earlier quoted context omitted.

Now I think you're right, but there is two strategies which boils down to the following: "you can either make a program that's so complex there is no obvious defect, or you can make a program so simple it's obvious there is no defect." What it says is that the hard part to make the next programmer understand what the machine does is not reading code, it's code complexity. Training yourself to read terse code is O(1),…

> Training yourself to read terse code is O(1) understanding code is O(N) where N is the number of lines of code. Even granting that, this: > f[iII]{m:0;$[k:-x;W(x){x-:1;j: y;N(k)y[i]:y[+i];y[k]:j;j:f[k;y;z];$[m z){m+:1;N(j){k:z[i];z[i]:z[j];z[j]:k;j-:1}}}];m} Is not a single line of "terse code". It's a bunch of lines of code with the newlines and spaces removed. > Try writing code as simple and succinct as possible…

I didn't wanted to say #node in the ast. The presentation or the variable names doesn't matter in terms of less code I believe. Whitney's code is obfuscated which is distinct from less code imo. To some extent. Succinct code is kind of great.

Just to confirm, I'm saying that after the user, the most important thing is less code.

In more practical terms, I'd say try "above anything else" to see where the actual limit is. From my experience, it's way further from where traditional programming is.

Re: Arthur Whitney's 'B' Language

#47
post #40

Earlier quoted context omitted.

Now I think you're right, but there is two strategies which boils down to the following: "you can either make a program that's so complex there is no obvious defect, or you can make a program so simple it's obvious there is no defect." What it says is that the hard part to make the next programmer understand what the machine does is not reading code, it's code complexity. Training yourself to read terse code is O(1),…

I did, once, when I was at school. It was great - everything was so fast to type, the program (a somewhat complex game) would fit in on two screens. I almost finished it in a week. And the I had exams, and did not touch the computer for two weeks. When I came back, I forgot it all. Cx? Dzy? Those names were meaningless. This was a very importantly lesson - programs must be maintaineable. Unless you want to spend your…

Cx? Dzy? Those names were meaningless.

A programmer doesn't rely on variable names to understand what the machine does, or very little. The contrary is a myth. In other terms, you always check what a variable contains anyway. That being said, I make a distinction between obfuscated code and less code. The former is about presentation, which in my opinion you're free to decide while the later is about #node in the ast. Sort of.

Re: Arthur Whitney's 'B' Language

#48
post #40

Earlier quoted context omitted.

I did, once, when I was at school. It was great - everything was so fast to type, the program (a somewhat complex game) would fit in on two screens. I almost finished it in a week. And the I had exams, and did not touch the computer for two weeks. When I came back, I forgot it all. Cx? Dzy? Those names were meaningless. This was a very importantly lesson - programs must be maintaineable. Unless you want to spend your…

Cx? Dzy? Those names were meaningless. A programmer doesn't rely on variable names to understand what the machine does, or very little. The contrary is a myth. In other terms, you always check what a variable contains anyway. That being said, I make a distinction between obfuscated code and less code. The former is about presentation, which in my opinion you're free to decide while the later is about # node in the as…

I hereby inform you that I, a programmer, _do_ use variable names to understand what other programmers want the machine to do.

This is 100% real, and not a myth.

Re: Arthur Whitney's 'B' Language

#49
post #44
post #32

https://gitlab.com/k7db/k Wasn't this public? https://duckduckgo.com/lite/?q=https://gitlab.com/k7db Reference: https://cs.nyu.edu/cs/faculty/shasha/papers/tutorial

Binaries can now be obtained from Anaconda: https://anaconda.org/shaktidb/shakti Not sure what was on gitlab, I assume not source?

The install for Anaconda is over 500MB.

If it is anything like k, the "shakti" binary is probably small, maybe under 260KB.

Is there a way to download just the shakti binary?

What are the restrictions on the trial version of shakti?

Is it time-limited (e.g., 30 days)?

Does it need an internet connection to be able to phone home? (I think FD/Kx started doing this with their 64bit trial.)

The backstory for all this is that Whitney sold his remaining interest in Kx around July of last year for around 53 million.

Quick US trademark search does not show any filings for a "shakti" mark that covers computer software.

Re: Arthur Whitney's 'B' Language

#50
post #25

Earlier quoted context omitted.

I would love to take a look at your notes. I'm fascinated by this and would greatly appreciate any help approaching it

Here it is for anyone who wants to have a look: https://docs.google.com/document/d/1W83ME5JecI2hd5hAUqQ1BVF3... I recommend you to keep the original files at hand for reference. Once you have understood it the first time, they are a better reference than my many pages document. When AW says he hates scrolling, it is not because he is lazy, it just doesn't go well with this style. I am sure there are mistakes. If you…

You are a hero
Post reply on HN