Reflexion über die Programmiersprache Rust 1

in #deutsch7 days ago

Ich habe wirklich sehr lange überlegt, ob ich da was machen soll, hier in Hive.
Im Vorraus muss ich leider schon sagen, dass ich nicht weiß, ob ich eine gewisse Kontinuität schaffe, aber ich versuchs mal.

Also, warum mach ich das? Zum einen, weil es mich durchaus beschäftigt, zum anderen, um vielleicht manch einen von euch die Lust zum Programmieren zu bringen. Und drittens (eigentlich sollte das als erstes stehen) für mich selbst, um meine Gedanken besser fokussieren zu können. So, wie wenn man ein Buch liest und zum Verständnis noch einmal aufschreibt.

Alles was hier in diesem Thema kommt, ist nicht des Rust-Wahrheits-letzter-Schluss, sondern nur des Jey's Erkenntnisstand zu diesem Zeitpunkt.

Als Referenz dienen mir die Videoreihen von Udemy, von Jan Schaffranek
https://www.udemy.com/course/rust-der-einstieg-fur-programmierer/?couponCode=ST21MT121624 (das laufe ich gerade durch und ist schon etwas schwieriger)

und im Vorfeld von Kevin Scholze
https://www.udemy.com/course/rust-programmieren-einsteigerkurs/?couponCode=ST21MT121624 (den fand ich zwar etwas einschläfernd, aber trotzdem hat er die Inhalte für mich gut vermittelt. Da bin ich froh und dankbar dafür)

Um die Erwartungshaltung gleich von Anfang an zu drosseln, meine Fähigkeiten beschränken sich momentan (noch) auf Programme, die in einer Konsole laufen (also keine Grafik) und sie werden derzeit noch in keiner Datei gespeichert, sondern sind einfach nur laufzeitfähig.

Vielleicht sollte ich noch ein paar Worte darüber verlieren, warum ich Rust als sehr gute Programmiersprache sehe. Das hängt damit zusammen, dass ich über die Jahrzehnte hinweg schon einige dieser Sprachen mehr oder (eher) weniger gelernt habe.

Da habe ich so um die 1997 mal mit C/C++ angefangen. Das hat mich sehr geprägt, muss ich sagen. Im Prinzip bewertet mein Verstand und Gefühl, alles von dort weg. Ich hatte dann mal Go-Language (die Programmiersprache von Google), aber die dürfte da noch nicht so ausgereift gewesen sein. Java kam mir vor, wie ein schlechter Abklatsch von C++ und Python.. Python, ja mit dem kann schon viel machen und auch ungewöhnlich schnell. Aber es ist in Summe langsam und hatte für mich den Charakter "fast and dirty".

Was ist jetzt mit Rust anders? Also, Rust gilt als DER Nachfolger von C/C++. Das ist insofern wichtig, weil diese 3 Programmiersprachen als äußerst performant gelten und Rust, neben C/C++ nun auch vermehrt in Betriebssystemen eingesetzt wird. C/C++ kommt immer mehr in die Jahre (ca. 50/40 Jahre) und die Korrekturen mit neueren Umgebungen (alleine nur schon utf8 Textzeichen), sind keine Selbstverständlichkeit dort, denn es gab sie zu diesem Zeitpunkt noch nicht. Rust ist aber nicht einfach ein Nachfolger der C-Sprache, das hätte auch mMn auch Java sein können, das ich persönlich an C angehaucht finde, allerdings die Verbesserung nur war, in Summe alles komplizierter aussehen zu lassen. (steinigt mich ihr echten Programmierer) Rust sticht vor allem durch seine Typsicherheit hervor.

Um das zu verstehen, müsste man die anderen Programmiersprachen zumindest schon mal angeschaut haben, um den Unterschied zu erkennen. Angeblich ist es schwierig von anderen Programmiersprachen auf Rust zu wechseln. Ich kann es nicht sagen, da ich noch keine vorher versucht habe, so derart ernsthaft zu lernen. Ok, Python auch.. aber ich war damit nie so recht glücklich. // Obwohl ich mir bewusst bin, dass man damit viel, mit wenig Lernaufwand machen kann. Auweh, ich schweife grad ständig ab.

Also, was bedeutet die Typsicherheit in Rust, wenn man mit Programmieren gar nix zu tun hat? Dass die Gestaltung deiner Programmierung stimmig und so weit es geht eindeutig sein muss. Ein bisschen wie ein Gesetzestext, der tatsächlich keine Interpretation zulässt. Das schnallt einen sozusagen zum einen in ein gewisses starres Konstrukt. Zum anderen beschreibt man sich auf diese Art und Weise, eine sehr sichere Methode, das man bekommt was man will.

Vermutlich liegt das an mir, aber Rust kommt mir tatsächlich gut durchdacht vor. In Python hatte ich oft Momente, da dachte ich, das ist irgendwie zusammengeschustert. Evtl. unterliege ich auch einfach diesem berühmten Dunning-Kruger-Effekt und glaube mit wenig Ahnung das Wissen mit Löffel gefressen zu haben.

image.png

Sort:  

Hey @jeyf123, here is a little bit of BEER from @thehockeyfan-at for you. Enjoy it!

If you like BEER and want to support us please consider voting @louis.witness on HIVE and on HIVE Engine.