Live data from Hacker News

Lilith: x86-64 OS written in Crystal

github.com

161–170 of 265 posts

Re: Lilith: x86-64 OS written in Crystal

#161
post #44
post #21

Earlier quoted context omitted.

I think they meant younger. But, yeah, besides the syntax familiarity for Ruby programmers it doesn't seem offer much that the others do.

Okay, port your existing Ruby code to a compiled language, giving it multiple times the speed? Maybe three is a slight business opportunity here. Also, give your developers a more productive language that can go where Ruby can't (like OS development), which is 90% instantly recognizable — may also be worth something?

I understood that Crystal is a huge thing for Ruby devs.

I just want to know if it is more than that or not.

I'm not a fan of Ruby and would prefer Nim or Rust if it were about syntax.

I ask myself if I miss any huge speciality of Crystal if I dismiss it just because of its syntax.

Re: Lilith: x86-64 OS written in Crystal

#162
post #85

Earlier quoted context omitted.

I think Zig is probably just being opinionated there; many of the new languages seem to be overly so. Last I checked, both the Zig and Nim compilers refused (on principle, not for any technical reason) to compile code containing tabs (among other things). I don't (usually) want my compiler to do linting, and I certainly don't want language authors to dictate my code style from on high.

Go is also annoying with its anal retentive source rules. I finally got so frustrated that I modified the compiler: https://github.com/kstenerud/go

Thank you for this. The passive-aggressive style of erroring on unused variable while staying absolutely silent when I accidentally print the &int variable with %d format, always seemed like an inconsistency to me.

Re: Lilith: x86-64 OS written in Crystal

#163
post #6

Wow. Preemptive multitasking, graphical window management, POSIX-like, in a programming language that to my knowledge it hasn't yet been done in... and in just several months of work. There's no smoke and mirrors as far as I can tell. I dug back to the initial commit: https://github.com/ffwff/lilith/commit/c9fa1053dc6a22d630ee6... - and it's just bootstrapping to VGA. Very well done, and inspiring. Makes me want to t…

Maybe it's just because I come from Ruby, but Crystal seems like an amazing language. I'm interested why it seems to be getting little attention compared to Go, Rust, & Julia. It seems in the same league to me. Kotlin and Swift have more obvious reasons for their adoption.

> I'm interested why it seems to be getting little attention compared to Go, Rust, & Julia.

Rust essentially competes with C and C++ (and maybe D and Nim without their GCs), and the reason it gets hype is because it brings some unique features for that niche.

Go brought some unique features as well (goroutines done right), and it is pushed by a major player.

In Julia's niche, you only really have Julia and Fortran - sure there are many other languages used in that niche, but there are very very few languages exclusively designed for that niche.

C#, Kotlin and Swift are the system API languages of major platforms (MS, Apple, Android). Javascript is the language for the web.

What's Crystal for?

Re: Lilith: x86-64 OS written in Crystal

#165
post #126

Oh wow someone actually posted this! Thanks a lot for the comments and criticisms guys, really means lot to me. Before I go I'll answer some questions, so ask them away!

I’ll echo what everyone else said - SUPER IMPRESSIVE and awe-inspiring work. Thanks for sharing it with the world.

I have one question: While I can read and understand each individual line of code you wrote (go Crystal!) and what each method does, etc., I’m at a total loss for how you knew what and how to build - big picture wise. Can you share a bit about your process for building the mental model of this? How do you know where to start, what modules to build, what’s needed / what’s already there, etc? What roadmap (if any) are you using?

I’m just amazed at how something like this comes together and would love to learn a bit more about the process a single dev uses to build it.

Thanks in advance!

Re: Lilith: x86-64 OS written in Crystal

#166
post #6

Wow. Preemptive multitasking, graphical window management, POSIX-like, in a programming language that to my knowledge it hasn't yet been done in... and in just several months of work. There's no smoke and mirrors as far as I can tell. I dug back to the initial commit: https://github.com/ffwff/lilith/commit/c9fa1053dc6a22d630ee6... - and it's just bootstrapping to VGA. Very well done, and inspiring. Makes me want to t…

