Normale Ansicht

Es gibt neue verfügbare Artikel. Klicken Sie, um die Seite zu aktualisieren.
Ältere BeiträgeHaupt-Feeds

Rust 1.74.0 ist fertig

20. November 2023 um 08:43

Das Rust-Team hat die Programmiersprache Rust in Version 1.74.0, angekündigt. Die neue Ausgabe bringt diverse Neuerungen und Verbesserungen mit.

Neu ist unter anderem, die Lint-Konfiguration durch den Paketmanager Cargo. Dabei unterstützt das Cargo.toml-Manifest nun eine [lints]-Tabelle, um die Berichtsstufe (forbid, deny, warn, allow) für Lints vom Compiler und anderen Werkzeugen zu konfigurieren.

Für Cargo gibt es noch weitere Funktionen. Die Entwickler nennen hier  Credential Provider und authentifizierte private Registries.

Credential Providers ermöglichen die Konfiguration, wie Cargo Berechtigungsnachweise für eine Registrierung erhält. Integrierte Anbieter sind für die betriebssystemspezifische sichere Speicherung von Geheimnissen unter Linux, macOS und Windows enthalten. Darüber hinaus können benutzerdefinierte Anbieter geschrieben werden, um beliebige Methoden zur Speicherung oder Erzeugung von Token zu unterstützen. Die Verwendung eines sicheren Anbieters für Anmeldeinformationen verringert das Risiko, dass Registrierungs-Token verloren gehen.

Private Registries können nun optional eine Authentifizierung für alle Operationen verlangen, nicht nur für die Veröffentlichung. Dies ermöglicht es privaten Cargo-Registries, ein sichereres Hosting von Crates anzubieten. Die Verwendung von privaten Registern erfordert die Konfiguration eines Credential Providers.

Die Ankündigung enthält auch Informationen zur Installation.

Der Beitrag Rust 1.74.0 ist fertig erschien zuerst auf Linux-Magazin.

FSFE startet Youth Hacking 4 Freedom 2024

16. November 2023 um 10:24

Die Free Software Foundation Europe (FSFE) hat die Anmeldung für Youth Hacking 4 Freedom 2024, kurz YH4F gestartet. Der Programmierwettbewerb für Jugendliche aus ganz Europa biete Teenagern die Möglichkeit ihr eigenes Projekt zu programmieren, gleich ob allein oder im Team.

Ziel dieses Wettbewerbs sei es, junge technikbegeisterte Menschen aus ganz Europa zusammenzubringen, ganz unabhängig von ihrem aktuellen Kenntnisstand. Alle Teilnehmenden, welche zur Anmeldung zwischen 14 und 18 Jahre alt sein müssen, haben über sechs Monate die Möglichkeit an ihrem eigenen Freien Software-Projekt zu arbeiten.

Die inzwischen dritte Ausgabe des Wettbewerbs startet am 7. Dezember 2023 mit einer Online-Veranstaltung um die Fragen der Teilnehmenden zu beantworten. Die Programmierphase beginne dann im Januar 2024. Nach dem Start der Programmierphase stünden sechs Monate, bis zum 30. Juni 2024, zum Arbeiten am Projekt zur Verfügung. Eine späte Anmeldung sei bis zum Ende möglich, ebenso wie die Änderung der ursprünglichen Projektidee, jedoch bleibe die Deadline beim 30. Juni 2024 bestehen.

Neben der Möglichkeit, neue Freundschaften quer durch Europa hinweg zu schließen locke auch noch ein Preisgeld, teilt die FSFE mit. Mehr als 10.000 Euro würden insgesamt an die sechs Gewinner vergeben, heißt es weiter. Davon gingen 4096 Euro an den ersten Platz, 2048 Euro an den zweiten Platz und 1024 Euro sowohl an den dritten Platz wie auch die Sonderpreise.

Im Juli und August 2024 werde die YH4F Jury, bestehend aus internationalen, technischen Experten, die Projekte begutachten. Die Gewinner würden dann im September 2024 benachrichtigt und offiziell während der Preisverleihung in Brüssel im Oktober 2024 bekannt gegeben.

Der Beitrag FSFE startet Youth Hacking 4 Freedom 2024 erschien zuerst auf Linux-Magazin.

Weg für Python ohne Global Interpreter Lock frei

27. Oktober 2023 um 08:06

Das Python-Team hat festgelegt, wie die Sprache eine bessere Nebenläufigkeit bekommen soll. Bei zu großen Problemen wird dies aber nie umgesetzt.

Das technische Leitungsgremium der Sprache Python hat wichtige Details zur Umsetzung einer besseren Nebenläufigkeit bekannt gegeben. Konkret handelt es sich dabei um die Annahme und Ausgestaltung der Spracherweiterung PEP 703, die den sogenannten Global Interpreter Lock (GIL) in der Standardimplementierung CPython optional machen möchte. Das so entstehende free-threaded Python könnte aber massive Auswirkungen auf das gesamte Ökosystem haben, sodass die Beteiligten nun eben eine lange Testphase anstreben.

