Live data from Hacker News

Why Crystal is the most promising programming language of 2018

medium.com

101–109 of 109 posts

Re: Why Crystal is the most promising programming language of 2018

#101
post #98

Earlier quoted context omitted.

That's not the point. You can run static languages in a REPL. Some easier than others. You've chosen a particularly easy static language to write REPLs for as a counterpoint. LISPs and other homoiconic languages are especially well suited for interpreters because they're especially well designed languages. Languages like C which require header files and a pre-processor are much harder to write REPLs for. You can try…

SBCL is compiled, dynamic and supports REPL based programming.

Like I said, Lisps are well suited for REPLs.

Re: Why Crystal is the most promising programming language of 2018

#102
post #59

Earlier quoted context omitted.

> I'm not sure if this is a sign of poor project managment, development stall or poor community engagement You missed another possibility: it being perfectly normal. If you check any large-ish project you'll find 100s or 1000s of unsolved issues and stale PRs. And I'm talking about seasoned, used in production, products, from MySQL to Chromium and whatever...

I think issues left open > 12 months is antithetical to the idea of lean/agile and could be a sign of suboptimal project management. But don’t get me wrong, I <3 Ruby and am excited about Crystal.

> I think issues left open > 12 months is antithetical to the idea of lean/agile and could be a sign of suboptimal project management.

Totally depends on the nature of the project, its policies and users.

Any popular FOSS project that allows anyone to post a bug, and doesn't just close unattended bug reports (which is bad imho), is likely to end up with some (usually minor) bugs open over 12 or more months.

Re: Why Crystal is the most promising programming language of 2018

#103

Earlier quoted context omitted.

True. I guess I mean that after a while I started classifying languages like this as "flavors of C". There are just so many languages that are fast, it's no longer a selling point. Out of all of the languages I've read about the past few years, only 3 jumped out as bringing real value to the table compared to the other options that are already out there: Go, Rust and Elixir.

Could you elaborate about the value of Elixir, please? It's been on my radar for quite a while now.

So a lot has been written on this topic already. I would personally direct you to read this (on Erlang, but Elixir is basically Erlang with nicer syntax and a few added bits) - https://ferd.ca/the-zen-of-erlang.html

Fundamentally though, Erlang/Elixir is a language built from first principles to achieve reliability in concurrent, distributed contexts. It's quite unique in that regard. Even the language it's most directly compared to (Go, in having go channels that are sort of but not quite like Erlang/Elixir processes) is built instead from concurrency first, not reliability (and having concurrency flow out from that as a required feature).

Re: Why Crystal is the most promising programming language of 2018

#104
post #73

Earlier quoted context omitted.

Because it's not correct.

The correct response to a wrong post is to correct it, not to drive by downvote. Explain where I'm wrong and then we have the basis for a discussion on the merits. Otherwise you're not adding anything.

There are plenty of corrections in the siblings.

Re: Why Crystal is the most promising programming language of 2018

#105
post #84
post #35

I never seem to be able to get into all of these new languages, mostly because I do not see a clear use case for it. The last two languages I learnt were Python, because we have our backend written in it and Swift for a personal project because it is what one writes iOS apps in today. I fail to imagine a kind of application that would warrant to learn a new general purpose language on top of what I already know. Well…

At BlockVue we are using crystal in production to solve some very computationally expensive constraints programming problems that we would otherwise likely have to tackle in C/C++.

Is this something which is inherently better handled by Crystal? For example does it have good libraries for contraint solving? What was your main motivation to choose Crystal?

Re: Why Crystal is the most promising programming language of 2018

#106

Earlier quoted context omitted.

Also, "meteoric rise" is kind of silly. That's not how meteors work.

A meteoric rise means a rise up into the sky. Meteoros is Latin and means "to raise up", usually into the sky. Hence "meteorology" which is the study of the sky and "meteors" which are bright lights in the sky.

"Well actually ..." but still no.

People don't say "meteorological rise" do they? They're not talking about gradual lifting, or about eyes. They're talking about a meteor. That's a real English word for a real physical thing, which by definition is approaching the earth - i.e. falling. Even if there's some etymological relationship to rising, the dominant relationship between the metaphor and the thing to which it refers in practically any listener's mind is all screwed up. Learn a better phrase, or even better make one up, instead of rationalizing one that's broken.

Re: Why Crystal is the most promising programming language of 2018

#107
post #61

Earlier quoted context omitted.

You don't need an interpreter for a REPL. Swift's REPL performs line-at-a-time compilation, running the program to that line and suspending it until you write and compile another line.

> You don't need an interpreter for a REPL. Swift's REPL performs line-at-a-time compilation Isn't that another way to say "interpreter"?

For all practical purposes, yes. In the strictest technical sense it's a form of JIT compilation, but that can be considered an optimization or implementation technique. If the user doesn't perceive a separate compilation step, it's effectively an interpreter and only a dedicated pedant would "well actually" that it's compilation.

Re: Why Crystal is the most promising programming language of 2018

#108
post #61

Earlier quoted context omitted.

You don't need an interpreter for a REPL. Swift's REPL performs line-at-a-time compilation, running the program to that line and suspending it until you write and compile another line.

> You don't need an interpreter for a REPL. Swift's REPL performs line-at-a-time compilation Isn't that another way to say "interpreter"?

Not really. An interpreter doesn't convert the language syntax tree into machine code, instead it just performs the operations. It sounds like Swift's REPL actually converts the lines into opcodes and runs those.

Re: Why Crystal is the most promising programming language of 2018

#109

Earlier quoted context omitted.

Also, "meteoric rise" is kind of silly. That's not how meteors work.

A meteoric rise means a rise up into the sky. Meteoros is Latin and means "to raise up", usually into the sky. Hence "meteorology" which is the study of the sky and "meteors" which are bright lights in the sky.

I believe "meteoric" mainly refers to the speed, not to the sky-reference.
Post reply on HN