9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
* [9fans] Zig cutting back support for Plan 9
@ 2025-08-11 23:03 Willow Liquorice
  2025-08-12  0:04 ` David Leimbach via 9fans
  2025-08-14 10:36 ` ori
  0 siblings, 2 replies; 26+ messages in thread
From: Willow Liquorice @ 2025-08-11 23:03 UTC (permalink / raw)
  To: 9fans

I've been keeping an eye on Zig and noticed this recently-merged branch 
from Andrew Kelley, removing support for Plan 9 executables in the 
linker (https://github.com/ziglang/zig/pull/24803).

"Not worth the maintenance burden."

I suspect the feeling is mutual right now, given that Zig code rots very 
quickly if it uses the stdlib.

I read Ron Minnich was able to get Zig building through vmx acrobatics. 
That process is unaffected by the merge as, IIUC, it targets a Linux VM. 
This is a blow to self-hosting Zig on Plan 9, though.

        - Willow

P.S. "The operating system is not that interesting" my foot!

------------------------------------------
9fans: 9fans
Permalink: https://9fans.topicbox.com/groups/9fans/Ta74fdc99bf0151a0-M36bc0578b4685ab2a19ec63e
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [9fans] Zig cutting back support for Plan 9
  2025-08-11 23:03 [9fans] Zig cutting back support for Plan 9 Willow Liquorice
@ 2025-08-12  0:04 ` David Leimbach via 9fans
  2025-08-12 11:42   ` Alyssa M via 9fans
  2025-08-12 13:59   ` Willow Liquorice
  2025-08-14 10:36 ` ori
  1 sibling, 2 replies; 26+ messages in thread
From: David Leimbach via 9fans @ 2025-08-12  0:04 UTC (permalink / raw)
  To: 9fans; +Cc: 9fans

In fairness… he said the work was never completed and the maintainer is MIA. I’d do the same thing.

Zig has a small audience. Plan 9/9front has a small audience. The intersection? Yikes!

Could some of it be worded differently? Sure. 

Sent from my iPad

> On Aug 11, 2025, at 5:00 PM, Willow Liquorice <willow@howhill.com> wrote:
> 
> I've been keeping an eye on Zig and noticed this recently-merged branch from Andrew Kelley, removing support for Plan 9 executables in the linker (https://github.com/ziglang/zig/pull/24803).
> 
> "Not worth the maintenance burden."
> 
> I suspect the feeling is mutual right now, given that Zig code rots very quickly if it uses the stdlib.
> 
> I read Ron Minnich was able to get Zig building through vmx acrobatics. That process is unaffected by the merge as, IIUC, it targets a Linux VM. This is a blow to self-hosting Zig on Plan 9, though.
> 
> - Willow
> 
> P.S. "The operating system is not that interesting" my foot!

------------------------------------------
9fans: 9fans
Permalink: https://9fans.topicbox.com/groups/9fans/Ta74fdc99bf0151a0-M6bd9c4a7d05cdb129d70c838
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [9fans] Zig cutting back support for Plan 9
  2025-08-12  0:04 ` David Leimbach via 9fans
@ 2025-08-12 11:42   ` Alyssa M via 9fans
  2025-08-12 13:04     ` David Leimbach via 9fans
  2025-08-12 13:40     ` sirjofri via 9fans
  2025-08-12 13:59   ` Willow Liquorice
  1 sibling, 2 replies; 26+ messages in thread
From: Alyssa M via 9fans @ 2025-08-12 11:42 UTC (permalink / raw)
  To: 9fans

[-- Attachment #1: Type: text/plain, Size: 599 bytes --]

I'm afraid I still use C89. I've never found a language I like better. It has everything I need and my compiler usually produces the assembler I would have written anyway, and much more quickly. The (cast) operator is my favourite feature. I never bothered to implement typedefs, unions, or gotos, though: no language is perfect and I think they were not such good ideas.
------------------------------------------
9fans: 9fans
Permalink: https://9fans.topicbox.com/groups/9fans/Ta74fdc99bf0151a0-M2dcad6df9adee7ec53a3af7c
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

[-- Attachment #2: Type: text/html, Size: 1101 bytes --]

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [9fans] Zig cutting back support for Plan 9
  2025-08-12 11:42   ` Alyssa M via 9fans
@ 2025-08-12 13:04     ` David Leimbach via 9fans
  2025-08-13 12:33       ` Alyssa M via 9fans
  2025-08-12 13:40     ` sirjofri via 9fans
  1 sibling, 1 reply; 26+ messages in thread
From: David Leimbach via 9fans @ 2025-08-12 13:04 UTC (permalink / raw)
  To: 9fans; +Cc: 9fans

[-- Attachment #1: Type: text/html, Size: 2042 bytes --]

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [9fans] Zig cutting back support for Plan 9
  2025-08-12 11:42   ` Alyssa M via 9fans
  2025-08-12 13:04     ` David Leimbach via 9fans
@ 2025-08-12 13:40     ` sirjofri via 9fans
  2025-08-12 15:57       ` ron minnich
  1 sibling, 1 reply; 26+ messages in thread
From: sirjofri via 9fans @ 2025-08-12 13:40 UTC (permalink / raw)
  To: 9fans

Hi,

12.08.2025 14:57:22 Alyssa M via 9fans <9fans@9fans.net>:
> I'm afraid I still use C89. I've never found a language I like better. It has everything I need and my compiler usually produces the assembler I would have written anyway, and much more quickly. The (cast) operator is my favourite feature. I never bothered to implement typedefs, unions, or gotos, though: no language is perfect and I think they were not such good ideas.

Honestly, I really like typedef and goto, at least the way they are used in Plan 9 code. Unions also have their place, though I rarely use them and it often makes more sense to not use them to prevent overoptimization.

I like gotos for early function exits when I have multiple exit points and always have to do the same thing, as well as for function cleanup. Sure, I could choose not to use goto, but a few little gotos makes the code more readable.

Typedefs save my sanity. I don't want to write "struct mystruct" every time I need that type, so a simple "typedef struct mystruct mystruct" can make the code so much more readable if you stick to that same pattern throughout your codebase and limit the usage to that. Typedefing weird primitive types on the other hand is rarely useful, with the exception of enums.

All that said, this is all syntactic sugar, as C could also be described as syntactic sugar on top of assembly. In the end, you can deal with the memory as you like. C just gives you a bit more type safety.

I never understood why people have so much trouble understanding pointers, so maybe I'm the weird guy.

Regarding zig, it's a bit sad, but understandable. I never wrote any zig, but I found a few concepts quite interesting.

sirjofri

------------------------------------------
9fans: 9fans
Permalink: https://9fans.topicbox.com/groups/9fans/Ta74fdc99bf0151a0-Ma7c5cae0161b39297ec32282
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [9fans] Zig cutting back support for Plan 9
  2025-08-12  0:04 ` David Leimbach via 9fans
  2025-08-12 11:42   ` Alyssa M via 9fans
@ 2025-08-12 13:59   ` Willow Liquorice
  2025-08-12 15:44     ` David Leimbach via 9fans
  1 sibling, 1 reply; 26+ messages in thread
From: Willow Liquorice @ 2025-08-12 13:59 UTC (permalink / raw)
  To: 9fans

This is true, shame g-w1 isn't on 9fans AFAICT. I've emailed him about 
his moribund Zig contributions.

Stripping Plan 9 out of the linker is understandable, but that doesn't 
make it any less disappointing.

Here's why I say "the feeling is mutual":

I find Zig's lack of API stability guarantees, combined with its erratic 
release cadence, particularly paralysing right now. I really want to 
work on making Zig more portable: the low-hanging fruit (issues #9828 
and #17807) of eliminating its LLVM dependency (#16270).

Writergate is on nightly, and so a mountain of breaking API changes will 
come… at some unspecified point in the near future, because today was 
Zig 0.15.0's release target, but there are still issues blocking the 
release.

It's rather demotivating to find that the relevant APIs for your 
software project have a shelf life comparable to most foodstuffs.

        - Willow

On 12/08/2025 01:04, David Leimbach via 9fans wrote:
> In fairness… he said the work was never completed and the maintainer is MIA. I’d do the same thing.
> 
> Zig has a small audience. Plan 9/9front has a small audience. The intersection? Yikes!
> 
> Could some of it be worded differently? Sure.
> 
> Sent from my iPad
> 
>> On Aug 11, 2025, at 5:00 PM, Willow Liquorice <willow@howhill.com> wrote:
>>
>> I've been keeping an eye on Zig and noticed this recently-merged branch from Andrew Kelley, removing support for Plan 9 executables in the linker (https://github.com/ziglang/zig/pull/24803).
>>
>> "Not worth the maintenance burden."
>>
>> I suspect the feeling is mutual right now, given that Zig code rots very quickly if it uses the stdlib.
>>
>> I read Ron Minnich was able to get Zig building through vmx acrobatics. That process is unaffected by the merge as, IIUC, it targets a Linux VM. This is a blow to self-hosting Zig on Plan 9, though.
>>
>> - Willow
>>
>> P.S. "The operating system is not that interesting" my foot!

------------------------------------------
9fans: 9fans
Permalink: https://9fans.topicbox.com/groups/9fans/Ta74fdc99bf0151a0-Meee6f30cfafb413bb772eb5e
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [9fans] Zig cutting back support for Plan 9
  2025-08-12 13:59   ` Willow Liquorice
@ 2025-08-12 15:44     ` David Leimbach via 9fans
  0 siblings, 0 replies; 26+ messages in thread
From: David Leimbach via 9fans @ 2025-08-12 15:44 UTC (permalink / raw)
  To: 9fans; +Cc: 9fans


Sent from my iPhone

> On Aug 12, 2025, at 7:51 AM, Willow Liquorice <willow@howhill.com> wrote:
> 
> This is true, shame g-w1 isn't on 9fans AFAICT. I've emailed him about his moribund Zig contributions.
> 
> Stripping Plan 9 out of the linker is understandable, but that doesn't make it any less disappointing.
> 
> Here's why I say "the feeling is mutual":
> 
> I find Zig's lack of API stability guarantees, combined with its erratic release cadence, particularly paralysing right now. I really want to work on making Zig more portable: the low-hanging fruit (issues #9828 and #17807) of eliminating its LLVM dependency (#16270).

I understand the frustration. They do not wish to stabilize until they’re happy with the design. And the changes they keep making while unstable (pre-1.0) seem warranted.

It’d be worse if they weren’t already forthcoming about the instability but it seems well-understood.

> 
> Writergate is on nightly, and so a mountain of breaking API changes will come… at some unspecified point in the near future, because today was Zig 0.15.0's release target, but there are still issues blocking the release.
> 
> It's rather demotivating to find that the relevant APIs for your software project have a shelf life comparable to most foodstuffs.

Yeah it’s a bit ironic that 9front and Plan 9 are relatively stable and low-risk — assuming that zig is modular enough to handle platform/OS specifics non-disruptively.

One wonders if Andrew and others are thinking about refactoring the linker bits and wanting to get rid of “special cases” they don’t need to carry in order to move forward.

And then there’s the problem of continuous integration tests against 9front/plan 9.

What does Go do? Rely on the community to find and fix breaks? That’s not the most ideal situation either.

Anyway it’s a zero cost investment to maintain quality and if the returns aren’t high enough — people won’t do it.

> 
>       - Willow
> 
>> On 12/08/2025 01:04, David Leimbach via 9fans wrote:
>> In fairness… he said the work was never completed and the maintainer is MIA. I’d do the same thing.
>> Zig has a small audience. Plan 9/9front has a small audience. The intersection? Yikes!
>> Could some of it be worded differently? Sure.
>> Sent from my iPad
>>>> On Aug 11, 2025, at 5:00 PM, Willow Liquorice <willow@howhill.com> wrote:
>>> 
>>> I've been keeping an eye on Zig and noticed this recently-merged branch from Andrew Kelley, removing support for Plan 9 executables in the linker (https://github.com/ziglang/zig/pull/24803).
>>> 
>>> "Not worth the maintenance burden."
>>> 
>>> I suspect the feeling is mutual right now, given that Zig code rots very quickly if it uses the stdlib.
>>> 
>>> I read Ron Minnich was able to get Zig building through vmx acrobatics. That process is unaffected by the merge as, IIUC, it targets a Linux VM. This is a blow to self-hosting Zig on Plan 9, though.
>>> 
>>> - Willow
>>> 
>>> P.S. "The operating system is not that interesting" my foot!

------------------------------------------
9fans: 9fans
Permalink: https://9fans.topicbox.com/groups/9fans/Ta74fdc99bf0151a0-Mf401e854874fed43d99986e9
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [9fans] Zig cutting back support for Plan 9
  2025-08-12 13:40     ` sirjofri via 9fans
@ 2025-08-12 15:57       ` ron minnich
  0 siblings, 0 replies; 26+ messages in thread
From: ron minnich @ 2025-08-12 15:57 UTC (permalink / raw)
  To: 9fans

[-- Attachment #1: Type: text/plain, Size: 2699 bytes --]

I spent a bit of time with the zig port, long enough to be reminded just
how good a job the Go team did with making a portable language, including
the runtime.

The acid test for portability, for me, is simple: if it can run on Plan 9
and Unix and WIndows and OSX and bare metal, it's portable. Anything else
is not.

As examples: C89 and Go pass the test for me.

Zig, to me, is not a portable language; it's only portable in the sense of
"portable to things mostly like unix". I was disappointed in Zig, once I
got a bit deeper into the code. So I stopped.



On Tue, Aug 12, 2025 at 7:51 AM sirjofri via 9fans <9fans@9fans.net> wrote:

> Hi,
>
> 12.08.2025 14:57:22 Alyssa M via 9fans <9fans@9fans.net>:
> > I'm afraid I still use C89. I've never found a language I like better.
> It has everything I need and my compiler usually produces the assembler I
> would have written anyway, and much more quickly. The (cast) operator is my
> favourite feature. I never bothered to implement typedefs, unions, or
> gotos, though: no language is perfect and I think they were not such good
> ideas.
> 
> Honestly, I really like typedef and goto, at least the way they are used
> in Plan 9 code. Unions also have their place, though I rarely use them and
> it often makes more sense to not use them to prevent overoptimization.
> 
> I like gotos for early function exits when I have multiple exit points and
> always have to do the same thing, as well as for function cleanup. Sure, I
> could choose not to use goto, but a few little gotos makes the code more
> readable.
> 
> Typedefs save my sanity. I don't want to write "struct mystruct" every
> time I need that type, so a simple "typedef struct mystruct mystruct" can
> make the code so much more readable if you stick to that same pattern
> throughout your codebase and limit the usage to that. Typedefing weird
> primitive types on the other hand is rarely useful, with the exception of
> enums.
> 
> All that said, this is all syntactic sugar, as C could also be described
> as syntactic sugar on top of assembly. In the end, you can deal with the
> memory as you like. C just gives you a bit more type safety.
> 
> I never understood why people have so much trouble understanding pointers,
> so maybe I'm the weird guy.
> 
> Regarding zig, it's a bit sad, but understandable. I never wrote any zig,
> but I found a few concepts quite interesting.
> 
> sirjofri

------------------------------------------
9fans: 9fans
Permalink: https://9fans.topicbox.com/groups/9fans/Ta74fdc99bf0151a0-Mbe9a83a17723dbcd43ad9ae4
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

[-- Attachment #2: Type: text/html, Size: 4187 bytes --]

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [9fans] Zig cutting back support for Plan 9
  2025-08-12 13:04     ` David Leimbach via 9fans
@ 2025-08-13 12:33       ` Alyssa M via 9fans
  2025-08-13 13:23         ` sirjofri via 9fans
  2025-08-13 21:28         ` [9fans] Zig cutting back support for Plan 9 Willow Liquorice
  0 siblings, 2 replies; 26+ messages in thread
From: Alyssa M via 9fans @ 2025-08-13 12:33 UTC (permalink / raw)
  To: 9fans

[-- Attachment #1: Type: text/plain, Size: 2679 bytes --]

On Tuesday, August 12, 2025, at 2:07 PM, David Leimbach wrote:
> Simple can be nice. I happen to like languages with a bit more expressive type systems. Sum types without unions is not something I’ve tried to do before.

Mostly I just use a struct with all the members instead. But you can do a lot with a type tag and a cast.

On Tuesday, August 12, 2025, at 2:40 PM, sirjofri wrote:
> Honestly, I really like typedef and goto, at least the way they are used in Plan 9 code.

As someone once said: "if you want to go somewhere, a goto is the quickest way to get there." I can't argue with that. But I haven't used a goto in a long time now: see https://xkcd.com/292 :-)
Looking at their grammars, I think Zig has no goto statement! Neither does Rust from the look of it. Not surprisingly (given the origin of the above quote) Go does, however, and so possibly puts you at the risk of raptor attack... ;)

On Tuesday, August 12, 2025, at 2:40 PM, sirjofri wrote:
> All that said, this is all syntactic sugar, as C could also be described as syntactic sugar on top of assembly. In the end, you can deal with the memory as you like. C just gives you a bit more type safety.

That's very much how I look at it. It's my favourite macro assembler with type checking. :)

On Tuesday, August 12, 2025, at 2:40 PM, sirjofri wrote:
> I never understood why people have so much trouble understanding pointers, so maybe I'm the weird guy.

I feel a good grasp of assembly language/machine code is important for programmers. Without that I'd never really feel I had my feet on the ground. I think pointers and addresses are much harder to understand in the abstract.


One of these days I'd like to write a 9P server in LOLcode (https://en.wikipedia.org/wiki/LOLCODE). It's on my bucket list :)
Something like:
IM IN YR NAMESPACE
I HAS A msg ITZ A Fcall
I IZ convM2S YR msg AN YR buffer MKAY
BOTH SAEM msg'Z type AN Twalk, O RLY?
YA RLY,
...
OIC
KTHXBYE

But it would have to run on Plan 9, FTW, and someone would have to port the interpreter...

On Tuesday, August 12, 2025, at 4:58 PM, ron minnich wrote:
> The acid test for portability, for me, is simple: if it can run on Plan 9 and Unix and WIndows and OSX and bare metal, it's portable. Anything else is not.

I gather LOLcode runs on Unix, Windows and OSX, and has been stable for longer than Zig has existed. Or Go for that matter...
IM IN YR BIOS
...
Please no!
------------------------------------------
9fans: 9fans
Permalink: https://9fans.topicbox.com/groups/9fans/Ta74fdc99bf0151a0-M68227c0f4aa4ac9f6d2a77a8
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

[-- Attachment #2: Type: text/html, Size: 4470 bytes --]

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [9fans] Zig cutting back support for Plan 9
  2025-08-13 12:33       ` Alyssa M via 9fans
@ 2025-08-13 13:23         ` sirjofri via 9fans
  2025-08-13 16:17           ` David Leimbach via 9fans
                             ` (2 more replies)
  2025-08-13 21:28         ` [9fans] Zig cutting back support for Plan 9 Willow Liquorice
  1 sibling, 3 replies; 26+ messages in thread
From: sirjofri via 9fans @ 2025-08-13 13:23 UTC (permalink / raw)
  To: 9fans

Hi,

13.08.2025 14:37:21 Alyssa M via 9fans <9fans@9fans.net>:
> On Tuesday, August 12, 2025, at 2:40 PM, sirjofri wrote:
>> Honestly, I really like typedef and goto, at least the way they are used in Plan 9 code.
>
> As someone once said: "if you want to go somewhere, a goto is the quickest way to get there." I can't argue with that. But I haven't used a goto in a long time now: see https://xkcd.com/292 :-)
> Looking at their grammars, I think Zig has no goto statement! Neither does Rust from the look of it. Not surprisingly (given the origin of the above quote) Go does, however, and so possibly puts you at the risk of raptor attack... ;)