Begonnen werden könnte damit wohl sofort, wie es in der Ankündigung heißt. Die Technik soll dabei durch eine Option beim Kompilieren von CPython selbst aktiviert werden können. Das sollte zwar nirgendwo standardmäßig oder gar produktiv genutzt werden, ermögliche aber Paketbetreuern, die Implementierung zu testen. Eine zweite Testphase soll darüber hinaus erst starten, wenn die Arbeiten an API und ABI sich weitgehend beruhigt haben und der Community-Support für die neue Technik groß genug ist.

Letztlich soll das free-threaded Python der Standard für Sprachen werden und diese dann eben komplett ohne GIL auskommen. Das Team zielt dabei darauf, diesen Übergang so störungsfrei wie möglich zu machen. Anfänglich soll der GIL dabei noch optional verfügbar bleiben. Wenn dieser aber nicht mehr weitläufig genutzt wird, soll die Technik komplett entfernt werden.

Wie das Team selbst schreibt, sind diese Pläne derzeit noch bewusst vage gehalten und erfordern wohl dauerhaft begleitenden Diskussionen der Beteiligten. Einen Zeitplan für die Umsetzung gibt es damit noch nicht und die Verantwortlichen wollen jeden der Schritte einzeln evaluieren, auch um eventuelle Änderungen noch rechtzeitig zurücknehmen zu können. Das Python-Team behält sich dabei auch vor, sämtliche der Arbeiten an einem No-GIL-Python zurückzunehmen, sollte diese nicht die Erfolge bringen, die sich die Beteiligten wünschen.

Der Beitrag Weg für Python ohne Global Interpreter Lock frei erschien zuerst auf Linux-Magazin.

HPI bietet Informatik-Kurse für Schüler

29. August 2023 um 07:44

Zwei kostenlose Onlinekurse sind im September auf der Lernplattform openHPI des Hasso-Plattner-Instituts (HPI) im Angebot. Der erste vermittelt ab 6. September spielerisch Grundkenntnisse in der Programmiersprache Python. Der zweite frischt ab 13. September vor einer möglichen Aufnahme eines Informatikstudiums im Wintersemester die notwendigen Mathematik-Kenntnisse auf.

Beim vierwöchigen Onlinekurs “Programmieren lernen mit Python”,  führen drei Studentinnen und ein wissenschaftlicher Mitarbeiter in die mit Abstand beliebteste Programmiersprache der Welt ein, berichtet das HPI.

Im dreiwöchigen Online-Vorkurs “Mathematik – Grundlagen für das Informatikstudium” hilft HPI-Wissenschaftler Dr. Timo Kötzing Oberstufen-Schülerinnen und Schülern, in so genannten MINT-Fächern benötigte mathematische Grundlagen wie Differential- und Integralrechnung, Rechnen mit Unbekannten sowie Logarithmen und Exponentiationen aufzufrischen.

Anmeldungen sind möglich unter https://open.hpi.de/courses/pythonjunior2023 (ab Klasse 7) und https://open.hpi.de/courses/mathe2023 (ab Klasse 12).

Der Beitrag HPI bietet Informatik-Kurse für Schüler erschien zuerst auf Linux-Magazin.

Rust 1.72.0 bringt unbegrenzte Evaluierungsmöglichkeiten

25. August 2023 um 07:55

Die neue stabile Version 1.72.0 der Programmiersprache Rust beseitigt unter anderem ein Limit bei der Const-Evaluierung.

In früheren Versionen von Rust gab es eine Beschränkung der Evaluierung von Konstanten beim Kompilieren. Das sollte verhindern, dass die Auswertung von benutzerdefinierten Konstanten in eine Endlosschleife gerät oder anderweitig unendlich viel Zeit in Anspruch nimmt, teilen die Entwickler mit. Allerdings habe man festgestellt, dass kreativer Rust-Code an diese Grenzen stoßen und einen Compilerfehler erzeugen könne, heißt es in der Ankündigung. Und es seien auch noch schlimmere Auswirkungen denkbar, weil das Erreichen des Limits je nach den vom Benutzer aufgerufenen Bibliotheken stark variiere. Es könne dann sogar vorkommen, das eine Bibliothek eine Anweisung in zwei Teile aufspalte und damit das Kompilieren von Code unmöglich mache. Dieses Limit entfällt nun.

Jetzt könnten Entwickler eine unbegrenzte Anzahl von Konst-Evaluierungen zur Kompilierzeit durchführen, heißt es weiter. Um lange Kompilierungen ohne Rückmeldung zu vermeiden, werde der Compiler immer eine Meldung ausgeben, nachdem der Code zur Kompilierzeit eine Weile gelaufen sei, und diese Meldung nach einer Zeitspanne wiederholen, die sich dann jedes Mal verdopple.

