Goose is a no GC language that targets C as the backend.No malloc / free. Everything lives on the stack.Everything freed when goes out of scope.Faster than C++ / Rust / Zig / Nim / Mojo etc.>https://aardappel.github.io/goose/>https://github.com/aardappel/goose>https://x.com/ID_AA_Carmack/status/2113704269274636568
BIG IF TRUE!No UB! Fully safe!It seems this technique is based on old ML research on regions: https://github.com/aardappel/goose/blob/master/docs/design/prior_art.md
>faster than zigziggers what's our response?
bumpwe accelerate
>>110187845>Contributors19 (19) @aardappel @claude
>>110187934Let's break our legacy programs by making massive changes to the standard libs again. Anyway, this language sounds too good to be true, so something must be up. Especially that whole 'Everything lives on the stack' part seems really inefficient or infeasible to work with.
Don't do itIt will bite you in the ass
>compiler bump allocator that the user has to also manageI hate that UX doesn't exist in programming languages. And what used to just be complexity worship / masochism, is now compounded by people making new slop langs they don't even expect to be manually writing
>Everything lives on the st-ACK
>>110188764>>Everything lives on the st-ACKhttps://i.4cdn.org/wsg/1793217476726432.mp4
slop coded shitcarmack is washed up, i dont even think he is alive anymore he just has a local agent running his twitter
>>110187845Okay but what happens when Zoomies reinvent Forth?
>everything lives on the stacknot a good idea sometimes, this is poopshit
>>110187845/g/ be like:> Jon Blow not releasing a compiler for 10 years - bad> Someone slopping a language ompn the weekend and releasing it - also bad
>>110192106Programming languages are solved.We don't need new ones and we should even stop updating the current ones too. You are and for thousands years will be able to do quite literally anything and everything with the current top 5 most popular languages.
>>110187845>fnNo, thanks. Also that guy code kinda sucks, I know because I was kinda involved with Cube engine 1 and 2. I mean he's smart, but not very organized.
>This repo was produced almost entirely with AI, from a human language design.
>>110192902The goose is loose
>Goose made with AI>Cosmos made with AIohnono
>>110192902i will now look at your repo.
>>110188672Do ziggers really do this?
>clauded a whole language on a meme allocator featureOr you could have just used something like bumpalo from the fucking start. Is this a joke language for retards?
>>110193215Yes. For a real language, use Cosmos.
>>110193227Cosmos DB? WTF is a cosmos lang?
>>110193243>he doesn't knowhttps://cosmos-language-lab-0819.asd-user56.chatgpt.site/
>>110193252Is this a fucking joke?
>>110187845>>110187882I tried reading his docs,it doesn't make sense.I have to read each phrase a bunch of time to understand what's the context.Am I retarded or is this just ai-sloptext?
>>110193070good luck with that as they all are private
>>110192106Yes. Programming languages are a dead end. Tooling is where the real productivity improvements are at, and has been for the last 30 years.
>>110187882Closer to Ada's data stack, actually. Though Ada does have heap allocation (and deallocation through unchecked package). But a lot of dynamically-sized things that most languages would have to put on the heap will in Ada go onto the secondary data stack. A lot of the sort of problems Ada gets used for (hard real-time control systems like avionics) don't allow use of the heap after entering the main control loop because heap allocation and deallocation do not have predictable execution times nor predictable maximum memory limits.
how is this possible? twitter told me rust is as fast as C and has zero cost abstractions and you cant get comp time mem safety in C. i spent years fighting the borrow checker!is this what Casey has been trying to tell us with arena allocations?
>>110192106both are retarded
>>110193252This "browser subset grammar" is a responsible basis for arresting & executing all slop-coders.
>>110194162rust is a meme, but anyone's minimal hobby language can beat C/rust in the beginning, because it simply lacks as many features./dpt/ used to have a lot of hobby lang devs naively bragging about it. Give it a year when the soundness bugs are patched and see what the benchmarks are like.
>>110195527Goose compiles to CI'm wondering what Linus thinks of Rust in the kernel now lmfao
>>110187845>everything lives on stackwhat if my program uses more than 5mb of ram?
>>110187845>no GCMeme language.
>>110192106You know nothing t. Jon Snow
>>110193707you know it's bad when "stack-only" is heralded as a breakthrough when ada has been doing this for like 30 years, with a waaaay more reliable and proven toolchain
>>110192106yes?
>>110188517the dutch are too retarded to make a word for potato so they call it an earth apple.frogs too.
>>110194162it's because the benchmarks are flawed. every test is written in nonsensical "Enterprise Java TM" stylepic rel is literally heap vs array
>>110199538cope. i rewrote all my projects in goose and it runs 2x faster than Rust on average.
I'm too tired to learn anything new.
>>110192868What's wrong with fn? I don't get the hate for it. It's short, leaving space to the function signature and what not.
>>110199538the benchmark is even more retarded than you think:https://gist.githubusercontent.com/rust-play/508b6131425ed383d176529374a0723c/raw/5a8976b4ddb68365088cb3cbfe16cba1ba33bff9/playground.rs(don't re-use storage. it's slower lol.)of course the benchmark is so retarded that the choice of allocator would probably also make a difference.as i said in >>110145838, the retard probably doesn't even know what a heap is, or thinks it's just the C malloc interface.(real) stack size is limited by the OS (see "ulimit -s", there is a reason why the example uses <8MiB memory).you can use larger stacks, but that forces every process to fork an extra thread, and larger stacks can actually become slower than the heap, so it's not a win anyway.anything outside of this (real) stack is not the stack. if you have a stack-like construct on the heap, congratulations, you're a retard who think you can beat a modern high-performance allocator for general use (you won't). or your "solution" is only useful in specific workloads, where people always had the option to use custom backing memory management strategy, without needing to change languages.>but have you looked up the author?no one is safe from dunning-kruger turbo-tarding. people who write high-performance code daily are infinitely more clued about the intricate realities of the field than a language designer doing a retarded 101-level (muh stack is fast, no heap).
>>110198376it's really a shame that ada ecosystem is so locked-down and the language barely used outside some industries, it was decades ahead of the competition when it was released and even today it still competes with rust and shit.>strong types>packages>built-in concurrency and threads>exceptions>genercis>contracts-based programming>no gc>spark>they understood that being explicit is better (no hidden type or other retardation like this)>code is easy to read>near C-level efficiency if you write non-critical software>powerful subtyping system>gcc can be used to compile software>gnat is very easy to useand probably moreI've been shilling this language at work but to no avail
>>110201413>I've been shilling this language at work but to no availlol same, over a decade ago. It's a neat language but the toolchain / ecosystem is ass. In the end I abandoned it out of frustration after I couldn't get cross compiling to work.
>>110187845Why would I use this over SPARK, when SPARK is comfy?
>>110187845>No malloc / free. Everything lives on the stack.do you understand how limiting this is?
>>110201332>stack size is limited by the OSGoose is using a secondary data stack like Ada though, so whatever point you thought you were making is moot.
>>110201413I agree, but will add that the DoD did it to themselves with their early Ada policies. Also early Ada compilers were complete ass; they worked in the sense that they generated correct machine code, but compile times were astronomical and the generated code quality was terrible because all the development budget went to passing the DoD acceptance tests. The DoD did Ada validation once a year, the testing took about 3 months, and if you passed the certificate was only good for one year, and the validation tests kept changing every year. And if you failed validation then you could not sell your Ada compiler until you passed the validation suite ... next year. All of this meant that to use Ada you needed a mainframe or high-end minicomputer to run your compiler, and you needed to pay $10k or so (~$33k today) per developer per year. The DoD could afford that but nobody else could.
>>110202306Keep reading.A second stack is memory on the heap (from an OS/low-level stand point).When it comes to contiguous collections, there is ZERO difference between a pre-allocated vector and pushing within capacity, and using a "secondary stack" to hold data.And if there is a use-case that could benefit from a different data-layout and/or modification strategy, vectors (or heap arrays, or whatever you want to call them) are not the only data collection type around. It just happens to be the most efficient for most use-cases (and if he thinks otherwise, he is a retard just like OOP tards). People use different collection types all the time. No new language is needed.
>>110202694>A second stack is memory on the heapthe first stack also lives on the "heap"
>>110202694>No new language is needed.this is the thing I don't get. Goose literally does nothing but make certain things harder for no reason and makes things easier to fuck up when your problem doesn't fit this moronic stackful nonsense.
>>110201039people have derangement syndrome related to modern PLT so they get butthurt by commonly used keywords like fn, because of its use in modern language design.
>>110203613no. it doesn't. should i start explaining MAP_ANONYMOUS to you?
>>110201332yeah like others told you it's not a call stack it's a bunch of virtual stacks. rust trannies on suicide watch kys
>>110203673cont. >>110203673cont. god you wrote so fucking you dumb tranny. the point is this language can use a much simpler allocation strategy. arenas already exploit exactly this in c.
>>110201413>I've been shilling this language at work but to no availI use this language at work, they apparently have issues recruiting developers who are willing to code in Ada according to the hiring manager