Live data from Hacker News

Why Crystal is the most promising programming language of 2018

medium.com

61–70 of 109 posts

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

#61
post #22

Earlier quoted context omitted.

> First of all, the problem isn't that it's "compiled" - Python is "compiled" too, but still has one of the best REPLs available. In a way it is. For a REPL you most likely need an interpreter for your language, like Cling is for C++.

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"?

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

#62
post #24

hey guys OP here just a note on parallelism -- once windows support is done (very soon), parallelism is the #1 priority of the dev team. If you are looking for syntax examples check out the docs there are tons of examples here: https://crystal-lang.org/docs/syntax_and_semantics/

I think not having a parallelism first mindset will be the killer of the language. It's too important in today's world to not have that be an essential part of the language from the beginning. Rust and go for example we're 100% designed around parallelism.

>I think not having a parallelism first mindset will be the killer of the language.

"Parallelism first"? That's a contentless statement that borders on marketing speak...

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

#64
post #59

I've been keeping my eye on Crystal for a while now thinking about making the plunge and writing something production ready in it. But I'm a bit vary as for the casual observer the Crystal project github ( https://github.com/crystal-lang/crystal ) seems brim with unsolved issues (over 500 issues!) and stale PR-s (over 105!). I'm not sure if this is a sign of poor project managment, development stall or poor community…

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

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

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

>issues left open > 12 months is anti-thetical to the idea of lean/agile

OSS doesn't care about lean/agile, those are ideologies consultants sell to enterprises.

Things are done when they are done.

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

#66

Well, here is why not. AFAK, it still lacks support for parallelism / multicore programming. Please correct me if I'm wrong. Once it has that, I'll be happy to learn it, but currently it's concurrency seems to be as limited as Racket's. That's a big obstacle for early adoption, since the trend is going towards 64 cores sooner than later. My current CPU already has 8 physical cores and 16 logical cores, and I'd like t…

Are you sure Racket doesn't support parallelism?

It definitely seems like it does https://docs.racket-lang.org/guide/parallelism.html

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

#67

This is what I appreciate about HN: reading that I was pretty convinced and had no idea what Crystal's shortcomings might be. Then I read the comments and the largest single complaint is lack of parallelism, by which people seem to mean being able to utilize all the cores of the processor. I've been programming for a while, but haven't run into this issue. Can someone explain who uses parallelism, for what, and in wh…

Parallelism is large part of the answer to question of "how do we make this thing as fast as hardware allows" (most people will add "easily" to that). Or "as fast as our users demand" if it makes it easier to understand. The use for that comes with scale, there is a one caveat though: it is often impossible to add this as an afterthought to your program and to programming language. If you choose programming language (or architecture) that does it poorly, you are digging yourself a hole you won't be able to get out of. This is main reasons why it is important even for cases when you don't need it right now.

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

#68
post #67

This is what I appreciate about HN: reading that I was pretty convinced and had no idea what Crystal's shortcomings might be. Then I read the comments and the largest single complaint is lack of parallelism, by which people seem to mean being able to utilize all the cores of the processor. I've been programming for a while, but haven't run into this issue. Can someone explain who uses parallelism, for what, and in wh…

Parallelism is large part of the answer to question of "how do we make this thing as fast as hardware allows" (most people will add "easily" to that). Or "as fast as our users demand" if it makes it easier to understand. The use for that comes with scale, there is a one caveat though: it is often impossible to add this as an afterthought to your program and to programming language. If you choose programming language…

Thank you for taking the time to answer the question.

In principle, I know how it ought to work. But when would I need to use it?

For instance, if someone is making a web api, and you're pulling data from a database, should one think about it?

If one is doing some data analysis, should one think about it?

I always thought that it is a "low level" program that takes care of it. So tensorflow might worry about it, but I wouldn't if I use tensorflow. Or perhaps mapreduce worries about it, or the ORM worries about it.

But when should I worry about it?

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

#69
post #13

Earlier quoted context omitted.

I had a quick search, REPLs exist for C, C++, D, Go, and Rust (my shortlist of statically typed, compiled languages). I would question what is meant by a 'true REPL'. It's certainly seems possible to build a REPL of a statically typed compiled language.

I don't know about the others (reportedly Cling for C++ is good) but the Rust repl doesn't work properly and is basically just a frontend for incrementally writing a Rust file.

Not only that but it’s about a year out of date at this point.

I’m hoping someone eventually makes a new one, possibly based on MIRI.

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

#70
post #21

Earlier quoted context omitted.

I learned to minimize burns by looking at everything that comes out as learning process, there is always something that makes us better developers. However for production code I only use the programming languages directly supported by platform owners. Of course others rather take part in ramping up eco-systems and that is fine as well, otherwise we wouldn't get new toys adopted by platform owners.

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.
Post reply on HN