In der Ankündigung sind weitere Neuerungen aufgeführt und die Downloads verlinkt.

Der Beitrag Rust 1.72.0 bringt unbegrenzte Evaluierungsmöglichkeiten erschien zuerst auf Linux-Magazin.

Govulncheck: Google bringt Schwachstellenscanner für Go

14. Juli 2023 um 08:48

Mit Govulncheck v1.0.0 hat Google einen Schwachstellenscanner für Go-Projekte veröffentlicht. Über ein API lässt sich der Scan in weitere Tools integrieren.

Angekündigt hatte Google seine Unterstützung für das Schwachstellenmanagement bereits vergangenen September. Das nun veröffentlichte Govulncheck ist ein Kommandozeilentool, das Go-Entwicklern hilft, bekannte Schwachstellen in ihren Projekten zu finden, teilt Google mit. Das Tool könne die Codebasis und Binaries gleichermaßen untersuchen.  Es reduziere zudem unnötiges Fals-Positiv-Rauschen, indem es die Schwachstellen in den Funktionen priorisiert, die vom Code tatsächlich aufgerufen werden.

Govulncheck basiert auf der Go Vulnerability Database die Informationen zu bekannten Schwachstellen in Go-Modulen vorhält. Die Einträge dieser Datenbank lassen sich auch durchsuchen.

Die ebenfalls veröffentlichte API liefere dieselbe Funktionalität wie der Befehl „govulncheck“ und ermöglicht es Entwicklern, Sicherheitsscanner und andere Tools mit govulncheck zu integrieren, berichtet Google weiter. Govulncheck lasse sich etwa auch direkt über die Go-Erweiterung für Visual Studio Code verwenden.

Der Beitrag von Google liefert How-tos und Informationen zur Nutzung und Integration von Govulncheck.

Der Beitrag Govulncheck: Google bringt Schwachstellenscanner für Go erschien zuerst auf Linux-Magazin.

Google-Entwickler wechseln schnell auf Rust

29. Juni 2023 um 08:41

Mehr als 1000 Entwickler schreiben inzwischen bei Google Rust-Code. Der Umstieg erfolgt offenbar schneller und einfacher als erwartet.

Das Open-Source-Team von Google hat die Ergebnisse einer Auswertung zur internen Nutzung der Programmiersprache Rust veröffentlicht. Grundlage dafür sind die Antworten von mehr als 1.000 Angestellten, die im vergangenen Jahr 2022 Rust-Code selbst geschrieben oder eingepflegt haben. Dabei räumt das Team auch mit einigen Gerüchten auf, die im Zusammenhang mit dem Wechsel auf Rust immer wieder genannt werden. Dazu gehört auch, dass es lange dauere, Rust zu erlernen. Google widerspricht hier deutlich.

Demnach fühlten sich zwei Drittel der befragten Entwickler schon nach nur maximal zwei Monaten sicher genug, zu einer bestehenden Codebasis in Rust beizutragen. Darüber hinaus heißt es, dass die Hälfte der Befragten nach nur vier Monaten genauso produktiv in Rust arbeiten könne wie in einer anderen Sprache. Laut Google entsprechen diese Zahlen auch dem Zeitraum zum Erlernen anderer Sprachen, sowohl “innerhalb als auch außerhalb von Google.”

Google schreibt: “Insgesamt haben wir keine Daten gesehen, die darauf hindeuten, dass Rust im Vergleich zu anderen Sprachen, die diese Entwickler zuvor bei Google verwendet haben, einen Produktivitätsnachteil mit sich bringt.” Von Vorteil für die Nutzung von Rust sind dabei laut der Auswertung auch die als “besonders hilfreich” bezeichneten Fehlermeldungen. Ebenso sei ein Großteil der Befragten zufrieden mit der eigenen Codequalität in Rust, wobei 85 Prozent der Entwickler davon ausgehen, dass ihr Code in Rust zu einer höheren Rate korrekt ist als in anderen Programmiersprachen.

Die größten Probleme beim Rust-Umstieg seien die als zu langsam beschriebene Geschwindigkeit des Rust-Compilers sowie die Makros, das Ownership-System und die Async-Programmierung. Google zieht aus der Umfrage folgenden Schluss: “Wenn Rust nicht nur besser für das Schreiben von qualitativ hochwertigem Code ist, sondern auch besser dafür geeignet ist, diesen Code schneller einzupflegen, dann ist das für Unternehmen, die die Einführung von Rust evaluieren und in Betracht ziehen, eine ziemlich überzeugende Reihe von Gründen, die über Leistung und Speichersicherheit hinausgehen.”

Der Beitrag Google-Entwickler wechseln schnell auf Rust erschien zuerst auf Linux-Magazin.