My goal is to write code as simple as possible. In general, reading code is way more important than writing it, and with some training you can write code that you can also read/understand a few years later.

With that in mind, I try to maintain quite short functions, usually my functions are way shorter than the window height of my acme, which is not even the full size of my screen. Since C gotos are per function scope, that's usually enough to see all the gotos and all the labels without scrolling.

> On Tuesday, August 12, 2025, at 2:40 PM, sirjofri wrote:
>> I never understood why people have so much trouble understanding pointers, so maybe I'm the weird guy.
>
> I feel a good grasp of assembly language/machine code is important for programmers. Without that I'd never really feel I had my feet on the ground. I think pointers and addresses are much harder to understand in the abstract.

I'd like to see learning material or a course that starts at these basic things. Like, tell people what a transistor is and how it works, explain to the the fundamentals of a (simple) CPU, maybe on a breadboard. Then start to dive into programming by actually programming that machine as if you're driving a car or knitting socks, and so on. If someone has any experience with an approach like that (from a teaching perspective), I'd like to know more about it.

> One of these days I'd like to write a 9P server in LOLcode (https://en.wikipedia.org/wiki/LOLCODE). It's on my bucket list :)
> Something like:
> IM IN YR NAMESPACE
> I HAS A msg ITZ A Fcall
> I IZ convM2S YR msg AN YR buffer MKAY
> BOTH SAEM msg'Z type AN Twalk, O RLY?
> YA RLY,
> ...
> OIC
> KTHXBYE
>
> But it would have to run on Plan 9, FTW, and someone would have to port the interpreter...

