News for hackers. Stuff that matters.
Re:Lilith: x86-64 OS written in Crystal by fluffything on Monday December 23, 2019 @08:28AM (#21863450)
> 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 by gdxhyrd on Monday December 23, 2019 @08:58AM (#21863596)
> 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 by fluffything on Friday January 03, 2020 @09:28AM (#21946115)
> No, the system API of those systems is exposed in C, ObjC and C respectively.

This is incorrect. Microsoft doesn't have a C compiler, only a C++ compiler, so the lower level language on Windows is C++. Yet for application development, the application language is C#.

On Apple, the lowest level language is ObjC, and the application language is Swift. And on Android, its C + Kotlin.

Doing application development on, e.g., Android, using the C NDK, is pretty much unsupported, since the NDK is mostly undocumented, and changes often. The only stable API for application development is Java, or Kotlin.

Re:Lilith: x86-64 OS written in Crystal by LessDmesg on Monday December 23, 2019 @09:11AM (#21863671)
It's still C all the way down, even in 2019. Amazing how far crappy, badly thought out, ubiquitous, low entry barrier languages can go. More than 40 years of memory errors, out of bounds errors, broken metaprogramming, undefined behavior, lack of error handling, type safety, abstractions and intelligent design in general, all served under the clunky syntax sauce. And it still powers our world. Worse is better, indeed.
Re:Lilith: x86-64 OS written in Crystal by gdxhyrd on Monday December 23, 2019 @02:38PM (#21866576)
> crappy, badly thought out, ubiquitous, low entry barrier languages

It is easy to criticize designs that are 47 years old in today's context.

I am betting you wouldn't have done a better job half a century ago either.

Re:Lilith: x86-64 OS written in Crystal by dleslie on Monday December 23, 2019 @10:07AM (#21864006)
Crystal _could be_ for game developers; there's large green pastures left almost entirely untouched for a language to disrupt it. You see a few niche languages make inroads, like Haxe, but I expect something could really effect change.

The key is to be as fast as possible, as memory light as possible, and able to produce and speak to C ABI.

Re:Lilith: x86-64 OS written in Crystal by s_y_n_t_a_x on Monday December 23, 2019 @10:25AM (#21864146)
Nim and Lua are in that pasture. Being fast, memory light, and the C interop are the key features of Lua.
Re:Lilith: x86-64 OS written in Crystal by dleslie on Monday December 23, 2019 @11:19AM (#21864638)
Lua yes, and since the 90s, but Nim? I've not seen that yet. What games use it?
Re:Lilith: x86-64 OS written in Crystal by s_y_n_t_a_x on Monday December 23, 2019 @11:31AM (#21864730)
There's integration in Unreal Engine for Nim.

I'm not saying it's widespread, but the language features put it in that field.

Re:Lilith: x86-64 OS written in Crystal by _pmf_ on Monday December 23, 2019 @12:06PM (#21865049)
Jon Blow's (developer of "The Witness") Jai is worth mentioning in that context (not released, though).
Re:Lilith: x86-64 OS written in Crystal by mapcars on Monday December 23, 2019 @09:08AM (#21863646)
>Go brought some unique features as well (goroutines done right),

Why Erlang processes are not right?

Re:Lilith: x86-64 OS written in Crystal by elchupanebre on Monday December 23, 2019 @09:16AM (#21863693)
Erlang is just too different from the C-like languages that everyone is accustomed to.