Hacker News new | ask | show | jobs
by valbaca 1816 days ago
> In the next 20 years I expect Go will be supplanted by a language which is a lot like go (automatic memory management, simple, easy to learn & write and performant enough) but with the addition of algebraic data types, named parameters, and a slightly higher level of abstraction.

I'd love for this to be Crystal: https://crystal-lang.org/

> I haven't seen server work being done in Java in ages.

In the meantime, I've been doing a large amount of Java backend server work for the past 10 years.

1 comments

I have a feeling it's going to have C-like syntax and frankly I hope so because using an `end` keyword instead of braces makes no sense to me.
Arguably using curly braces to delineate blocks makes no inherent sense either. We just do it because that's what everybody else does.
So if I can give my extremely pedantic rebuff: `end` is 3 characters rather than two with `{}` - that's objectively more work to type, and it makes your programs take more space on disk.

Also it's dead simple to write parsers and developer tools which can match open and close braces. Handling `end` with an arbitrary opening token (maybe it's `if <...>`, `while <...>` what have you) is objectively more work for your CPU to work with.

Subjectively, it looks dumb to have code which looks like this:

            end
          end
        end
      end
    end
  end