Not sure which esoteric languages work on plan 9. Could be fun though. I also like the concept of java2k.

> On Tuesday, August 12, 2025, at 4:58 PM, ron minnich wrote:
>> The acid test for portability, for me, is simple: if it can run on Plan 9 and Unix and WIndows and OSX and bare metal, it's portable. Anything else is not.

Honestly, I like that idea.

> I gather LOLcode runs on Unix, Windows and OSX, and has been stable for longer than Zig has existed. Or Go for that matter...
> IM IN YR BIOS
> ...
> Please no!

I'm a bit surprised that zig is that unstable. That's sad to hear.

sirjofri

------------------------------------------
9fans: 9fans
Permalink: https://9fans.topicbox.com/groups/9fans/Ta74fdc99bf0151a0-M88937bb236a6a86e9dd94b5a
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [9fans] Zig cutting back support for Plan 9
  2025-08-13 13:23         ` sirjofri via 9fans
@ 2025-08-13 16:17           ` David Leimbach via 9fans
  2025-08-13 18:42             ` Alyssa M via 9fans
  2025-08-13 16:58           ` Bakul Shah via 9fans
  2025-08-16 19:22           ` [9fans] CS pedagogy (was: Zig cutting back support for Plan 9) Brian L. Stuart via 9fans
  2 siblings, 1 reply; 26+ messages in thread
From: David Leimbach via 9fans @ 2025-08-13 16:17 UTC (permalink / raw)
  To: 9fans; +Cc: 9fans

>> I gather LOLcode runs on Unix, Windows and OSX, and has been stable for longer than Zig has existed. Or Go for that matter...
>> IM IN YR BIOS
>> ...
>> Please no!
> 
> I'm a bit surprised that zig is that unstable. That's sad to hear.

They’re extremely forthcoming with the instability of things pre-1.0.

I am having a difficult time with people not understanding that.

Also, if they want to put their best foot forward by the time they hit 1.0 — why shouldn’t they break stuff?

It’s basically “sure use Zig if you want, but we don’t guarantee things won’t break”

I mean Python has been screwing this up for many many years now. Are people complaining? They should! It costs organizations tons of money when they have to bring large code bases forward for otherwise unaddressed security issues.

Upcoming EU regulations make it impossible to stagnate your Python code bases. Huge fines for shipping unpatched security issues.

And Python 2 is basically abandonware.

> 
> sirjofri

------------------------------------------
9fans: 9fans
Permalink: https://9fans.topicbox.com/groups/9fans/Ta74fdc99bf0151a0-M00b5ea7268d5028216051843
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [9fans] Zig cutting back support for Plan 9
  2025-08-13 13:23         ` sirjofri via 9fans
  2025-08-13 16:17           ` David Leimbach via 9fans
@ 2025-08-13 16:58           ` Bakul Shah via 9fans
  2025-08-16 19:22           ` [9fans] CS pedagogy (was: Zig cutting back support for Plan 9) Brian L. Stuart via 9fans
  2 siblings, 0 replies; 26+ messages in thread
From: Bakul Shah via 9fans @ 2025-08-13 16:58 UTC (permalink / raw)
  To: 9fans

[-- Attachment #1: Type: text/plain, Size: 1262 bytes --]

On Aug 13, 2025, at 6:23 AM, sirjofri via 9fans <9fans@9fans.net> wrote:
> 
> I'd like to see learning material or a course that starts at these basic things. Like, tell people what a transistor is and how it works, explain to the the fundamentals of a (simple) CPU, maybe on a breadboard. Then start to dive into programming by actually programming that machine as if you're driving a car or knitting socks, and so on. If someone has any experience with an approach like that (from a teaching perspective), I'd like to know more about it.

Have you looked into the Schocken & Nisan's "From Nand to Tetris" book/course? Though they start with digital switches, not analog transistors!

https://www.nand2tetris.org/
https://www.amazon.com/Elements-Computing-Systems-second-Principles-dp-0262539802/dp/0262539802/

There is also this (may be related to the above):
https://www.youtube.com/playlist?list=PLu6SHDdOToSdD4-c9nZX2Qu3ZXnNFocOH





 <https://www.youtube.com/playlist?list=PLu6SHDdOToSdD4-c9nZX2Qu3ZXnNFocOH>
------------------------------------------
9fans: 9fans
Permalink: https://9fans.topicbox.com/groups/9fans/Ta74fdc99bf0151a0-M2ad9ea10333659e32a54d27a
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

[-- Attachment #2: Type: text/html, Size: 2684 bytes --]

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [9fans] Zig cutting back support for Plan 9
  2025-08-13 16:17           ` David Leimbach via 9fans
