Live data from Hacker News

Lilith: x86-64 OS written in Crystal

github.com

141–150 of 265 posts

Re: Lilith: x86-64 OS written in Crystal

#141
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!

How old are you?

From digging trough his blog, looks like 16-19

Re: Lilith: x86-64 OS written in Crystal

#142
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.

[Off Topic] Deus Ex had a profound effect on me growing up, and probably shaped my views which last to this day. Unfortunately, very few games like that are made nowadays.

Re: Lilith: x86-64 OS written in Crystal

#143
post #85
post #76

Earlier quoted context omitted.

Lots of the crop of new languages with cleaner designs have huge problems with windows. V doesn't work on windows and zig's compiler fails if you use carriage return newlines. They even built in an error message for it instead of just making the parser work. It's kind of ridiculous how these languages shoot themselves in the foot.

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.

What about Go? It seems like their approach is that if they define the style guide and build it into tooling, your code style (for Go) can only be the 'approved' style.

Or, put another way: People only have code styles because languages leave ambiguity. By removing that ambiguity you force your user-base to be consistent therefore increasing communication and productivity.

I tend to agree. It really grinds my gears when precious time is wasted on styling issues when there is no technical reason for either side. Granted it can be tough if you use three different languages with three different sets of rules.

Re: Lilith: x86-64 OS written in Crystal

#144
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.

Unique? There are a hell of a lot of computer languages out there. The only unique ones are those that are so bad that no-one ever did that again.

The selling point for Crystal is that it has a clean syntax that's easy for Ruby or Python developers to pick up (almost the same as Ruby), but compiles to standalone binaries that run really, really fast.

I mostly work in Python because the libraries are a lot more mature, but I use Crystal when I need to produce a standalone binary.

Re: Lilith: x86-64 OS written in Crystal

#145
post #46
post #44

Earlier quoted context omitted.

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?

Is it really so hard to port Ruby code to any of the languages I mentioned? Even with Crystal you will still have to make changes to your code, is having to use a slightly different syntax such a big difference? If you've got Ruby code and you haven't already ported it, how badly do you need the speed?

Slightly different?

Re: Lilith: x86-64 OS written in Crystal

#146

Earlier quoted context omitted.

Kotlin - it's on JVM which is a good thing for some and a bad thing for others. It's easier to distribute standalone crystal binary for example. Swift - crystal throws exceptions, swift explodes... Ocaml - the functional approach is not for everyone. Rust - I like rust a lot. But sometimes I want to write something quick and I'm happy to sacrifice some memory and speed to not have to deal with the ownership issues. N…

> Ocaml - the functional approach is not for everyone. OCaml is pretty general purpose though, it has loops, objects, mutable state. libguestfs [1] and some other codebases (the compiler itself, btw) are written in a pretty imperative OCaml. [1] https://github.com/libguestfs/libguestfs

OCaml somewhat tries to be familiar for OOPs, but it _is_ first and foremost a functional language.

Personally, I am learning it now, and I think rather than it being a stepping stone between OOP and FP, it might as well be its own separate and hybrid paragdim; I find purer FP languages like Haskell much more intuitive than the mix of modules, objects, types and classes of OCaml.

Though do not get me wrong, OCaml is an amazing language. It just stands rather by itself.

Pardon my terrible english.

Re: Lilith: x86-64 OS written in Crystal

#147
post #16

Earlier quoted context omitted.

C bindings, strongly-typed, a great concurrency model, very fast, and Ruby-like syntax. That makes it a very unique and appealing language to me (and others). If you / most people don’t particularly like the Ruby-like syntax, then Crystal might not appeal to you. But I can assure you to those of us who like the syntax, the language is wonderful and super fun to work with.

> C bindings, strongly-typed, a great concurrency model, very fast, and Ruby-like syntax. Ruby’s syntax is a great fit for Ruby’s semantics but—and Ruby is my personal favorite language—I don't see much point for it divorced from that. It's the one thing I like least about Elixir. OTOH, Crystal looks like it may be close enough to Ruby semantics that Rubyish syntax is a plus rather than a misdirection and distraction…

In what way is Elixir's syntax like Ruby's? It has "end" on blocks and string interpolation with "#{whatever}", but everything else is different. It's about as close to Ruby as Ruby is to Python (which is to say, not much).

Re: Lilith: x86-64 OS written in Crystal

#148
post #62

Earlier quoted context omitted.

That never stopped the Go community from porting Go to Windows. It was never ported by core maintainers, but by Go developers themselves.

Go still lacks Windows support for certain features, e.g. plugins. And wanting to be part of Google team helped many community contributions. Easy to compare with how much community contributions were made to Inferno and Limbo.

Fair, I had forgotten about plugins. On the other hand plugins has other nuances[0]. Plugins don't seem like a properly release feature due to its constraints.

[0]: https://www.reddit.com/r/golang/comments/b6h8qq/is_anyone_ac...

Re: Lilith: x86-64 OS written in Crystal

#149
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.

Well, I hadn't heard about Crystal until... just now. So projects like this are great marketing.

I'm reading up on it and liking what I'm seeing so far. This could be a great Golang (which I detest) replacement for me when I need to write a small, native program. Also, the Ruby-esque syntax is a win. I've always thought Ruby was a nicer language than Python. Too bad Ruby never grew much of a dev community outside of Rails.

Re: Lilith: x86-64 OS written in Crystal

#150
post #76
post #17

Earlier quoted context omitted.

I found Crystal about a year ago and absolutely fell in love with it. It just “clicks” for me. My sense from reading most peanut-gallery commentary that the biggest reasons it hasn’t taken off more (yet) are: 1. Real multi-threading (it’s now in alpha - but previously just had single-threaded concurrency - and sorry I might be getting that terminology wrong). 2. Windows support (I personally don’t care but I haven’t…

Lots of the crop of new languages with cleaner designs have huge problems with windows. V doesn't work on windows and zig's compiler fails if you use carriage return newlines. They even built in an error message for it instead of just making the parser work. It's kind of ridiculous how these languages shoot themselves in the foot.

Indeed, and if they do it via cygwin, MinGW, or even WSL, that is no way to win the hearts of Windows developers.
Post reply on HN