« first day (4382 days earlier)      last day (460 days later) » 
00:00 - 19:0019:00 - 00:00

7:06 PM
Anything that isn't prefix
I hate prefixed operators like that so much
typeof, await, new, etc.
 
@RydwolfPrograms you prefer function calls?
also why do you hate them
new and typeof i understand
but not await or perform
well actually await can be a function call
what about throw?
 
7:31 PM
No, await should be .await, Rust-style
Much more readable, less unnecessary parenthetization, and since it's not a keyword you don't get the completely stupid error message issue
throw's the only one I'll concede since it's a statement
new just creates annoying ambiguity with things like new thing().otherthing()
typeof just shouldn't exist at all, but if it does it should be a function call
print is also fine as a keyword as long as it's a statement
perform is a dumb name
What's it doing, getting on stage and dancing?
It's just a more verbose way to write run or do which is a horribly indescriptive way to describe what that does
omg cursed language idea: do { ... } if (...);
like do-while but it only runs once or twice
do { ... } for (x in y); runs the block once with x being an undeclared variable before the for loop starts
do { ... } function do_thing(x, y, z); defines a function which also runs immediately :p
 
7:47 PM
@Seggan Okay, I do agree that checked exceptions should have types more specific to the thing causing them
@RydwolfPrograms You have very strong views
About thing that most people don't seem to care too much about
What's wrong with perform? (other than being 7 characters)
 
If I'mma be typing something over and over again for the next decade it might as well be good
 
You get used to it
 
@user It doesn't mean anything
Running a function is "perform"ing something
 
You're performing an effect
 
Oh no is this FP speak again
 
7:50 PM
No it's just English
 
"perform an effect" sounds super weird to me and I've spoken English for 15 years
 
I've spoken English about the same time and it sounds perfectly fine to me
Granted, I regularly make minor grammatical mistakes
 
Only place "perform" sounds natural to me is subroutines
You "perform a routine". You don't "perform an effect", that doesn't sound any more natural and intuitive than "perform a function"
 
Okay, you could maybe consider it FP speak in the sense that functions are supposed to be pure instead of performing things, and only with these effects would they perform stuff like printing
 
But the fact that it could be applied to any of those at all shows how it doesn't really hint at the actual meaning
 
7:52 PM
/shrug I've seen do too
 
do wouldn't be bad, just 'cause of the conciseness
Really tho the throw metaphor doesn't stop working here does it?
That's a good option still IMO
 
Yeah I guess you could think of them as resumable exceptions, except they're also for non-exceptional cases
 
put would make sense I think
 
And the part about them algebraic isn't totally necessary, I think - they could be normal OOP objects too
I strongly associate put with maps
 
Like...dicts?
Or something else
 
7:55 PM
Yeah
 
I've never seen it in that context
get and set is what JS and Rust use
 
tbh it doesn't matter too much which keyword you choose - perform, put, do, run - your users will eventually get used to it
 
Yeah but it can at least not be ugly and stupid
 
perform
 
7:56 PM
lol
purform
 
I'm honestly fine with e in certain contexts, what bothers me is when it corrupts other nice looking words
form is a beuatiful like, indigo-fading-to-black thing
per is like...yellow and brown and black
It'd be like doing construction work in a dark black suit with a blue tie, in a desert with iron-rich sand
 
I wonder if you could fit cooling into a suit that would be good enough to cool you in like 80 degree weather would making your suit bulge too much
Maybe you could store the coolant in front of your stomach and cover it with one of those things you put on to look fat
Actually, I have no idea if that's how space suit cooling even works, and it's time to move to OTTNB
 
8:15 PM
@RydwolfPrograms no
its a weird mishmash of special syntax; too confusable with property access
either promote it to a full function or make a different syntax
 
It's much more convenient when chaining
Rust also does operator overloading through traits instead of special syntax or whatever and I really like that
Wait a second, .await is special syntax? I do not like that
imo it should be foo.await()
 
^
@user well ure not accessing a field, are you?
 