@ 2025-08-13 18:42             ` Alyssa M via 9fans
  0 siblings, 0 replies; 26+ messages in thread
From: Alyssa M via 9fans @ 2025-08-13 18:42 UTC (permalink / raw)
  To: 9fans

[-- Attachment #1: Type: text/plain, Size: 988 bytes --]

On Wednesday, August 13, 2025, at 5:17 PM, David Leimbach wrote:
>>> I gather LOLcode runs on Unix, Windows and OSX, and has been stable for longer than Zig has existed. Or Go for that matter...
>> I'm a bit surprised that zig is that unstable. That's sad to hear. 
> They’re extremely forthcoming with the instability of things pre-1.0.

Uh oh, I think I may have been misinterpreted a bit: I was just wanting to point out that Zig and Go are newer than even something that seems as recent to me as LOLcode!

I think producing a new general purpose programming language is a major undertaking, and I wish anyone who does that every success. Not least because I hope that one day I might overcome my conservatism and maybe switch to using one of them.
------------------------------------------
9fans: 9fans
Permalink: https://9fans.topicbox.com/groups/9fans/Ta74fdc99bf0151a0-M32cfd324061bfda557232b1c
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

[-- Attachment #2: Type: text/html, Size: 1666 bytes --]

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [9fans] Zig cutting back support for Plan 9
  2025-08-13 12:33       ` Alyssa M via 9fans
  2025-08-13 13:23         ` sirjofri via 9fans
@ 2025-08-13 21:28         ` Willow Liquorice
  2025-08-17 11:49           ` lego12239
  1 sibling, 1 reply; 26+ messages in thread
From: Willow Liquorice @ 2025-08-13 21:28 UTC (permalink / raw)
  To: Alyssa M via 9fans

Zig doesn't have `goto` because it's a redundant language feature.

Zig uses an idiom that is, in effect, a structured subset of goto 
functionality: labelled blocks, `break`s, and `continue`s. The ability 
to label `for`, `while`, and `switch` expressions, along with blocks, 
means that the use case of navigating nested control structures is 
already done.

`errdefer` (https://ziglang.org/documentation/0.14.1/#errdefer) 
facilitates the `goto err` pattern, while allowing you to keep the 
cleanup code close to the code that necessitates it, rather than lumping 
everything together at the tail end of the function. It also covers 
every exit path, inferring whether to run the blocks from the return 
type, which you'd have to do manually with `goto`s.

In fact, this redundancy is exactly why the developers removed `goto` 
eight years ago: https://github.com/ziglang/zig/issues/630

        - Willow

On 13/08/2025 13:33, Alyssa M via 9fans wrote:
> On Tuesday, August 12, 2025, at 2:07 PM, David Leimbach wrote:
>> Simple can be nice. I happen to like languages with a bit more 
>> expressive type systems. Sum types without unions is not something 
>> I’ve tried to do before.
> 
> Mostly I just use a struct with all the members instead. But you can do 
> a lot with a type tag and a cast.
> 
> On Tuesday, August 12, 2025, at 2:40 PM, sirjofri wrote:
>> Honestly, I really like typedef and goto, at least the way they are 
>> used in Plan 9 code.
> 
> As someone once said: "if you want to go somewhere, a goto is the 
> quickest way to get there." I can't argue with that. But I haven't used 
> a goto in a long time now: see https://xkcd.com/292 <https:// 
> xkcd.com/292> :-)
> Looking at their grammars, I think Zig has no goto statement! Neither 
> does Rust from the look of it. Not surprisingly (given the origin of the 
> above quote) Go does, however, and so possibly puts you at the risk of 
> raptor attack... ;)
> 
> On Tuesday, August 12, 2025, at 2:40 PM, sirjofri wrote:
>> All that said, this is all syntactic sugar, as C could also be 
>> described as syntactic sugar on top of assembly. In the end, you can 
>> deal with the memory as you like. C just gives you a bit more type safety.
> 
> That's very much how I look at it. It's my favourite macro assembler 
> with type checking. :)
> 
> On Tuesday, August 12, 2025, at 2:40 PM, sirjofri wrote:
>> I never understood why people have so much trouble understanding 
>> pointers, so maybe I'm the weird guy.
> 
> I feel a good grasp of assembly language/machine code is important for 
> programmers. Without that I'd never really feel I had my feet on the 
> ground. I think pointers and addresses are much harder to understand in 
> the abstract.
> 
> 
> One of these days I'd like to write a 9P server in LOLcode (https:// 
> en.wikipedia.org/wiki/LOLCODE <https://en.wikipedia.org/wiki/LOLCODE>). 
> It's on my bucket list :)
> Something like:
> 
> IM IN YR NAMESPACE
> I HAS A msg ITZ A Fcall
> I IZ convM2S YR msg AN YR buffer MKAY
> BOTH SAEM msg'Z type AN Twalk, O RLY?
> YA RLY,
> ...
> OIC
> KTHXBYE
> 
> 
> But it would have to run on Plan 9, FTW, and someone would have to port 
> the interpreter...
> 
> On Tuesday, August 12, 2025, at 4:58 PM, ron minnich wrote:
>> The acid test for portability, for me, is simple: if it can run on 
>> Plan 9 and Unix and WIndows and OSX and bare metal, it's portable. 
>> Anything else is not.
> 
> I gather LOLcode runs on Unix, Windows and OSX, and has been stable for 
> longer than Zig has existed. Or Go for that matter...
> 
> IM IN YR BIOS
> ...
> 
> Please no!
> *9fans <https://9fans.topicbox.com/latest>* / 9fans / see discussions 
> <https://9fans.topicbox.com/groups/9fans> + participants 
> <https://9fans.topicbox.com/groups/9fans/members> + delivery options 
> <https://9fans.topicbox.com/groups/9fans/subscription> Permalink 
> <https://9fans.topicbox.com/groups/9fans/Ta74fdc99bf0151a0- 

------------------------------------------
9fans: 9fans
Permalink: https://9fans.topicbox.com/groups/9fans/Ta74fdc99bf0151a0-M7f97c316e6cbc5271a55f881
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [9fans] Zig cutting back support for Plan 9
  2025-08-11 23:03 [9fans] Zig cutting back support for Plan 9 Willow Liquorice
  2025-08-12  0:04 ` David Leimbach via 9fans
