Odpověď na názor

Odpovídáte na názor k článku Programovací jazyk C3: podmínky, rozvětvení a programové smyčky. Názory mohou přidávat pouze registrovaní uživatelé. Nově přidané názory se na webu objeví až po schválení redakcí.

  • 30. 9. 2025 22:59

    radekm
    Stříbrný podporovatel

    > Tady se asi naráží na limity toho, co v jazyku typu C3 ("lepší C") očekávat

    Technicky by to nemusel být problém. Ale někteří autoři těchto nízkoúrovňových jazyků považují pattern matching za zbytečnost a discriminated uniony za anti-pattern z hlediska výkonu a využití paměti.

    Třeba Odin má IMO lepší discriminated uniony než třeba F#. Jejich výhodou je, že typ slouží jako discriminator. Takže stačí psát:

    Value :: union {
        bool,
        i32,
        f32,
        string,
    }
    
    value: Value = ...
    switch v in value {
    case string:
        ...
    case bool:
        ...
    case i32, f32:
        ...
    case:
        // Default case
        // In this case, it is `nil`
    }

    Ale pattern matching Odin také nemá.