HNHacker News
TopNewBestAskShowJobs

ii41

108 karma · joined May 18, 2022

submissionscomments
ii41··on The Jakt Programming Language
I'm shocked by that they took the class/struct differentiation from swift. I HATED it when I had to deal with it in the past when working with swift. What's wrong with letting the programmer take the reference whenever they want to? Why do I have to change the whole class when I find something that makes me think it's better to have it passed by value? Why do I have to deal with the complexity of 2 kinds of custom types, with all the existing delicacies of a modern type system? Why on the earth would someone think this is a good idea that is worth taking? Can someone educate me on this?
ii41··on If English was written like Chinese (1999)
Here in China, linguists consider the different Western "languages" to be dialects, and believe that the Western governments, for political reasons, make people think they speak different languages than their neighbors, so that they cannot unite.

I'm just joking, but what you say is as absurd as my joke. Western linguists don't consider the dialects different languages. If they do, they do it for political reasons. Accept that there are different ways of thinking and the real world never has to submit to how you define concepts like "a language", and not everything China surprises you with has something to do with politics.

Edit: I realized that my joke was closer to reality than parent's comment: https://en.wikipedia.org/wiki/Serbo-Croatian

ii41··on The hikikomori in Asia: A life within four walls
tang ping is just an internet slang. Didn't expect it to have a wikipedia page.

In China, the "normal" is "to try to be the best". For example, less than half of Chinese students can make it into a "good college" (in China there's a very specific definition of a "good college"), but if you didn't make it, like more than 50% of your peers, that's enough to say that you're "bad at studying".

tang ping basically means quiting this kind of culture and accepting that one's normal. Buying a house and settling down in a city that's not Beijing or Shanghai, like 90% of people do.

It has nothing to do with social withdrawal.

ii41··on Every map of China is wrong
South Korea is currently at war with North Korea in what is known as the Korean War.

China and the US also fought in what is known as the Korean War.

You can't claim SK and NK are at war with each other while implying China and US are not at war with each other. It's exactly the same war.

ii41··on Science fiction authors were excluded from awards for fear of offending China
The whole thing is just stupid.

I am reading Kuang's Babel right now, the Chinese version, published in China, by a publisher that would be called "state-owned" when it appears in a Western report.

I have read Neil Gaiman's work that was published the same way before.

And still, the Hugo people be like: let's censor them because they mention China.

But's let's still spotlight Robert Sawyer even though he wrote a whole trilogy that can't be more anti-PRC [1].

Meanwhile, a bunch of other people be like: Chengdu is China, Xinjiang is China, China doesn't do things to muslims in Xinjiang that the US and Israel do to muslims in the Middle East, so let's protest Sci-fi events in Chengdu!

And now we have a purge on the Hugo organizers.

Disclaimer: I'm a Chinese mainlander Sci-fi reader and I have a view on China that most of HN will likely disagree with.

[1]: https://en.wikipedia.org/wiki/WWW_Trilogy

ii41··on Ownership in Swift: Manifesto and meta-proposal (2017)
> structs in Swift are the same as structs in Rust, and a class is a heap-allocated reference counted box, like an Arc<Box<T>>.

Yeah, and by representing the differences this way, Rust allows you to easily decide whether an object is used directly or is wrapped in a rc box when its used, instead of when it's defined, often not by you, and when you change your mind you don't need to change all methods or functions than mutates it and all their call sites.

> Result builders are a language feature and not part of SwiftUI

I admit that this is the first time I see the term result builders. This is never mentioned in any SwiftUI documentation I've seen, so I guess I should extend my complaint to include quality of docs :p. Whatever this is called you seem to agree that the syntax is hacked and it can get hard to understand what something means

ii41··on Ownership in Swift: Manifesto and meta-proposal (2017)
Unusable. People seem to be concerned about Rust's ecosystem dying, but Swift's ecosystem is essentially Apple's system built-in libs + a handful of good open source packages. You need to do everything yourself when Apple's sys libs are not accessible.
ii41··on Ownership in Swift: Manifesto and meta-proposal (2017)
The quality of implementation of the Swift compiler is in no way comparable to Rust's. It's super easy to cause its type check to timeout, which is something I haven't seen when using Rust. I even managed to make it crash several times. It also lacks some pretty standard features such as turning off warnings of a certain type or on a certain line. The language itself is quite problematic when compared to Rust, too. For instance, Swift doesn't have the orphan rule, so it's possible that 2 packages implement the same protocol for the same type, and when this happens currently there are no solutions; there is this strange design decision that classes and structs should be different things and each have their own set of random limitations; and there is SwiftUI, which hacks on the syntax itself, making statements no longer mean what they are supposed to mean.
ii41··on Neovim 0.8 Released
I just want to express why I sometimes prefer things that don't "just work". I love VSCode. I use (neo)vim just because I am used to them (started using them before VSCode was around).

Firstly, not "just work" means there will be no features to suddenly appear and "help" me. When I start to use a new IDE I never know what inserting "{" does: Will a "}" also appear? Will it start a new line? Will it cause indentation to change? Will it insert a whole snippet? How do I just insert a "{"? An IDE usually comes with lots of "helper" features like this, and questions like these add up. The result is that I never know what happens when I press a key and get agitated when the result isn't what I expect. If I set up everything myself this doesn't happen. (neo)vim is pretty bad in this sense actually. The default formatoptions and filetype indent plugins are pretty annoying, and the "J" normal mode command has behaviors that surprise users and cannot be turned off (you can remap it for sure), but by the time I met VSCode I got familiar enough with them already... I recall VSCode's default was pretty clean. IDEs are absolutely the worst.

Not "just work" also means that I know how to change something if it steps into my way, since I set up everything myself. If I have to edit a file with special formatting rules that I need to follow, I know where to change auto formatting rules. If I have to read some generated code or code from dependency libraries, I know where to turn off warnings from linting. Since rust-analyzer is set up by myself, if one day I find that its version or config is not compatible with this new project I am starting to work on, I know immediately how to change it. If my whole setting up effort is "clicking a button", it becomes harder for me to find where the change needs to be made. Such things are not just "if"s actually, but happen pretty often from my experience, often enough to make me think it's better to set up everything myself than to figure things out each time.

← PreviousPage 2 of 2