Jay Taylor's notes

back to listing index

beefytech/Beef: Beef Programming Language

[web search]
Original source (github.com)
Tags: programming-languages beef speed github.com
Clipped on: 2020-01-08

Skip to content
Image (Asset 1/4) alt= You have unread notifications
Beef Programming Language http://www.beeflang.org
C++ HyPhy Shell Makefile C Perl Other
Branch: master
New pull request
Clone or download
Image (Asset 3/4) alt= BeefBoot Added Android support, and generalized target triple support 3 months ago BeefBuild Breakpoint hotkeys, autocomplete fix 26 days ago BeefLibs Added error/warning panel, region support 2 days ago BeefLink Changing target platform 3 months ago BeefRT Avoiding suspending BeefPerf thread 15 days ago BeefTools Allow clicking on reg in mem window, other minor fixes 14 days ago BeefySysLib Fixed opening workspace paths containing '/../' or '/./' 13 days ago Debugger32 Fixed build paths, added comparison warnings, other misc fixes 3 months ago Debugger64 Fixed build paths, added comparison warnings, other misc fixes 3 months ago IDE Shutdown fix 2 days ago IDEHelper Added error/warning panel, region support 2 days ago bin Updated tests to fix some Win32 issues 18 days ago builds Win32 debugging fixes, more work on custom compile commands 4 months ago extern Adding third-party licenses last month .gitignore Ignores fixes 2 months ago Beef.sln Fixed some tooltips, added Link Dependencies, more int-ness 18 days ago CMakeLists.txt Initial checkin 5 months ago LICENSE.TXT Added linebreaks to license last month LICENSES.TXT Adding third-party licenses last month README.md Update README.md 5 hours ago qthelper.py Initial checkin 5 months ago readme.txt Added license and readme 4 months ago


Beef Programming Language

Beef is an open source performance-oriented compiled programming language which has been built hand-in-hand with its IDE environment. The syntax and many semantics are most directly derived from C#, while attempting to retain the C ideals of bare-metal explicitness and lack of runtime surprises, with some "modern" niceties inspired by languages such as Rust, Swift, and Go. See the Language Guide for more details.

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.

Beef allows for safely mixing different optimization levels on a per-type or per-method level, allowing for performance-critical code to be executed at maximum speed without affecting debuggability of the rest of the application.

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.

The Beef IDE supports productivity features such as autocomplete, fixits, reformatting, refactoring tools, type inspection, runtime code compilation (hot code swapping), and a built-in profiler. The IDE's general-purpose debugger is capable of debugging native applications written in any language, and is intended to be a fully-featured standalone debugger even for pure C/C++ developers who want an alternative to Visual Studio debugging.

Binaries and Documentation

Binaries and documentation are available on beeflang.org.

IDE Screenshots

Image (Asset 4/4) alt=