But perhaps treating it like a normal function will mess up borrow checking or whatever?
 
@RydwolfPrograms yeah throw is nice
 
@Seggan I thought it was .await()
 
8:18 PM
i was trying to answer your q
 
I'm used to throw but I feel Python's raise makes more sense (but since everyone's used to throw, it doesn't really matter)
@Seggan If you're using an IDE, it should be highlighted
foo().await.bar() would be nicer than (await foo()).bar() even if it feels weird to do .await
 
@user you language shouldnt be dependent on ides
 
Fair enough
 
8:44 PM
@lyxal ah, you learned something from me :P
 
8:58 PM
@user I do agree with this, but it's worth noting it still couldn't be a normal function
@Seggan ...says the Java(/Kotlin) user :p
I thought .await without the () was weird at first too, but it's kinda nice to actually use/read
 
Hey, leave Kotlin out of this! :P
 
Since it's clearly distinct from the method calls surrounding it, so tends to stand out even without an IDE, and saves typing (and since syntactically it's "incorrect" anyway, might as well go with the one that's easier to type)
 
Also, I'd say Java is much less reliant on IDEs than other languages because it's so simple. It's only because it's verbose as hell that you need an IDE, but that's a different reason from the one we were discussing
 
Java users are the ones I've seen using IDEs the most out of anyone, tho that's probably since a lot of the ones I'm thinking of are Minecraft modders and I guess that's kinda different
 
@RydwolfPrograms I don't know much Rust, would the signature of some magic await function be unrepresentable in Rust?
@RydwolfPrograms Because the IDEs are great and it's super verbose, not because you need an IDE to understand where a certain method comes from or whatever
I find it much harder to trace where a certain function comes from in languages with typeclasses
 
9:03 PM
@user No, futures have a type signature, but IIRC they aren't actually part of Rust
I think Rust just provides syntactical support and you need a library that actually makes the language do greenthreading or whatever
E.g., Tokio
 
Interesting
So an await() function would be possible?
 
I don't think so
 
@RydwolfPrograms i programmed java in notepad for a while
its really verbose but otherwise manageable
 
Notepad? Not even npp?
 
yeah notepad
 
9:05 PM
Well I mean, as a function. As a special syntactical thing it's totally possible since it's literally just detecting .await as a function instead of a property
 
Respect
 
Since .await has to like, switch what the thread's doing and stuff, I don't think you could do it as a method being called
 
I more meant having await() be treated as a normal function instead of a special syntax, with the internals being magic
 
Yeah I mean I don't see why not, if it's special cased
 
Time to make Rust but with that one change
 
9:07 PM
But as I said having it not be a function is much more usable :p
 
Yeah, but it seems irregular if other Rust functions can't be called without parentheses
 
It's not anything like a function tho
 
I'd like it if you could do foo.bar to call a method bar()
But I guess that's kinda misleading
 
Even if it might fit a mental model of one slightly better, it would just create misunderstandings elsewhere
 
Yeah
 
9:08 PM
Having it be explicitly its own thing kinda makes sense
My ideal async/await system is one I've described here before
1. No async keyword, the compiler/interpreter figures it out
2. All async functions await by default
 
I don't really like how these modern programming languages (Rust, Kotlin, etc.) like being so explicit. It's really not appropriate for languages that are used in professional business and taught to innocent children
 
3. You can add a .prom/.fut/?/some other indicator to a function or method to make it return a promise/future
 
IDEs should strike through explicit-making boilerplate like .toInt to protect people's eyes
 
E.g., tcp_conn(8080) would implicitly await and return the TCP stream or whatever, and tcp_conn?(8080) would return a promise
So you could create two tcp_conns at the same instant, instead of having to block, then use something like a switch/any macro to wait for both to finish
 
9:26 PM
@user wdym? kotlin is all about implicits
(well, except number type casting. thats annoying)
i.e. with, lambda receivers, inferred types
 
