Live data from Hacker News

Crystal 1.0 – What to expect

crystal-lang.org

331–340 of 351 posts

Re: Crystal 1.0 – What to expect

#331
post #330

Earlier quoted context omitted.

MIT doesn’t fund anything — that’s not how academic money works. The university doesn’t give out money, researchers apply for grants from the government, companies, or NGOs. The university then TAKES a huge cut of that money — it’s called “overhead” and it’s often more than 50%. Initial Julia work at MIT was funded by some absolutely tiny grants for distributed linear algebra research. The total amount of funding tha…

My experience in European universities is a bit different, yes scholarships are relevant, but salaries also happen regardless of them.

I can tell you first hand that the money at MIT is not going to Julia. Okay, there was a few years we had a devops person dedicated to making the JuliaLang organization work (at probably half the salary of FAANG for the love of OSS and MIT prestige), but the vast majority of the money does not go to Julia. For grant money at MIT, more than 50% is siphoned away before it gets to the lab. Then, the vast majority of that leftover money is not for software development but instead for research in methods for parallel computing, scientific machine learning, and applications to XYZ (you can just take a look at my CV or Alan Edelman's if you're curious about what the Julia Lab actually does).

While a lot of this research does trickle back into the Julia ecosystem, it's much less direct than Facebook paying the day salary for a bunch of PyTorch engineers. In fact, it's almost the opposite: most of the people who are paid are graduate students, who may be at risk of graduating if all they do is contribute to Julia instead of getting the required research manuscripts written.

One of the major transformations that has happened to the ecosystem though is that post-1.0 it has gotten some pretty wide industry adoption, along with some major success stories built directly off of the Julia ecosystem. Julia Computing, Pumas-AI, RelationalAI, Invenia, and Beacon Biosystems are just a few companies that are noteworthy of hiring a good number of contributors to the language and package ecosystem. The hiring by these kinds of entities has actually been growing so rapidly that it's a great labor market to be looking for a job in. But most of this hiring frenzy is not driven by MIT.

Re: Crystal 1.0 – What to expect

#332

It seems like Crystal is essentially the successor to C++, just as Rust or Go seem to be the successor of C.

I have no idea how you ended up with this completely wrong statement. Rust is closer to C++ replacement, and Crystal and Go are something else (GCed to begin with).

Re: Crystal 1.0 – What to expect

#333

Earlier quoted context omitted.

Why is that important given Moores law and fast developer workstations? Everyone seems so preoccupied with compile speed for Crystal.

Well, I have ADHD. I've found the most effective approach (on top of treatment) that helps me retain focus is reexec-on-save, a la `while :; do tput clear; $thing; inotifywait -q -e moved_to .; done`. I usually have a dozen of those in old shell histories (^R FTW). (Ha, my laptop actually has exactly 12, and my other machine has 23 - although ignoredups is off...) $thing might be `bash ./script.sh` (because my text e…

Thanks for your extensive write-up. PHP's definitely not my thing, but I appreciate your view of the process to iteratively dig (and dig, and dig...) into the details.

By the way, if you're looking for instant introspection, changes and carrying on, you should have a look at what you get with Common Lisp. You're able to redefine code on the fly, and continue from where things stopped. This blog post series goes into debugging, specifically with SBCL (one implementation), Emacs and an add-on called Slime.

https://malisper.me/category/debugging-common-lisp/

Re: Crystal 1.0 – What to expect

#334

Earlier quoted context omitted.

Well, speaking purely from personal experience, Crystal is much more enjoyable to write and read than Java derivatives. Take that with a grain of salt, though, since I have a deep-seated hatred of Java stemming from experiences in the early 00s.

Interesting, could you characterize some of what make it more enjoyable?

Sure.

The simplicity and predictability are key with Crystal; everything is an object, and the control structures are limited in number.

Crystal code is very concise and legible. You might say it's crystal clear.

Re: Crystal 1.0 – What to expect

#335

Earlier quoted context omitted.

Well, speaking purely from personal experience, Crystal is much more enjoyable to write and read than Java derivatives. Take that with a grain of salt, though, since I have a deep-seated hatred of Java stemming from experiences in the early 00s.

