Mittlerweile arbeite ich mit asp.net und C #. Ich habe auch in Java gute Arbeit geleistet. Ich plane meine Karriere so, dass ich eines Tages sprachunabhängig sein sollte. Was sind die Dinge, die ich lernen muss?
Zuerst würden OOP-Paradigmen, wie es über das Klassendesign spricht. Gibt es noch andere?
language-agnostic
Gopi
quelle
quelle
Antworten:
Um sprachunabhängig zu sein, müssen Sie Erfahrung in allen gängigen Stilen und Arten von Sprachen haben.
Ebenfalls:
Einige Schreibstile:
Erfahrung von starken vs. schwacher Typisierung ist ebenfalls nützlich.
Einige verschiedene Laufzeitstile:
Untergeordnetes Zeug:
Darüber hinaus würde ich sagen, dass Sie Erfahrung mit der gleichzeitigen Programmierung und etwas ereignisgesteuertem benötigen . Sie sollten wahrscheinlich auch sicherstellen, dass Sie etwas über die verschiedenen Bereiche wie Webprogrammierung (Client & Server), Rich-Client-Entwicklung / Desktop, Spiele wissen. Vielleicht möchten Sie auch etwas über Embedded-Programmierung oder dedizierte Hardware (wie Spielekonsolen) lernen, und die Entwicklung von Mobilgeräten gewinnt zunehmend an Bedeutung.
Andere haben auch erwähnt, dass es sich lohnt, etwas Erfahrung mit generischen und Meta-Programmieransätzen zu sammeln .
Wenn Sie diese Paradigmen lernen, vermeiden Sie es, nur die Syntax zu lernen und in Ihrem alten Stil zu schreiben. Ich habe viele C # -Entwickler gesehen, die JavaScript so geschrieben haben, als ob es statisch geschrieben wäre. Tu das nicht, versuche die Sprachparadigmen zu lernen und sie anzunehmen.
Wenn Sie dies alles getan haben, werden die Unterschiede zwischen den Sprachen weitgehend syntaktisch, so dass das Umschalten zu einer relativ einfachen Übung für das Erlernen einer neuen Syntax wird.
Vergessen Sie jedoch nicht, dass moderne Programmierung fast immer von einem Framework abhängig ist. Daher ist es auch wichtig, sich mit den allgemeinen und beliebten Frameworks für jede gelernte Sprache vertraut zu machen. Ohne .net ist es irrelevant, C # zu kennen.
quelle
Ich glaube nicht, dass Sie wirklich sprachunabhängig werden können. Ich finde, dass ich in meiner aktuellen Sprache "denke" (im Moment C #).
Allerdings denke ich, dass Sie das Design möglicherweise vom Code trennen können, indem Sie versuchen, im Pseudocode statt in einer bestimmten Sprache zu denken und es tatsächlich in diesem Format aufzuschreiben. Dies kann Ihnen helfen, sich auf die Entwurfs- und Architekturentscheidungen anstatt auf die Implementierung in Ihrer aktuellen Sprache zu konzentrieren. Der Nachteil dabei ist, wie Simon betont, dass die Sprache und das Framework, das Sie letztendlich verwenden, unweigerlich das Design beeinflussen. Während sich Ihr Design entwickelt, wird es zunehmend an die Sprache und das Framework gebunden.
quelle
Wenn Sie Ihre Frage und einige der Antworten lesen, können Sie den Eindruck gewinnen, dass Sie "Sprachagnostizismus" mit "Kennen jedes Paradigmas auf Erden" gleichsetzen.
Ich bin mir nicht sicher, ob Sie "sprachunabhängig" sind, wenn Sie jedes existierende Paradigma kennen oder verschiedene Sprachen kennen, wenn Sie mehrere Paradigmen und Arten von Sprachen umfassen.
Es ist, als würde man sagen, wenn man alle Religionen praktiziert, wird man religiös agnostisch.
Ich denke, eine sprachunabhängige Person in Bezug auf Programmiersprachen sollte jemand sein, der in keiner Sprache programmieren kann oder sich nicht darum kümmert, mit welcher Sprache er / sie programmieren soll.
Das heißt, einige Leute sagen, ein echter Programmierer kann in jeder Sprache programmieren, wenn er Zugriff auf die Dokumentation dieser Sprache hat.
Wenn Sie das mit "sprachunabhängig" meinen, kann fast jeder erfahrene Programmierer in jeder Sprache programmieren, mit der er / sie arbeiten muss, wenn er Zugriff auf die Sprachdokumentation hat.
Vielleicht möchten Sie "Sprachpolytheist" werden.
Ich selbst bin in mehreren Sprachparadigmen kompetent, aber ich würde OOP vorziehen, wenn dies zutrifft. Ich bin also nicht agnostisch.
Sie werden kaum jemanden finden, der ein bestimmtes Paradigma oder eine Sprache nicht bevorzugt, wenn er die freie Wahl hat.
quelle
Es sind nicht nur die Sprachen, Java selbst hat so viele verschiedene Modi, dass man Jahre damit verbringen könnte, sie alle zu lernen. Sie könnten lernen:
Und hundert Dinge, die mir fehlen - NUR in Java.
Wenn Sie Jahre damit verbringen, die Breite abzudecken (jede Sprache zu lernen), werden Sie Schwierigkeiten haben, die Tiefe zu erlangen, um in einer von ihnen effektiv zu arbeiten.
Ich sage nicht, dass das Erlernen einer neuen Sprache NIEMALS ein Problem ist, Sie sollten dies aktiv tun! Ich versuche, meinen nächsten Job basierend auf dem zu wählen, was ich lernen kann (was ich noch nicht getan habe), aber ich wähle nicht oft eine zufällige Sprache und lerne sie nicht mehr - Das letzte Mal, als ich es versuchte, war das mit Scala und mir etwas bescheiden gelassen ...
quelle