Rust 1.70.0 mit Sparse-Protokoll

02. Juni 2023 um 09:14

Die Programmiersprache Rust hat mit Version 1.70.0 das “sparse”-Protokoll von Cargo nun standardmäßig für das Lesen des Index von crates.io aktiviert, berichten die Entwickler.

Diese Funktion sei zwar bereits mit Rust 1.68.0 stabilisiert worden, bedurfte aber noch Konfigurationsarbeiten um sie mit crates.io verwenden zu können. Nutzer sollten damit von einer deutlich verbesserten Leistung beim Abrufen von Informationen aus dem crates.io-Index profitieren.

Benutzer, die sich hinter einer restriktiven Firewall befinden, müssen sicherstellen, dass der Zugriff auf “https://index.crates.io” möglich ist, heißt es in der Ankündigung. Wer bei der vorherigen Standardeinstellung bleiben will oder muss und den von GitHub gehosteten Git-Index weiter verwende, könne die Konfigurationseinstellung unter “registries.crates-io.protocol” verwenden, um die Standardeinstellung entsprechend zu ändern.

Zudem seien zwei neue Typen wurden für die einmalige Initialisierung gemeinsam genutzter Daten nun stabil, OnceCell und sein thread-sicheres Gegenstück OnceLock. Diese ließen sich überall dort verwendet werden, wo eine sofortige Konstruktion nicht erwünscht und vielleicht auch nicht möglich ist, wie etwa bei nicht-konstanten Daten in globalen Variablen.

Der Beitrag Rust 1.70.0 mit Sparse-Protokoll erschien zuerst auf Linux-Magazin.

Sudo und Su: Speichersicherer Rewrite in Rust

04. Mai 2023 um 07:38

Im Bestreben, kritische Software-Infrastruktur vor Speicherfehlern zu schützen, erhalten die Programme Su und Sudo einen Rewrite in der speichersicheren Programmiersprache Rust.

Initiiert wird die Neufassung von Su und Sudo von Prossimo, einer Initiative der Internet Security Research Group, die auch durch die Initiative Let’s Encrypt bekannt ist. Amazon finanziert den Rewrite.

Die Dienstprogramme Sudo und Su stellten eine kritische Privilegiengrenze auf fast allen Open-Source-Betriebssystemen dar und hätten eine lange Geschichte von Speichersicherheitsproblemen, lässt Prossimo wissen.

Sudo sei in den 1980er Jahren entwickelt worden und habe sich im Laufe der Jahrzehnte zu einem unverzichtbaren Werkzeug für die Durchführung von Änderungen bei gleichzeitiger Minimierung des Risikos für ein Betriebssystem entwickelt. Das Problem sei, dass es in C geschrieben und damit mit Speichersicherheitsproblemen behaftet sei.

Sudo und Su entsprächen allen Kriterien, die die Initiative für einen Rewrite definiert hat. Dazu zählen etwa der Verbreitungsgrad und die wichtige Funktion. Es sei wichtig, dass wir unsere kritischste Software schützen, insbesondere vor Sicherheitslücken im Speicher, heißt im Blogbeitrag von Prossimo. Es sei schwer, sich Software vorzustellen, die viel kritischer sei als Sudo und Su.  Der Arbeitsplan des Rewrites ist hier einsehbar. Das GitHub-Repository findet sich hier. Bis September 2023 sollen die Arbeiten abgeschlossen sein.

Wie Prossimo berichtet, hat eine kürzlich durchgeführte Studie ergeben, dass 60 bis 70 Prozent der Sicherheitslücken in iOS und macOS auf Speichersicherheitslücken zurückzuführen sind. Microsoft schätzt, dass 70 Prozent aller Sicherheitslücken in seinen Produkten in den letzten zehn Jahren auf Probleme mit der Speichersicherheit zurückzuführen sind. Google schätzt, dass 90 Prozent der Sicherheitslücken in Android auf Speichersicherheitsprobleme zurückzuführen sind. Eine Analyse von 0-Days, die in freier Wildbahn ausgenutzt wurden, ergab, dass es sich bei mehr als 80 Prozent der ausgenutzten Schwachstellen um Sicherheitslücken im Arbeitsspeicher handelt.

Der Beitrag Sudo und Su: Speichersicherer Rewrite in Rust erschien zuerst auf Linux-Magazin.

Rust 1.69 mit vielen Verbesserungen

24. April 2023 um 10:12

Die neue Version 1.69 der Programmiersprache Rust kann mit rund 3000 Commits von 500 Beitragenden aufwarten. Entsprechend zahlreich sind die Änderungen und Verbesserungen.

