Hot take: If you really want to make an effective Swift linter just grep for
* .detached
* Task { @MainActor
* any
and ask "are you sure about that?"
Hot take: If you really want to make an effective Swift linter just grep for
* .detached
* Task { @MainActor
* any
and ask "are you sure about that?"
@siracusa I actually really disagree! I think assertions are great, and ! is just a compact spelling of one.
@Catfish_Man @siracusa
I…kind of agree with both of you?
Assertions are great and ! is a lovely way to express fail-fast intent •and• in huge swaths of code in the wild, ! just means “I didn’t think about the semantic content of this thing’s optionality, I just made it compile.”
So I guess write a linter that looks for lines of code where the developer wasn’t thinking, problem solved.
@Catfish_Man I’d add: !
@Catfish_Man @siracusa
New idea:
- Linter that cross-references commit history with target date + dates of especially tense meetings, flags code written under pressure
Or maybe just:
- Linter that flags all detected code
@inthehands @siracusa “how do we get people to stop and think about what they’re doing” remains the greatest unsolved language design question
Maybe the answer has something to do with reducing the amount of pressure people are under to work quickly… 🙃
@Catfish_Man @siracusa
[tapping head meme]
“You can’t have code quality problems if you don’t have any computers”
2029: GitHub introduces a super intelligent AI with a reward function tied to code quality
2030: global revolution after the AI manipulates news, markets, and the contents of everyone’s GitHub repos to achieve its goal of removing time-to-market pressure
@Catfish_Man @siracusa
After letting this post simmer for a few min, a new grandiose thesis:
All programming language design decisions boil down to either (1) “more systematized redundancy will finally get programmers to think” or (2) “less redundancy will finally get programmers to think.”
GNU social JP is a social network, courtesy of GNU social JP管理人. It runs on GNU social, version 2.0.2-dev, available under the GNU Affero General Public License.
All GNU social JP content and data are available under the Creative Commons Attribution 3.0 license.