@ 2025-08-14 10:36 ` ori
  2025-08-14 16:53   ` sirjofri via 9fans
  1 sibling, 1 reply; 26+ messages in thread
From: ori @ 2025-08-14 10:36 UTC (permalink / raw)
  To: 9fans

A common pattern with ports and patches is that one person writes them,
then life happens and they walk away. For a fork to succeed, there really
needs to be more than one person willing to hop on the treadmill and keep
doing the work to get it running.

For what it's worth, the rumbling about dropping Go on Plan 9 isn't so
loud, but it's there. It could probably use some help, if people want
to keep using Go on Plan 9.

Quoth Willow Liquorice <willow@howhill.com>:
> I've been keeping an eye on Zig and noticed this recently-merged branch
> from Andrew Kelley, removing support for Plan 9 executables in the
> linker (https://github.com/ziglang/zig/pull/24803).
> 
> "Not worth the maintenance burden."
> 
> I suspect the feeling is mutual right now, given that Zig code rots very
> quickly if it uses the stdlib.
> 
> I read Ron Minnich was able to get Zig building through vmx acrobatics.
> That process is unaffected by the merge as, IIUC, it targets a Linux VM.
> This is a blow to self-hosting Zig on Plan 9, though.
> 
> - Willow
> 
> P.S. "The operating system is not that interesting" my foot!

------------------------------------------
9fans: 9fans
Permalink: https://9fans.topicbox.com/groups/9fans/Ta74fdc99bf0151a0-M44fd6451a5984e7855ebe879
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [9fans] Zig cutting back support for Plan 9
  2025-08-14 10:36 ` ori
@ 2025-08-14 16:53   ` sirjofri via 9fans
  2025-08-15  0:28     ` tekk via 9fans
  0 siblings, 1 reply; 26+ messages in thread
From: sirjofri via 9fans @ 2025-08-14 16:53 UTC (permalink / raw)
  To: 9fans

14.08.2025 14:55:59 ori@eigenstate.org:
> For what it's worth, the rumbling about dropping Go on Plan 9 isn't so
> loud, but it's there. It could probably use some help, if people want
> to keep using Go on Plan 9.

I was about to ask if someone tried to deal with that keepass xml format, and I think the best bet would be some existing program written in Go.

It could be cool to synchronize factotum secrets with a kdbx file, or at least load supported secrets of a kdbx file into factotum.

sirjofri

------------------------------------------
9fans: 9fans
Permalink: https://9fans.topicbox.com/groups/9fans/Ta74fdc99bf0151a0-M471aeda038143472bf49e5ff
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [9fans] Zig cutting back support for Plan 9
  2025-08-14 16:53   ` sirjofri via 9fans
@ 2025-08-15  0:28     ` tekk via 9fans
  0 siblings, 0 replies; 26+ messages in thread
From: tekk via 9fans @ 2025-08-15  0:28 UTC (permalink / raw)
  To: 9fans

Not directly, but keepassxc has an option to export your db as a csv file.
What I do is just export that occasionally and then manipulate on 9front with sed/awk.

If you want to go the actual xml route, hopefully aescbc can decrypt the password, then
sigrid has an xml library for 9front which seemed about as san as an xml library can be.

Tekk

------------------------------------------
9fans: 9fans
Permalink: https://9fans.topicbox.com/groups/9fans/Ta74fdc99bf0151a0-Mee46840de95e50be1464f20b
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [9fans] CS pedagogy (was: Zig cutting back support for Plan 9)
  2025-08-13 13:23         ` sirjofri via 9fans
  2025-08-13 16:17           ` David Leimbach via 9fans
  2025-08-13 16:58           ` Bakul Shah via 9fans
@ 2025-08-16 19:22           ` Brian L. Stuart via 9fans
  2025-08-20  7:57             ` Peter Hull
  2 siblings, 1 reply; 26+ messages in thread
From: Brian L. Stuart via 9fans @ 2025-08-16 19:22 UTC (permalink / raw)
  To: 9fans

On Wed, Aug 13, 2025 at 03:23:26PM +0200, sirjofri via 9fans wrote:
> I'd like to see learning material or a course that starts at these basic things. Like, tell people what a transistor is and how it works, explain to the the fundamentals of a (simple) CPU, maybe on a breadboard. Then start to dive into programming by actually programming that machine as if you're driving a car or knitting socks, and so on. If someone has any experience with an approach like that (from a teaching perspective), I'd like to know more about it.

This is essentially how I do my intro course.  I've taken to
sub-titling it "From Transistors to Turing Machines."  We
start with Boolean Algebra.  I don't get into the details of
transistors here, but allude to the fact that they can act
like switches and then show that relay-like switching can
implement Boolean operations.  In that session, I take it
up to a full adder design.  The next session is about binary
data representation, desparately trying to get them to understand
that the only type inside the hardware is binary number.  Many
of them have been exposed to something like Python or Java
before and have a mental model that somehow numbers look
like they do in math, that numbers are somehow different
from letters, etc.  Until one overcomes this misunderstanding,
I cannot trust anything they write.  The next step up the
ladder of abstraction is to take our full adder and put
them in parallel, cascading the carries, so that we can
operate on numbers represented in binary.  We then look
at how we can turn it into an adder/subtractor and then
build a CPU around that ALU.  That gets us to a computer
that we can program where we use the old CARDIAC as our
example.  This gives them a chance to get their hands dirty
with a little machine language programming (the only real
programming :)).  Our next session gets into the more
general ideas of languages and translation.  After that,
I introduce them to a small artificial language I created
just for the course.  It's complete enough to do the projects
we have traditionally done, but small enough that it can
be fully mastered in a week or two.  It also pushes really
hard on the fact that to truly know what you're doing, you
have to be aware and intentional of the difference of the
address of a memory location and the contents of a memory
location.  After a few sessions talking about some application
domains as examples, the final session is on theory, where
I take them from early paradoxes to Turing.  We do a few
semi-formal proofs up through the halting theorem, when
I also point out that it's just a special case of the more
general Rice's theorem that basically says no non-trivial
question about programs is decidable.  The punch line that
day ties everything full circle when I point out that the
CPU we designed earlier is one way to realize the functionality
of Turing's universal machine.  One of my all-time favorite
memories was of one student at that point in the class as
her jaw literally dropped as she realized how it all fit
together.

