C++

Teilen:

Diese Fragen wurden nur Entwickler*innen gestellt, die C++ als eine ihrer drei primären Programmiersprachen angegeben hatten.

Welche C++-Standards verwenden Sie regelmäßig?

Es ist großartig zu sehen, dass die Migration stetig voranschreitet. Ganz besonders freut mich die Akzeptanz von C++20 unter Game-Entwickler*innen, und ich hoffe auf eine Unterstützung durch alle Spieleplattformen. Die Implementierung wird zur Herausforderung für die Anbieter, aber ich bin mir sicher, dass es sich allein schon wegen Concepts und Ranges lohnen wird.

Guy Davidson

Leiter Engineering Practice, Creative Assembly

Ich bin wirklich überrascht über die Verbreitung von C++20. Es sind eindeutig Änderungen im Gange. Standards verbreiten sich viel schneller als in der Vergangenheit.

Jason Turner

C++-Dozent, Vortragsredner, Autor, YouTuber

Es freut mich sehr zu sehen, dass eine solide Mehrheit der Benutzer*innen Releases aus den letzten 5 Jahren verwendet. Dass der Anteil der Releases vor C++11 auf unter 10% gesunken ist, ist ebenfalls eine gute Nachricht. Noch ein paar Jahre und wir müssen sie in diesen Umfragen gar nicht mehr berücksichtigen!

Titus Winters

Principal Engineer bei Google

Einführung von C++-Standards

Denken Sie immer daran, dass alle Standards Benutzer*innen haben. Umfragen wie diese sind eine Erinnerung an uns, Code zu schreiben, der überall funktioniert, nicht nur auf dem neuesten Standard.

Guy Davidson

Leiter Engineering Practice, Creative Assembly

Für mich ist das besonders überraschend, da ich noch nicht viele Unternehmen sehe, die nach C++20-Schulungen fragen. Viele sind schon froh, zu C++17 wechseln zu können.

Jason Turner

C++-Dozent, Vortragsredner, Autor, YouTuber

Ist in Ihrem aktuellen Projekt die Nutzung dieser C++20-Merkmale innerhalb der nächsten zwölf Monate geplant?

Ich bin der Meinung, dass die [Modul-]Funktion noch einiges an weiterer Entwicklung benötigt, aber ich hoffe, Unrecht zu behalten.

Guy Davidson

Leiter Engineering Practice, Creative Assembly

Ich hoffe, dass die Tools aufholen werden, sodass die Verwendung von Modulen in 12 Monaten ganz einfach sein wird!

Jason Turner

C++-Dozent, Vortragsredner, Autor, YouTuber

Welche IDE bzw. welchen Editor verwenden Sie bei der C++-Entwicklung am meisten?

JetBrains bietet eine Reihe von C++-IDEs, die Ihnen helfen, typische Fallstricke und Probleme bei der C++-Programmierung zu vermeiden: CLion für die plattformübergreifende und Embedded-Entwicklung, ReSharper C++ für Visual-Studio-Benutzer*innen und Rider für die Entwicklung von Unreal-Engine- und C++-Games.

Welche Unit-Test-Frameworks verwenden Sie regelmäßig?

Entwickler*innen schreiben viel lieber Code als Tests für Code, und die Zeit, die auf das Schreiben von Tests draufgeht, überwiegt jeden echten langfristigen Nutzen.

Guy Davidson

Leiter Engineering Practice, Creative Assembly

Dass ein Viertel der Entwickler*innen keine Unit-Tests schreibt, lässt mich ausflippen. In welcher Form oder mit welchem Framework das geschieht, ist mir relativ egal – aber wir müssen alle Tests schreiben.

Titus Winters

Principal Engineer bei Google

Wie verwalten Sie Fremdbibliotheken in C++?

Hier kommt die aktuelle Situation bei der Paketierung von C++-Code für die Fremdnutzung zum Tragen. Ich würde mich freuen, wenn dieses Problem gelöst wird, aber ich bin nicht optimistisch.

Guy Davidson

Leiter Engineering Practice, Creative Assembly

Der aktuelle Stand beim Abhängigkeits- und Paketmanagement macht mich traurig. Reproduzierbare Builds und klare Abhängigkeitsketten haben einen enormen Wert. „Es funktioniert irgendwie“ ist viel zu oft das Motto in diesem Bereich.

Titus Winters

Principal Engineer bei Google

Welche Projektmodelle oder Build-Systeme verwenden Sie regelmäßig?

Bekannterweise habe ich CMake als Stockholm-Syndrom für C++-Entwickler*innen bezeichnet. Wie der deutliche Vorsprung vor der Konkurrenz zeigt, ist es zum De-facto-Standard geworden, was gute und schlechte Seiten hat.

Guy Davidson

Leiter Engineering Practice, Creative Assembly

Welche Compiler verwenden Sie regelmäßig?

In CLion können Sie verschiedene Compiler verwenden: GCC-basiert, Clang, MSVC und IAR. Für seltene oder spezielle Fälle können Sie mit der Funktion Benutzerdefinierter Compiler jeden beliebigen Compiler in CLion einbinden.

Welche anderen Programmiersprachen verwenden Sie in Ihren Projekten zusammen mit C++?

Die Allgegenwart von Python als Programmiersprache für KI und ML sorgt dafür, dass es hier keine Überraschungen gibt. Die Verfügbarkeit hochwertiger Bibliotheken wie numpy und pandas macht die Sprache zu einer offensichtlichen Wahl. Vielleicht braucht es dafür Entsprechungen in der Standardbibliothek, oder wir müssen das Problem der Paketierung klären.

Guy Davidson

Leiter Engineering Practice, Creative Assembly

Welche der folgenden Tools verwenden Sie oder Ihr Team zur Durchsetzung von Richtlinien, zur Sicherung der Codequalität oder zur Codeanalyse?

Da nur 30% der Menschen statischen Analysen aus dem Weg gehen, bin ich einigermaßen zuversichtlich, dass quelloffener Code immer sicherer wird.

Guy Davidson

Leiter Engineering Practice, Creative Assembly

Wie führen Sie oder Ihr Team Codeanalysen durch?

Welche Tools oder Techniken verwenden Sie, um die Build-Zeiten Ihrer C++-Projekte zu optimieren?

„Small is beautiful“ trifft in diesem Fall zu. Ich bin gespannt, wie vorkompilierte Header, Module und Unity-Builds im kommenden Jahr zusammenspielen werden.

Guy Davidson

Leiter Engineering Practice, Creative Assembly

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.