Apple made another programming language - Say something nice about it. POSITIVITY ONLY

The amend thing with packages/templates or whatever they're calling it gives me anxiety. Why would you want to make package management even potentially more of a nuisance?
 
one day apple and sony will team up to invent a stupid idea that the entire universe rejects so hard it spawns a new universe where it's finally a standard somewhere
 
All Pkl data is immutable.
yes, they got one thing correct. this should be the default for all languages. death to mutable data.

looking through the docs, it doesnt look too bad, but i can swear ive seen other things like this before, so it is yet another example of apple doing something already exists but acting like it is new.
 
>configuration-as-code language
sounds to me like a fancy and overcomplicated way for making config files? i don't think i understand this properly.

yes, they got one thing correct. this should be the default for all languages. death to mutable data.

looking through the docs, it doesnt look too bad, but i can swear ive seen other things like this before, so it is yet another example of apple doing something already exists but acting like it is new.
fuck functional languages and fuck rust trannies for pushing this obsession with immutability, i fucking hate it
every language in the world already has const for when you need it, making that shit the default is just an annoying fucking nuisance
 
"value?.member

The above expression evaluates to value.member if value is non-null, and to null otherwise."

reading this makes me feel retarded. why does this exist? the behavior they describe is just the default that i would expect from regular value.member expression, what purpose does this special ?. syntax serve?


nevermind i am tired and retarded. i thought it checks if member is null, not if value is null.
basically this shit is syntactic sugar for
Code:
if (value != null) {
  return value.member
}
else return null;
makes more sense now, but i still dislike it
 
Last edited:
  • Thunk-Provoking
Reactions: Neo-Nazi Rich Evans
"value?.member

The above expression evaluates to value.member if value is non-null, and to null otherwise."

reading this makes me feel retarded. why does this exist? the behavior they describe is just the default that i would expect from regular value.member expression, what purpose does this special ?. syntax serve?
It serves to help make pajeets who have been btfo by NullPointerExceptions endlessly not feel stupid
 
>configuration-as-code language
sounds to me like a fancy and overcomplicated way for making config files? i don't think i understand this properly.


fuck functional languages and fuck rust trannies for pushing this obsession with immutability, i fucking hate it
every language in the world already has const for when you need it, making that shit the default is just an annoying fucking nuisance
the problem with const is nobody ever uses it, especially the people who need to use it the most (pajeets) they just use a mutable variable and reassign it a million times and it makes the code a huge mess to get through and fix.


as for your other point, i do agree, it looks like it is just making config files way more complicated than they need to be.

"value?.member

The above expression evaluates to value.member if value is non-null, and to null otherwise."

reading this makes me feel retarded. why does this exist? the behavior they describe is just the default that i would expect from regular value.member expression, what purpose does this special ?. syntax serve?

i think the second example explains it better:
name2 = null
name2Length = name2?.length
name2Upper = name2?.toUpperCase()

see with name2 being null, name2.length would be null pointer exception, now it just returns null. i dont think this is a bad feature to have, but i can see pajeets misusing it like crazy and making debugging their code a headache.
 
i think the second example explains it better:

see with name2 being null, name2.length would be null pointer exception, now it just returns null. i dont think this is a bad feature to have, but i can see pajeets misusing it like crazy and making debugging their code a headache.
this feels ugly and wrong
i cant quite explain why, i just prefer having shit throw exceptions or crash immediately when something unexpected happens, rather than keep running while propagating unexpected or nonsensical values to other parts of the code. i feel like using this a lot will make debugging much more time consuming and annoying.
 
this feels ugly and wrong
i cant quite explain why, i just prefer having shit throw exceptions or crash immediately when something unexpected happens, rather than keep running while propagating unexpected or nonsensical values to other parts of the code. i feel like using this a lot will make debugging much more time consuming and annoying.
It's kicking the can down the road. You're still getting null where you don't expect it, the ability to circumvent an error with this just makes it easier to ignore it for longer.
 
It's kicking the can down the road. You're still getting null where you don't expect it, the ability to circumvent an error with this just makes it easier to ignore it for longer.
On top of this, it serves zero purpose. Say you access a field through this gadget and it's null. How do you determine whether the field is actually null or the containing object was? You end up checking the original object like you fucking should have to begin with.
 
  • Agree
Reactions: Neo-Nazi Rich Evans
this feels ugly and wrong
i cant quite explain why, i just prefer having shit throw exceptions or crash immediately when something unexpected happens, rather than keep running while propagating unexpected or nonsensical values to other parts of the code. i feel like using this a lot will make debugging much more time consuming and annoying.

It's kicking the can down the road. You're still getting null where you don't expect it, the ability to circumvent an error with this just makes it easier to ignore it for longer.

my exact point, pajeets will use this and then it will be a headache to debug. you'll get some null objected nested way down deep in a call and then need to spend all day tracking which thing is null. a null pointer exception would tell you straight out what is null.
the other option is to do this all over the place:


Code:
myVar = obj?.val
if (myVar != null) {do stuff}
else {"please do the needful and throw an exception"}

myVar2 = obj2?.val
if(myVar2 != null) {} ...
 
They would try to break a real algorithm just days when there were viral videos on social media showing the Apple VR Pro being used in public by people that don’t know how to interact socially with others.
 
my exact point, pajeets will use this and then it will be a headache to debug. you'll get some null objected nested way down deep in a call and then need to spend all day tracking which thing is null. a null pointer exception would tell you straight out what is null.
the other option is to do this all over the place:


Code:
myVar = obj?.val
if (myVar != null) {do stuff}
else {"please do the needful and throw an exception"}

myVar2 = obj2?.val
if(myVar2 != null) {} ...
Silly chud, all you need to do is use the trace function
 
  • Thunk-Provoking
Reactions: Neo-Nazi Rich Evans
Back