Obwohl die neue Ausgabe von Rust keine neuen Features mitbringt, sind die Entwickler angetan von Version 1.69. Besonders die zahlreiche Beteiligung sei erfreulich. Verbesserungen habe es unter anderem in der automatischen Behebung von Warnungen gegeben. Nachdem bereits in Rust 1.29.0 der Unterbefehl “cargo fix” hinzugefügt worden sei, um einige einfache Compiler-Warnungen automatisch zu beheben, habe es stetige Fortschritte in den automatisch zu behebenden Warnungen gegeben. Die Anzahl der Warnungen, die sich automatisch bereinigen ließen, sei entsprechend stetig gestiegen. Darüber hinaus habe man die Unterstützung für die automatische Behebung einiger einfacher Clippy-Warnungen hinzugefügt. Damit Entwickler von diesen Features auch Gebrauch machen, habe man nun mehr Aufmerksamkeit darauf gelenkt und der Paketmanager Cargo schlage nun vor, cargo fix oder cargo clippy –fix auszuführen, wenn es Warnungen entdecke, die sich automatisch beheben ließen, teilen die Entwickler mit.

Eine Verbesserung der Leistungsfähigkeit beim Kompilieren verspricht die Neuerung, dass Cargo nun standardmäßig die Ausgabe von Debug-Informationen in Build-Skripten vermeidet. Das Changelog zählt weitere Neuerungen in Rust auf.

Der Beitrag Rust 1.69 mit vielen Verbesserungen erschien zuerst auf Linux-Magazin.

Analyse: Java-Entwickler dringend gesucht

24. April 2023 um 09:40

Das Freelancer-Portal Workgenius hat den Fachkräftemangel in Deutschland analysiert und nach Städten und Programmiersprachen aufgeschlüsselt. Ein Resultat: Java-Programmierer sind am häufigsten gesucht.

Für die Studie zum Arbeitsmarkt für das Jahr 2023 hat Workgenius nach eigenen Angaben mehr als 120.000 Stellenausschreibungen für IT-Jobs in Deutschland analysiert. Und auch ermittelt welche Programmiersprachen am gefragtesten in Deutschlands Großstädten sind.

Im Ranking bezogen auf die Freien Stellen bezogen auf 100.000 Einwohner liegt Frankfurt auf Rang 1 mit 1582 Stellen je 100.000 Einwohnern. Insgesamt seien 12.089 IT-Stellen ausgeschrieben, heißt es in der Studie von Workgenius. Bei den Programmiersprachen ist Java mit 1397 Ausschreibungen in Frankfurt die gefragteste Programmiersprache. In absoluten Werten bei den Stellenausschreibungen landet Frankfurt hinter Berlin (19.914 Stellen), München (16.605) und Hamburg (13.058) auf Platz vier.

Auf Platz zwei folgt, wie schon im Vorjahr, Stuttgart. Die insgesamt gezählten 9009 Stellen (2022: 5.325) Stellen verteilt auf die knapp 630.000 Einwohner bedeuten 1430 Stellen je 100.000 Einwohner.  Auch in Stuttgart ist der Java-Bedarf mit 1207 Ausschreibungen am größten, teilt Workgenius mit.

Platz drei geht nach Düsseldorf. Die 6989 Stellenausschreibungen entsprechen einer Quote von rund 1125 pro 100.000 Einwohner. In Düsseldorf werden derzeit SQL-Experten mit 706 Ausschreibungen am häufigsten gesucht.

Was die häufig gesuchten Programmiersprachen betrifft, wird Java in insgesamt 24.901 Ausschreibungen gesucht, was den ersten Platz des Rankings bedeutet. Auf Platz zwei folgt SQL. Zwar gilt die Structured Query Language nicht als vollwertige Programmiersprache, allerdings lässt sie sich mit anderen Programmiersprachen kombinieren, heißt es in der Analyse. SQL werde bei 21.813 Stellenausschreibungen vorausgesetzt. Auf dem dritten Platz landet Python mit insgesamt 20.023 Stellenausschreibungen. Die drei Plätze sind damit gleich belegt wie in der Analyse des Vorjahres.

Die kompletten Ergebnisse sind online abrufbar.

Der Beitrag Analyse: Java-Entwickler dringend gesucht erschien zuerst auf Linux-Magazin.

NIST macht Rust zur Safer Language

29. März 2023 um 09:29

Das National Institute of Standards and Technology (NIST) hat die Programmiersprache Rust in die Liste der “Safer Languages” aufgenommen.

Rust verfüge über ein Ownership-Modell, das sowohl Speicher- als auch Threadsicherheit zur Kompilierzeit garantiere, ohne dass ein Garbage Collector erforderlich sei, begründet das NIST seine Wahl. Dieses Modell ermöglicht es den Benutzern, leistungsstarken Code zu schreiben und gleichzeitig viele Fehlerklassen zu eliminieren, heißt es weiter. Und obwohl Rust auch über einen unsicheren Modus verfüge, sei dessen Verwendung explizit, und erlaube nur einen engen Bereich von Aktionen.

