Portál AbcLinuxu, 6. května 2025 21:06
Memory safe languages include Rust, Go, C#, Java, Swift, Python, and JavaScript. Languages that are not memory safe include C, C++, and assembly.Tady sice uvádí i jiné jazyky, ale přijde mi škoda, že v praxi se hon za paměťově bezpečnými jazyky zaměňuje s agitkou za Rust. Často dost nevybíravou a vlezlou (trochu to připomíná jehovisty, vegany atd.). Přitom mnohde by byla vhodnější volba Java. V Rustu je problematické např. vytváření abstrakcí (API + více jeho implementací). Ty jsou v Rustu buď nepružné (implementací je konečný počet a jsou tam zadrátované a kompilují se společně s API) nebo je ten kód hnusný a nepřehledný. To už líp podporuje abstrakce a modulárnost Céčko… Taky se mi nelíbí házení C a C++ do jednoho pytle. Ono sice C++ je víceméně nadmnožina C, takže v něm lze dělat stejné chyby jako v céčku, ale praktický rozdíl tam je docela podstatný. V C++ stačí nedělat blbosti a ten kód je díky SBRM (RAII) dost bezpečný. Ale v C člověk musí napsat spoustu kódu, aby kompenzoval nedostatečnost jazyka v oblasti správy paměti, což nevyhnutelně vytváří prostor pro chyby (příklad).
Přitom mnohde by byla vhodnější volba Java.Ktorá implementácia Java by bola na to najvhodnejšia? Na výber je ich niekoľko. Od IBM, od Sun Microsystems (Oracle), dekompilát od Google pre Android, alebo nebodaj Java od firmy Microsoft?
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.