In all of that, I try to get them to understand that Computer
Science is the study of the phenomena surrounding universal
machines, and not just some vocational/jobs thing.  If
the only point of Computer Science were to create apps, it
wouldn't be worth doing any more that Physics wouldn't be
worth doing if it were just about creating levers.

Alas, this course is almost certainly not going to survive
the moves of the younger generation of faculty and the
ill-advised switch to semesters.  But I have been able
to teach it this way for about 10 years.  At least some
students have started with something other than, "the
syntax to declare the main function in Java is:

public static void green cloudy liquid main()"

Can you tell I think that languages like Java and Python
are the worst possible way to introduce people to the
field? :)

BLS


------------------------------------------
9fans: 9fans
Permalink: https://9fans.topicbox.com/groups/9fans/Tb685cd67e7406b5c-M27761486ec29604efb5d2969
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [9fans] Zig cutting back support for Plan 9
  2025-08-13 21:28         ` [9fans] Zig cutting back support for Plan 9 Willow Liquorice
@ 2025-08-17 11:49           ` lego12239
  2025-08-17 14:01             ` Steve Simon
  0 siblings, 1 reply; 26+ messages in thread
From: lego12239 @ 2025-08-17 11:49 UTC (permalink / raw)
  To: 9fans

On Wed, Aug 13, 2025 at 10:28:20PM +0100, Willow Liquorice wrote:
> Zig doesn't have `goto` because it's a redundant language feature.
> 
> Zig uses an idiom that is, in effect, a structured subset of goto 
> functionality: labelled blocks, `break`s, and `continue`s. The ability 
> to label `for`, `while`, and `switch` expressions, along with blocks, 
> means that the use case of navigating nested control structures is 
> already done.

  Ou. But this is very redundant! Labeled breaks, continues, for, while,
switch - all these can be replaced by goto ;-). If you want
to write a simple and fast parser/lexer, then a goto is your choice.
IMHO, we shouldn't waste a time thinking how to replace a goto, we
already have goto and should just learn how to use it best.


-- 
Олег Неманов (Oleg Nemanov)

------------------------------------------
9fans: 9fans
Permalink: https://9fans.topicbox.com/groups/9fans/Ta74fdc99bf0151a0-M92b702889b88eb1e6624b728
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [9fans] Zig cutting back support for Plan 9
  2025-08-17 11:49           ` lego12239