Das 1901 gegründete NIST untersteht dem US-Handelsministerium und gilt als eine der ältesten naturwissenschaftlichen Forschungseinrichtungen in den USA. Eine der vielen Initiativen des NIST ist das Projekt Software Assurance Metrics And Tool Evaluation (SAMATE). Dieses Gremium “widmet sich der Verbesserung der Software Assurance durch die Entwicklung von Methoden zur Bewertung von Software-Tools, der Messung der Effektivität von Tools und Techniken sowie der Identifizierung von Lücken in Tools und Methoden”, heißt es auf der NIST-Website.

Die Safer Languages wiederum sind eine Kategorie der SMATE “Klassen von Software-Sicherheitsfunktionen”. Das NIST empfiehlt dort die Verwendung von Programmiersprachen mit eingebauten Sicherheitsfunktionen, die von den Entwicklern aktiv überwacht und unterstützt werden.

Neben Rust sind bei den Safer Languages auch die Programmiersprachen und Sprach-Tools SPARK, Escher C Verifier Language, Fail-Safe C, Safe-Secure C/C++ (SSCC), die CERT Coding Standards und CCured aufgeführt.

Der Beitrag NIST macht Rust zur Safer Language erschien zuerst auf Linux-Magazin.

Python-Compiler verspricht 10- bis 100-fache Leistung

21. März 2023 um 08:47

Eine native Kompilierung von Python soll eine Programmgeschwindigkeit wie bei C und C++ ermöglichen.

Die Programmiersprache Python gilt zwar als vergleichsweise einfach zu erlernen und wird auch deshalb viel verwendet, die Nutzung des Interpreters in der Standardimplementierung hat aber Nachteile bei der Geschwindigkeit. Mit dem Codon-Projekt versucht ein Team des MIT (Massachusetts Institute of Technology) einen nativen Compiler für Python zu erstellen, um die Sprache deutlich zu beschleunigen.

In der Ankündigung des MIT sagt der Hauptautor von Codon zu der Umsetzung: “Der Benutzer schreibt einfach Python, so wie er es gewohnt ist, ohne sich um Datentypen oder Leistung kümmern zu müssen, was wir automatisch erledigen – und das Ergebnis ist, dass sein Code 10 bis 100 Mal schneller läuft als normales Python. Codon wird bereits kommerziell in Bereichen wie quantitative Finanzen, Bioinformatik und Deep Learning eingesetzt.”

Der neue Python-Compiler Codon basiere auf der LLVM-Compiler-Infrastruktur, biete natives Multithreading und die Geschwindigkeit damit erzeugter Programme reiche gar an C oder C++ heran, schreiben die Beteiligten auf Github. Das Multithreading und die Nebenläufigkeit werden in der Standardimplementierung von Python derzeit effektiv vom sogenannten Global Interpreter Lock (GIL) verhindert, der aber entfernt werden soll.

In einem Vortrag beschreibt das Team Codon als “einen domänenerweiterbaren Compiler und DSL-Framework (Domain Specific Language) für leistungsstarke DSLs mit der Syntax und Semantik von Python.” Neu sei dabei vor allem eine Intermediate Representation die Optimierungen und Analysen erleichtere.

Zwar unterstützte Codon fast die gesamte Python-Syntax, ein kompletter Ersatz für die Standardimplementierung sei das Projekt aber nicht, heißt es. So werden einige Python-Module noch nicht unterstützt und die Nutzung einiger dynamischer Funktionen von Python ist schlicht nicht erlaubt, so dass bestehende Programme teils zur Nutzung mit Codon angepasst werden müssen.

Der Beitrag Python-Compiler verspricht 10- bis 100-fache Leistung erschien zuerst auf Linux-Magazin.

Kostenlose Online-Kurse bei openHPI

11. Januar 2023 um 11:13

Die Plattform openHPI des Hasso-Plattner-Instituts (HPI) bietet im Jahr 2023 wieder kostenlose Kurse an, die dabei helfen sollen, die digitale Transformation besser zu verstehen und zu gestalten.

Ziel der Plattform sei es Jugendlichen und IT-Laien wesentliche Grundkenntnisse zu vermitteln und auch Experten bei der beruflichen Weiterbildung zu unterstützen, teilt das HPI mit. Schwerpunkt im Jahr 2023 lägen auf den Bereichen Künstliche Intelligenz, Quantencomputing und nachhaltigere Digitalisierung.

Das Jahresprogramm startet am 25. Januar mit einem Spezialkurs zum Thema Analyse großer Datenmengen und Einsatz Künstlicher Intelligenz in englischer Sprache. Der laufend angepasste Planungsstand lässt sich auf den Webseiten des OpenHPI verfolgen.

