Live data from Hacker News

Sadly, I must say goodbye to Leaf, my programming language

mortoray.com

41–50 of 132 posts

Re: Sadly, I must say goodbye to Leaf, my programming language

#41
post #30

Earlier quoted context omitted.

Re the second point did you manage to get around this? Played with it a bit and it felt almost like flash back in the day where you could eschew the timeline and do everything programmatically. In the end ran into a problem where I wanted to move the universe around the player and couldn’t get the particle engine to cope..

I started our my games development career as a low level programmer and moved to a lead programmer in the technology department and then founded a games studio where we wrote our own engine and released several games. My role meant I had to make the correct business decisions using my technological knowledge and as much as writing engines and technology ran through my blood, the right answer was to switch to Unity. T…

> We felt the strain of waiting days for an answer to a mission critical Unity issue. But in the grand scheme, the pain was less than 10% of what we would have experienced doing it with our own engine.

Wouldn't that make you feel nervous ? To totally depend on unity's merit to ship a game when you cannot address blocker bugs yourself ?

Re: Sadly, I must say goodbye to Leaf, my programming language

#42
post #16

Earlier quoted context omitted.

This post seems to be just a collection of generalities judging the way that someone else has chosen to spend his time. You seem both to be saying that he shouldn't have started and that, since he started, he shouldn't stop. Well, presumably the author once got some value out of the effort, so that it was worth starting; and found that he was now no longer getting enough value out of it, so that it was worth stopping…

For a private endeavour, whether he finishes or not is completely up to him. When he puts it out for all to see, this then changes the dynamic under which he is moving forward. If he had said he was stopping due to life commitments or family situations, etc, then these kinds of things take priority, as they should. No problems or issues should arise from that. But he has stated that he is giving up because it now inv…

A more charitable explanation is (in his words), "it’s no longer fulfilling my goals, and it’s not as fun as it once was."

When I look at it from his point of view, I feel quite sorry for him. The language's forum has 9 posts in the last calendar year. 4 of those are him solving a problem using Leaf. Then, I check out the status page and realize that, for all the work he has done, Leaf is still in a very primitive state.

I'd equate it to being like a startup. At some point, it stops making sense. Then, you can either ride the ship down into the depths, or hop out when the going is as good as it will get.

As for his dependability, I've got to tell you that, from my perspective, anyone who can pull this off is more than impressive enough.

I think he should be awfully impressed with what he did. And, I don't think it's even remotely fair to judge him as being undependable. Based on what I've seen, I think he should have pulled the plug last year, when he first wanted to quit.

Re: Sadly, I must say goodbye to Leaf, my programming language

#43
post #26

I had a similar thought process (but luckily without spending time implementing something). I want to write a game. I thought, "None of the current languages works quite the way I want. I know! I'll write a language specifically for my game and just keep implementing the bits I need". Then I thought, "Wait. If I do that, I'll spend 90% of my time writing a language and 10% of my time writing a game". So I was saved.…

Games are still in need of a better language. I have some skepticism and hope for Jai. I really wish D as better C worked better in that realm, but it's missing a few crucial things. Rust asserts too much control over memory. I'm all ears for anything that's somewhere between C and C++ as an alternative to write games in. Most new languages just don't get the things right that C++ did, which is why despite it having…

I was almost like OP for a while. Working on game, fed up with existing languages (even C), wanted a better C. I was excited about Jai, but as time goes on I'm finding it looks less and less what I want from a language. Seriously considered making my own.

Then I started working with Zig[0]. It's about 90% the language I want and even though it's still immature and the syntax, std lib, and semantics are in flux, I still find the quality of life improvement so huge that all my current projects are in Zig.

Zig is a better C to Jai's better C++, I think. It's a small language, it favors simplicity and explicitness, it has entirely manual memory management to the point that there isn't even a default allocator (we pass one in to anything that requires one). It even lets you import C headers directly to interface with C libraries.

[0] https://ziglang.org/

