Richard Feldman is such an engaging and captivating presenter. He comes across as congenial and curious and it's always a pleasure to watch his talks. Really rooting for roc and I can see it's getting to a point where I could start using it myself!
It will be interesting to see the governance model for this language. I have used Elm in the past. Richard was also part of the Elm team. Elm is “public source” and not open source. You can not meaningfully contribute to the language if you are not part of the team. It is also the only language I know where FFI can only be used by packages that the language authors write. I will not use any language that has not reached 1.0 yet if I’m not comfortable that I can fix the bugs in the language that I run into.
Roc is very much true open source. The largest contributor isn’t even Richard anymore, and there are loads of people that have made very meaningful contributions.
Personally I usually have it turned off, but a lot of people ask me what the experience is like when Copilot encounters a language that isn't in its corpus, so I wanted to include that in the demo. 😄
@@rtfeldman Hey, you're here! I've been following the development of Roc for a while and watched several of your talks, I love the language and I love your style and voice. Can't wait to see where Roc goes next 🙌
Oh, wow. A couple months ago I was thinking about how it would be possible to write extensible software without compromising on security, the idea of platforms is super interesting, and could be this languages killer feature
Different platforms could have completely different APIs, or different implementations of the same APIs. Or they can have their own constraints on the Main that you're supposed to export (e.g. list of errors allowed on the top level, which the platform will then process).
I have to admit, I love ML syntax, it looks so much cleaner to me than other languages, some people prefer the English looking stuff but for programming languages English looking stuff is sub-optimal for my taste. I still prefer S-expressions syntax. people don't understand how to code with Dynamic languages. the main mistake they make is to focus only on types, also if your reference as dynamic language is Python or Ruby then you are lost. Your reference should by Common Lisp & Smalltalk & Erlang, those are the real dynamic languages, Ruby & Python follow the same static philosophy of UNIX, even som lisps like Scheme & Emacs lisp & some smalltalks like GNU Smalltalk follow the static nature. Common Lisp & Squeak Smalltalk are the standard for Dynamic languages.
Would it be possible to use Roc as a scripting language in a game? Writing a custom platform to provide all interactions with the game. And have it safely run on players pc?
I would think so - it can compile to webassembly so there's at least an intention for the output artifact to be variable (and based on the platform?). Or do you mean people would write Roc _in_ the game? The REPL on their website means they've managed to embed the language and runtime, so you could too (not that it would be easy, haha).
Is there a reason for instane / unredable syntax for function call? Also I don't like no 'return' keyword or something indicating where function returns something. I think it adds to readability. Other than that I love it.
@@Qrzychu92 Well I'm pretty sure you can get used to every minor change like this and then the other way around seems just wrong. We could have no keyword for function definition and I'm sure after some time youd see writing 'def' or whatever wrong. The point is what you choose to see and I think highlighted 'return' keyword greatly increases readability. the same goes for function call. I'm sure you can get used to it, but what's here it's plain insane not to do this like the whole rest of the world.
@@WiecejNoxiego sure, that's the best way indeed. Imagine web servers written in ROC, both front and back ends, running on BEAM, type safe, no runtime errors etc etc.
@@СергейГалиуллин-п9ю I didn't explore ROC much yet (still waiting for it to mature a bit), but personally I'd be more interested in if it's possible to create platform for creating web servers with OpenAPI out of the box. It'll definitely be interesting to see how much features platforms can abstract from applications. Beam is nice, but it's probably overkill for most web servers and you probably take big performance hit for all its' features.
it's unusual to follow along with a video where the person live coding is using 1 release ahead of what the github pushes for every package lol I guess this video will stay relevant for longer that way though
@@zcizzorhandz5567 maybe you do but most of the people i know make things because they want to. why make music, or a new game, or a sand castle. utility is an incentive, it's not the reason.
Richard Feldman is such an engaging and captivating presenter. He comes across as congenial and curious and it's always a pleasure to watch his talks. Really rooting for roc and I can see it's getting to a point where I could start using it myself!
Roc has matured a lot since last time I watched Richard's talk. Will give it a try!
I'm very excited to watch this through. Roc, along with Zig, is one of the newer programming languages that's grabbing my attention!
zig is hardly new.... but yet still not stable.
Sounds like mixture of OCaml and Nim with a platforms feature. Sounds great
Nim mentioned.
It will be interesting to see the governance model for this language. I have used Elm in the past. Richard was also part of the Elm team. Elm is “public source” and not open source. You can not meaningfully contribute to the language if you are not part of the team. It is also the only language I know where FFI can only be used by packages that the language authors write. I will not use any language that has not reached 1.0 yet if I’m not comfortable that I can fix the bugs in the language that I run into.
Roc is very much true open source. The largest contributor isn’t even Richard anymore, and there are loads of people that have made very meaningful contributions.
Wonderful talk, Richard is always on point, super engaging and insightful. Gotta turn off copilot though 😅
Personally I usually have it turned off, but a lot of people ask me what the experience is like when Copilot encounters a language that isn't in its corpus, so I wanted to include that in the demo. 😄
@@rtfeldman Hey, you're here! I've been following the development of Roc for a while and watched several of your talks, I love the language and I love your style and voice. Can't wait to see where Roc goes next 🙌
Thanks, appreciate it!
I also don't usually read TH-cam comments, but sometimes people point them out to me 😆
I wasn't expecting this version of the language to be so good. the ! operator is beautiful
Thanks for the talk and demo..😀 I'm looking forward to trying out the language.
the anonymous tagged union is the breakthough
Oh, wow. A couple months ago I was thinking about how it would be possible to write extensible software without compromising on security, the idea of platforms is super interesting, and could be this languages killer feature
Wow, that's big news about you joining Zed. Grats for that. Looks like Roc is ready for someone (probably me) to implement Bye Bye Hello World.
Very interesting.
If I’m not mistaken, different platforms could have completely different implementations of Stdin and Stdout?
Different platforms could have completely different APIs, or different implementations of the same APIs. Or they can have their own constraints on the Main that you're supposed to export (e.g. list of errors allowed on the top level, which the platform will then process).
I have to admit, I love ML syntax, it looks so much cleaner to me than other languages, some people prefer the English looking stuff but for programming languages English looking stuff is sub-optimal for my taste. I still prefer S-expressions syntax.
people don't understand how to code with Dynamic languages. the main mistake they make is to focus only on types, also if your reference as dynamic language is Python or Ruby then you are lost. Your reference should by Common Lisp & Smalltalk & Erlang, those are the real dynamic languages, Ruby & Python follow the same static philosophy of UNIX, even som lisps like Scheme & Emacs lisp & some smalltalks like GNU Smalltalk follow the static nature.
Common Lisp & Squeak Smalltalk are the standard for Dynamic languages.
Would it be possible to use Roc as a scripting language in a game? Writing a custom platform to provide all interactions with the game. And have it safely run on players pc?
I would think so - it can compile to webassembly so there's at least an intention for the output artifact to be variable (and based on the platform?). Or do you mean people would write Roc _in_ the game? The REPL on their website means they've managed to embed the language and runtime, so you could too (not that it would be easy, haha).
Yeah totally! Last I checked, someone in the Roc Zulip chat was working on exactly that already!
Is there a reason for instane / unredable syntax for function call? Also I don't like no 'return' keyword or something indicating where function returns something. I think it adds to readability. Other than that I love it.
once you get used to it, having to write returns thinks just wrong and redundant :)
@@Qrzychu92 Well I'm pretty sure you can get used to every minor change like this and then the other way around seems just wrong. We could have no keyword for function definition and I'm sure after some time youd see writing 'def' or whatever wrong. The point is what you choose to see and I think highlighted 'return' keyword greatly increases readability.
the same goes for function call. I'm sure you can get used to it, but what's here it's plain insane not to do this like the whole rest of the world.
It is amazing, looks like a dream came true.
8:53 rustfmt can be configured, although i suppose its not common to do
haskell + rust + typescript. very interesting
A bit like Gleam without the BEAM?
Looks as different from Gleam as it is from Rust.
Give us the BEAM and Roc will become the ultimate overlord 3000 language of all the predictable futures
Maybe there could be some BEAM platform for Roc? I personally appreciate that it doesn't run (or doesn't have to run) on VM.
@@WiecejNoxiego sure, that's the best way indeed. Imagine web servers written in ROC, both front and back ends, running on BEAM, type safe, no runtime errors etc etc.
@@СергейГалиуллин-п9ю I didn't explore ROC much yet (still waiting for it to mature a bit), but personally I'd be more interested in if it's possible to create platform for creating web servers with OpenAPI out of the box.
It'll definitely be interesting to see how much features platforms can abstract from applications.
Beam is nice, but it's probably overkill for most web servers and you probably take big performance hit for all its' features.
🔥
This language is so cool!
it's unusual to follow along with a video where the person live coding is using 1 release ahead of what the github pushes for every package lol
I guess this video will stay relevant for longer that way though
I'm tired of the hobby languages, what problem is Roc solving specifically? If there's no specific problem it solves it's a waste of time.
What about "making prototyping type safe"?
what a foolish comment on so many levels.
@@JoshZigler-m6g We make things to solve problems.
Why put so much effort into something that you know has no future?
@@zcizzorhandz5567 maybe you do but most of the people i know make things because they want to. why make music, or a new game, or a sand castle. utility is an incentive, it's not the reason.