Rust

Teilen:

Die Fragen in diesem Abschnitt wurden Entwickler*innen gestellt, die angegeben hatten, Rust zu verwenden.

Wie verwenden Sie Rust?

67%

Persönliche oder Nebenprojekte

61%

Hobby

18%

Arbeit

1%

Sonstige

Mir ist aufgefallen, dass die relativen Zahlen hier gleich bleiben, obwohl Rust wächst. Das ist gut! Dies bedeutet, dass die Zahl der Rust-Hobbyentwickler*innen zunimmt und ein großer Teil von ihnen zum Profi werden kann. Arbeitgeber aufgepasst: Wenn Sie nicht nur Leute mit „X Jahren Berufserfahrung in der Rust-Entwicklung“ suchen, werden Sie einen großen Pool von Arbeitskräften finden, die bereit sind, ihre aktuelle Stelle zu wechseln.

Florian Gilcher

Geschäftsführer von Ferrous Systems

Anekdotisch gesehen hat Rust vor ein paar Jahren den Übergang geschafft von „komische neue Sprache“ zu „es wäre nicht ganz verrückt, das auch produktiv einzusetzen“. Daher ist das Wachstum hier erwartungsgemäß und sehr willkommen.

Aleksey Kladov

Mitglied des Entwicklungstools-Teams von Rust

Wie lange verwenden Sie Rust schon?

22%

Weniger als einen Monat

36%

1 bis 6 Monate

18%

6 Monate bis 1 Jahr

19%

1 bis 3 Jahre

5%

Mehr als 3 Jahre

Rust ist eine junge Sprache, daher ist es schwer, Profis mit jahrelanger Erfahrung zu finden. Aus diesem Grund sollten Führungskräfte, die Rust einführen wollen, ein Budget für Schulungen und andere Weiterbildungs- und Unterstützungsformen für ihre Teams einplanen. Zu bedenken ist auch, dass jemand, der jahrzehntelang programmiert hat, sich mit etwas Unterstützung ziemlich schnell eine neue Programmiersprache aneignen kann.

Florian Gilcher

Geschäftsführer von Ferrous Systems

Entwickler*innen, die Rust früher verwendet haben, sind größtenteils immer noch dabei. Der relative Anteil der Neueinsteiger*innen ist nahezu konstant geblieben – ein gesundes, organisches Wachstumsmuster. Der zunehmende Anteil erfahrener Rust-Entwickler*innen ist eine gute Nachricht für Arbeitgeber.

Andre Bogus

Clippy-Maintainer, TWiR-Redakteur, Rust-Mitwirkender, professioneller „Rustacean“

Welche Programmiersprachen verwenden Sie in Ihren Projekten zusammen mit Rust?

22%

JavaScript/TypeScript

15%

Python

12%

C++

12%

Go

11%

C

6%

Java

3%

C#

2%

PHP

1%

Elixir

1%

Ruby

3%

Sonstige

49%

Keinen

Etwa die Hälfte der Befragten sind polyglott und verwenden neben Rust noch eine weitere Sprache. Die Prozentsätze scheinen in etwa die aktuelle Popularität widerzuspiegeln. Wie man so schön sagt: Das perfekte Werkzeug ist oft das, was man schon in der Hand hat.

Andre Bogus

Clippy-Maintainer, TWiR-Redakteur, Rust-Mitwirkender, professioneller „Rustacean“

Das hat mich angenehm überrascht – ich hätte einen etwas geringeren Anteil der reinen Rust-Projekte erwartet. Die JavaScript-Zahlen überraschen mich nicht; die Communities sind in einem sehr engen Kontakt und kommen gut miteinander aus.

Florian Gilcher

Geschäftsführer von Ferrous Systems

Wie interagiert Ihr Rust-Code mit anderen Codeteilen?

53%

Sprachinteroperabilität

51%

REST-API

24%

RPC

7%

Sonstige

Welche Plugins/Hilfsprogramme verwenden Sie in Ihrer IDE für Rust?

