Trend-Themen
#
Bonk Eco continues to show strength amid $USELESS rally
#
Pump.fun to raise $1B token sale, traders speculating on airdrop
#
Boop.Fun leading the way with a new launchpad on Solana.
Es lohnt sich, diese Programmiersprachen zu lernen, auch wenn du sie nicht verwendest:
1/6
C
C ist einen Schritt entfernt vom Schreiben in Assembly. Es zwingt dich, den Unterschied zwischen "Stack" und "Heap" zu verstehen. Du musst dich auch mit Zeigern auseinandersetzen – und dein Gehirn darauf zu trainieren, mit Indirektion umzugehen, wird dir helfen, schwierigere Probleme später zu verstehen, da fast jedes "schwierige" Problem mit einem gewissen Maß an Indirektion modelliert werden muss.
2/6
Assembly
Zu lernen, wie Assembly funktioniert, ist eine Voraussetzung, um zu verstehen, wie Compiler arbeiten. Im Gegensatz zu C bist du auch gezwungen zu lernen, wann du ein "Register" verwendest, und du entwickelst ein stärkeres Gespür dafür, was performanter Code ist und was nicht. Ich denke, dass das Wissen, wie man in Assembly programmiert, wahrscheinlich am meisten dazu beiträgt, dass ich in der Lage bin, eine neue Blockchain sehr schnell zu erfassen. Ich gehe mit einem mentalen Modell an sie heran: "Jede funktionierende virtuelle Maschine/CPU-Architektur muss die folgenden Merkmale aufweisen, also wo kann ich sie finden?" Das hilft mir, neue Systeme mit einer Reihe intelligenter Fragen anzugehen, anstatt mich zu fragen, was zum Teufel hier vor sich geht.
3/6
Rust
Rust ist sehr streng, wenn es um mehrere Referenzen auf denselben Wert geht, etwas, worüber andere Sprachen dich nicht nachdenken lassen, obwohl das eine Quelle für echte Bugs sein kann.
Darüber hinaus ist das Rust-Typsystem ziemlich gut durchdacht, sodass du mehr Möglichkeiten hast, wie du die reale Welt modellieren kannst (das ist natürlich ein zweischneidiges Schwert, da du am Ende einfache Probleme überdenken könntest, also musst du lernen, wie du die Macht, die es dir gibt, kontrollieren kannst). Jemand, der lernt, idiomatisches Rust zu schreiben, wird auch nicht weit davon entfernt sein, zu lernen, wie man funktionale Programmierung schreibt.
4/6
Lisp
Wenn du funktionale Programmierung lernen möchtest, ohne vom Compiler bestraft zu werden, ist dies der beste Weg, es zu tun. Darüber hinaus wirst du mit dem leistungsstärksten Makrosystem, das es gibt, vertraut gemacht und du wirst die rekursive Struktur in Dingen wie JSON, XML und Quellcode „sehen“.
Rekursive Struktur bedeutet nicht, rekursiven Code zu schreiben. Vielmehr zwingt es dich dazu, darüber nachzudenken, wie man ein großes Problem in kleinere Probleme zerlegt und die Randfälle zuerst und nicht später zu betrachten.
Lisp hat auch Pionierarbeit geleistet: Garbage Collection, if-Anweisungen, Makros, First-Class-Funktionen und viele andere Dinge. Praktisch alle modernen Sprachen entlehnen sich einige Ideen, die Lisp erfunden hat. Wenn du also Lisp kennst, kannst du intelligent fragen: „Hat diese Sprache eine Möglichkeit, X zu tun? Wenn nicht, wie erreiche ich das?“
Wenn du besessen davon bist, „praktisch“ zu sein, empfehle ich den Clojure-Dialekt, aber zum Lernen ist Racket ziemlich freundlich (wenn du eine kennst, ist es extrem einfach, die andere zu lernen).
5/6
Haskell
Haskell hat wahrscheinlich das strengste Typsystem, das es gibt (zumindest aus den Sprachen, die ich kenne). Es ist sogar strenger als Rust und zwingt dich dazu, darüber nachzudenken, wie du mit Operationen umgehst, die fehlschlagen könnten (wie z.B. einem Netzwerkaufruf). Es ist, als würde man mit einem extrem pedantischen Senior-Programmierer arbeiten, der jeden Fehler, den du machst, aufdeckt, selbst Dinge, die eine sehr geringe Wahrscheinlichkeit haben, einen Bug zu verursachen. Ja, der Compiler ist sogar noch strenger als Rust, aber das ständige Feedback über "du hast die Möglichkeit von ... nicht berücksichtigt" wird dir helfen, schneller besser zu werden. Wenn du ein Junior-Ingenieur bist und einen Senior-Ingenieur zur Hand haben möchtest, programmiere in Haskell und die Weisheit unserer Vorfahren wird dir zuteil.
6/6
Wie sie helfen
Effektives Lernen geschieht, wenn Sie versuchen, ein Problem zu lösen und sofort Feedback zu Ihrer Arbeit erhalten – etwas, das jede dieser Sprachen auf ihre eigene Weise gut macht.
Jede dieser Sprachen zwingt Sie dazu, sich mit Problemen auseinanderzusetzen, die Sprachen wie JavaScript oder Python unter den Teppich kehren, und gibt Ihnen direktes und sofortiges Feedback darüber, was Sie falsch gemacht haben.
Denken Sie daran: Sowohl Junior- als auch Senior-Entwickler können Code schreiben, der ein Problem "löst" – aber der Senior-Code ist viel raffinierter. Dieses "Verfeinern" kommt durch Training – etwas, das Ihnen jede dieser Sprachen kostenlos bietet.
9,25K
Top
Ranking
Favoriten