Fragen? Antworten! Siehe auch: Alternativlos
Maintainers of the RubyGems package repository have yanked 18 malicious versions of 11 Ruby libraries that contained a backdoor mechanism and were caught inserting code that launched hidden cryptocurrency mining operations inside other people's Ruby projects.
Das ist natürlich nicht die Schuld von Ruby, sondern davon, dass Entwickler heutzutage Libraries aus dem Internet automatisiert runterladen, einbinden und ausliefern. Das ist einfach mal generell eine schlechte Idee, aber gepaart mit der monströsen Komplexitätsexplosion in Code heutzutage ist es ein selbstverstärkendes Problem.Die Leute meckern immer rum, dass C und C++ keine Paketmanager haben. Ich halte das für einen Vorteil. Nicht nur einen Vorteil. Den Hauptvorteil von C und C++ im Moment. Von der Funktionalität her können C und C++ nichts, was nicht auch Rust oder Go könnten, bei einer grob vergleichbaren Performance am Ende. Oder wenn man auf Performance scheißt, dann wie Ruby, Python oder Javascript.
Der Vorteil von C++ im Moment ist, dass es eine Schwelle für das Einbinden von Libraries gibt. Das ist mit Kosten verbunden. Daher gucken Leute eher hin.
Ist nicht alles toll mit dem Modell. Eines der Hauptprobleme von C++-Code in Produktivsystemen ist, dass der Code veraltet ist und veraltete 3rd-Party-Komponenten einsetzt. Da muss mal was geschehen, keine Frage.
Aber habt ihr schonmal von einem C oder C++-Programm mit einem Kryptominer oder einer Backdoorkomponente gehört, wo der Autor auch nur versucht hätte, sich mit Paketen aus dem Internet rauszureden? Oder ein kompromittiertes Github-Paket, das es dann auch tatsächlich in irgendwelche ausgelieferte C++-Software geschafft hat?
Ich beobachte die aktuellen Bemühungen bei C++20 mit größter Sorge, sich da in Richtung NPM zu bewegen, um mehr Hipster anzuziehen. Leute, die auf sowas stehen, sind genau die, die man nicht in seinem Projekt haben will, weil das am Ende Kryptominer drin haben wird und der Verantwortliche wird nicht mal verstehen, wieso das seine Verantwortung gewesen wäre.