45%
25%

Rust Analyzer

42%
47%

IntelliJ Rust

14%
17%

Keine besondere Unterstützung

10%
16%

RLS

3%
3%

Racer

1%
3%

Sonstige

9%
8%

Ich weiß es nicht

rust-analyzer hat enorm zugelegt! Kein Wunder angesichts der Tatsache, dass das Projekt kürzlich Teil der Rust-Organisation wurde und der Rust Language Server (RLS) als veraltet gekennzeichnet und durch rust-analyzer abgelöst wurde. Ich persönlich bin sehr froh, dass viele Leute moderne IDEs für Rust verwenden und dass es eine gesunde Konkurrenz und Zusammenarbeit zwischen IntelliJ Rust und rust-analyzer gibt!

Aleksey Kladov

Mitglied des Entwicklungstools-Teams von Rust

rust-analyzer hat große Fortschritte gemacht und ist nun die offizielle LSP-Implementierung für Rust. Auch IntelliJ Rust ist weiterhin sehr stark. Ich habe mit beiden gearbeitet und wechsle immer noch ab und zu zwischen ihnen. Zwei echte technische Meisterstücke. Hut ab!

Andre Bogus

Clippy-Maintainer, TWiR-Redakteur, Rust-Mitwirkender, professioneller „Rustacean“

Welche IDE bzw. welchen Editor nutzen Sie hauptsächlich für die Rust-Entwicklung?

43%

VS Code

23%

CLion

15%

IntelliJ IDEA

7%

Vim

3%

Emacs

1%

PyCharm

1%

Sublime Text

1%

GoLand

1%

Neovim

1%

Visual Studio

4%

Sonstige

Welche Rust-Features vermissen Sie in IDEs am meisten?

32%

Natives Debugging

18%

WebAssembly-Debugging

16%

Web-Framework-Unterstützung

16%

Sprachübergreifende Navigation und Refaktorierung

14%

REPL

11%

Unterstützung für Embedded-Entwicklung

10%

Unterstützung für Datenbank-Frameworks

9%

Docker-Unterstützung

9%

Unterstützung für Remote-Entwicklung

4%

AWS-Lambda-Unterstützung

5%

Sonstige

32%

Keinen

Wie debuggen Sie normalerweise Ihren Rust-Code?

55%

Mit `println!`- oder `dbg!`-Makros

27%

Mit der Debugging-UI einer IDE

11%

In der Konsole

5%

Ich debugge überhaupt nicht

1%

Sonstige

Mehr Leute verwenden jetzt einen Debugger, wahrscheinlich weil die Unterstützung seit dem vergangenen Jahr verbessert wurde. Das dbg!-Makro ist wenig überraschend immer noch die beliebteste Methode, um einen schnellen und einfachen Einblick in den Zustand des ausgeführten Programms zu erhalten. Wir sollten auch nicht vergessen, dass Anwendungen oft gar kein Debugging benötigen, da Rust ohnehin so pingelig ist.

Andre Bogus

Clippy-Maintainer, TWiR-Redakteur, Rust-Mitwirkender, professioneller „Rustacean“

Debugger sind immer noch genauso lästig wie früher. Ich selbst verwende eprintln! (mittels pd-Snippet in meiner IDE), aber ich vermisse die großartigen Debugger aus meiner Zeit mit Kotlin.

Aleksey Kladov

Mitglied des Entwicklungstools-Teams von Rust

Welche Profiling-Tools verwenden Sie für Rust?

82%

Ich verwende keine Profiling-Tools

10%

perf

5%

callgrind/cachegrind

4%

gprof

3%

DTrace

2%

Sonstige