Interesting, could you characterize some of what make it more enjoyable?

Kotlin is indeed very Crystal-like, and I enjoy both languages, but I really miss union types in Kotlin, as well as deeper type inference. For example, in Crystal you can write

    def foo_then_bar(a, b)
      a.foo
      b.bar
    end
and it will just work for any two types that implement `foo` and `bar`, respectively. This isn't something I do often - I like the clarity that type-annotated parameters give - but it's a really nice feature to have available in the 2% of cases where I want it.

Then there's all the ecosystem stuff - Kotlin makes me do extra work to target native, and has little bits of weirdness inherited from Java all around the edges. None of it's deal-breaking, but it is friction.

Re: Crystal 1.0 – What to expect

#336
post #224

Earlier quoted context omitted.

The point is that they / we don't want to write c.

Speaking personally, I don't want to write in anything else but Ruby. If I have to code in something else, well, anything's fine. I don't want "elegance" in that language. I don't need other languages to try to be Ruby. I already have Ruby. I just want to get it done so I can build on that work... in Ruby. I just don't understand why other people seem to think Ruby isn't enough.

I like Ruby, too. But Crystal is like Ruby, and better in many regards. Performance is a huge issue with any computational intensive tasks. Crystal's static typing also avoids many simple errors you would only catch in Ruby with an extensive spec suite for many edge cases.

Re: Crystal 1.0 – What to expect

#337
post #330

Earlier quoted context omitted.

My experience in European universities is a bit different, yes scholarships are relevant, but salaries also happen regardless of them.

I can tell you first hand that the money at MIT is not going to Julia. Okay, there was a few years we had a devops person dedicated to making the JuliaLang organization work (at probably half the salary of FAANG for the love of OSS and MIT prestige), but the vast majority of the money does not go to Julia. For grant money at MIT, more than 50% is siphoned away before it gets to the lab. Then, the vast majority of tha…

Thanks for the overview how it actually works.

Re: Crystal 1.0 – What to expect

#338
post #324

Earlier quoted context omitted.

But then you've to consider that many languages have been created in academic institutions, few have become semi-popular, fewer have entered the industry sector.

Depends in what context, a language created by MIT researchers with the goal of changing the status quo of Python and R, followed by the creation of a foundation to drive its adoption among commercial entities, is quite different than the thousands of programming languages created across the globe for yet another compiler class assignment.

In my opinion the most important role in its adoption was having researchers putting it in application in their field. In a way it was Julia's killer app. Considering it is made for technical computing, this showed that it is useful and actually *used* for its purpose, and not something that some researchers have academic fun with. This is not to say that languages meant for academic purposes are bad but rather that it isn't something which will make a language popular.

Re: Crystal 1.0 – What to expect

#339

Earlier quoted context omitted.

Speaking personally, I don't want to write in anything else but Ruby. If I have to code in something else, well, anything's fine. I don't want "elegance" in that language. I don't need other languages to try to be Ruby. I already have Ruby. I just want to get it done so I can build on that work... in Ruby. I just don't understand why other people seem to think Ruby isn't enough.

I like Ruby, too. But Crystal is like Ruby, and better in many regards. Performance is a huge issue with any computational intensive tasks. Crystal's static typing also avoids many simple errors you would only catch in Ruby with an extensive spec suite for many edge cases.

This is a Crystal discussion, and I hate it when Crystal people show up in Ruby discussions and talk crap about Ruby so I won't argue against you, other than to say that Crystal is only like Ruby in that it's syntax is superficially similar.

Re: Crystal 1.0 – What to expect

#340

I'm new to Crystal - have been using it the past three months on a new web API. (I'm using the Lucky framework - https://luckyframework.org/ ) It's fantastic. I can think in it. Thank you to all the devs behind this wonderful language!

I’m very interested in migrating a production rails apps to crystal / lucky. Was your previous exp using rails?

A bit - mostly Sinatra and Grape tho.

Migration seems like it might be tough. The ORM (Avram) is missing some things still. (Like I think - tables without primary keys, seems like 'has many through' needs some work, stuff like that.) My API is quite simple.

Post reply on HN