Auch Schulklassen biete die Lernplattform  attraktive kostenlose Onlinekurse. Auf dem Programm stünden dabei etwa die Einsteiger-Angebote “Objektorientierte Programmierung in Java” sowie “Programmieren lernen mit Python” in der Schulversion. Die Kurse seien ab 27. Februar verfügbar und seien vom Umfang her so konzipiert, dass sie in den Informatikunterricht integrierbar seien.

Der Beitrag Kostenlose Online-Kurse bei openHPI erschien zuerst auf Linux-Magazin.

Go 1.19 mit Updates bei der Implementierung

04. August 2022 um 08:23

Rund fünf Monate nach der Version 1.18 erscheint die Ausgabe 1.19 der Programmiersprache Go. Viele Neuerungen betreffen Implementierungen in Toolchain und Runtime.

Auch die Bibliotheken haben Neuerungen erfahren. Wie gewohnt betonen die Entwickler die Rückwärtskompatibilität: Wir erwarten, dass fast alle Go-Programme weiterhin kompiliert werden und wie bisher laufen.

An der Sprache selbst gebe es nur eine kleine Änderung und die betreffe eine Korrektur des Geltungsbereichs von Typparametern in Methodendeklarationen, teilen die Entwickler mit. Bestehende Programme seien davon nicht betroffen.

Zudem sei das Speichermodell von Go wurde überarbeitet worden, um Go an das von C, C++, Java, JavaScript, Rust und Swift verwendete Speichermodell anzugleichen, heißt es weiter. Mit der Aktualisierung des Speichermodells führt Go 1.19 neue Typen im sync/atomic-Paket ein, die die Verwendung atomarer Werte erleichtern, wie atomic.Int64 und atomic.Pointer[T].

Die Laufzeitumgebung bietet nun Unterstützung für eine weiche Speicherbegrenzung. Diese Speichergrenze umfasst den Go-Heap und alle anderen von der Laufzeitumgebung verwalteten Speicher und schließt externe Speicherquellen wie Mappings der Binärdatei selbst, in anderen Sprachen verwalteten Speicher und vom Betriebssystem im Auftrag des Go-Programms gehaltenen Speicher aus, teilen die Entwickler mit.

Die Ankündigung nennt weitere Details.

Der Beitrag Go 1.19 mit Updates bei der Implementierung erschien zuerst auf Linux-Magazin.

Meta empfiehlt Rust für CLIs und als C++-Alternative

01. August 2022 um 07:21

Für die Programmierung der Dienste von Facebook-Mutter Meta darf nun auch offiziell Rust verwendet werden. Die Nutzung wachse rasant, heißt es.

Für die Programmierung der serverseitigen Dienste des Facebook-Mutterkonzerns Meta können die Angestellten künftig auch offiziell die als besonders sicher geltende Programmiersprache Rust verwenden. Das kündigt das Team in seinem Engineering-Blog an. Damit zählt Rust nun zu den wenigen intern unterstützten Sprachen.

Zum Hintergrund der Entscheidung heißt es: “Die Unterstützung einer neuen Sprache ist keine Entscheidung, die wir leichtfertig treffen. Es ist wichtig, dass jede Sprache, die wir übernehmen, für einen bestimmten Anwendungsfall am besten geeignet ist, daher lassen wir bei der Bewertung einer Sprache ein hohes Maß an Sorgfalt walten. Sprachentscheidungen bleiben in der Regel bestehen, sobald sie einmal getroffen wurden, daher möchten wir von Anfang an bewusst vorgehen, um unseren Entwicklern die besten Werkzeuge zum Arbeiten zur Verfügung zu stellen.”

Die interne Unterstützung bedeutet laut Meta, dass die Entwickler mit den üblichen Werkzeugen zum Schreiben von Code, Debugging, den Builds und dem Ausrollen gut arbeiten können. Ähnliches gilt für Kernbibliotheken und Interoperabilität. Bisher zählten zu der Liste der unterstützten Sprachen die Eigenentwicklung Hack sowie Python und C++.

Die Nutzung von Rust empfiehlt Meta parallel zu C++ für Backend-Dienste, deren Leistung besonders kritisch ist. Das Unternehmen schreibt dazu: “Der Anteil von Rust an unseren Produkten und Dienstleistungen nimmt rapide zu, wir setzen uns langfristig für Rust ein und begrüßen Early Adopters.”

Zusätzlich dazu sollen mit Rust vor allem Kommandozeilenwerkzeuge erstellt werden. Für zustandslose Anwendungen werde hingegen Hack bevorzugt, Python wiederum für Data-Science- und Machine-Learning-Anwendungen. Nur in kleinen Teilbereichen werde außerdem auf Go, Java, Erlang und Haskell gesetzt.

Der Beitrag Meta empfiehlt Rust für CLIs und als C++-Alternative erschien zuerst auf Linux-Magazin.

