I guess so, still seems off topic to me. I fail to understand why to link unrelated things like this. Its like if I were to say this everywhere: > btw I prefer people of the opposite sex (genetically speaking) to have sexual intercourse
I apologize, I could swear I had it but it seems he's merely a cringelord who can't program his way out of a paperbag, and couldn't hack it in physics so he dropped out with a master's and started working at behost.io
I will make sure to update the infographics for next time.
hahahahhahahaahahaha
What profound delusions. Literally can't make this shit up.
Well I'll have to give him this much: at least he knows how to program (checks notes) martian time in hare
hahahahahhahaa!
Then he is not a hare maintainer, retard. Hare is written in C
5 days ago
Anonymous
>Hare is written in C
Future compiler exploits galore!
But actually that would require the language to be used at all outside of nocoder toy bullshit
>can't program his way out of a paperbag
He probably wrote more real (C) code than you
>use after free and double free, both of which can lead to arbitrary code execution
No they can't
>Even C is better than hare at preventing use after free.
Source?
>days without Drewish Tricks: 0
5 days ago
Anonymous
Hare is simply based, that's why. Cute bunny mascot
5 days ago
Anonymous
You will NEVER be a real woman.
5 days ago
Anonymous
You don't seem to know what a maintainer is or does.
This guy maintains AUR packages for hare stuff. That's why he is listed as one of 8 maintainers in the hare contributing file. His other """contributions""" include an unfinished hare library (written in hare) for mayan time, and a finished one for martian time...
By the way, I was curious about the >80 contribs hare has received. I found that of these, and beside the maintainers, only 4 people even mentioned hare at all in their blogs (they literally all have blogs and other similar venues, like tilde, neocities, fediverse account, etc.). Of the 2, 2 only mentioned it as part of work they once did. The other 2 had 2 articles about it and that was it. Instead, most of the other contributors use go, c, rust, or are shilling a language called myrddin. Quite interesting, because you'd think, being contributors, they'd do a little more with the language, or be more vocal about it.
5 days ago
Anonymous
Myrddin is a oridb project, a 9front maintainer/contributor
The project should be no longer maintained iirc
5 days ago
Anonymous
> Myrddin
That's basically hare with generics an slightly more concise syntax
5 days ago
Anonymous
If one "contributes" to the language, he/she needs to contribute to a specification, standard library, compiler, etc.
making projects IN the language doesn't count.
4 days ago
Anonymous
A maintainer does not need to be a contributor. Also, contributing part of a standard library (thus written in the guest language, not the host) would be a valid contribution. >martian time
No. It is in fact gay and cringe. >no memory safety features >no way to prevent use after free (the most commonly exploitable memory bug)
Even C is better than hare at preventing use after free. >no generics
There is literally zero cost to adding Zig style generics (treating types as first class values) in hare except deliberate laziness and incompetence. >more bloated executables than C >slower than C
Why switch from a memory unsafe languages with a lot of tooling to keep bugs in check, to a new also memory unsafe language that is SLOWER and has ZERO tooling to deal with memory safety bugs. >m-muh nullable pointers
Ironically if you weren't nocoder scum you would realize that pointers being not nullable by default does not protect against the most common pointer bugs, namely use after free and double free, both of which can lead to arbitrary code execution >tooling segfaults regularly
I've managed to make the compiler abort. Like WTF I've never had a compiler unironically fail an assertion during compilation before this shitlang. >creator is a giant homosexual who constantly shills his language instead of making it good >the 3 posters I've identified in these threads are as follows >Drew (pseudointellectual) >ESL nocoder ubuntu user >Tranny shitcoder
>set pointers to NULL after freeing them >check pointers for NULL, since they should all be either valid or NULL, not invalid and not NULL >if you somehow fuck this up, you get an easy to debug crash instead of tearing your hair out for weeks while the chinese exploit your program during this time
If you were so inclined, you could wrap this in __attribute__((cleanup)) to have smart pointers in C, essentially function scope defer.
Hare has defer, but setting pointers to NULL requires making pointers nullable, which defeats the purpose of hare type system. Also dealing with NULL pointers without casting is cancerous and unnecessarily verbose in hare.
>use after free and double free, both of which can lead to arbitrary code execution
No they can't
>t. has zero clue what they are talking about
https://sternumiot.com/iot-blog/double-free-and-use-after-free-common-security-weaknesses-iot/
https://thehackernews.com/2022/04/google-project-zero-detects-record.html
>If you were so inclined, you could wrap this in __attribute__((cleanup)) to have smart pointers in C, essentially function scope defer. >Hare has defer, but setting pointers to NULL requires making pointers nullable, which defeats the purpose of hare type system. Also dealing with NULL pointers without casting is cancerous and unnecessarily verbose in hare.
So you can do in hare the same thing you can go in C yet in your previous post you stated somehow hare doesn't adrees the problem
Are you actually retarded? As
>reading comprehension
Try to keep up harebrain.
You cannot do the same thing in hare without having more safety guarantees than C, so why use C?
And hare does not address the problem, making every pointer nullable in hare will not only bloat the fuck out of your code, it will make it less safe than C due to the fact that C at least has asan and ubsan for debugging. Hare has none of that
.
Therefore, there is zero reason to use Hare over C outside of nocoder toys.
https://harelang.org/blog/2021-02-09-hare-advances-on-c/ > Even with these improvements, Hare manages to be a smaller, more conservative language than C, with our specification clocking in at less than 1/10th the size of C11, without sacrificing anything that you need to get things done in the systems programming world.
It's basically a better language overall
4 days ago
Anonymous
It has no specification. It claims to have one, but the document that stands for one is not a specification.
It has 0 advantage over c. It's much slower, makes bigger binaries, is just as unsafe, compiler slower, supports fewer platforms, is far buggier, isn't standardized yet, has no tools or libraries worth anything, etc.
4 days ago
Anonymous
These are the advantages over c
https://harelang.org/blog/2021-02-09-hare-advances-on-c/
Plus, it's not used by lonely retards like you
I accept your concession
4 days ago
Anonymous
It quite literally IS by lonely retards, which is quite literally the biggest problem about hare and why it's so shit and has only disadvantage over C. "Look mah I baked the library features into the language" is not an advantage, it's a disadvantage (now you're forced to have it even when you don't need it).
4 days ago
Anonymous
vlad and byron don't have trans flags
4 days ago
Anonymous
Vlad is not a troon but a commie. Count them: 3 trannies listed, not 4. Byron is just a cringie zoomer with no dev ability or experience at all. The important part is inexperience despite the inflated status, demonstrating how bad hare is hurting.
4 days ago
Anonymous
so only 3 trannies? BASED hare.
4 days ago
Anonymous
3 troons out of 8 maintainers.
4 days ago
Anonymous
80 people contributed to hare compiler
4 days ago
Anonymous
Look at the so-called contributions >fixed a typo >changed the doc
Wow such contributions. None of those people even talk about hare, or use it, or even advertise that they touched it. Why do they hate hare so much?
4 days ago
Anonymous
Hare doesn't need advertising. Simple as that
4 days ago
Anonymous
Nah, the people against hare are redditors and LULZ autists
It's pretty much a sign it's a good language without even knowing it
4 days ago
Anonymous
>LULZ autists
pretty much the only people who like hare are LULZners
4 days ago
Anonymous
Nope. It's not anymore a mystery hare shitposter are redditors who use LULZ
You know something it's nice when LULZ start screetchig about trans
4 days ago
Anonymous
Nah, the people against hare are redditors and LULZ autists
It's pretty much a sign it's a good language without even knowing it
Nobody likes hare, period, drew. You will never fit in without lurking more, by the way. >LULZner
lol
Your own contributors don't even so much as talk about the language or their contributions to it, they seem to actively shun it. Why?
4 days ago
Anonymous
Lol, only redditors don't like it.
You are a very week golem
4 days ago
Anonymous
Strange, there isn't a single person saying good things about it on the entire internet, even the contributors can't muster the time or effort for it. Doesn't matter if it's LULZ, reddit, hackernews, lwn, or slashdot, every time you shilled it, you got blasted and had a temper tantrum.
4 days ago
Anonymous
>Strange, there isn't a single person saying good things about it on the entire internet,
You mean Reddit, hn and LULZ?
What that could mean?
Redditors like you don't care because his "abrasive" and "problematic" opinions
Your master must be weak
4 days ago
Anonymous
Please find any place in the internet that isn't a contributor's site and is talking positively about hare on net balance.
4 days ago
Anonymous
Hare doesn't need pr
If you are into that kind of stuff you should look for rust they are working really hard on that
4 days ago
Anonymous
>"abrasive" and "problematic" opinions
Like sucking tranny cock and advocating for communism?
It quite literally IS by lonely retards, which is quite literally the biggest problem about hare and why it's so shit and has only disadvantage over C. "Look mah I baked the library features into the language" is not an advantage, it's a disadvantage (now you're forced to have it even when you don't need it).
4 days ago
Anonymous
That's what your peers think. Make up your mind > Sucking trannies cock
Calm down dude, that's just your fantasy
You can do the same things as you do in C
Plus you have non nullable pointers and compiler force nullable pointers to be checked before deference them
Hence hare memory safety is strictly greater than C
Are you actually, clinically retarded?
> Why use hare over C
Because programming languages have multiple metrics and in case of hare it offers advantages over C, namely a better string handling and error handling
If you are not shitposting reconsider your life and learn how to flip burgers, seriously
4 days ago
Anonymous
>You can do the same things as you do in C
You cannot without bloating your code to just end up with less safety because C has asan and ubsan and hare has none of that.
The problem with defer as a mechanism to stop use after free is that it requires the programmer to not be retarded and call defer, which every hare program ive ever seen has defer everywhere. Compare that to the RAII in C++ and Rust which despite those languages being naggerlicious at least they have consistency in allocation and deallocation if you are programming in a remotely idiomatic way. >Plus you have non nullable pointers and compiler force nullable pointers to be checked before deference them
This doesn't actually solve any memory issues because pointers being not NULL and free'd is the primary issue and hare has zero way to deal with that outside of using nullable pointers. You will never be a real programmer.
Checking nullable pointer in hare vs C is retardedly verbose. You are a fucking delusional nocoder if you don't think it will bloat your code by a factor of 2 AT LEAST. >Hence hare memory safety is strictly greater than C
It is not, because memory bugs have nothing to do with pointers being NULL and everything to do with double free and use after free, both of which comprise of most of the zero day exploits found by google project zero. Hare has ZERO way to deal with that without bloating your code by a factor of 2 JUST TO BE AT THE SAME LEVEL OF SAFETY AS C. LMAO.
https://harelang.org/blog/2021-02-09-hare-advances-on-c/ > Even with these improvements, Hare manages to be a smaller, more conservative language than C, with our specification clocking in at less than 1/10th the size of C11, without sacrificing anything that you need to get things done in the systems programming world.
It's basically a better language overall
I've read your naggerlicious blogpost Drew, and an advertisement tagline doesn't equate to reality.
If any of you harebrained tranny loving Drewish homosexuals can show me a hare code sample that shows an idiomatic way of dealing with use after free and double free I will gladly admit defeat. But you can't, and all you will do is cope, seethe and dilate.
4 days ago
Anonymous
And to clarify what I mean by "defer everywhere"
is that unlike C++, Rust, and my specific idiomatic way of writing C, there is no "standard" place for defer to go. It can be in the beginning of a function, or in the middle nested under 3 match statements that the shitty segfaulting compiler forces you to do just do check if ptr != NULL. Absolutely trash language.
4 days ago
Anonymous
>show me a hare code sample that shows an idiomatic way of dealing with use after free and double free
You can just create a smart pointer
type smartptr = struct {
ptr: nullable *void,
freed: bool,
};
>no type safety >no encapsulation >no thread safety
Oh wait I forget hare has no threads, KEK. I keep forgetting this language explicitly has zero way to scale for any performance critical applications. >aborting on use after free instead of just not accessing the pointer
Of course a harebrain would think this is acceptable. >deliberately did not include the autistic ass syntax for using this contraption because the equivalent in function C is 100 times smaller.
Every time.
> Hare has ZERO way to deal with that without bloating your code by a factor of 2 JUST TO BE AT THE SAME LEVEL OF SAFETY AS C. LMAO.
Nice way of contradicting yourself in the same sentence
Show me a way to force a pointer to be non nullable and thus avoiding deferencing it by mistake
There is no contradiction. There is no reason to use Hare over C when C is just as safe as hare and has better tooling, more mature libraries, isn't ran by a single autistic tranny lover, and is smaller, faster, and has threads. >Show me a way to force a pointer to be non nullable and thus avoiding deferencing it by mistake
if (ptr) {
/* ... */
}
Earlier in code
free(ptr);
ptr = NULL;
> project zero. Hare has ZERO way to deal with that without bloating your code by a factor of 2 JUST TO BE AT THE SAME LEVEL OF SAFETY AS C. LMAO.
That's a huge overstimation. If you are icnvinced of that shows some measurement to convince us
The small overhead of wrapping deferencing in match statement it's valuable enough
You're not paid by loc or chars typed aren't you?
Yes because
match (z) {
case null =>
abort();
case let z: *int =>
yield *z; // Valid
};
Is in the harebrained mind somehow more readable than
if (ptr) {
/* do something with *ptr */
}
You are all fucking delusional nocoders. This example is the smallest possible one and it is LITERALLY TWICE AS LONG
4 days ago
Anonymous
>Oh wait I forget hare has no threads
You don't need that. the UNIX way is to create more processes and communicate between those
4 days ago
Anonymous
>You don't need that. the UNIX way is to create more processes and communicate between those
The UNIX way is to use pthreads when you need threads, because they exist on every modern UNIX system. >implying there is zero need for lightweight processes >t. nocoder
That is not only way, way slower, it is 100 times more overhead because sharing data between processes is significantly more difficult, error prone, and time consuming than threads.
What about the extremely common use case of simply needing to do 2 things at the same time?
Here is an example.
In a simplex modem application, the receiver needs to be always running so that it can stop the transmitter from clobbering a signal via carrier sensing. This requires doing 2 things at the same time WHILE sharing state. Seperate processes would simply be too slow at sharing state without unironically using pthreads with the PTHREAD_*_SHARED attribute on a mutex, barrier or condition to access a shared memory map.
The code in Hare would be more bloated, slower, and have more bugs simply because the creator is too lazy and or dumb to implement threads and copes with >muh 1970s UNIX way
UNIX has come a long way homosexual.
4 days ago
Anonymous
>implying there is zero need for lightweight processes
There is not, really
>That is not only way, way slower, it is 100 times more overhead because sharing data between processes is significantly more difficult, error prone, and time consuming than threads.
Difficulty wise they are the same. Maybe processes are are less error prone since they share less states >What about the extremely common use case of simply needing to do 2 things at the same time?
You use 2 processes? >Here is an example. >In a simplex modem application, the receiver needs to be always running so that it can stop the transmitter from clobbering a signal via carrier sensing. This requires doing 2 things at the same time WHILE sharing state.
Share state by communicating between processes > Seperate processes would simply be too slow
"Too slow" needs to be compared to something. Too slow for what?
4 days ago
Anonymous
Another example would be the most performant networking library in existence, ZeroMQ.
Every time you use ZeroMQ it spins up a thread for IO. Doing that with processes would defeat the entire purpose and make everything slow for NO REASON.
4 days ago
Anonymous
>make everything slow for NO REASON.
UNIX isn't about speed. Why do you think UNIX prefers text protocols and character devices for system and device management?
4 days ago
Anonymous
Bait
>Show me a way to force a pointer to be non nullable and thus avoiding deferencing it by mistake >if (ptr) { > /* ... */ >}
That's doesn't force it. You are merely checking if it's null.
I asked for a way to make **impossible** to deference a nullable pointer
I'll wait
>Yes because >match (z) { >case null => > abort(); >case let z: *int => > yield *z; // Valid >}; > >Is in the harebrained mind somehow more readable than >if (ptr) { > /* do something with *ptr */ >} >
Match statement are reused for both forcing pointer access **and** error handling. It seems kinda retarded to implement two different way of doing very similar things
>I asked for a way to make **impossible** to deference a nullable point >compile C with -fsanitize=addresss >attempt to dereference NULL poitner >program aborts with an error message
In what way is this different than anything I've seen in hare?
You can statically link AddressSanitizer. >Match statement are reused for both forcing pointer access **and** error handling. It seems kinda retarded to implement two different way of doing very similar things >cope
And the tradeoff is that accessing pointers (the only way to actually deal with use after free) is twice as bloated. Just like I said it is. Please kill yourself.
4 days ago
Anonymous
> Compile with -fsanitize
But I can not do that
The point is the what the implicit access is. Making explicit doing something dangerous (hare) vs making explicit not being able to do something dangerous (C)
The second way allows you to do mistakes unwillingly, that's the point
I'm still waiting
>That's doesn't force it. You are merely checking if it's null. >I asked for a way to make **impossible** to deference a nullable pointer >I'll wait
Why are hare fags so retarded? Here, this will check if it is null during COMPILE TIME with zero runtime overhead.
#define DEREF(ptr) if (ptr == NULL) {
#error "cannot dereference a null pointer!"
} else {
*ptr;
}
Now do, that in hare
I can still not do that. You are also bloating your code for something should be in the language itself, so that should make you angry
4 days ago
Anonymous
>But I can not do that
Bait >The second way allows you to do mistakes unwillingly, that's the point
Don't be a retard? I've had zero use after free and double free bugs in C for a good long while now.
Here is an actual solution for hare. Why not allow if statements to "unwrap" nullable values. Zig does this and works great.
The match statement literally makes your code twice as bloated for no good reason. Zig has the same nullable pointer semantics but I can still use a single if statement to unwrap it.
>implying there is zero need for lightweight processes
There is not, really
>That is not only way, way slower, it is 100 times more overhead because sharing data between processes is significantly more difficult, error prone, and time consuming than threads.
Difficulty wise they are the same. Maybe processes are are less error prone since they share less states >What about the extremely common use case of simply needing to do 2 things at the same time?
You use 2 processes? >Here is an example. >In a simplex modem application, the receiver needs to be always running so that it can stop the transmitter from clobbering a signal via carrier sensing. This requires doing 2 things at the same time WHILE sharing state.
Share state by communicating between processes > Seperate processes would simply be too slow
"Too slow" needs to be compared to something. Too slow for what?
>There is not really
You have never written a single program. >Difficulty wise they are the same. Maybe processes are are less error prone since they share less states >have an object with a mutex, that wraps access to the shared state >literally just pass the object to threads >everything ok
VS >sending things through pipes >have to deal with all the semantics of pipes, and sockets if you use socketpair
Hmm that sucks, is error prone, and makes you write a fuck ton of Code. >allocate shared memory map
Wait we have to synchronize access, fuck I guess we have to use pthread libraries anyways. >shm_get
LMAO
I've written programs that have done all of these things and threads are by far simpler faster >Share state by communicating between processes
And how exactly would you do that. I've described how in my post, and it is slower than using threads. Maybe if you weren't a nocoder you could show me how I would do it? >"Too slow" needs to be compared to something. Too slow for what?
Using threads is faster.
You can kill yourself now.
>You can seethe about my white skin all that you want, but the language of the internet is English, and always has been.
If you are EFL it's more likely you are a blackmutt respect to ESL, I don't know of you are aware of that
>No matter how cancerous the web is, there is no doubt that if HTTP servers weren't performant, then your entire country wouldn't be able to send "Good Morning" on WhatsApp and start violently shitting all over each other in riots.
Performant != Critical
Are you sure you ever worked on real "critical applications"?
>Why should I use it over hare then? >Because ubsan makes undefined behavior not an issue in C.
So does hare. What's your point? What about the other features? >Pretty much nothing is needed. You are a retard >Projection. I've seen you in every single one of these threads. Why? You don't even code.
I'm not. But I always see that raii retard pasta and then after you receive a reply you start screetchig and write multiple wall of text
That does sounds like you are very lonely
Baked into every ESL is absolute seethe at Anglo superiority. >Performant != Critical >Are you sure you ever worked on real "critical applications"?
Give an example then.
4 days ago
Anonymous
>Bait
It's not. It's that I am right >Don't be a retard? I've had zero use after free and double free bugs in C for a good long while now.
That's how you show yourself as a freshly employed retards in a small business
You rarely work alone in Projects that matter >Here is an actual solution for hare. Why not allow if statements to "unwrap" nullable values. Zig does this and works great.
Because there's match statement that does that and there's no need to. >The match statement literally makes your code twice as bloated for no good reason.
You still stating this without any proof
Are you aware that the expexted value of something depends on the relative occurrence (ie occurrence distribution)? Do you have any education on statistics of even information theory or you are a code monkey? > Zig has the same nullable pointer semantics but I can still use a single if statement to unwrap it.
It seems like a very inane critics. Zig does have other problem that makes it not really a C replacement >You have never written a single program.
I'm starting to think you are the one who don't actually program
4 days ago
Anonymous
>You still stating this without any proof
Proof here
>no type safety >no encapsulation >no thread safety
Oh wait I forget hare has no threads, KEK. I keep forgetting this language explicitly has zero way to scale for any performance critical applications. >aborting on use after free instead of just not accessing the pointer
Of course a harebrain would think this is acceptable. >deliberately did not include the autistic ass syntax for using this contraption because the equivalent in function C is 100 times smaller.
Every time.
[...]
There is no contradiction. There is no reason to use Hare over C when C is just as safe as hare and has better tooling, more mature libraries, isn't ran by a single autistic tranny lover, and is smaller, faster, and has threads. >Show me a way to force a pointer to be non nullable and thus avoiding deferencing it by mistake
if (ptr) {
/* ... */
}
Earlier in code
free(ptr);
ptr = NULL;
[...]
Yes because
match (z) {
case null =>
abort();
case let z: *int =>
yield *z; // Valid
};
Is in the harebrained mind somehow more readable than
if (ptr) {
/* do something with *ptr */
}
You are all fucking delusional nocoders. This example is the smallest possible one and it is LITERALLY TWICE AS LONG
Twice as long in the smallest possible case.
You are right that Zig has other problems, but it at least has generics, threads the same level of error handling, modules, and I don't need to wrap every nullable pointer access in a 7 line minimum match statement.
Code bloat matters. Only ESL Sirs could possibly think otherwise.
>have an object with a mutex, that wraps access to the shared state >literally just pass the object to threads >everything ok
What is race condition and deadlock? >sending things through pipes >have to deal with all the semantics of pipes, and sockets if you use socketpair
There are libraries that abstract over sockets. That is actually more a socket critics than mp Vs mt
>Wait we have to synchronize access, fuck I guess we have to use pthread libraries anyways.
Why? Use synchronous protocol or CFDTs to some extent >shm_get >LMAO
What? Are you able to state some thought clearly? >I've written programs that have done all of these things and threads are by far simpler faster
They were toy programs then > Using threads is faster
Message passing seems to be perfomant enough over network. What makes you think it's not for local communication?
>You can kill yourself now. >Baked into every ESL is absolute seethe at Anglo superiority. > Anglo
Lol
>Give an example then.
Industrial controllers
Medical devices
>What is race condition and deadlock?
These can happen with multiple processes retard. You can also just use lock free objects with atomics for even faster code. >There are libraries that abstract over sockets. >bloating your code with an entire library vs just using a thread >Why? Use synchronous protocol or CFDTs to some extent >use an entire server vs just using threads
If we are talking about a shared memory map, you could also use posix semaphores, but those suck too. >What? Are you able to state some thought clearly?
You have never used shm_get clearly. >Message passing seems to be perfomant enough over network
It is literally the ONLY way over a network. Of course it will be good enough for the network, it has to be. The limitations of the network bring a whole host of other issue and it is still not even close to a as fast as just accessing memory in a thread. >Industrial controllers
I've worked on those, and you are absolutely delusional if you don't think speed matters.
Hare would not be a remotely feasible candidate to replace any software on anything I've worked on in that space regardless.
> HTTP
Nginx doesn't seems to have big performance problems
>Nginx >uses threads >is performant
I know.
Hare is a worthless shitlang. Every single time anyone brings up an actual issue with the language its sour grapes.
Drew, how many ESLs are you paying to shill this language?
4 days ago
Anonymous
> Proof here
I'm starting to think you are clinically retarded, no offense
In order to state how match on pointers contributes on program size you need to compute E(x~p(x))[f(x)] where p(x) is the distribution of pointer access in programs
Again, you seems very convinced on this, so you should provide some measurement > Code bloat matter
It depends on the bloat entity. Do the homework and come back when you have some measurement
> This can happen with multiple processes
Never stated that. You are the one that glissed disingenuously over multithreading resource problem
Arguably, since mp state is not shared by default makes it less likely to have race condition by accident > You never used shm_get clearly
I avoid shared memory for IPC as much as I can.
> It is literally the only way over netwok
There's also RPC but that's ok you can't know it
The fact that it doesn't represent a problem over a network, again, why do you think it's a problem in local communication? > I worked on those, and you are absolite delusional if you don't think speed matters
You are clearly not able to follow different arguement
Speed != Scaling, again
The only requirement for speed in controllers is that it's in a feasibility region, that's the opposite of scaling retard
4 days ago
Anonymous
Nginx uses a single event thread and has overall more a multiprocess core over multithreading
4 days ago
Anonymous
>have an object with a mutex, that wraps access to the shared state >literally just pass the object to threads >everything ok
What is race condition and deadlock? >sending things through pipes >have to deal with all the semantics of pipes, and sockets if you use socketpair
There are libraries that abstract over sockets. That is actually more a socket critics than mp Vs mt
>Wait we have to synchronize access, fuck I guess we have to use pthread libraries anyways.
Why? Use synchronous protocol or CFDTs to some extent >shm_get >LMAO
What? Are you able to state some thought clearly? >I've written programs that have done all of these things and threads are by far simpler faster
They were toy programs then > Using threads is faster
Message passing seems to be perfomant enough over network. What makes you think it's not for local communication?
>You can kill yourself now. >Baked into every ESL is absolute seethe at Anglo superiority. > Anglo
Lol
>Give an example then.
Industrial controllers
Medical devices
4 days ago
Anonymous
>Oh wait I forget hare has no threads, KEK.
Threads are kinda useless and not having them eliminate the problem
> I keep forgetting this language explicitly has zero way to scale for any performance critical applications.
You have processes. "Scaling " and "critical applications" don't generally go together, in any language >aborting on use after free instead of just not accessing the pointer
You can still access it by forcing the access with a keyword. Still it's very likely you are making a mistake if you don't explicitly state you are accessing a nulled pointers
function C is 100 times smaller.
>There is no contradiction.
Yea there is. If you state that "there is no way to do something" and continue with "unless" that's a logic contradiction
> There is no reason to use Hare over C when C is just as safe as hare and has better tooling, more mature libraries, isn't ran by a single autistic tranny lover, and is smaller, faster, and has threads.
People already posted you why use hare over c but I will post them again just to clarify > Namespaces and modules for a better organized code scope and more seamless 3rd party libraries collaboration without a central or distributed package manager > Less UB > Better error handling: monadic errors and propagation and forced acknowledgment of errors makes the code less error prone and eliminated constant deduplication of wrapping pointers and error codes. It also eliminates the need for special semantic interpretation of perfectly allowed return value as errors and force the coupling of return error code and errno
4 days ago
Anonymous
Good afternoon Sir, >Threads are kinda useless and not having them eliminate the problem
*eliminates
Fucking hell. English is not that hard.
You are nocoding scum who got filtered by threads. Fucking LMAO >Scaling " and "critical applications" >what is an HTTP server
>Yea there is. If you state that "there is no way to do something" and continue with "unless" that's a logic contradiction
If the way to do something is objectively worse than the thing you are trying to replace, than what is the point of using the new thing? >Namespaces and modules
A nice feature, but ultimately not needed. >Less UB
ubsan exists for C. >Better error handling
You don't need this. Every time I've ever seen it used to its fullest extent in hare, it bloats the code, all to essentially print a more exact error message to a user.
4 days ago
Anonymous
>Good afternoon Sir, >Threads are kinda useless and not having them eliminate the problem >*eliminates >Fucking hell. English is not that hard.
You still seems to not understand that people do not care about English as long as the content is understandable
Reddit is a better suited place to get angry about a languages grammar spoken by a minority of the world population
>You are nocoding scum who got filtered by threads. >Scaling " and "critical applications" >what is an HTTP server
It doesn't sounds like a "critical applications". We have different ideas about what really is a "critical applications"
>If the way to do something is objectively worse than the thing you are trying to replace, than what is the point of using the new thing?
It's worse in what way? >Namespaces and modules >A nice feature, but ultimately not needed.
Pretty much nothing is needed. You are a retard >Less UB >ubsan exists for C.
Why should I use it over hare then? >Better error handling >You don't need this. Every time I've ever seen it used to its fullest extent in hare, it bloats the code, all to essentially print a more exact error message to a user.
You are just an autist outcast that needs human interaction at this point. You seems to post in every hare thread waiting to talk with someone
4 days ago
Anonymous
>You still seems to not understand that people do not care about English as long as the content is understandable
You can seethe about my white skin all that you want, but the language of the internet is English, and always has been. >It doesn't sounds like a "critical applications". We have different ideas about what really is a "critical applications"
Because you are literally an unemployed nocoder.
No matter how cancerous the web is, there is no doubt that if HTTP servers weren't performant, then your entire country wouldn't be able to send "Good Morning" on WhatsApp and start violently shitting all over each other in riots.
I'd say this counts as "critical". >Why should I use it over hare then?
Because ubsan makes undefined behavior not an issue in C. Therefore Hare not having as much UB is no longer a selling point. >Pretty much nothing is needed. You are a retard
Yes, this includes Hare. We already have C. >You are just an autist outcast that needs human interaction at this point. You seems to post in every hare thread waiting to talk with someone
Projection. I've seen you in every single one of these threads. Why? You don't even code.
4 days ago
Anonymous
>You can seethe about my white skin all that you want, but the language of the internet is English, and always has been.
If you are EFL it's more likely you are a blackmutt respect to ESL, I don't know of you are aware of that
>No matter how cancerous the web is, there is no doubt that if HTTP servers weren't performant, then your entire country wouldn't be able to send "Good Morning" on WhatsApp and start violently shitting all over each other in riots.
Performant != Critical
Are you sure you ever worked on real "critical applications"?
>Why should I use it over hare then? >Because ubsan makes undefined behavior not an issue in C.
So does hare. What's your point? What about the other features? >Pretty much nothing is needed. You are a retard >Projection. I've seen you in every single one of these threads. Why? You don't even code.
I'm not. But I always see that raii retard pasta and then after you receive a reply you start screetchig and write multiple wall of text
That does sounds like you are very lonely
4 days ago
Anonymous
> HTTP
Nginx doesn't seems to have big performance problems
4 days ago
Anonymous
>Show me a way to force a pointer to be non nullable and thus avoiding deferencing it by mistake >if (ptr) { > /* ... */ >}
That's doesn't force it. You are merely checking if it's null.
I asked for a way to make **impossible** to deference a nullable pointer
I'll wait
>Yes because >match (z) { >case null => > abort(); >case let z: *int => > yield *z; // Valid >}; > >Is in the harebrained mind somehow more readable than >if (ptr) { > /* do something with *ptr */ >} >
Match statement are reused for both forcing pointer access **and** error handling. It seems kinda retarded to implement two different way of doing very similar things
4 days ago
Anonymous
>That's doesn't force it. You are merely checking if it's null. >I asked for a way to make **impossible** to deference a nullable pointer >I'll wait
Why are hare fags so retarded? Here, this will check if it is null during COMPILE TIME with zero runtime overhead.
#define DEREF(ptr) if (ptr == NULL) {
#error "cannot dereference a null pointer!"
} else {
*ptr;
}
Now do, that in hare
4 days ago
Anonymous
> Hare has ZERO way to deal with that without bloating your code by a factor of 2 JUST TO BE AT THE SAME LEVEL OF SAFETY AS C. LMAO.
Nice way of contradicting yourself in the same sentence
Show me a way to force a pointer to be non nullable and thus avoiding deferencing it by mistake
4 days ago
Anonymous
> project zero. Hare has ZERO way to deal with that without bloating your code by a factor of 2 JUST TO BE AT THE SAME LEVEL OF SAFETY AS C. LMAO.
That's a huge overstimation. If you are icnvinced of that shows some measurement to convince us
The small overhead of wrapping deferencing in match statement it's valuable enough
You're not paid by loc or chars typed aren't you?
4 days ago
Anonymous
This is the ESL Sir by the way.
Each hare thread has these 2 posters. >ESL nocoder >Drew PseudoIntellectual
Sometimes there is a shitcoder tranny, but I don't see them this thread.
no
OP, please check the catalog before making duplicate threads.
There is already an active official /hare/ thread:
Isn't that one for transies
Yeah, you have a problem with that, bigot??
One /hare/ thread at a time. If you don't like my edition, make your own as soon as this one 404s.
> bigot
what lgtv+ has to do with tech?
Half of Hare dev team is trans. We have the right to celebrate it on /hare/ threads.
hare has 80 contributors. I doubt 40 of them are trans
Well, I'm one of them, and I'm telling you that half of us are trans.
I guess so, still seems off topic to me. I fail to understand why to link unrelated things like this. Its like if I were to say this everywhere:
> btw I prefer people of the opposite sex (genetically speaking) to have sexual intercourse
Based?
Based on what? HRT?
definitely not based on your mentally ill shizo postings
Source and evidence very clearly laid out in this pic, drew. Don't forget your pills. No, not those pills, the ones for your delusion.
No evidence for 3
2 rather
I apologize, I could swear I had it but it seems he's merely a cringelord who can't program his way out of a paperbag, and couldn't hack it in physics so he dropped out with a master's and started working at behost.io
I will make sure to update the infographics for next time.
>can't program his way out of a paperbag
He probably wrote more real (C) code than you
hahahahhahahaahahaha
What profound delusions. Literally can't make this shit up.
Well I'll have to give him this much: at least he knows how to program (checks notes) martian time in hare
hahahahahhahaa!
Then he is not a hare maintainer, retard. Hare is written in C
>Hare is written in C
Future compiler exploits galore!
But actually that would require the language to be used at all outside of nocoder toy bullshit
>days without Drewish Tricks: 0
Hare is simply based, that's why. Cute bunny mascot
You will NEVER be a real woman.
You don't seem to know what a maintainer is or does.
This guy maintains AUR packages for hare stuff. That's why he is listed as one of 8 maintainers in the hare contributing file. His other """contributions""" include an unfinished hare library (written in hare) for mayan time, and a finished one for martian time...
By the way, I was curious about the >80 contribs hare has received. I found that of these, and beside the maintainers, only 4 people even mentioned hare at all in their blogs (they literally all have blogs and other similar venues, like tilde, neocities, fediverse account, etc.). Of the 2, 2 only mentioned it as part of work they once did. The other 2 had 2 articles about it and that was it. Instead, most of the other contributors use go, c, rust, or are shilling a language called myrddin. Quite interesting, because you'd think, being contributors, they'd do a little more with the language, or be more vocal about it.
Myrddin is a oridb project, a 9front maintainer/contributor
The project should be no longer maintained iirc
> Myrddin
That's basically hare with generics an slightly more concise syntax
If one "contributes" to the language, he/she needs to contribute to a specification, standard library, compiler, etc.
making projects IN the language doesn't count.
A maintainer does not need to be a contributor. Also, contributing part of a standard library (thus written in the guest language, not the host) would be a valid contribution.
>martian time
1
2
34
No. It is in fact gay and cringe.
>no memory safety features
>no way to prevent use after free (the most commonly exploitable memory bug)
Even C is better than hare at preventing use after free.
>no generics
There is literally zero cost to adding Zig style generics (treating types as first class values) in hare except deliberate laziness and incompetence.
>more bloated executables than C
>slower than C
Why switch from a memory unsafe languages with a lot of tooling to keep bugs in check, to a new also memory unsafe language that is SLOWER and has ZERO tooling to deal with memory safety bugs.
>m-muh nullable pointers
Ironically if you weren't nocoder scum you would realize that pointers being not nullable by default does not protect against the most common pointer bugs, namely use after free and double free, both of which can lead to arbitrary code execution
>tooling segfaults regularly
I've managed to make the compiler abort. Like WTF I've never had a compiler unironically fail an assertion during compilation before this shitlang.
>creator is a giant homosexual who constantly shills his language instead of making it good
>the 3 posters I've identified in these threads are as follows
>Drew (pseudointellectual)
>ESL nocoder ubuntu user
>Tranny shitcoder
>Even C is better than hare at preventing use after free.
Source?
>set pointers to NULL after freeing them
>check pointers for NULL, since they should all be either valid or NULL, not invalid and not NULL
>if you somehow fuck this up, you get an easy to debug crash instead of tearing your hair out for weeks while the chinese exploit your program during this time
If you were so inclined, you could wrap this in __attribute__((cleanup)) to have smart pointers in C, essentially function scope defer.
Hare has defer, but setting pointers to NULL requires making pointers nullable, which defeats the purpose of hare type system. Also dealing with NULL pointers without casting is cancerous and unnecessarily verbose in hare.
>t. has zero clue what they are talking about
https://sternumiot.com/iot-blog/double-free-and-use-after-free-common-security-weaknesses-iot/
https://thehackernews.com/2022/04/google-project-zero-detects-record.html
>If you were so inclined, you could wrap this in __attribute__((cleanup)) to have smart pointers in C, essentially function scope defer.
>Hare has defer, but setting pointers to NULL requires making pointers nullable, which defeats the purpose of hare type system. Also dealing with NULL pointers without casting is cancerous and unnecessarily verbose in hare.
So you can do in hare the same thing you can go in C yet in your previous post you stated somehow hare doesn't adrees the problem
Are you actually retarded? As
>reading comprehension
Try to keep up harebrain.
You cannot do the same thing in hare without having more safety guarantees than C, so why use C?
And hare does not address the problem, making every pointer nullable in hare will not only bloat the fuck out of your code, it will make it less safe than C due to the fact that C at least has asan and ubsan for debugging. Hare has none of that
.
Therefore, there is zero reason to use Hare over C outside of nocoder toys.
*so why use Hare.
https://harelang.org/blog/2021-02-09-hare-advances-on-c/
> Even with these improvements, Hare manages to be a smaller, more conservative language than C, with our specification clocking in at less than 1/10th the size of C11, without sacrificing anything that you need to get things done in the systems programming world.
It's basically a better language overall
It has no specification. It claims to have one, but the document that stands for one is not a specification.
It has 0 advantage over c. It's much slower, makes bigger binaries, is just as unsafe, compiler slower, supports fewer platforms, is far buggier, isn't standardized yet, has no tools or libraries worth anything, etc.
These are the advantages over c
https://harelang.org/blog/2021-02-09-hare-advances-on-c/
Plus, it's not used by lonely retards like you
I accept your concession
It quite literally IS by lonely retards, which is quite literally the biggest problem about hare and why it's so shit and has only disadvantage over C. "Look mah I baked the library features into the language" is not an advantage, it's a disadvantage (now you're forced to have it even when you don't need it).
vlad and byron don't have trans flags
Vlad is not a troon but a commie. Count them: 3 trannies listed, not 4. Byron is just a cringie zoomer with no dev ability or experience at all. The important part is inexperience despite the inflated status, demonstrating how bad hare is hurting.
so only 3 trannies? BASED hare.
3 troons out of 8 maintainers.
80 people contributed to hare compiler
Look at the so-called contributions
>fixed a typo
>changed the doc
Wow such contributions. None of those people even talk about hare, or use it, or even advertise that they touched it. Why do they hate hare so much?
Hare doesn't need advertising. Simple as that
Nah, the people against hare are redditors and LULZ autists
It's pretty much a sign it's a good language without even knowing it
>LULZ autists
pretty much the only people who like hare are LULZners
Nope. It's not anymore a mystery hare shitposter are redditors who use LULZ
You know something it's nice when LULZ start screetchig about trans
Nobody likes hare, period, drew. You will never fit in without lurking more, by the way.
>LULZner
lol
Your own contributors don't even so much as talk about the language or their contributions to it, they seem to actively shun it. Why?
Lol, only redditors don't like it.
You are a very week golem
Strange, there isn't a single person saying good things about it on the entire internet, even the contributors can't muster the time or effort for it. Doesn't matter if it's LULZ, reddit, hackernews, lwn, or slashdot, every time you shilled it, you got blasted and had a temper tantrum.
>Strange, there isn't a single person saying good things about it on the entire internet,
You mean Reddit, hn and LULZ?
What that could mean?
Redditors like you don't care because his "abrasive" and "problematic" opinions
Your master must be weak
Please find any place in the internet that isn't a contributor's site and is talking positively about hare on net balance.
Hare doesn't need pr
If you are into that kind of stuff you should look for rust they are working really hard on that
>"abrasive" and "problematic" opinions
Like sucking tranny cock and advocating for communism?
That's what your peers think. Make up your mind
> Sucking trannies cock
Calm down dude, that's just your fantasy
drew btfo
cniles btfo
Oof! *drops mic*
Brutal.
> Reddit
QED
You can do the same things as you do in C
Plus you have non nullable pointers and compiler force nullable pointers to be checked before deference them
Hence hare memory safety is strictly greater than C
Are you actually, clinically retarded?
> Why use hare over C
Because programming languages have multiple metrics and in case of hare it offers advantages over C, namely a better string handling and error handling
If you are not shitposting reconsider your life and learn how to flip burgers, seriously
>You can do the same things as you do in C
You cannot without bloating your code to just end up with less safety because C has asan and ubsan and hare has none of that.
The problem with defer as a mechanism to stop use after free is that it requires the programmer to not be retarded and call defer, which every hare program ive ever seen has defer everywhere. Compare that to the RAII in C++ and Rust which despite those languages being naggerlicious at least they have consistency in allocation and deallocation if you are programming in a remotely idiomatic way.
>Plus you have non nullable pointers and compiler force nullable pointers to be checked before deference them
This doesn't actually solve any memory issues because pointers being not NULL and free'd is the primary issue and hare has zero way to deal with that outside of using nullable pointers. You will never be a real programmer.
Checking nullable pointer in hare vs C is retardedly verbose. You are a fucking delusional nocoder if you don't think it will bloat your code by a factor of 2 AT LEAST.
>Hence hare memory safety is strictly greater than C
It is not, because memory bugs have nothing to do with pointers being NULL and everything to do with double free and use after free, both of which comprise of most of the zero day exploits found by google project zero. Hare has ZERO way to deal with that without bloating your code by a factor of 2 JUST TO BE AT THE SAME LEVEL OF SAFETY AS C. LMAO.
I've read your naggerlicious blogpost Drew, and an advertisement tagline doesn't equate to reality.
If any of you harebrained tranny loving Drewish homosexuals can show me a hare code sample that shows an idiomatic way of dealing with use after free and double free I will gladly admit defeat. But you can't, and all you will do is cope, seethe and dilate.
And to clarify what I mean by "defer everywhere"
is that unlike C++, Rust, and my specific idiomatic way of writing C, there is no "standard" place for defer to go. It can be in the beginning of a function, or in the middle nested under 3 match statements that the shitty segfaulting compiler forces you to do just do check if ptr != NULL. Absolutely trash language.
>show me a hare code sample that shows an idiomatic way of dealing with use after free and double free
You can just create a smart pointer
type smartptr = struct {
ptr: nullable *void,
freed: bool,
};
export fn smartptr_get(ptr: *smartptr) *void = {
if (ptr.freed) {
log::fatal("you already freed this, retard");
};
return ptr.ptr;
};
Simple.
>no type safety
>no encapsulation
>no thread safety
Oh wait I forget hare has no threads, KEK. I keep forgetting this language explicitly has zero way to scale for any performance critical applications.
>aborting on use after free instead of just not accessing the pointer
Of course a harebrain would think this is acceptable.
>deliberately did not include the autistic ass syntax for using this contraption because the equivalent in function C is 100 times smaller.
Every time.
There is no contradiction. There is no reason to use Hare over C when C is just as safe as hare and has better tooling, more mature libraries, isn't ran by a single autistic tranny lover, and is smaller, faster, and has threads.
>Show me a way to force a pointer to be non nullable and thus avoiding deferencing it by mistake
if (ptr) {
/* ... */
}
Earlier in code
free(ptr);
ptr = NULL;
Yes because
match (z) {
case null =>
abort();
case let z: *int =>
yield *z; // Valid
};
Is in the harebrained mind somehow more readable than
if (ptr) {
/* do something with *ptr */
}
You are all fucking delusional nocoders. This example is the smallest possible one and it is LITERALLY TWICE AS LONG
>Oh wait I forget hare has no threads
You don't need that. the UNIX way is to create more processes and communicate between those
>You don't need that. the UNIX way is to create more processes and communicate between those
The UNIX way is to use pthreads when you need threads, because they exist on every modern UNIX system.
>implying there is zero need for lightweight processes
>t. nocoder
That is not only way, way slower, it is 100 times more overhead because sharing data between processes is significantly more difficult, error prone, and time consuming than threads.
What about the extremely common use case of simply needing to do 2 things at the same time?
Here is an example.
In a simplex modem application, the receiver needs to be always running so that it can stop the transmitter from clobbering a signal via carrier sensing. This requires doing 2 things at the same time WHILE sharing state. Seperate processes would simply be too slow at sharing state without unironically using pthreads with the PTHREAD_*_SHARED attribute on a mutex, barrier or condition to access a shared memory map.
The code in Hare would be more bloated, slower, and have more bugs simply because the creator is too lazy and or dumb to implement threads and copes with
>muh 1970s UNIX way
UNIX has come a long way homosexual.
>implying there is zero need for lightweight processes
There is not, really
>That is not only way, way slower, it is 100 times more overhead because sharing data between processes is significantly more difficult, error prone, and time consuming than threads.
Difficulty wise they are the same. Maybe processes are are less error prone since they share less states
>What about the extremely common use case of simply needing to do 2 things at the same time?
You use 2 processes?
>Here is an example.
>In a simplex modem application, the receiver needs to be always running so that it can stop the transmitter from clobbering a signal via carrier sensing. This requires doing 2 things at the same time WHILE sharing state.
Share state by communicating between processes
> Seperate processes would simply be too slow
"Too slow" needs to be compared to something. Too slow for what?
Another example would be the most performant networking library in existence, ZeroMQ.
Every time you use ZeroMQ it spins up a thread for IO. Doing that with processes would defeat the entire purpose and make everything slow for NO REASON.
>make everything slow for NO REASON.
UNIX isn't about speed. Why do you think UNIX prefers text protocols and character devices for system and device management?
Bait
>I asked for a way to make **impossible** to deference a nullable point
>compile C with -fsanitize=addresss
>attempt to dereference NULL poitner
>program aborts with an error message
In what way is this different than anything I've seen in hare?
You can statically link AddressSanitizer.
>Match statement are reused for both forcing pointer access **and** error handling. It seems kinda retarded to implement two different way of doing very similar things
>cope
And the tradeoff is that accessing pointers (the only way to actually deal with use after free) is twice as bloated. Just like I said it is. Please kill yourself.
> Compile with -fsanitize
But I can not do that
The point is the what the implicit access is. Making explicit doing something dangerous (hare) vs making explicit not being able to do something dangerous (C)
The second way allows you to do mistakes unwillingly, that's the point
I'm still waiting
I can still not do that. You are also bloating your code for something should be in the language itself, so that should make you angry
>But I can not do that
Bait
>The second way allows you to do mistakes unwillingly, that's the point
Don't be a retard? I've had zero use after free and double free bugs in C for a good long while now.
Here is an actual solution for hare. Why not allow if statements to "unwrap" nullable values. Zig does this and works great.
The match statement literally makes your code twice as bloated for no good reason. Zig has the same nullable pointer semantics but I can still use a single if statement to unwrap it.
>There is not really
You have never written a single program.
>Difficulty wise they are the same. Maybe processes are are less error prone since they share less states
>have an object with a mutex, that wraps access to the shared state
>literally just pass the object to threads
>everything ok
VS
>sending things through pipes
>have to deal with all the semantics of pipes, and sockets if you use socketpair
Hmm that sucks, is error prone, and makes you write a fuck ton of Code.
>allocate shared memory map
Wait we have to synchronize access, fuck I guess we have to use pthread libraries anyways.
>shm_get
LMAO
I've written programs that have done all of these things and threads are by far simpler faster
>Share state by communicating between processes
And how exactly would you do that. I've described how in my post, and it is slower than using threads. Maybe if you weren't a nocoder you could show me how I would do it?
>"Too slow" needs to be compared to something. Too slow for what?
Using threads is faster.
You can kill yourself now.
Baked into every ESL is absolute seethe at Anglo superiority.
>Performant != Critical
>Are you sure you ever worked on real "critical applications"?
Give an example then.
>Bait
It's not. It's that I am right
>Don't be a retard? I've had zero use after free and double free bugs in C for a good long while now.
That's how you show yourself as a freshly employed retards in a small business
You rarely work alone in Projects that matter
>Here is an actual solution for hare. Why not allow if statements to "unwrap" nullable values. Zig does this and works great.
Because there's match statement that does that and there's no need to.
>The match statement literally makes your code twice as bloated for no good reason.
You still stating this without any proof
Are you aware that the expexted value of something depends on the relative occurrence (ie occurrence distribution)? Do you have any education on statistics of even information theory or you are a code monkey?
> Zig has the same nullable pointer semantics but I can still use a single if statement to unwrap it.
It seems like a very inane critics. Zig does have other problem that makes it not really a C replacement
>You have never written a single program.
I'm starting to think you are the one who don't actually program
>You still stating this without any proof
Proof here
Twice as long in the smallest possible case.
You are right that Zig has other problems, but it at least has generics, threads the same level of error handling, modules, and I don't need to wrap every nullable pointer access in a 7 line minimum match statement.
Code bloat matters. Only ESL Sirs could possibly think otherwise.
>What is race condition and deadlock?
These can happen with multiple processes retard. You can also just use lock free objects with atomics for even faster code.
>There are libraries that abstract over sockets.
>bloating your code with an entire library vs just using a thread
>Why? Use synchronous protocol or CFDTs to some extent
>use an entire server vs just using threads
If we are talking about a shared memory map, you could also use posix semaphores, but those suck too.
>What? Are you able to state some thought clearly?
You have never used shm_get clearly.
>Message passing seems to be perfomant enough over network
It is literally the ONLY way over a network. Of course it will be good enough for the network, it has to be. The limitations of the network bring a whole host of other issue and it is still not even close to a as fast as just accessing memory in a thread.
>Industrial controllers
I've worked on those, and you are absolutely delusional if you don't think speed matters.
Hare would not be a remotely feasible candidate to replace any software on anything I've worked on in that space regardless.
>Nginx
>uses threads
>is performant
I know.
Hare is a worthless shitlang. Every single time anyone brings up an actual issue with the language its sour grapes.
Drew, how many ESLs are you paying to shill this language?
> Proof here
I'm starting to think you are clinically retarded, no offense
In order to state how match on pointers contributes on program size you need to compute E(x~p(x))[f(x)] where p(x) is the distribution of pointer access in programs
Again, you seems very convinced on this, so you should provide some measurement
> Code bloat matter
It depends on the bloat entity. Do the homework and come back when you have some measurement
> This can happen with multiple processes
Never stated that. You are the one that glissed disingenuously over multithreading resource problem
Arguably, since mp state is not shared by default makes it less likely to have race condition by accident
> You never used shm_get clearly
I avoid shared memory for IPC as much as I can.
> It is literally the only way over netwok
There's also RPC but that's ok you can't know it
The fact that it doesn't represent a problem over a network, again, why do you think it's a problem in local communication?
> I worked on those, and you are absolite delusional if you don't think speed matters
You are clearly not able to follow different arguement
Speed != Scaling, again
The only requirement for speed in controllers is that it's in a feasibility region, that's the opposite of scaling retard
Nginx uses a single event thread and has overall more a multiprocess core over multithreading
>have an object with a mutex, that wraps access to the shared state
>literally just pass the object to threads
>everything ok
What is race condition and deadlock?
>sending things through pipes
>have to deal with all the semantics of pipes, and sockets if you use socketpair
There are libraries that abstract over sockets. That is actually more a socket critics than mp Vs mt
>Wait we have to synchronize access, fuck I guess we have to use pthread libraries anyways.
Why? Use synchronous protocol or CFDTs to some extent
>shm_get
>LMAO
What? Are you able to state some thought clearly?
>I've written programs that have done all of these things and threads are by far simpler faster
They were toy programs then
> Using threads is faster
Message passing seems to be perfomant enough over network. What makes you think it's not for local communication?
>You can kill yourself now.
>Baked into every ESL is absolute seethe at Anglo superiority.
> Anglo
Lol
>Give an example then.
Industrial controllers
Medical devices
>Oh wait I forget hare has no threads, KEK.
Threads are kinda useless and not having them eliminate the problem
> I keep forgetting this language explicitly has zero way to scale for any performance critical applications.
You have processes. "Scaling " and "critical applications" don't generally go together, in any language
>aborting on use after free instead of just not accessing the pointer
You can still access it by forcing the access with a keyword. Still it's very likely you are making a mistake if you don't explicitly state you are accessing a nulled pointers
function C is 100 times smaller.
>There is no contradiction.
Yea there is. If you state that "there is no way to do something" and continue with "unless" that's a logic contradiction
> There is no reason to use Hare over C when C is just as safe as hare and has better tooling, more mature libraries, isn't ran by a single autistic tranny lover, and is smaller, faster, and has threads.
People already posted you why use hare over c but I will post them again just to clarify
> Namespaces and modules for a better organized code scope and more seamless 3rd party libraries collaboration without a central or distributed package manager
> Less UB
> Better error handling: monadic errors and propagation and forced acknowledgment of errors makes the code less error prone and eliminated constant deduplication of wrapping pointers and error codes. It also eliminates the need for special semantic interpretation of perfectly allowed return value as errors and force the coupling of return error code and errno
Good afternoon Sir,
>Threads are kinda useless and not having them eliminate the problem
*eliminates
Fucking hell. English is not that hard.
You are nocoding scum who got filtered by threads. Fucking LMAO
>Scaling " and "critical applications"
>what is an HTTP server
>Yea there is. If you state that "there is no way to do something" and continue with "unless" that's a logic contradiction
If the way to do something is objectively worse than the thing you are trying to replace, than what is the point of using the new thing?
>Namespaces and modules
A nice feature, but ultimately not needed.
>Less UB
ubsan exists for C.
>Better error handling
You don't need this. Every time I've ever seen it used to its fullest extent in hare, it bloats the code, all to essentially print a more exact error message to a user.
>Good afternoon Sir,
>Threads are kinda useless and not having them eliminate the problem
>*eliminates
>Fucking hell. English is not that hard.
You still seems to not understand that people do not care about English as long as the content is understandable
Reddit is a better suited place to get angry about a languages grammar spoken by a minority of the world population
>You are nocoding scum who got filtered by threads.
>Scaling " and "critical applications"
>what is an HTTP server
It doesn't sounds like a "critical applications". We have different ideas about what really is a "critical applications"
>If the way to do something is objectively worse than the thing you are trying to replace, than what is the point of using the new thing?
It's worse in what way?
>Namespaces and modules
>A nice feature, but ultimately not needed.
Pretty much nothing is needed. You are a retard
>Less UB
>ubsan exists for C.
Why should I use it over hare then?
>Better error handling
>You don't need this. Every time I've ever seen it used to its fullest extent in hare, it bloats the code, all to essentially print a more exact error message to a user.
You are just an autist outcast that needs human interaction at this point. You seems to post in every hare thread waiting to talk with someone
>You still seems to not understand that people do not care about English as long as the content is understandable
You can seethe about my white skin all that you want, but the language of the internet is English, and always has been.
>It doesn't sounds like a "critical applications". We have different ideas about what really is a "critical applications"
Because you are literally an unemployed nocoder.
No matter how cancerous the web is, there is no doubt that if HTTP servers weren't performant, then your entire country wouldn't be able to send "Good Morning" on WhatsApp and start violently shitting all over each other in riots.
I'd say this counts as "critical".
>Why should I use it over hare then?
Because ubsan makes undefined behavior not an issue in C. Therefore Hare not having as much UB is no longer a selling point.
>Pretty much nothing is needed. You are a retard
Yes, this includes Hare. We already have C.
>You are just an autist outcast that needs human interaction at this point. You seems to post in every hare thread waiting to talk with someone
Projection. I've seen you in every single one of these threads. Why? You don't even code.
>You can seethe about my white skin all that you want, but the language of the internet is English, and always has been.
If you are EFL it's more likely you are a blackmutt respect to ESL, I don't know of you are aware of that
>No matter how cancerous the web is, there is no doubt that if HTTP servers weren't performant, then your entire country wouldn't be able to send "Good Morning" on WhatsApp and start violently shitting all over each other in riots.
Performant != Critical
Are you sure you ever worked on real "critical applications"?
>Why should I use it over hare then?
>Because ubsan makes undefined behavior not an issue in C.
So does hare. What's your point? What about the other features?
>Pretty much nothing is needed. You are a retard
>Projection. I've seen you in every single one of these threads. Why? You don't even code.
I'm not. But I always see that raii retard pasta and then after you receive a reply you start screetchig and write multiple wall of text
That does sounds like you are very lonely
> HTTP
Nginx doesn't seems to have big performance problems
>Show me a way to force a pointer to be non nullable and thus avoiding deferencing it by mistake
>if (ptr) {
> /* ... */
>}
That's doesn't force it. You are merely checking if it's null.
I asked for a way to make **impossible** to deference a nullable pointer
I'll wait
>Yes because
>match (z) {
>case null =>
> abort();
>case let z: *int =>
> yield *z; // Valid
>};
>
>Is in the harebrained mind somehow more readable than
>if (ptr) {
> /* do something with *ptr */
>}
>
Match statement are reused for both forcing pointer access **and** error handling. It seems kinda retarded to implement two different way of doing very similar things
>That's doesn't force it. You are merely checking if it's null.
>I asked for a way to make **impossible** to deference a nullable pointer
>I'll wait
Why are hare fags so retarded? Here, this will check if it is null during COMPILE TIME with zero runtime overhead.
#define DEREF(ptr) if (ptr == NULL) {
#error "cannot dereference a null pointer!"
} else {
*ptr;
}
Now do, that in hare
> Hare has ZERO way to deal with that without bloating your code by a factor of 2 JUST TO BE AT THE SAME LEVEL OF SAFETY AS C. LMAO.
Nice way of contradicting yourself in the same sentence
Show me a way to force a pointer to be non nullable and thus avoiding deferencing it by mistake
> project zero. Hare has ZERO way to deal with that without bloating your code by a factor of 2 JUST TO BE AT THE SAME LEVEL OF SAFETY AS C. LMAO.
That's a huge overstimation. If you are icnvinced of that shows some measurement to convince us
The small overhead of wrapping deferencing in match statement it's valuable enough
You're not paid by loc or chars typed aren't you?
This is the ESL Sir by the way.
Each hare thread has these 2 posters.
>ESL nocoder
>Drew PseudoIntellectual
Sometimes there is a shitcoder tranny, but I don't see them this thread.
>use after free and double free, both of which can lead to arbitrary code execution
No they can't
Good morning hare sirs! Want to help write a http library?
drew btfo again
I haven't spent a single second checking it out and have no intention to no matter how many posts I see and how cute and funny the bunny becomes