• 155 Posts
  • 786 Comments
Joined 3 years ago
cake
Cake day: May 2nd, 2022

help-circle


  • naurMtoRetrocomputingComputer noises
    link
    fedilink
    Polski
    arrow-up
    1
    ·
    3 days ago

    Zacząłem się teraz zastanawiać, czy można było jakoś w starym MS BASICu aliasować dane z sekcji DATA to tablic i uniknąć tego kopiowania wartości w pętli. Według Claude nie było takiej możliwości i nie widzę jej na C64 Wiki.
    Nic dziwnego, że ludzie migrowali szybko do kodu maszynowego.


  • W tym tygodniu komitet C++ zatwierdził mechanizm reflection w następnej wersji języka.
    Teraz można użyć jeszcze bardziej skomplikowanej składni, żeby zaimplementować rozwiązanie Sosa. :-D

    struct S { unsigned i:2, j:6; };
    
    consteval auto member_number(int n) {
      if (n == 0) return ^^S::i;
      else if (n == 1) return ^^S::j;
    }
    
    int main() {
      S s{0, 0};
      s.[:member_number(1):] = 42;  // Same as: s.j = 42;
      s.[:member_number(5):] = 0;   // Error (member_number(5) is not a constant).
    }
    

    Zabawne jest też to, że najnowsze propozycje rozszerzeń w C++ dosłownie odtwarzają w przykładach popularne biblioteki rustowe i pythonowe. Widać, kto obecnie wyznacza trendy w tej dziedzinie, a kto próbuje gonić resztę świata.





  • Wygląda jak finansowa telemetria dla całego świata. Zaskoczyło mnie, że sa nawet informacje o statkach i samolotach.

    Ciekawe jak ewoluował ten interfejs użytkownika. Wygląda czytelnie, ale bez fajerwerków. Zakładam, że opór przy wprowadzaniu zmian w tym obszarze musi być ogromny, więc pewnie 20 lat temu wyglądało to podobnie.

    Obstawiam, że pod spodem jest jakiś protokół XMLowy. ;-)








  • Fajna prezentacja. Też uważam, że budowanie software’u z setkami bibliotek jest nieskalowalne (i wręcz niebezpieczne). Duże firmy unikają jak ognia zewnętrznych zależności.

    Nie do końca zgadzam się natomiast z argumentami odnośnie przewagi C nad C++:

    • przeciążanie funkcji można zaimplementować wydajnie (chociażby na przykładzie Javy i C#),
    • nie trzeba używać STLa (oni nawet tego nie sprawdzają!),
    • C++ obsługuje anonimowe unie, większość kompilatorów wspiera anonimowe struktury,
    • designated initializers zostały wprowadzone w C++20,
    • struktury z indeksowanymi polami da się zaimplementować w C++ (chociaż przyznaję, że jest to bardziej skomplikowane niż odpowiednik w C).

    Co do argumentu o niskim wykorzystaniu zasobów, ciekawe czy implementacja takiego blitowania na GPU (przy uzyciu bardzo prostych shaderów i w niskiej rozdzielczości / framerate) rzeczywiście skutkowałaby większym zużyciem energii od wersji software’owej.
    Oczywiście wykluczyloby to platformy bez GPU, więc rozumiem wybór ręcznej rasteryzacji.




  • Nie sądzę, te terminale skupiają się na starych CRT, a taki efekt nie ma chyba fizycznego uzasadnienia przy tej konstrukcji.
    Kursor po prostu znika i pojawia się w innym miejscu. Co najwyżej zostaje po nim jakaś poświata.

    Zamiast tego trzeba by pewnie zasymulować monitor wektorowy i do tego podbić jasność podczas powrotu. Nie widzę powodu, żeby prawdziwy komputer tak działał (ale wygląda fajnie).