News for hackers. Stuff that matters.
Re:Harvey – An effort to provide a modern, distributed, 64-b... by qwerty456127 on Friday December 22, 2017 @06:56PM (#15991921)
> It can be built with gcc and clang

Again... I understand many will argue but I also believe many will agree: we are to start phasing out C and write modern OSes in safe languages like Rust, Haskell, Go, Crystal etc. Because code written in C is almost guaranteed to be vulnerable. C has done its job when the hardware was slow and low on memory, electronic data was rarely life-important and when there were no languages and compilers that could be used as alternatives but that time has ended and now we are to consider different priorities.

Re:Harvey – An effort to provide a modern, distributed, 64-b... by civility on Saturday December 23, 2017 @02:00AM (#15993259)
Armchair preaching? Who is this "we" in "we are to do anything"? Unless you're contributing to a replacement, your proclamation simply doesn't matter.
Re:Harvey – An effort to provide a modern, distributed, 64-b... by bb88 on Friday December 22, 2017 @09:08PM (#15992507)
> we are to start phasing out C and write modern OSes in safe languages.

Linus Torvolds probably has the best answer to why not.

https://www.reddit.com/r/programming/comments/1t0gfy/linus_t...

"When I read C, I know what the assembly language will look like."

Re:Harvey – An effort to provide a modern, distributed, 64-b... by cmrdporcupine on Friday December 22, 2017 @10:21PM (#15992729)
Except in this day and age reading the assembly language doesn't give you the same kind of insight into how the hardware will perform as it did 15 years ago.
Re:Harvey – An effort to provide a modern, distributed, 64-b... by minipci1321 on Saturday December 23, 2017 @07:50AM (#15993981)
Oh, it might still give the same insight -- for example, when people reading assembler today are the same ones who did that 15 years ago.
Re:Harvey – An effort to provide a modern, distributed, 64-b... by bb88 on Saturday December 23, 2017 @10:49PM (#15997822)
Or in BSD's case, 30 or 40 years ago.
Re:Harvey – An effort to provide a modern, distributed, 64-b... by pjmlp on Saturday December 23, 2017 @12:46PM (#15995259)
Only at optimization level 0 and assuming a dumb C compiler.
Re:Harvey – An effort to provide a modern, distributed, 64-b... by imtringued on Tuesday December 26, 2017 @09:12AM (#16008659)
And you're compiling to a specific architecture.
Re:Harvey – An effort to provide a modern, distributed, 64-b... by soulbadguy on Friday December 22, 2017 @07:14PM (#15992009)
Go and haskell are targeted at a different level of abstraction than an OS lives at.I don't know much about crystall but I has a GC.
Re:Harvey – An effort to provide a modern, distributed, 64-b... by jstewartmobile on Saturday December 23, 2017 @12:21AM (#15993049)
When it's time to speak directly to hardware, Rust and Haskell aren't exactly silver bullets: so much of the state ends up being in the chips instead of the program--thus outside the compiler's scope.

If we want to get away from C-level twiddling, we will also need to get away from C-level hardware.

Re:Harvey – An effort to provide a modern, distributed, 64-b... by tome on Saturday December 23, 2017 @05:06AM (#15993631)
It's not outside the compiler's scope at all. See for example http://www.clash-lang.org/.
Re:Harvey – An effort to provide a modern, distributed, 64-b... by jstewartmobile on Saturday December 23, 2017 @07:26AM (#15993939)
How does an HDL address the limitation of software compilers at the software-hardware boundary?

By scope, I mean that the compiler can really only see as far as the source code it is compiling. In something like an OS--especially a non-microkernel--an awful lot ends up having to be read and written across the boundary, and in an unsafe context.

Re:Harvey – An effort to provide a modern, distributed, 64-b... by tome on Sunday December 24, 2017 @07:08AM (#15999204)
Oh I see. You were talking about a compiler for software talking to hardware. Well, I don't see why talking to hardware is any different to talking to a CPU or main memory or a disk.
Re:Harvey – An effort to provide a modern, distributed, 64-b... by jstewartmobile on Sunday December 24, 2017 @09:09AM (#15999582)
Not so much "talking" as directly reading/writing memory outside of your source scope that is also mutated by other chips--like a DMA buffer.

Or for a traditional kernel, reading/writing directly into the address space of a user process. Wouldn't have to worry so much about race conditions there since the process could be suspended, but there is still an opportunity to fudge the indexing.

Re:Harvey – An effort to provide a modern, distributed, 64-b... by nickelbox on Saturday December 23, 2017 @06:06AM (#15993767)
It looks like something that just gets complied to VHDL and friends? Is there some way to make the description available to user code/GHC? Now that would be interesting.