Sorry for the late reply (being rate limited)

Thanks! Originally it only started as an experiment to see how far I could go making an OS in a high-level (higher than C at least) language, I was only planning to build a monotasking DOS system. Around this time, Andreas Kling started to show us his SerenityOS, which was one of the factors propelling me to reach this point. So shout outs to AK!

Yeah! It's pretty fun to develop an OS, albeit time consuming. You should check out the osdev wiki and the Intel/Seagate manuals, they should hopefully get you to the point where your OS can read/write/execute files, you should also take a look at how other kernels do things as a reference and actually implement them in your OS in a way that fits.

Re: Lilith: x86-64 OS written in Crystal

#167
post #12

Earlier quoted context omitted.

Maybe it's just because I come from Ruby, but Crystal seems like an amazing language. I'm interested why it seems to be getting little attention compared to Go, Rust, & Julia. It seems in the same league to me. Kotlin and Swift have more obvious reasons for their adoption.

What's Crystal's unique selling point? It's older than Rust, Kotlin, Swift, Nim, or even OCaml, and doesn't really offer anything they don't. More Ruby-like syntax? Fine, but most people don't particularly like Ruby syntax.

It's unique selling point is union types as a part of the type system, with whole-program type inference and flow typing. This has never been done before (as far as I am aware), and it is incredibly powerful and interesting. It's compile-time duck typing.

Re: Lilith: x86-64 OS written in Crystal

#168
post #6

Wow. Preemptive multitasking, graphical window management, POSIX-like, in a programming language that to my knowledge it hasn't yet been done in... and in just several months of work. There's no smoke and mirrors as far as I can tell. I dug back to the initial commit: https://github.com/ffwff/lilith/commit/c9fa1053dc6a22d630ee6... - and it's just bootstrapping to VGA. Very well done, and inspiring. Makes me want to t…

Maybe it's just because I come from Ruby, but Crystal seems like an amazing language. I'm interested why it seems to be getting little attention compared to Go, Rust, & Julia. It seems in the same league to me. Kotlin and Swift have more obvious reasons for their adoption.

>I'm interested why it seems to be getting little attention compared to Go, Rust, & Julia

As I see it, Go gets 70% of the attention, Rust 25% and Julia 5%. Crystal which doesn't have major backing (no Google, no Mozilla, and Julia has some MIT hackers behind it IIRC, plus the whole "data science" angle which is fashionable today), gets even less.

Re: Lilith: x86-64 OS written in Crystal

#169

Earlier quoted context omitted.

Maybe it's just because I come from Ruby, but Crystal seems like an amazing language. I'm interested why it seems to be getting little attention compared to Go, Rust, & Julia. It seems in the same league to me. Kotlin and Swift have more obvious reasons for their adoption.

> I'm interested why it seems to be getting little attention compared to Go, Rust, & Julia. Rust essentially competes with C and C++ (and maybe D and Nim without their GCs), and the reason it gets hype is because it brings some unique features for that niche. Go brought some unique features as well (goroutines done right), and it is pushed by a major player. In Julia's niche, you only really have Julia and Fortran -…

> C#, Kotlin and Swift are the system API languages of major platforms (MS, Apple, Android).

No, the system API of those systems is exposed in C, ObjC and C respectively.

You may be thinking about the most common language in those platforms nowadays (and their respective APIs).

Re: Lilith: x86-64 OS written in Crystal

#170
post #123
post #50

Earlier quoted context omitted.

Not in the slightest. WSL is capable for most things. Wine in 2001 was not usable

Bullshit, I played DeusEx a few months later just fine.

Playing a specific game or 100 on it != a translation layer from one OS to another is ready or generally usable.

Games have minimal dependencies re OS APIs wise. Office apps and other programs make far more extensive use of OS facilities...

So hardly "bullshit".

Post reply on HN