Perl 7 wird fertig, wenn es soweit ist

Seit zwei Jahren arbeitet die Perl-Community an der Version 7. Doch eine Veröffentlichung ist weiter nicht in Sicht.

Das Leitungsgremium der Programmiersprache Perl gibt in einem aktuellen Blogpost eine Aussicht auf die kommenden Version 7 der Sprache sowie vor allem auf deren geplanten Veröffentlichungstermin. Wirklich eindeutig beantworten können und wollen das die Beteiligten zwar nicht, der Blogpost soll aber dazu dienen, endlich eine offizielle Stellungnahme dazu veröffentlichen zu können.

Die Arbeit an Perl 7 hatte das Team überraschend vor rund zwei Jahren angekündigt. Die Community der Sprache will damit vor allem zahlreiche alte Funktionen überwinden, die sich nach wie vor in dem aktuellen Perl 5 finden, dessen erste Version bereits im Oktober 1994 erschienen war.

In den letzten Jahrzehnten wurden aber immer mehr von den Standards abweichende Einstellungen erforderlich, da Default-Werte nicht geändert werden sollten, um die Kompatibilität zu den Vorversionen nicht zu brechen. Neu eingeführte Pragmas müssen deshalb immer einzeln aktiviert werden. In Version 7 sollen etwa die Strict- und Warning-Features automatisch aktiviert sein.

Der genaue Umgang mit diesen Plänen sorgt weiter für Diskussion in der Perl-Community und hat sogar zu komplett neuen internen Regeln samt der Etablierung des Leitungsgremiums geführt. Und dieses schreibt nun: “Im Moment ist unser Plan, weiterhin neue Funktionen einzuführen und alle bestehenden experimentellen Funktionen aufzulösen, so dass sie entweder fallengelassen oder zu nicht-experimentellen Funktionen werden (und somit im Versionspaket enthalten sind).”

Das wiederum führe aber dazu, das viele Nutzer nicht wüssten, welche Version von Perl jetzt genau welche dieser Funktionen unterstütze und welche nicht. “Irgendwann in der Zukunft” werde das Leitungsgremium aber entscheiden, “dass die Funktionen zusammengenommen einen ausreichend großen Schritt nach vorne darstellen, um eine neue Basisversion für Perl zu rechtfertigen. Wenn das passiert, wird die Version auf 7.0 angehoben.”

Der Beitrag Perl 7 wird fertig, wenn es soweit ist erschien zuerst auf Linux-Magazin.

Unterstützung für Python ohne Global Interpreter Lock wächst

Der Global Interpreter Lock in Python verhindert echte Nebenläufigkeit. Ein Projekt zur Abschaffung trifft auf Begeisterung des Kern-Teams.

Im Blog der Python Foundation fasst Entwickler Alex Waygood eine der wohl wichtigsten Diskussionen des vergangenen Python Language Summit zusammen: die Frage nach der Abschaffung des Global Interpreter Lock (GIL) der Sprache. Der GIL verhindert effektiv eine echte Nebenläufigkeit der Sprache. In der Vergangenheit gab es immer wieder Versuche, diese Technik in der Standardimplementierung CPython abzuschaffen. Eine neue Idee stößt nun offenbar auf große Unterstützung.

Konkret handelt es sich dabei um das Nogil-Projekt von Sam Gross, das auf vorigen Arbeiten zu der Idee basiert, den GIL in Python abzuschaffen. Verfügbar ist der experimentelle Beispielcode seit Oktober 2021. Er hatte zunächst vor allem Probleme bei Python-Projekten, die Drittanbieter-Code nutzten.

Zu dem Problem, das sich durch den Verzicht auf den GIL ergibt, heißt es im Blog: “Damit Python auch ohne die GIL effektiv arbeiten kann, müssen zu einem Großteil des Codes neue Sperren hinzugefügt werden, um sicherzustellen, dass er weiterhin Thread-sicher ist. Das Hinzufügen neuer Sperren zu bestehendem Code kann jedoch sehr schwierig sein, da es in einigen Bereichen zu großen Verlangsamungen kommen kann.” In einem früheren Experiment führte der Verzicht auf den GIL etwa zu einer massiven Verlangsamung für Single-Thread-Code.

Gross’ neue Arbeiten stoßen aber offenbar auf “Begeisterung” beim Rest des Kern-Entwicklungsteams von Python. Zu lösen ist vor allem die Frage, wie eine derart massive Änderung in CPython umgesetzt werden könnte. Gross schlägt dafür einen Compiler-Flag vor. Letztlich hieße das aber auch, zwei Versionen parallel zueinander zu pflegen – mit und ohne GIL. Eine finale Entscheidung zur Umsetzung ist noch nicht gefallen.

Der Beitrag Unterstützung für Python ohne Global Interpreter Lock wächst erschien zuerst auf Linux-Magazin.

❌
❌