Show HN: Sabre – Bullshit-free (c) programming language
github.com
github.com
The runtime may do more than is documented currently, but the docs don't seem to describe a full language yet. E.g. there's an "any" type, but no way to inspect types. There is an "integer" type that holds... decimal numbers? That's possibly accurate, as there is no other number type. There's type inference mentioned once in the variables doc, but I didn't see it anywhere else so I have no idea if it only works with literals, or if there's inference anywhere.
Sabre should have gone with var. Without knowledge of existing languages, the meaning of let isn’t exactly obvious.
“let n is 10”
Tear some hair out every time, as I can’t get my brain to stop
spot the typo
Lol
In fact, I had assumed Sabre followed the more common pattern, and was quite surprised to discover it doesn’t later in the docs. I think that’s a pretty clear case of “bullshit” in the sense described in the README.
The whole BASIC family, including the VB subfamily, also breaks it, though in some (including VB) LET is an optional noise keyword and not required.
Slightly off-topic: I always wonder about the difference between "currently under development" and "under development". What is this extra word trying to tell us?
Often when I find redundant words like this in writing, they seem to be trying to reassure the writer that what they are saying will be believed. A thing is described as "important" when it really is, and "incredibly important" when the writer wants us to believe it is, but knows the evidence won't be enough to persuade us. Writing manuals advise "intensifiers weaken", meaning when you use an adverb to try to emphasize a quality, they actually raise doubt instead. This word "currently" seems to be acting in the role of an intensifier, but it is odd because it isn't one.
Now, to be clear, I don't actually doubt that the C backend is under development. Saying "currently" all the damn time is a sort of tic that many IT people have developed that you hear repeated more when they are nervous. What it implies, literally, is that it either wasn't, recently, or might not be anymore, soon; or both. But usually that is not what the speaker means to suggest.
Middle managers have different tics when they are actually lying to you. (Some people would say it when they open their mouths, but that is uncharitable.)
> A "bullshit-free programming language" is of course a highly subjective opinion
I hardly think the author would believe the concept to be subjective and also believe they have a monopoly on the phrase’s usage.
And your jump is laughable for multiple reasons:
a) It's a poor application of logic to imply not knowing Copyright vs Trademark would affect their ability to use an off the shelf license like Apache License 2.0...
The entire point of an off-the-shelf license like the one they used is to not require an understanding of the minutiae of copyright law
b) You're wrong anyways, the phrase is not something that could be trademarked.
Short phrases can be trademarked when they're "inherently creative" or have developed enough secondary meaning that they can be instantly tied to a product or service
"bullshit-free" passes neither bar, so it can't be trademarked.
Ergo you've actually shown that you yourself, do not know enough about licensing to be questioning their facetious use of the copyright mark. It's laughable you'd try to question that at all honestly.
Think about it: It's exceedingly rare to find a language/framework where an early step in learning doesn't include "ok, now throw out everything you've done, here's how we really build real things."
Does this mean the JVM is BS?
> let num = 10
That's bullshit. We don't need more languages trying to hide types.
We need a good statically and strongly typed language.
int32 num = 10;
There you go, much better.
Simply put, if you work with computers for a living, C helps feed your family.