9:48 PM
With with and lambda receivers, you know what the receiver, which makes it a little easier to find where a method's coming from (but yeah, still not as direct as Java)
Inferred types are an expected feature for statically typed languages nowadays, and they're not so hidden that you couldn't find out yourself
@Seggan That's what I was talking about
Kotlin is not weakly typed at all
Pretty sure I read somewhere that the team working on it had being explicit in mind as a main design goal
From here:
> Kotlin hates implicit, so this is not going to happen.
> The Kotlin guys are very against implicits. Everything in Kotlin is explicit.
But yes, they're talking mainly about implicit conversions
In data classes, you have to manually write val/var even though the fact that it's a data class already means that all the parameters are proper fields and not just constructor parameters
It sucks that so many cool features can also complicate things in so many cases
 
10:30 PM
For anyone who's interested, I updated the SE profanity filter userscript that I use (originally made by @RydwolfPrograms) with a better regex that avoids several common false positives. No more censoring Charles Dickens or shiitake mushrooms. :)
 
10:52 PM
What about people who are called Dick?
 
Yeah, there's not really any good way around that one.
 
Let’s be honest, practically no one calls themselves that these days
 
Maybe not in English-talking countries, but I had a gym teacher in Sweden called Dick Hoppe, and everyone thought it was so funny because "Hoppe" means "Jump".
 
There are also several famous people who tend to be mentioned on StackExchange, including Dick van Dyke, Dick Cheney, and Philip K. Dick.
 
@DLosc do you have the original regex somewhere? (I understand the script itself shouldn’t have that but do you happen to have a regex101 link or something? I’d do btoa but on phone rn and I’d like to expand my vocabulary)
Ah, true
 
10:57 PM
I added an exception for Philip K. Dick, but it wasn't general enough, so is still censored :P
 
Maybe allow capital Dick?
 
@user One moment
 
Will it censor Cockfosters?
 
It’s unlikely someone will start a sentience with the insult or capitalize it in the middle of a sentence
 
@Adám No, "cock" isn't in the list of words to censor at all (possibly because of the "rooster" meaning, possibly because Rydwolf didn't think of it)
@user It's a thought. Right now the whole thing is case-insensitive.
 
10:59 PM
Does it censor Scunthorpe? If not, you’ve solved the scunthorpe problem!
 
@user It does, lol. Didn't think of adding that exception.
 
How are profanity filters supposed to deal with pale lager from Fugging, Austria?
Fucking Hell is a German pale lager, a Pilsner, with an alcohol content of 4.9%. It is named after Fucking, the previous name of the village of Fugging in Austria; hell is the German word for 'pale' and a typical description of this kind of beer. The beer's name was initially controversial. Both the local authorities in Fucking and the European Union's Trade Marks and Designs Registration Office initially objected to the name. It was eventually accepted and the lager is sold internationally. == Production == Fucking Hell is not brewed in Fugging, but was originally brewed in the Brauerei Waldhaus...
 
Lol, they intentionally named it fucking
 
@user regex101.com/r/kNvPgm/1 should do it (I'm not 100% sure since the actual code makes a list of regexes, which I've glommed into one big regex on Regex101 using |)
 
Thanks!
 
11:06 PM
@Adám Given that this is something I use at work so my coworkers don't do a double-take if they see me scrolling past a BF answer, I don't mind it censoring that one :P
 
That’s a lot simpler than i expected, i wonder how complex the ones in games and stuff are
 
@user The town was actually called that at the time.
 
Yeah but the article says they named it because it was funny
 
@user Not complex enough, apparently :P
 
Well at least this one covers the second:p
 
11:10 PM
though to be fair, this one doesn't even bother with racial slurs since they aren't very common on StackExchange, whereas apparently they can be much more common in certain multiplayer games
 
11:28 PM
Gaming amiright
 
This is probably more on-topic for the gaming room, but I've gotta say, the Age of Empires II player base has a reputation for being particularly "wholesome," and my experience bears that out. The worst thing anyone's ever said to me was when I won a game and my opponent said my strategy was "kinda lame tbh"
 
00:00 - 19:0019:00 - 00:00

« first day (4382 days earlier)      last day (460 days later) »