Edukacja i nowe technologię w społeczności open source.

0

Witam dobrych ludzi, mam pytanie do znawców tematu. Czy społeczność open source nie utknęła czasem na dwóch starych i niebezpiecznych językach programowania takich jak C/C++? Mam tu na myśli społeczność Linux, BSD, KDE, Gnome, Cinnamon i wszystko co związane z tworzeniem wolnego oprogramowania. Większość tego oprogramowania dalej tworzy się w C/C++ co jest dość trudne i skomplikowane zwłaszcza przy tworzeniu programów typu GUI. Były jakieś tam próby wprowadzenia JS i Elektrona w Gnome, czy kopi C# pod postacią języka Vala od fundacji Gnome ale to chyba im nie wyszło. Wiem że tworzą coś w Gnome Builder to taki edytor do wielu języków bazujący na GTK. Inne edytory takie jak KDevelop i Qtcreator też są zaniedbane, zabugowane i w starych wersjach. Zostaje jeszcze ten powolny Python, ale co w nim napisano jakiś Ninja IDE, Spyder, Eric, Blender i to tyle. Wszystkie odtwarzacze muzyczne i wideo to ciągle C/C++. Nie wiem czy otwarta społeczność w ogóle próbowała wprowadzić język D, ale z tego co wiem nie napisano w nim ani jednego znanego programu z GNU?
Teraz jest niby jakaś przymiarka do Rust, ale czy to się przyjmie?

0

Ale to chyba nie jest pytanie o społeczność open source, tylko głównie o to, w czym są tworzone popularne aplikacje desktopowe? Społeczność open source istnieje również w mało popularnych językach, nie znaczy to, że osiąga tak wielką dojrzałość, stabilność czy popularność.

społeczności open source. (...) Mam tu na myśli społeczność Linux, BSD, KDE, Gnome, Cinnamon i wszystko co związane z tworzeniem wolnego oprogramowania.

Trochę to elitarne myślenie o społeczności open source.

Teraz jest niby jakaś przymiarka do Rust, ale czy to się przyjmie?

Rust ma "wibrującą" społeczność open source (chociaż mało stabilną jeszcze, jak społeczność JavaScript jakieś 10 lat temu, gdzie ciągle coś się działo, nowe projekty, które potem szybko przestawały być modne). No ale chyba pytasz nie o społeczność, tylko o faktyczne techniczne osiągnięcia.

No ale daj temu językowi 5-10 lat, zobaczysz jak się rozwinie i ile fajnego softu open source powstanie w Rust.

Zostaje jeszcze ten powolny Python (...) Blender

Python w Blenderze jest używany jako język skryptowy, ale Blender jako tako został napisany w C/C++ https://github.com/blender/blender/tree/main

3

Większość tego oprogramowania dalej tworzy się w C/C++ co jest dość trudne i skomplikowane

Może i jest, ale jeśli alternatywą jest przepisanie tego całego oprogramowania na Rusta (co trwałoby gigantycznie długo - pewnie naście lat i miliony godzin niepłatnej pracy), to nagle utrzymanie tego w C++ wydaje się bardzo łatwe i przyjemne.

Co innego nowe narzędzia i programy - faktycznie zerkam czasem na Rust/Go/Zig i inne "systemowe" języki, bo wygląda to faktycznie lepiej niż C(++).

0
kelog napisał(a):

Co innego nowe narzędzia i programy - faktycznie zerkam czasem na Rust/Go/Zig i inne "systemowe" języki, bo wygląda to faktycznie lepiej niż C(++).

narzędzia do parsowania/budowania/bundlowania JavaScriptu są już pisane w Rust czy Go. Nawet jeśli w dużej mierze w JS/TS, to pod spodem jest już często parser pisany w Rust czy Go. Albo np. Bun (alternatywa dla Node.js) został napisany w Zig.

Ale tu jest właśnie sytuacja - że pisze się coś od nowa (najwyżej integrując z czymś napisanym wcześniej np. w Bun osadzili JavaScriptCore, czyli silnik JSa od Apple'a).

Ale jak ktoś miałby przepisać soft tworzony w C/C++ przez kilkanaście czy więcej lat, to trochę inaczej.

1

Jeśli chodzi o GUI nie będące stroną internetową to wydaje mi się, że Dart idzie powoli do przodu.

  • Ogłoszenie Ubuntu Canonical, że Flutter będzie ich domyślną technologią do tworzenia aplikacji mobilnych i desktopowych
  • Google wykorzystujące Fluttera w nowym systemie Fuchsia, który ma "zastąpić" androida
  • ... trzeciej ciekawej wiadomości niestety nie kojarzę, ale jakby poszukać to pewnie coś by się znalazło 😆
1

Trzeba być niespełna rozumem, żeby za kogoś decydować w czym on ma programować.

Piszesz, że pisanie programów w gui jest skomplikowane, a zobacz sobie jak działają niektóre technologie np. taki lazarus co w deplhi się pisze, on tworzy warstwę abstrakcji nad winapi systemowym i można pisać na windowsa nie znając winapi, bo dostajesz komponenty wysokopoziomowe, które enkapsulują wszystko.

Poziom trudności zależy od tego jaki interface zostanie zaprojektowany, a interface w C++ wzorowany na react jest strasznie przyjemnym i czytelnym kodem.

Python nie jest wolny, w dodatku takie gui aplikacje to w 99% są idle oddają czas procesora bo nie ma co tam robić.
Jedynie przy obliczeniach już mają znaczenie, ale dalej python ma dużo natywnych implementacji wielu obiektów i one dają bardzo dobre rezultaty.
Przy webie też jak się krytyczne sekcje napisze natywnie, to i tak są dobre osiągi.

Jak widzisz jakiegoś buga w open source projekcie to możesz patcha napisać, albo chociaż zgłosić jak zreprodukować taki błąd, żeby programista mógł to naprawić, bo taki ogólnikowy opis, że jest zabugowane to nic nie mówi i tak mówią tylko ludzie, którzy tak na prawdę nie mają nic do powiedzenia i uogólniają.

1

Zadaj to pytanie na mailing listach. Spokojnie masz szanse dostać odpowiedz od osób które są na samej górze decyzyjnej.

Np. mi kiedyś na pierdołę odpisal Theo de raadt.

0

Rust dobry inne języki złe.

1 użytkowników online, w tym zalogowanych: 0, gości: 1