@ 2025-08-17 14:01             ` Steve Simon
  2025-08-17 15:23               ` Oleg
  0 siblings, 1 reply; 26+ messages in thread
From: Steve Simon @ 2025-08-17 14:01 UTC (permalink / raw)
  To: 9fans


or perhaps:
we shouldn't waste a time thinking how to replace a goto, we already have goto and should just learn how not use it badly.

> On 17 Aug 2025, at 2:11 pm, lego12239@yandex.ru wrote:
> 
> IMHO, we shouldn't waste a time thinking how to replace a goto, we
> already have goto and should just learn how to use it best

------------------------------------------
9fans: 9fans
Permalink: https://9fans.topicbox.com/groups/9fans/Ta74fdc99bf0151a0-Mc6a8199427f482f14e96480e
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [9fans] Zig cutting back support for Plan 9
  2025-08-17 14:01             ` Steve Simon
@ 2025-08-17 15:23               ` Oleg
  2025-08-17 20:57                 ` David Leimbach via 9fans
  0 siblings, 1 reply; 26+ messages in thread
From: Oleg @ 2025-08-17 15:23 UTC (permalink / raw)
  To: 9fans

On Sun, Aug 17, 2025 at 03:01:13PM +0100, Steve Simon wrote:
> or perhaps:
> we shouldn't waste a time thinking how to replace a goto, we already have goto and should just learn how not use it badly.

This is ok too :-).

-- 
Олег Неманов (Oleg Nemanov)

------------------------------------------
9fans: 9fans
Permalink: https://9fans.topicbox.com/groups/9fans/Ta74fdc99bf0151a0-M6734289c1292890232cda680
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [9fans] Zig cutting back support for Plan 9
  2025-08-17 15:23               ` Oleg
@ 2025-08-17 20:57                 ` David Leimbach via 9fans
  2025-08-20  7:22                   ` Daniel Maslowski via 9fans
  2025-08-20 15:07                   ` Oleg
  0 siblings, 2 replies; 26+ messages in thread
From: David Leimbach via 9fans @ 2025-08-17 20:57 UTC (permalink / raw)
  To: 9fans; +Cc: 9fans


Sent from my iPhone

> On Aug 17, 2025, at 10:46 AM, Oleg <lego12239@yandex.ru> wrote:
> 
> On Sun, Aug 17, 2025 at 03:01:13PM +0100, Steve Simon wrote:
>> or perhaps:
>> we shouldn't waste a time thinking how to replace a goto, we already have goto and should just learn how not use it badly.
> 
> This is ok too :-).
> 
All you need is delimited continuations. 


> --
> Олег Неманов (Oleg Nemanov)

------------------------------------------
9fans: 9fans
Permalink: https://9fans.topicbox.com/groups/9fans/Ta74fdc99bf0151a0-Mb2688e078abf28ff6552a759
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [9fans] Zig cutting back support for Plan 9
  2025-08-17 20:57                 ` David Leimbach via 9fans
@ 2025-08-20  7:22                   ` Daniel Maslowski via 9fans
  2025-08-20 15:07                   ` Oleg
  1 sibling, 0 replies; 26+ messages in thread
From: Daniel Maslowski via 9fans @ 2025-08-20  7:22 UTC (permalink / raw)
  To: 9fans

[-- Attachment #1: Type: text/plain, Size: 1488 bytes --]

I have met a Zig developer last weekend who started MicroZig.
Getting a quick dive into its current state was really nice.
And yes, no 1.0 yet, breakages to be expected anytime - that is the current
deal. The target audience is thus not long-term consumers. Either
contribute to the language itself, track and thrive, or stay out and away.
As Ori writes, if anyone wants it, they'd need to sign up for a steady
treadmill job - basically like a gym membership without cancellation
option, only worth it if you really exercise every day.
I take it as a good sign, because it shows to me that we're not stuck yet
in terms of language R&D. For maximum stability, we still have pen and
paper.

Cheers! 🐢

On Sun, 17 Aug 2025, 23:06 David Leimbach via 9fans, <9fans@9fans.net>
wrote:

>
> Sent from my iPhone
>
> > On Aug 17, 2025, at 10:46 AM, Oleg <lego12239@yandex.ru> wrote:
> >
> > On Sun, Aug 17, 2025 at 03:01:13PM +0100, Steve Simon wrote:
> >> or perhaps:
> >> we shouldn't waste a time thinking how to replace a goto, we already
> have goto and should just learn how not use it badly.
> >
> > This is ok too :-).
> >
> All you need is delimited continuations.
>
>
> > --
> > Олег Неманов (Oleg Nemanov)

------------------------------------------
9fans: 9fans
Permalink: https://9fans.topicbox.com/groups/9fans/Ta74fdc99bf0151a0-M4b1b208498cde604764d7245
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

