Live data from Hacker News

The Python Paradox (2004)

paulgraham.com

201–210 of 275 posts

Re: The Python Paradox (2004)

#202
post #148
post #112

Earlier quoted context omitted.

Rust is to C what systemd is to /etc/rc. Both C and /etc/rc are defining characteristics of old-school Unix culture, so it kind of makes sense even just on account of that that folks who hate systemd also hate Rust. What puzzles me is that OpenBSD people seem to be quite actively opposed to Rust too. They are the project that disables hyperthreading for security reasons, runs ld to relink the kernel after every boot…

If you want to understand how it might be motivated by security, just read the LKML threads around Rust - the Rust developers’ claims are at times pretty wild, and in my experience (after 20 years in infosec), they tend to have a relatively narrow view of “safe”. I am expecting new vulnerabilities to pop up from developer’s misunderstanding of what Rust actually guarantees, especially in the same memory space as the…

But unlike Linux, OpenBSD is not only the kernel, it is also the userland.

The project could start moving critical software to Rust. They could even write their own crates for this purpose, or fork others’ crates to rule out supply chain attacks.

None of this would be unprecedented for the OpenBSD project. They have forked Apache, OpenSSL, they maintain their own SSH client and server. What would be new is that now all of this would not be happening in C but in another language.

Edit: I don’t even think that the above has to be done in Rust. It could be done in any other modern language. But you also mention the complexity of Rust. In what way do you see it as an infosec problem?

To me it appears that the complexity of Rust is good. The limitations that the language puts on your code give you pain before compilation, not afterwards. It makes you do work that avoids certain kinds of memory and logic bugs.

Re: The Python Paradox (2004)

#203
post #156

Earlier quoted context omitted.

> it's mostly due to socio-historical accident. It's not because the languages are particularly difficult or arcane, it's mainly because people don't already know it, and people don't like to learn to do things differently I beg to differ. I studied compsci BSC at an eastern european university. The professors decided to test that theory and decided to introduce programing to everyone in our program through Haskell.…

That's a response to a slightly different question. Your answer makes it clear that exposing students to a language isn't enough to make them take up a language. The original point was that Haskell isn't per se inaccessible.

It's inaccessible because it's difficult and arcane compared to languages like Python, especially at the beginner levels when you are still trying to figure out how a for-loop works, and what are variables, and so on.

Re: The Python Paradox (2004)

#204
post #186

Earlier quoted context omitted.

That's sort of outdated. Python now has type hints, protocol oriented programming support, and is quite fast (for what it is). This wasn't the case back in the day but it's all there now.

Python might have nice features, but it also has terrible features. Like using dicts for everything. It's not enough to allow good practices, you have to prevent (or at least reduce) bad practices.

You can use dataclasses instead of dict now.

Re: The Python Paradox (2004)

#205

Earlier quoted context omitted.

Rust is "not as used" but it has a following who hype it to the point that I've avoided taking time to relearn it just due to the strange vibes I get from their community. These people once mentioned, on twitter, that people who hate systemd are like reactionaries (as in, politically far right), as if a choice of init is a correlative of political ideology. When you view others' preferences for fucking software as so…

>These people once mentioned, on twitter, that people who hate systemd are like reactionaries (as in, politically far right), as if a choice of init is a correlative of political ideology. When you view others' preferences for fucking software as so important to your world view that they might as well be nazis[0], you can tell your priorities are not in order. I hate that everything is politically-coded nowadays, but…

So, this is the problem, you can easily say something is sufficient but it might not be neccessary, or vice versa, implying the converse is often not true. It's does seem silly, but you're right a lot of conservative hackers are anti-systemd, but the converse really isn't true, I don't even think it's like "here are some exceptions" rather than most of the anti-systemd crowd are not reactionaries.

