Live data from Hacker News

Integrating “safe” languages into OpenBSD?

marc.info

111–120 of 344 posts

Re: Integrating “safe” languages into OpenBSD?

#111
post #3

Earlier quoted context omitted.

That is sort of addressed by Theo: >Such ecosystems come with incredible costs. For instance, rust cannot even compile itself on i386 at present time because it exhausts the address space.

Rust fell into the same trap that killed many, many gamedev companies: Performance matters. Even more than features.

You are equating two non-comparable things, Rust the language and gamedev companies using an abstract concept (performance). It could be a lede for an opinion piece or an essay, but it isn't an argument.

Re: Integrating “safe” languages into OpenBSD?

#112
post #82
post #51

Earlier quoted context omitted.

> go needs go, haskell needs haskell, rust needs rust And C needs C, or for more recent compilers, C++ needs C++. You just don't notice it because these two languages are already part of the base system.

> go needs go, haskell needs haskell, rust needs rust That's painful. It's one big point which Nim [1] does better. It compiles to C and bootstraps from C. That makes porting to other platforms much easier. I don't understand why Haskell and Rust don't provide bootstrapping from C. Did they write the first compilers with Assembler? > You just don't notice it because these two languages are already part of the base sy…

haskell was C-bootstrap-able many versions ago, but you need the previous version to build the next from that point forward so it's quite a dance.

There is also no effort to maintain the "old" version as a strict "bootstrap" since everyone just has binaries of the previous version lying around. :)

Re: Integrating “safe” languages into OpenBSD?

#114

Earlier quoted context omitted.

If I say "You have a big nose, it makes you ugly" as the first line in my email, it may well be a "statement of fact" and yet still be a personal attack. Your implication that a statement of fact cannot be a personal attack is untrue. Whether the OP has or has not written Posix utilities in rust is of no relevance to the actual argument whatsoever, it is just a way to have a dig at the OP.

The second part of your example is a statement of opinion, not fact -- so it's not really the same thing at all.

His argument doesn't change if you change it to

>You have a big nose, it makes you ugly to me.

And that is a statement of fact.

Re: Integrating “safe” languages into OpenBSD?

#115
post #41
post #18

Earlier quoted context omitted.

It uses remote dependencies. First compilation in a single-run environment will be very slow, there won't be second compilation. Go compiler is fast when you add the `-i` flag, without it it takes a couple of seconds to compile a few hundred lines, a few more minutes when you have to `go get` packages. Now, github goes down, your build is broken for that time.

Not sure what the "it" is in your first sentence, but allow me to address the rest of your points. "First compilation ... will be very slow": the go compiler is in fact quite fast, orders of magnitude faster than C++ or rust compilers. The fact that there's a noticeable pause when you want to compile thousands of files does not mean that its slow. "There won't be a second compilation": not for each top level tool, bu…

> "Go compiler is fast when you add the `-i` flag", ok, do that then

Only useful when you have mutable environment, most build spaces don't have it because it's insecure. So it's useless for big projects with external dependencies, you HAVE TO download them on each and every build.

>your build is broken": you only need to depend on external github references

Go projects use not only github repos, there is gopkg, gitlab and some others which I don't remember. All of them must be online and works fast, any lag will delay whole build system, which in many cases is pipe-lined. I can't imagine anyone interested in stability wants this.

Re: Integrating “safe” languages into OpenBSD?

#116
I remember I stopped frequenting /r/programming when it became this weird Haskell echo chamber. It was a bubble where a small but vocal faction inside the community seemed to over react to any criticism. They methodically and tirelessly responded to every comment with an endless litany of "facts" showing how Haskell could do anything from os kernels to game programming. They touted every industry mention of Haskell use and demanded evidential proof for any claim Haskell might not be suited for every situation. It reminds me of the Sea Lion comic[1]. I'm not sure if that faction still holds as much sway today.

I get the same feeling on Hacker News about Rust. There is a point where well-meaning evangelism does more harm than good. I sometimes get the feeling people spend more time writing defences of these languages than they spend time writing programs in them.

1. http://wondermark.com/c/2014-09-19-1062sea.png

Re: Integrating “safe” languages into OpenBSD?

#117