(skip the "stable" 2.0 download, it's way out of date from master)

Re: Sadly, I must say goodbye to Leaf, my programming language

#44

Earlier quoted context omitted.

I believe rust can compile down to a shared object and thus trivially used via any CFFI. Sure you lose the expressivness of the rust language APIs but that's a nightmare for interop anyways.

Only because rust has an unstable ABI. I feel like it'd be nice to have rust provide an explicit "rust-stable" ABI for those kind of things.

Really curious, is there much of a usecase for a stable rust ABI? There is no ecosystem of "rusty shared objects" to support and cargo tends to build things fine without it.

As an outside observer it looks like an unnecessary complication.

Re: Sadly, I must say goodbye to Leaf, my programming language

#45
post #26

I had a similar thought process (but luckily without spending time implementing something). I want to write a game. I thought, "None of the current languages works quite the way I want. I know! I'll write a language specifically for my game and just keep implementing the bits I need". Then I thought, "Wait. If I do that, I'll spend 90% of my time writing a language and 10% of my time writing a game". So I was saved.…

Games are still in need of a better language. I have some skepticism and hope for Jai. I really wish D as better C worked better in that realm, but it's missing a few crucial things. Rust asserts too much control over memory. I'm all ears for anything that's somewhere between C and C++ as an alternative to write games in. Most new languages just don't get the things right that C++ did, which is why despite it having…

> Games are still in need of a better language.

I find Swift to be the best so far, its strong ties to the Apple ecosystem notwithstanding.

Having tinkered with various environments since the Sinclair Spectrum's BASIC (though back then I had no idea what I was doing) I've successively fallen in love with Visual Basic (6.0, not the .NET impostor) and then C#, and now I'm smitten with Swift.

In Microsoft land I was let down by their usual dichotomies that did not allow you full access to all their APIs (or hardware performance) from anything but C++ (though I did manage to make playable DirectX games in VB6). I don't know how that has changed in the last decade since I jumped ship to Apple, but .NET was treated as a second-class citizen for too long.

With Swift, not only do I have access to everything that Apple's operating systems offer, it's also a modern language which feels naturally suited to game design patterns. Although until Swift 2 I often had to fight the language, since Swift 3 and especially now in Swift 4.2 I find it effortless to reason about most game architectures while sticking to the language's idioms.

I also appreciate it for enforcing good practices and getting rid of most sources of ambiguity (such as the ++/-- operators and the legacy `for` syntax, or being specific about %/modulo and so on), even if it may feel annoying in the beginning if you're coming from "looser" languages. It also compiles to native code and can easily interop with C [0], but best of all: I am glad to be able to finally leave semicolons behind. C# honestly feels archaic in comparison now.

As for the elephant in the room – that Swift is only good for iOS, macOS, tvOS and watchOS – well, those platforms have a combined userbase of over a billion users, and the most successful app market [1]; I don't feel that it's such a downside to be limited to those platforms. I do wish that the Apple TV came with a proper gamepad so we could only target that without losing users. It could be a serious contender to existing game consoles if Apple took that route.

If you're in love with Swift too, I'm writing an open-source game engine which offers an Entity-Component-System architecture on top of Apple's APIs [2].

[0] https://theswiftdev.com/2018/01/15/how-to-call-c-code-from-s...

[1] https://www.google.com/search?Apple+App+Store+payouts

[2] https://github.com/invadingoctopus/octopuskit

Re: Sadly, I must say goodbye to Leaf, my programming language

#46

I want to do D, and it'll be easier to do A, B, C first. A turned out harder than expected; B had challenges, some seemly insurmountable, some merely incredibly tedious. C looks even worse. I'm exhausted, lost interest in D. But I "should" continue. I give up... a failure. All because A, B, C make D "easy".

Interestingly, the author of D is on this comments page ... he did do D :-)

Re: Sadly, I must say goodbye to Leaf, my programming language

#47

I had a similar thought process (but luckily without spending time implementing something). I want to write a game. I thought, "None of the current languages works quite the way I want. I know! I'll write a language specifically for my game and just keep implementing the bits I need". Then I thought, "Wait. If I do that, I'll spend 90% of my time writing a language and 10% of my time writing a game". So I was saved.…

One of my motivations for writing a compiler was to get my game Empire to run faster. Wound up with a career writing compilers, not games.

For anyone else who was wondering https://en.wikipedia.org/wiki/Walter_Bright

Re: Sadly, I must say goodbye to Leaf, my programming language

#49
post #26

Earlier quoted context omitted.

Games are still in need of a better language. I have some skepticism and hope for Jai. I really wish D as better C worked better in that realm, but it's missing a few crucial things. Rust asserts too much control over memory. I'm all ears for anything that's somewhere between C and C++ as an alternative to write games in. Most new languages just don't get the things right that C++ did, which is why despite it having…

I was almost like OP for a while. Working on game, fed up with existing languages (even C), wanted a better C. I was excited about Jai, but as time goes on I'm finding it looks less and less what I want from a language. Seriously considered making my own. Then I started working with Zig[0]. It's about 90% the language I want and even though it's still immature and the syntax, std lib, and semantics are in flux, I sti…

Zig is on my "must follow" list right now. It's still early enough in the going that I don't want to maintain code in it, but it's developing in a promising direction and making the kind of commitments that are reasonable to keep.

A lot of language devs want to play with semantics but aren't into the whole "let's do the hard work of actually getting off of C as the baseline" idea so it's nice to have a project that does and has a fairly explicit goal of absorbing and replacing the existing infrastructure step by step.

Re: Sadly, I must say goodbye to Leaf, my programming language

#50

Earlier quoted context omitted.

One of my motivations for writing a compiler was to get my game Empire to run faster. Wound up with a career writing compilers, not games.

For anyone else who was wondering https://en.wikipedia.org/wiki/Walter_Bright

Why not just link to the homepage itself, instead of wikipedia... ? Has much more information.

http://www.walterbright.com/

Post reply on HN