Also, "conservatism" meaning "if it ain't broke, don't fix it" is NOT equivalent to political conservatism at all. Conservatives all the time advocate for changes that contradict tradition all the time. Just look at the zoning debates in the US, none of the "keeping X neighborhood sfh" people who argue for it because of "preservation" want to minimize parking to the point they can't fit their f-150s anymore, which dwarf the trucks of the 50s. It has a veneer of "respecting tradition" but they don't really care about tradition in the strict sense. It's like most political ideologies, it centers on a set of values and ideas with justifications that come later.

The left really is the same honestly. While "progressivism" has a nice summary as being "for political change" in some respects, they too respect tradition and history when it fits their aims. It's more correct to say that the sides really have a set of values and ideas that are central, without some overarching central tenet or explanation.

Re: The Python Paradox (2004)

#206

I love learning new languages because of learning, not because it's cool. That's why learning Rust shows more about the person than being on a hype train. This is one of the best indications for hiring if I'd hire someone.

It's ugly as hell though. The person might like learning but I wouldn't think they liked aesthetics or elegance.

Re: The Python Paradox (2004)

#207
post #43

Earlier quoted context omitted.

> Haskell and Idris are beautiful and powerful, but inaccessible to most software engineers. I don't see any fundamental reason why that should be the case. It seems to me that while it's true that most engineers would have a hard time navigating these languages today, it's mostly due to socio-historical accident. It's not because the languages are particularly difficult or arcane, it's mainly because people don't al…

> it's mostly due to socio-historical accident. It's not because the languages are particularly difficult or arcane, it's mainly because people don't already know it, and people don't like to learn to do things differently I beg to differ. I studied compsci BSC at an eastern european university. The professors decided to test that theory and decided to introduce programing to everyone in our program through Haskell.…

Our uni taught us Haskell, Prolog, C and Java. All very intensive. First it was C, then Haskell & Prolog and then Java. When I came out of uni, I wanted to use Prolog & Haskell for everything, but jobs were only in Java and C. Don’t think it’s a matter or liking them or being more productive in them; you need to earn a living.

Re: The Python Paradox (2004)

#208
post #148
post #112

Earlier quoted context omitted.

Rust is to C what systemd is to /etc/rc. Both C and /etc/rc are defining characteristics of old-school Unix culture, so it kind of makes sense even just on account of that that folks who hate systemd also hate Rust. What puzzles me is that OpenBSD people seem to be quite actively opposed to Rust too. They are the project that disables hyperthreading for security reasons, runs ld to relink the kernel after every boot…

If you want to understand how it might be motivated by security, just read the LKML threads around Rust - the Rust developers’ claims are at times pretty wild, and in my experience (after 20 years in infosec), they tend to have a relatively narrow view of “safe”. I am expecting new vulnerabilities to pop up from developer’s misunderstanding of what Rust actually guarantees, especially in the same memory space as the…

Do people even use C++ in embedded? Even subsets?

Re: The Python Paradox (2004)

#210

Earlier quoted context omitted.

Rust is "not as used" but it has a following who hype it to the point that I've avoided taking time to relearn it just due to the strange vibes I get from their community. These people once mentioned, on twitter, that people who hate systemd are like reactionaries (as in, politically far right), as if a choice of init is a correlative of political ideology. When you view others' preferences for fucking software as so…

Genuine question: Maybe the pro systemd people meant the word reactionary in it's non-left/right definition? From Wikipedia: "In political science, a reactionary or a reactionist is a person who holds political views that favor a return to the status quo ante, the previous political state of society" [0] I've heard people use 'reactionary' to mean "doesn't want things to change", or "wants things to go back to the wa…

If the anti-systemd weenies wanted to be reactionary edge lords and return to the status quo, then they should have said something when it would have made a difference during the ill-fated transition from the simple BSD init system to the steaming pile of shit AT&T System V init system that they only think is "classic" because their first experience with Unix was Linux.

It's like saying Nickelback's "Woke Up This Morning" is Classic Rock because you never heard of the Rolling Stones "Start Me Up".

https://www.youtube.com/watch?v=SGyOaCXr8Lw

Post reply on HN