Earlier quoted context omitted.

I run full Windows 10 on a tablet (dual core, 2GB RAM), and it's pretty amazing to me how many websites that have no reason to run slow completely fail on it. I can only imagine it works fine on dev machines with much faster quad+ cores and 64GB of RAM or whatever. Just as an aside, it's done a lot to have the tablet be my primary "fiddle-at-home" machine: keeps me really conscious of resource limits, including ones…

Win10 just doesn't work well on 2GiB. Compressed pages are nice but not enough to prevent swapping. It also doesn't help that MS prevents you from running 32-bit on modern hardware to alleviate some of the memory pressure. The solution is to install 32-bit Linux on it. Then it won't suck.

Or i386 OpenBSD.

Re: Integrating “safe” languages into OpenBSD?

#118

Earlier quoted context omitted.

Rust's first compilers were written with OCaml. We don't provide bootstrapping from C because no C-based toolchain has ever existed. However, it may in the future; see my link upthread.

I think bootstrap with OCaml is ok - if just bootstrap from source becomes possible at all. Binary-only dependency is awful when Rust is wanted on yet unsupported systems.

It's not a significant issue if you can accept cross-compiling. This is how most platforms get their start.

Re: Integrating “safe” languages into OpenBSD?

#119

Earlier quoted context omitted.

> then points out that rustc can't compile itself on i386, which is relevant… how? Remember he is speaking as the leader of an operating system project. As in, a basic part of the project functioning normally is compiling the whole thing from scratch. If something needs cross-compilation to even get started it won't end up in OpenBSD base. I seem to recall when it supported more architectures they made a public show…

And thus they lock themselves into the lowest common denominator as they target smaller systems. This is ridiculous. OpenBSD looks like performance art, literal security theater.

Do you use it? I have had it on one machine or another since around 2000, and I have by and large been pretty happy with it. Not every personality type will like it, and sometimes they do make odd decisions, but it is pretty well put together.

Another point about the *BSDs, something doesn't have to be in base for you to use it. The base system is supposed to be small and not have a lot of dependencies. You are free to use things in ports and packages or compile them yourself. So this is not the same as never being able to use rust.

Re: Integrating “safe” languages into OpenBSD?

#120
post #15

The points made against switching to newer languages are valid. It will cost time, it will cost effort, it will take many years of work to convince stubborn maintainers to switch. But it will not stop _everyone_ from adopting better languages, and their efforts will eventually surpass the older, less secure systems. When there's feature parity, each and every new exploit will be called out: "this wouldn't have happen…

I think this misunderstands the OpenBSD philosophy. The more likely it is "everyone else" disagrees, the more likely it is Theo is choosing the right course for the project.

The system being secure is a secondary benefit to it being comprehendible and coherent to an individual. It's not enough for the output of a magic box to be a better widget, even if the widget is better in every measurable way. The box itself must not be magic.

This isn't "right" or "wrong". It's simply a stance that values an individual's ability to understand their computing device from top to bottom.

Rust is an amazing and wonderful piece of technology, produced by a great investment of energy by brilliant minds. I'm incredibly grateful it exists and look forward to it's continued development and adoption.

But I'm not brilliant, and I don't have a lot of energy, and so I'm also grateful there exists an operating system I can understand, and other people who continue to work to make that operating system useful.

Much open source technology is created by people with a financial incentive for others to use it. That's fine. OpenBSD is written by people who want to use it. It's usefulness to others is coincidental. That's fine too.

I'm glad there is so much money funding the development of open and free computing innovations. The world is a much better place for it.

But there isn't a lot of money funding the rest of the unix philosophy besides the "open" part, like the parts about composability and anti-monolithic design. Because those things are not valuable in financial terms, and are potentially even destructive towards the purpose of capturing value at all.

I am grateful there is a small radical free operating system defending our freedom from monoculture.

And I'm similarly glad for their defacto antagonism towards proselytizing of all kinds, even if that proselytizing is done with good intention, and even if that proselytizing turns out to be right.

That's why you need to show them the code. When you show the code, it means you understand. Until you understand, you're not free.

At least, this is my interpretation. I'm not affiliated with the project in any way. Just a fan.

Post reply on HN