1. 9

Beef’s primary design goal is to provide a fluid and pleasurable development experience for high-performance real-time applications such as video games, with low-level features that make it suitabile for engine development, combined with high-level ergonomics suitable for game code development.

  1. 4

    Why a person designs a programming language and chooses to use a naming convention for fields (m prefix) instead of a built-in language feature? (E.g. a shorter form of this or self, like e.g. Ruby has a 1-char @ prefix)?

    Other than that, I like the look of the GUI toolkit, very cool.

    1. 2

      I don’t know about that hello world… https://www.beeflang.org/docs/getting-start/

      1. 2

        As much as it is silly to need so many lines to write hello world, is it really a problem? You wouldn’t want to use that language to teach people programming, but in any program of sufficient size, this boilerplate is going to be dwarfed by the amount of actual code you’ll have.

        That being said I still think needing that much code to say hello world is really silly..

        1. 2

          It’s less how much code is required, and more that you need to create a class and have multiple levels of nesting.. for the entrypoint… Very Java like.

        1. 2

          Thank you @gerikson, I’ve merged the home page story in to the previous submission of the source code repository.

        2. 1

          Memory management in Beef is manual, and includes first-class support for custom allocators. Care has been taken to reduce the burden of manual memory management with language ergonomics and runtime safeties – Beef can detect memory leaks in real-time, and offers guaranteed protection against use-after-free and double-deletion errors. As with most safety features in Beef, these memory safeties can be turned off in release builds for maximum performance.

          This is a neat compromise between manual memory management and garbage collection.