[-- Attachment #2: Type: text/html, Size: 3069 bytes --]

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [9fans] CS pedagogy (was: Zig cutting back support for Plan 9)
  2025-08-16 19:22           ` [9fans] CS pedagogy (was: Zig cutting back support for Plan 9) Brian L. Stuart via 9fans
@ 2025-08-20  7:57             ` Peter Hull
  2025-08-20 17:45               ` Calvin via 9fans
  0 siblings, 1 reply; 26+ messages in thread
From: Peter Hull @ 2025-08-20  7:57 UTC (permalink / raw)
  To: 9fans

On Sat, 16 Aug 2025 at 21:31, Brian L. Stuart via 9fans <9fans@9fans.net> wrote:
>
> On Wed, Aug 13, 2025 at 03:23:26PM +0200, sirjofri via 9fans wrote:
> > I'd like to see learning material or a course that starts at these basic things. Like, tell people what a transistor is and how it works, explain to the the fundamentals of a (simple) CPU, maybe on a breadboard. Then start to dive into programming by actually programming that machine as if you're driving a car or knitting socks, and so on. If someone has any experience with an approach like that (from a teaching perspective), I'd like to know more about it.

You might enjoy "Code" by Charles Petzold - I bought it for my
daughter and ended up reading it myself. It starts with sending
messages to a friend with a flashlight and goes through braille, morse
code, logic gates, decoders, cpus, up to assembly language.

Peter

------------------------------------------
9fans: 9fans
Permalink: https://9fans.topicbox.com/groups/9fans/Tb685cd67e7406b5c-M740c5c9501ddadcb077d4119
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [9fans] Zig cutting back support for Plan 9
  2025-08-17 20:57                 ` David Leimbach via 9fans
  2025-08-20  7:22                   ` Daniel Maslowski via 9fans
@ 2025-08-20 15:07                   ` Oleg
  1 sibling, 0 replies; 26+ messages in thread
From: Oleg @ 2025-08-20 15:07 UTC (permalink / raw)
  To: 9fans

On Sun, Aug 17, 2025 at 01:57:37PM -0700, David Leimbach via 9fans wrote:
> > On Aug 17, 2025, at 10:46 AM, Oleg <lego12239@yandex.ru> wrote:
> > 
> > On Sun, Aug 17, 2025 at 03:01:13PM +0100, Steve Simon wrote:
> >> or perhaps:
> >> we shouldn't waste a time thinking how to replace a goto, we already have goto and should just learn how not use it badly.
> > 
> > This is ok too :-).
> > 
> All you need is delimited continuations.

Why such complexity :-)? All i need already can be done with goto :-).
As for me, IMHO, C is good. I wouldn't reinvent the wheel. May be just some
option for compiler to tell that some global var must be always in the CPU
register. This is really be good for errno var to make it checks faster.
  

-- 
Олег Неманов (Oleg Nemanov)

------------------------------------------
9fans: 9fans
Permalink: https://9fans.topicbox.com/groups/9fans/Ta74fdc99bf0151a0-M5fd74ccd8b2c6697f49e068f
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [9fans] CS pedagogy (was: Zig cutting back support for Plan 9)
  2025-08-20  7:57             ` Peter Hull
@ 2025-08-20 17:45               ` Calvin via 9fans
  0 siblings, 0 replies; 26+ messages in thread
From: Calvin via 9fans @ 2025-08-20 17:45 UTC (permalink / raw)
  To: 9fans



I'll second the recommendation. ISBN 0-7356-0505-X. Recommend the hardcover print edition, it's nice. Published by Microsoft Press

On Wednesday, August 20th, 2025 at 9:32 AM, Peter Hull <peterhull90@gmail.com> wrote:

> 
> 
> On Sat, 16 Aug 2025 at 21:31, Brian L. Stuart via 9fans 9fans@9fans.net wrote:
> 
> > On Wed, Aug 13, 2025 at 03:23:26PM +0200, sirjofri via 9fans wrote:
> > 
> > > I'd like to see learning material or a course that starts at these basic things. Like, tell people what a transistor is and how it works, explain to the the fundamentals of a (simple) CPU, maybe on a breadboard. Then start to dive into programming by actually programming that machine as if you're driving a car or knitting socks, and so on. If someone has any experience with an approach like that (from a teaching perspective), I'd like to know more about it.
> 
> 
> You might enjoy "Code" by Charles Petzold - I bought it for my
> daughter and ended up reading it myself. It starts with sending
> messages to a friend with a flashlight and goes through braille, morse
> code, logic gates, decoders, cpus, up to assembly language.
> 
> Peter

------------------------------------------
9fans: 9fans
Permalink: https://9fans.topicbox.com/groups/9fans/Tb685cd67e7406b5c-Me3590243ae56f86fc556bde9
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

^ permalink raw reply	[flat|nested] 26+ messages in thread

end of thread, other threads:[~2025-08-20 18:53 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-08-11 23:03 [9fans] Zig cutting back support for Plan 9 Willow Liquorice
2025-08-12  0:04 ` David Leimbach via 9fans
2025-08-12 11:42   ` Alyssa M via 9fans
2025-08-12 13:04     ` David Leimbach via 9fans
2025-08-13 12:33       ` Alyssa M via 9fans
2025-08-13 13:23         ` sirjofri via 9fans
2025-08-13 16:17           ` David Leimbach via 9fans
2025-08-13 18:42             ` Alyssa M via 9fans
2025-08-13 16:58           ` Bakul Shah via 9fans
2025-08-16 19:22           ` [9fans] CS pedagogy (was: Zig cutting back support for Plan 9) Brian L. Stuart via 9fans
2025-08-20  7:57             ` Peter Hull
2025-08-20 17:45               ` Calvin via 9fans
2025-08-13 21:28         ` [9fans] Zig cutting back support for Plan 9 Willow Liquorice
2025-08-17 11:49           ` lego12239
2025-08-17 14:01             ` Steve Simon
2025-08-17 15:23               ` Oleg
2025-08-17 20:57                 ` David Leimbach via 9fans
2025-08-20  7:22                   ` Daniel Maslowski via 9fans
2025-08-20 15:07                   ` Oleg
2025-08-12 13:40     ` sirjofri via 9fans
2025-08-12 15:57       ` ron minnich
2025-08-12 13:59   ` Willow Liquorice
2025-08-12 15:44     ` David Leimbach via 9fans
2025-08-14 10:36 ` ori
2025-08-14 16:53   ` sirjofri via 9fans
2025-08-15  0:28     ` tekk via 9fans

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).