4 ms·
I'm not feeling it. Compile time only metaprogramming just doesn't feel powerful enough. Just a personal thing. I'm definitely a fan of Crystal of though as a
by james_s_tayler 8y ago
I'm not feeling it. Compile time only metaprogramming just doesn't feel powerful enough. Just a personal thing.
I'm definitely a fan of Crystal of though as a project and would really like to see a bigger community and more libraries etc.
- realusername 8y agoThey don't do it because runtime metaprogramming has a lot of disadvantages, it's difficult to optimize so it runs poorly, it throws away the static typing out of the window and it's difficult to debug. I spent hours debugging Rails code in the past because of the layers of monkey patching.
- james_s_tayler 8y agoIt also has a lot of advantages. It's as powerful as it is dangerous. The real reason they don't do it is because they can't. It's inherently unsafe. In order to always be sure something is never null you have to be aware of what all it's inputs are so you can reason about it. That's not possible with runtime metaprogramming techniques. I dunno I guess I just think it's an odd choice. Don't get me wrong, it's a neat experiment and I value it. I'm just slightly miffed that that particular experiment had to mixed in with what amounts to a statically typed language with the beauty and simplicity of Ruby but the friendliness and discoverability of static typing.
- galfarragem 8y ago> would like to see a bigger community and more libraries Better Windows support could make wonders.