Following the HN link, I arrive at the github project page for KrzysztofSzewczyk/Euboea.
Scrolling down, I see in the readme text a section called Learning Euboea. That section tells me to go to the wiki (via a provided link).
Following that link, I find a wiki with three pages. Those three pages have very little substance.
Now I do notice the examples folder in the source, but even that just seems to have very limited snippets. I guess I was just expecting something different.
Why does it say AOT in the title and the README, but JIT in the project description? Did that change at one point and the description wasn't updated?
Edit: Actually it says AOT at the beginning of the README, but then JIT later in the Philosophy section. So I guess if the README has been updated, it's been updated incompletely.
I know this is (maybe) a little nit-picky, but what exactly does "blazingly fast" mean here? The README compares its performance in benchmarks against Lua, but Lua is not necessarily "blazingly fast" either when compared to outputs from C, C++, Rust, etc.
It's a term I hear everywhere (especially in the JS world), but I don't really understand what it implies.
It frustrates me too. I'm always on the look out for languages that implement modern performance approaches into their design. I'd love to see a language that focuses on data orientated design, auto-vectorisation and possibly something like reference capabilities for concurrent programming. That language would truly be "blazingly fast".
Seem bizarre to push being only four times faster than straight lua when it is compiled to native instructions. Lua is 50x-100x slower than a native binary.
Yes, at first I thought it was comparing against luajit, which is indeed blazingly fast. But for a compiled language just to be 4x faster than lua, I fail to see the point (of emphasizing it speed, not of the language itself).
We actually compared stock lua to luajit in production, for something with high load and serious performance requirements.
The difference turned out to be no big deal, less than x2 in speed. The real performance killer seems to be garbage collection and chasing pointers due to inefficient data structures. Luajit doesn't help much here.
In the end we went with stock lua because it doesn't have the 1 gigabyte memory limit, and so can use a much larger thread pool.
AOT (ahead of time) is your code is turned into machine code before you run it.
JIT (just in time) is your code turning into into machine code as you run it.
Machine code is what your CPU directly processes, so it can be very fast.
AOT languages can use more expensive techniques to make super optimised machine code since the cost is upfront when compiling the code, not when running it. But JIT languages can have features that exploit the fact that machine code is made on the fly.
It's what people think of when they mean "compiled" in the first place: ahead of time, i.e. before you start the program, as opposed to JIT "just in time" where you compile (and re-compile) parts while other parts are already running.
I've made a mistake while creating thread and I think I'm no longer able to edit the title.
I'm from Poland, so such name is natural for us.
Euboea depends on POSIX and X86 highly, therefore I thought about Euboea like about another text processing / computation language to be used in shell scripts making programming easier.
> isn't interfacing with C and "no access to files" contradictory
As UNIX philosophy states, CLI tools may use stdin and stdout (among other streams), to read data, process it, and output it back. Also, this model is ensuring a) safety, b) simplicity.
Interfacing with C is actually not that advanced right now and all you can do is to specify C function name by modifying libE.c, it's exported name usable from Euboea and amount of parameters (-1 if vararg)
> I'm from Poland, so such name is natural for us.
I'm aware, but your global audience is generally not. That's why I advise on name changes. You own your name, you can do anything to it. There are people from India with names so long that a byte overflows and there are people from Africa with exclamation marks (click sounds) in their names. I'm sure there's a great cultural heritage behind these names, but they're just impractical.
If I don't know how to pronounce a name, I am going to avoid you just a little bit more. I'm less likely to remember your name. I'll have to look it up to spell it right. Should I get into the unfortunate situation of having to pronounce it in public, I'm likely to embarrass myself.
In short, your name is a risk to me. A small risk, all things considered, but a risk nonetheless. It's causing me extra work. A small amount of extra work, but extra work nonetheless.
The thing is, it's not just me, it's almost everyone, even those who wouldn't dare admit it or those who are unconscious of it. All those tiny little negatives add up to a significant negative in your life. Studies show that "foreign-sounding" names lead to less job interviews, for instance, but it doesn't end there.
Of course, if you hate success (as is common in Poland) you might not be bothered by all of that. Sour grapes, but fair.
> Euboea depends on POSIX and X86 highly, therefore I thought about Euboea like about another text processing / computation language to be used in shell scripts making programming easier.
If that's the focus, your selling point should be something along these lines of "a simple programming language to create UNIX tools", because that's really what distinguishes it. I also think you can then give up on the whole "safety" aspect, because UNIX fundamentally is unsafe and "no access to files" becomes a limitation, not a feature.
If it's "presumptious" of me to point that out, I don't care. Only ever telling people what they want to hear is not helpful.
> Is the casual racism completely necessary?
Is the casual accusation of racism completely necessary?
It has nothing to do with race, more with history. Crab mentality is very common in the former "eastern block".
> Couldn't you just stick to the critique of the work rather than the person and his nationality?
I'm not criticizing the person's nationality, that's not their choice. I'm drawing the distinction between the individual and their nationality. You can be a proud Pole, doing polish things, espousing polish ideals and mannerisms above all else, whatever. You also can be an individual in global society who happens to be from Poland.
> You don’t need to cite the prevalence of racist bigotry. Most people are aware.
If you think discriminating based on difficult names is "racist bigotry", okay. It doesn't change the facts. If you want free discrimination showered upon you, keep your unpronouncable foreign name. If you want success, change it. It is common practice for a reason.
> Practising it is fucking despicable.
You know what's despicable? Accusing people of "being racist" for just acting like ordinary people happen to act. It's diminishing the impact of the word. Ordinary people, including you, do have these biases. Consciously, unconsciously, it doesn't matter.
I want people to do better for themselves, I can't change the world for them. Neither can you by leaving these comments on HN.
It’s common practice because there are a lot of racist bigots. That’s not a particularly compelling reason.
You suggested to someone that they hide their heritage so you don’t think less of them. You may consider that ordinary. But that’s common or garden racism.
And your inability to pronounce someone’s name is a failing in your education or experience. Your failing, not theirs.
> You suggested to someone that they hide their heritage so you don’t think less of them.
That's actually not true, that's your warped perception of what I'm saying. Your brain happens to portray me as a caricature of everything that's wrong in the world - a common bias you may not be conscious of.
Let's take my standpoint to the extreme. Let's say I know there's a bunch of violent Nazis roaming the streets and I suggest not to wear a Star Of David out there in public. Does that make me a Nazi or an endorser of Nazism? If I was the Nazi, wouldn't I rather want to withhold that piece of information?
In any event, your name is not your heritage and your heritage is not you.
> And your inability to pronounce someone’s name is a failing in your education or experience. Your failing, not theirs.
That's actually a pretty arrogant thing to say. Let's say there's an Indian restaurant chain that serves food worldwide. Are you going to say they'd be denying their heritage, if they tuned down the spices in markets where people generally can't stand hot food? Is it the failing of the people if they don't return after eating just one meal that was too spicy? You know what, maybe it is. That restaurant chain is still going out of business there.
Again, if you don't care about success, go all in with staying "true to your heritage" if you like to. Keep your unpronouncable name and insist on it being pronounced correctly.
I'm not complaining, your name choices aren't grievances of mine. I couldn't care less about the name of a stranger on the internet.
I'm informing you that they're objectively going to lower your chance of success. Considering that it is "impolite" to tell that to someone, it becomes uncommon knowledge. Fortunately, I'm not a polite person.
For what it's worth, if I had any scientific evidence that having an Anime avatar on Github lowered your chances of success, I would tell you that as well.
I will leave you with this quote by Donald Knuth:
"The most important thing in the programming language is the name. A language will not succeed without a good name. I have recently invented a very good name and now I am looking for a suitable language."
The name is just spelled like [ˈevia]. You know, we don't choose names ourselves. I feel comfortable with Krzysztof Szewczyk, but if it's risky for you, nothing stops you from calling me somewhat different.
This avatar wasn't taken from anime. It's drawing of Alexios Komnenos.
You mean it is pronounced like [ˈevia] in an alphabet that I don't understand and will not learn? See, that's why the name is bad. Why make people jump through pointless extra hoops? That's not UNIX-like at all!
As an entertaining aside, I find the consonant-vowel balance fascinating: KrzysztofSzewczyk/Euboea