what the frick is a compiler compiler?
if you mean something like YACC, almost no production compiler uses it because it makes it really hard to generate good errors
>nearing release on every front (Jai, Sokoban, Braid Anniversary) >Jon is speaking at LambdaConf (early May) about Jai
2 months ago
Anonymous
dude looking real rough here. like his face is swollen. maybe he should get back on the seed oil.
2 months ago
Anonymous
he needs the seed oil, estrogen and basedbeans NOW
2 months ago
Anonymous
After everything comes out and the backlash dies down on project Blow-S, because windows/macos/linux is still actually the problem and to build a temple only requires the will of one man which he actually started 2 years ago in the middle of shipping Jai, Sokoban, Braid anniversary
2 months ago
Anonymous
Tell us what you know anon. What is Blow-S and what did he start two years ago?
why the FRICK doesnt he use a compiler compiler?
this this wigger think that he shitted lexical analysis to this world?
he will never finish
>else if
But you told me he's a genius programmer?
why do webcucks get butthurt by @blowjob so much? like none of you morons made any compelling argument, but demonstrated instead a solid degree of dunning-kruger. did he hurt your feelings by calling out your worthlessness and general incompetence?
>Lets see your compiler then
Why do JoBlo meat riders do this? Why is it not ok to criticize a midwit without evoking this kind of response? If I say Mr. shitty architect sucks at his drawing, do you really respond "let's see your drawing then"? moronic homosexual pls kys.
>Mr. shitty architect sucks at his drawing, do you really respond "let's see your drawing then"?
Yes because your criticism is either substantial and you can articulate your reasoning or you're just blasting it out of your ass. In the latter case you should be publicly shamed and disrespected because that's what you deserve.
>If I say Mr. shitty architect sucks at his drawing, do you really respond "let's see your drawing then"?
I would if the criticism revealed it's coming from deep ignorance.
>is he still working on his language compiler in another language
Dog fooding is stupid and is for people who are too lazy to just write example code. >but it helps you work out quirks in the language
It also presents a giant problem for a very small benefit. Why do you think LLVM is written in C++? Its so they don't have to make an assembly version of LLVM for every device they want to port to. They can just write in C and then have it compile to most architectures. It means they get all the libraries of C and don't have to update all their assemblies to have a release. The C variants aren't going anywhere until the hardware guys start writing compiler code for the new C language. Blow can just have people write JAI code and submit bug reports if they find something broken why do you think he limited the people who were able to use the alpha to only competent programmers? He did it so that there would be no bogus bug reports. In conclusion dog fooding is for people who don't have a vision and just kind of guess how a program works on the spot.
>Guys its larping to not want to have to keep a bunch of different assembly versions up to date >guys just write it in C and bootstrap reproducing the trusting trust issue just because you can't into language design >t.brainlet
>has existed since the primordial ages
Sure, but you create a build issue which eventually always ends up with the trusting trust issue. >be building new language >start by writing compiler in assembly, C or whatever else >decide dog folding is good and to just write my entire compiler in my new language >use the compiler on my machine to compile all the other binaries >time passes >language has evolved past the point of the original compiler >now people have to trust that I am honest or they have to clone my last version of the original compiler, compile that then keep compiling compilers until they hit the modern version
That work flow is moronic. If you just stick with the C version the process become as simple as compile current version of compiler and you don't have to trust trust because you
can easily trace C back to its assembly compiler.
He's also writing a full game in the language as he's developing it, so it's not like he's not got enough code to test on without self hosting the compiler.
Explain your criticism more because the code in question is reasonable. He's using && to check for a range of possible values for c, which must be a valid hex digit otherwise an error is reported.
my reasoning is: Writing this using only the guard clauses already ensure that the next if statements will exclude the previous conditions, due to the return. So you can just do with ifs:
The compiler will figure everything out by itself, but if you plan on acting all mighty on camera, the least I expect of you is to actually understand what it is that you're coding.
2 months ago
Anonymous
Okay I gotcha, thanks for the explanation. It's a very marginal change all things considered. Those elses are probably a holdover from a previous version where he didn't return after each of these conditionals. He does get corrected on stuff like this fairly frequently by his chat
2 months ago
Anonymous
Yeah, it's not really important.
2 months ago
Anonymous
my guess is he had a variable called int result before and was manipulating it with these conditions. him being so strict about perfectionism and efficiency causes people to amplify such unimportant details. the compiler produces exactly the same output for both.
In C and C++ switch statements make a decision based on and only on the value of integers. You can not do comparisons and logic operations with a switch statement
1. they compile down to the same thing
2. a switch is SUPPOSED to be for exhaustiveness matching (pattern matching), if you're not using it for that, you're misusing switches
3. A switch for 3 cases is absolutely moron even when you're misusing them
2 months ago
Anonymous
don't even bother trying to explain it, after the yandaredev memes zoomies who've never written a line of code will flood any programming related thread and insist any if statements whatsoever be replaced with switch
there's like an hour long rant he made but the summary is >step in the right direction by being stricter than c++, but it overdoes it with the borrow checker which is too pedantic and annoying. Also you can mostly just loophole around it, if you allocate a big Vec<Thing> and then use indexes into it instead of references (someone recommended this as a way of solving borrow checker issues in the video he was watching), and then move things around in the vec, you basically invalid references but it won't notice because you hid it behind a layer of indirection.
>you can loophole around the borrow checker >that means borrow checker bad
what a dumb fricking moron. that just means Rust is turing complete.
god, I hate homosexuals that haven't seen a university from the inside at least once in their lives.
The point is more that when the borrow checker is bad because its annoying enough that the recommended solution to borrow errors is to loophole around it.
In his language you're supposed to use introspection to implement personal rules (like don't keep pointers to some type around longer than some scope) which can help catch the same kind of bugs but aren't just annoying distractions to loophole around because you decide when to apply them.
>u and U instead of the objectively superior u{X...} >4 hex digits for unicode 32 (?) >8 hex digits for unicode 64 (???) when at most 6 digits are used
wow
you got it wrong.
UUUU is 16bit codepoint
UUUUUUUU is 32bit codepoint
in practice, you really only need UUUUUU, but whatever.
also {UUUU....} is superior.
you got it wrong.
UUUU is 16bit codepoint
UUUUUUUU is 32bit codepoint
in practice, you really only need UUUUUU, but whatever.
also {UUUU....} is superior.
>having to type more characters for the same thing is superior
He is developing a sokoban game. I love sokoban games, and one as clever as The Witness would be great. But it's never going to come out because he's too busy with this autism. Reminds me of the guy in my class who spent half of undergrad making a game engine and it still looked worse than a beginner's day 1 unity project by the time he graduated
he has passive income for life, enough to run an entire company, from just two modest games. don't know what you're referring to as crashing and burning here. Taking his time because he can? He thinks big, so he'll keep working on his language until it's perfect. Possibly he'll be 90 when he releases it but if so it will surely become the standard programming language of the next 50 years to come.
is this Black person STILL working on his language compiler in another language? it's not self hosting yet?
jesus
why the FRICK doesnt he use a compiler compiler?
this this wigger think that he shitted lexical analysis to this world?
he will never finish
what the frick is a compiler compiler?
if you mean something like YACC, almost no production compiler uses it because it makes it really hard to generate good errors
He probably meant compiler bootstrap
No
is right
Anon is Dunning-Krueger
who compiles the compilermen?
Me
>he will never finish
will probably blow his brains out when he gets burned out in the near future
>nearing release on every front (Jai, Sokoban, Braid Anniversary)
>Jon is speaking at LambdaConf (early May) about Jai
dude looking real rough here. like his face is swollen. maybe he should get back on the seed oil.
he needs the seed oil, estrogen and basedbeans NOW
After everything comes out and the backlash dies down on project Blow-S, because windows/macos/linux is still actually the problem and to build a temple only requires the will of one man which he actually started 2 years ago in the middle of shipping Jai, Sokoban, Braid anniversary
Tell us what you know anon. What is Blow-S and what did he start two years ago?
why do webcucks get butthurt by @blowjob so much? like none of you morons made any compelling argument, but demonstrated instead a solid degree of dunning-kruger. did he hurt your feelings by calling out your worthlessness and general incompetence?
>did he hurt your feelings
I think this is all there is to it. Once they finally stop sperging out the haters stop arguing and just admit he's right
Lets see your compiler then.....
https://gcc.gnu.org/
>Lets see your compiler then
Why do JoBlo meat riders do this? Why is it not ok to criticize a midwit without evoking this kind of response? If I say Mr. shitty architect sucks at his drawing, do you really respond "let's see your drawing then"? moronic homosexual pls kys.
>Mr. shitty architect sucks at his drawing, do you really respond "let's see your drawing then"?
Yes because your criticism is either substantial and you can articulate your reasoning or you're just blasting it out of your ass. In the latter case you should be publicly shamed and disrespected because that's what you deserve.
>If I say Mr. shitty architect sucks at his drawing, do you really respond "let's see your drawing then"?
I would if the criticism revealed it's coming from deep ignorance.
>How dare you criticize Boeing, let's see your airplane then...
I can make a pretty nice paper airplane but I never figured out what's the most efficient design...
>is he still working on his language compiler in another language
Dog fooding is stupid and is for people who are too lazy to just write example code.
>but it helps you work out quirks in the language
It also presents a giant problem for a very small benefit. Why do you think LLVM is written in C++? Its so they don't have to make an assembly version of LLVM for every device they want to port to. They can just write in C and then have it compile to most architectures. It means they get all the libraries of C and don't have to update all their assemblies to have a release. The C variants aren't going anywhere until the hardware guys start writing compiler code for the new C language. Blow can just have people write JAI code and submit bug reports if they find something broken why do you think he limited the people who were able to use the alpha to only competent programmers? He did it so that there would be no bogus bug reports. In conclusion dog fooding is for people who don't have a vision and just kind of guess how a program works on the spot.
larper
>Guys its larping to not want to have to keep a bunch of different assembly versions up to date
>guys just write it in C and bootstrap reproducing the trusting trust issue just because you can't into language design
>t.brainlet
> They can just write in C and then have it compile to most architectures
Cross-compilation has existed since the primordial ages, cnile.
>has existed since the primordial ages
Sure, but you create a build issue which eventually always ends up with the trusting trust issue.
>be building new language
>start by writing compiler in assembly, C or whatever else
>decide dog folding is good and to just write my entire compiler in my new language
>use the compiler on my machine to compile all the other binaries
>time passes
>language has evolved past the point of the original compiler
>now people have to trust that I am honest or they have to clone my last version of the original compiler, compile that then keep compiling compilers until they hit the modern version
That work flow is moronic. If you just stick with the C version the process become as simple as compile current version of compiler and you don't have to trust trust because you
can easily trace C back to its assembly compiler.
He's also writing a full game in the language as he's developing it, so it's not like he's not got enough code to test on without self hosting the compiler.
Fricking lmao. Hobby coding while getting paid due recording it to other hobby coders.
>else if
But you told me he's a genius programmer?
lmao, he's using else if AND guard clauses.
Always thought his takes were trash, but apparently it's not only the takes.
guard clauses are great
They are, and are made to avoid usage of if else if else if else everywhere.
Unless I'm Kruegering, you either stick to one or the other.
oh right I kind of missed your emphasis on AND, my bad
>reddit spacing
I predate Reddit, so if anything they're copying my spacing.
Also frick you.
Explain your criticism more because the code in question is reasonable. He's using && to check for a range of possible values for c, which must be a valid hex digit otherwise an error is reported.
I'm not criticizing the &&.
if ((c >= 'a') && (c <= 'f')) { lexer->eat_character(); return 10+c-'a'; }
else if ((c >= 'A') && (c <= 'F')) { lexer->eat_character(); return 10+c-'A'; }
else if ((c >= '0') && (c <= '9')) { lexer->eat_character(); return c-'0'; }
[...]
my reasoning is: Writing this using only the guard clauses already ensure that the next if statements will exclude the previous conditions, due to the return. So you can just do with ifs:
if ((c >= 'a') && (c <= 'f')) { lexer->eat_character(); return 10+c-'a'; }
if ((c >= 'A') && (c <= 'F')) { lexer->eat_character(); return 10+c-'A'; }
if ((c >= '0') && (c <= '9')) { lexer->eat_character(); return c-'0'; }
[...]
The compiler will figure everything out by itself, but if you plan on acting all mighty on camera, the least I expect of you is to actually understand what it is that you're coding.
Okay I gotcha, thanks for the explanation. It's a very marginal change all things considered. Those elses are probably a holdover from a previous version where he didn't return after each of these conditionals. He does get corrected on stuff like this fairly frequently by his chat
Yeah, it's not really important.
my guess is he had a variable called int result before and was manipulating it with these conditions. him being so strict about perfectionism and efficiency causes people to amplify such unimportant details. the compiler produces exactly the same output for both.
are you one of those people who thinks it's bettery to cram as many conditions into as few lines as possible?
What's the problem with else if?
It's hated by guys that don't actually code but spend lots of time arguing on the Internet.
if you really need multiple cases, use switch
In C and C++ switch statements make a decision based on and only on the value of integers. You can not do comparisons and logic operations with a switch statement
>case 'a' ... 'f':
>case 'A' ... 'F':
>case '0' ... '9':
And that's somehow better than if-else?
this isn't a thing in c/c++
Werks on my machine.
1. they compile down to the same thing
2. a switch is SUPPOSED to be for exhaustiveness matching (pattern matching), if you're not using it for that, you're misusing switches
3. A switch for 3 cases is absolutely moron even when you're misusing them
don't even bother trying to explain it, after the yandaredev memes zoomies who've never written a line of code will flood any programming related thread and insist any if statements whatsoever be replaced with switch
what does this man think of rust?
>t. has never used rust, c, c++, c# or anything that involves a compiler and builds solely web related software
there's like an hour long rant he made but the summary is
>step in the right direction by being stricter than c++, but it overdoes it with the borrow checker which is too pedantic and annoying. Also you can mostly just loophole around it, if you allocate a big Vec<Thing> and then use indexes into it instead of references (someone recommended this as a way of solving borrow checker issues in the video he was watching), and then move things around in the vec, you basically invalid references but it won't notice because you hid it behind a layer of indirection.
>you can loophole around the borrow checker
>that means borrow checker bad
what a dumb fricking moron. that just means Rust is turing complete.
god, I hate homosexuals that haven't seen a university from the inside at least once in their lives.
>Rust is turing complete.
not yet.
I am waiting to off itself.
The point is more that when the borrow checker is bad because its annoying enough that the recommended solution to borrow errors is to loophole around it.
In his language you're supposed to use introspection to implement personal rules (like don't keep pointers to some type around longer than some scope) which can help catch the same kind of bugs but aren't just annoying distractions to loophole around because you decide when to apply them.
>u and U instead of the objectively superior u{X...}
>4 hex digits for unicode 32 (?)
>8 hex digits for unicode 64 (???) when at most 6 digits are used
wow
you got it wrong.
UUUU is 16bit codepoint
UUUUUUUU is 32bit codepoint
in practice, you really only need UUUUUU, but whatever.
also {UUUU....} is superior.
>having to type more characters for the same thing is superior
>Jonathan Blow
Jonathan Blow General
>coding on camera
why do people do this
anyone else think he has a gay hairline? just something about it. his head in general looks like a gay man's head. just me?
he loves dancing (homosexual) and has never had a girlfriend (sus)
this is factual
he made Braid and The Witness
in Blow's case, money and probably, to some degree, also attention
that code can't use a switch
taskbar on the left is weird but it's his attempt to bring 16:9 closer to 4:3
dark mode is as good as light
i dont know how anyone could possibly bring themselves to care about some influencer gay who has never done anything
What went wrong?
What did she say before the edit?
That will remain a mystery. That post doesn't exist at all anymore. Or Google can't index instagram.
If he hates windows and CPP why does he use them?
He believes the alternatives are worse.
I love blowjobs, when I'm the one receiving them from a big toddy goth girl.
He is developing a sokoban game. I love sokoban games, and one as clever as The Witness would be great. But it's never going to come out because he's too busy with this autism. Reminds me of the guy in my class who spent half of undergrad making a game engine and it still looked worse than a beginner's day 1 unity project by the time he graduated
>Jonathan Blow
Johnny Crack
>taskbar on the left
>dark mode
More like Jonathan Suck
Proper taskbar placement, Microsoft really fricked that one up in W11.
did he hide everything for non-subs or something?
He's been MIA on twitch for awhile
Watching him crash and burn has been hilarious. He's a cautionary tale for all zooomer programmers
he has passive income for life, enough to run an entire company, from just two modest games. don't know what you're referring to as crashing and burning here. Taking his time because he can? He thinks big, so he'll keep working on his language until it's perfect. Possibly he'll be 90 when he releases it but if so it will surely become the standard programming language of the next 50 years to come.