Die Schuld liegt eindeutig bei der Toolchain! Alle hier aufgeführten Tools sind unglaublich umständlich zu bedienen. Wer sich hauptberuflich mit Profiling beschäftigt (also ein Perf-Engineer bei einem großen Projekt wie nnethercote), kann Zeit und Mühe investieren, um alle perf-Flags zu lernen. Wenn Sie jedoch nur einen Bruchteil Ihrer Zeit mit Performance-Untersuchungen verbringen möchten, ist die Lernkurve sehr unangenehm. Ich wünschte, Rust würde sich eine Scheibe von Go abschneiden, wo pprof.StartCPUProfile Teil der Toolchain ist. Das wird allerdings große Anstrengungen erfordern.

Aleksey Kladov

Mitglied des Entwicklungstools-Teams von Rust

Es ist kaum zu glauben – aber gleichzeitig wenig überraschend –, dass in einer Sprache, die viele Menschen aus Geschwindigkeitsgründen verwenden, Performancemessungen nicht üblich sind. Meine Theorie ist, dass Performance-Tools nicht zugänglich sind und sich je nach Plattform unterscheiden.

Florian Gilcher

Geschäftsführer von Ferrous Systems

Welche Arten von Projekten entwickeln Sie in Rust?

46%

CLI-Tools

37%

Systemprogrammierung

34%

Web-Entwicklung

16%

Netzwerkprogrammierung

15%

Desktop-/GUI-Anwendungen

11%

Embedded-Geräte / Internet der Dinge

10%

Spiele

7%

Akademisch/wissenschaftlich/numerisch

6%

Datenbanken

6%

DevOps

6%

Blockchain

6%

Sicherheit

4%

Data Science/maschinelles Lernen/AI

3%

Finanzen/Handel

6%

Sonstige

CLI-Tools haben sich als eine Nische für Rust erwiesen. Im vergangenen Jahr arbeitete fast die Hälfte der Befragten an solchen Projekten. Interessant ist auch, dass nur 6% der Befragten im Blockchain-Bereich arbeiten, obwohl viele dieser Unternehmen die Verwendung von Rust groß herausstellen. Entweder handelt es sich um Hype und Marketing oder die wenigen Rust-Profis, die sich mit Blockchains beschäftigen, sind sehr effektive Entwickler*innen. Oder beides.

Andre Bogus

Clippy-Maintainer, TWiR-Redakteur, Rust-Mitwirkender, professioneller „Rustacean“

In Anbetracht des Eindrucks in der Öffentlichkeit, dass es zahlreiche Rust-Jobs in der Blockchain-Branche gibt, bin ich ziemlich überrascht, dass dieser Bereich sogar noch hinter der Embedded- und der akademischen Nutzung rangiert.

Florian Gilcher

Geschäftsführer von Ferrous Systems

Für welche Zielplattform entwickeln Sie Ihre Rust-Projekte?

77%

Linux

41%

Windows

36%

macOS

22%

WebAssembly

11%

Embedded

4%

Android

3%

iOS

2%

Sonstige

Linux ist der Platzhirsch, doch Windows hat zugelegt. Ich denke, dies könnte darauf zurückzuführen sein, dass Microsoft in Rust investiert hat, verbunden mit der Tatsache, dass Linux-Benutzer*innen oft zu den Early-Adoptern gehören und die wachsende Community nun konservativere Mitglieder hat, die dazu neigen, das mit ihrem PC gelieferte Betriebssystem zu verwenden.

Andre Bogus

Clippy-Maintainer, TWiR-Redakteur, Rust-Mitwirkender, professioneller „Rustacean“

Eine weitere kleine Überraschung für mich – ich hätte WebAssembly irgendwo im Bereich der Embedded-Nutzung verortet. Dies zeigt einmal mehr, wie wichtig Umfragen sind.

Florian Gilcher

Geschäftsführer von Ferrous Systems

Danke, dass Sie sich die Zeit genommen haben!

Wir hoffen, dass Sie unseren Bericht nützlich fanden. Teilen Sie diesen Bericht im Freundes- und Kollegenkreis.

Wenn Sie Fragen oder Anregungen haben, schreiben Sie uns bitte unter surveys@jetbrains.com.