Ich habe fast zwei Jahre lang ziemlich viel PHP geschrieben. Jetzt mache ich .NET (hauptsächlich c #) Entwicklung. Manchmal gehe ich jedoch zurück und mache etwas PHP.
Meine Hauptfrage ist, ist es für mich ratsam, damit fortzufahren, oder sollte ich die Entwicklung in C # fortsetzen? Würde mir das auf lange Sicht schaden (wohlgemerkt, mein Hauptziel ist es nicht, ein Alleskönner zu sein) oder ist es eine gute Praxis, dies zu tun?
Antworten:
Die gleichzeitige Verwendung von zwei Sprachen ist nichts. Es ist nicht ungewöhnlich, dass Programmierer jeden Tag mehrere verschiedene Sprachen verwenden. Unterschiedliche Aufgaben und unterschiedliche Technologien erfordern unterschiedliche Sprachen.
Bis heute habe ich bereits vier oder fünf verschiedene Sprachen verwendet, und das ist interessant, weil ich bisher noch keine Programmierung vorgenommen habe. Ich habe nur an einer Präsentation gearbeitet.
Als guter Programmierer ist es im Wesentlichen erforderlich, dass Sie sich in mehreren Sprachen auskennen. Die einzige Möglichkeit, vernünftige Sprachkenntnisse zu erlangen (und diese beizubehalten), besteht darin , diese Sprachen zu verwenden.
quelle
Es ist eine ausgezeichnete Praxis. Außerdem würde ich empfehlen, Ihre Sprachenliste regelmäßig zu erweitern, indem Sie eine neue ausprobieren.
Sprachen und Technologien verschlechtern sich innerhalb weniger Jahre sehr schnell. Zum Beispiel ist Objective C mit erstaunlicher Stärke gestartet, nachdem es zweieinhalb Jahrzehnte lang fast tot war - eine Ewigkeit nach den Maßstäben dieser Branche!
Es spielt keine Rolle, dass Sie vorhaben, "kein Alleskönner" zu sein: Wenn Sie vorhaben, lange genug in der Branche zu bleiben, können Sie davon ausgehen, dass Sie Ihren Technologie-Stack mindestens einmal wechseln müssten während Ihrer Karriere. Wenn Sie jetzt mehrere Sprachen verwenden, können Sie relativ schnell einschalten.
quelle
Wenn Sie zwei oder mehr Sprachen kennen , kann Ihnen das nie schaden. Wenn Sie Ihre Sprachen nicht so gut beherrschen (ohne das Innenleben zu verstehen), kann dies zu Schäden führen.
Meine persönliche Präferenz war es immer , zuerst eine objektorientierte Programmiersprache zu beherrschen . Auf diese Weise können Sie sich eingehend mit allen Programmierkonzepten vertraut machen und bei Bedarf problemlos das nächste Programm erlernen.
Absolut ja!
Ich würde definitiv vorschlagen , mehr als eine zu lernen und sie durch das Erstellen einiger Anwendungen zu üben. In der Zwischenzeit möchten Sie möglicherweise auch einige Skriptsprachen (jQuery, KnockoutJs usw.) und Bibliotheken erlernen, wenn Sie eine Webentwicklung durchführen oder planen.
quelle
Langfristig sollte es Ihnen nichts anhaben, wenn Sie eine Reihe von Sprachen beherrschen, sind Sie ein vielseitiger Entwickler. Die Verwendung des richtigen Tools zur Erledigung der richtigen Arbeit ist das ultimative Ziel. Wenn Sie sich in verschiedenen Sprachen auskennen, können Sie dies erreichen, da Sie wissen, was noch alles vorhanden ist, und eine fundierte Entscheidung darüber treffen, welche Plattform / Framework / Sprache verwendet werden soll etwas erledigen.
quelle
Im Laufe Ihrer Karriere, Sie haben neue Sprachen und neue Technologien zu lernen; Die Industrie verlangt es einfach. Bei meiner ersten beruflichen Aufgabe musste ich in Ada, C und Fortran geschriebenen Code sowie einige SQL- und Shell-Skripte bereitstellen. Ich musste in den letzten Jahren von C ++ auf Java und wieder zurück umsteigen. Ich habe Shell-Skripte in csh, bash und perl geschrieben.
Nehmen Sie sich Zeit, um verschiedene Sprachen zu lernen, insbesondere wenn sie sich in verschiedenen Bereichen befinden (OO, funktional, logisch usw.). Es wird Ihr Gehirn scharf halten. Dies hilft Ihnen, Konzepte von der Implementierung zu trennen (z. B. sind Hashes und Maps nicht nur Datentypen in einer bestimmten Sprache). Sie erhalten eine bessere Vorstellung davon, welche Tools für ein bestimmtes Problem geeignet sind (z. B. würde ich in C weder eine Website erstellen noch einen Gerätetreiber in Haskell schreiben). Es könnte für Sie einfacher sein, einen Job zu finden ("Hey, er kennt Intercal 1 bereits , wir müssen ihn nicht ausbilden!"). Sie erhalten eine Vorstellung davon, vor welchen Herausforderungen Sprachdesigner stehen. Es kann Sie inspirieren, Ihre eigene Programmiersprache zu erstellen.
Zumindest wird es Sie vor Langeweile bewahren.
1. Witz. Versuche nicht, Intercal zu lernen.
quelle
Menschen, die in diesem Jahr in den Ruhestand treten, haben ihre Karriere begonnen, bevor C gegründet wurde. Man kann mit Sicherheit sagen, dass Sie in Ihrer Karriere ein- oder zweimal die Programmiersprache wechseln. Sie wollen nicht für Arbeitgeber arbeiten, die das nicht verstehen.
Wenn Sie neu sind, ist der Kontextwechsel zwischen zwei Sprachen sehr viel schwieriger, sodass Sie produktiver sind, wenn Sie vor dem Wechsel mindestens 4 bis 8 Stunden in einer Sprache arbeiten. Später können Sie sofort wechseln, ohne die Produktivität zu beeinträchtigen. Mit anderen Worten, die Verwendung von zwei Sprachen wird letztendlich zu einer Stärke, anstatt Sie zu verlangsamen.
quelle
Das hat Vor- und Nachteile.
Hier ist der Vorteil ...
Wie bereits erwähnt, ist es für eine lange Karriere im Programmieren fast unerlässlich, neue Kenntnisse zu erwerben und mit vielen Sprachen und Programmierwerkzeugen zu arbeiten. Dinge ändern sich im Laufe der Jahre, Werkzeuge / Sprachen kommen und gehen. Sicher, es gibt einige Leute, die damit zufrieden sind, in demselben COBOL zu programmieren, das sie in den 1980er Jahren verwendet haben, aber dies ist eine relativ seltene Situation. Die meisten Programmierer wechseln im Laufe ihrer Karriere mehrmals die Werkzeuge / Sprachen. Manchmal werden Sie eingestellt, weil Sie ältere Technologien kennen oder alle Sprachen beherrschen, mit denen ein Unternehmen arbeitet.
Der Nachteil ist ...
Einige Arbeitgeber werden Sie als "Alleskönner" betrachten und Ihre Bewerbung ablehnen, ohne Ihnen eine Chance zu geben. Sie suchen einen engen Experten in einem bestimmten Bereich, nicht einfach einen guten, runden Programmierer. Manchmal werden Sie von der Personalabteilung unterbrochen, weil Sie nicht über "5 Jahre ununterbrochene Erfahrung in [X]" verfügen. Sie können dies möglicherweise vermeiden, indem Sie Ihren Lebenslauf auf den Job zuschneiden. Dies hilft Ihnen jedoch möglicherweise nicht bei einem technischen Interview.
Für mich ist der Aufwärtstrend viel besser, aber Sie müssen sich darüber im Klaren sein, dass eine Minderheit von Organisationen dies als negativ ansieht.
quelle
Haben Sie bei der PHP-Entwicklung Javascript oder SQL geschrieben? In Ihrer C # -Entwicklung könnten Sie beide weiterhin verwenden. Es ist nicht ganz so schnittig und trocken wie eine Programmiersprache.
Wenn Sie damit zufrieden sind, machen Sie sich keine Sorgen. Wenn Sie nicht beides tun möchten (oder beides), haben Sie ein Problem.
quelle
Wenn Sie eine neue Programmiersprache lernen, lernen Sie Dinge über das Programmieren, die Sie auf die Sprachen anwenden können, die Sie bereits kennen. Sie sollten auf jeden Fall in Betracht ziehen, zumindest mit einigen anderen Sprachen zu spielen, auch wenn Sie diese nicht professionell einsetzen, anstatt nur so wenige zu haben.
Im Idealfall eine ganz andere Herangehensweise als die, die Sie bereits kennen.
quelle
Nein, es ist nichts Falsches daran, mehrere Sprachen zu lernen und sie alle ziemlich oft zu benutzen. In meinem Alltag kann ich Ruby, PHP, JavaScript, CoffeeScript, Python und gelegentlich C begegnen. Ich kenne all diese Sprachen ziemlich gut und wenn ich von einer Sprache zur nächsten wechsle, drücke ich einfach einen Schalter in meinem Gehirn. Sicher, ich vermisse Funktionen einiger Sprachen, wenn ich zu einer anderen wechsle, aber Sie werden darüber hinwegkommen.
Ich versuche immer eine Sprache zu haben, die ich intensiv lerne, und dann eine andere als "aufstrebend". Auf diese Weise haben Sie immer ein klares Bildungsziel und dann etwas am Horizont. Momentan ist Ruby meine Hauptsprache und ich experimentiere mit Go. Ich werde wahrscheinlich nie einen Job als Go-Entwickler bekommen, aber das Erlernen einer neuen Sprache hat es zu einem besseren Entwickler gemacht.
Wenn ich einen Entwickler interviewe, sehe ich immer gerne ein paar verschiedene Sprachen in seinem Lebenslauf. Wenn ein Entwickler auf "C / C ++" oder "PHP und Javascript" in seinem Lebenslauf hat, sehen sie viel weniger interessant aus als jemand, der 4 oder 5 Sprachen beherrscht. Stellen Sie sicher, dass Sie sich in jeder Sprache, die Sie auflisten, wohl fühlen. Alles in Ihrem Lebenslauf ist fair im Interview!
Kurz gesagt: Die regelmäßige Verwendung mehrerer Sprachen ist ein Zeichen für einen guten Entwickler, der sich um sein Handwerk kümmert. Kodierung beibehalten!
quelle
Wenn wir uns Lebensläufe ansehen, suchen wir normalerweise jemanden, der mehrere Sprachen beherrscht. Wenn die Erfahrung einer Person zunimmt, sollte auch die Anzahl der verwendeten Sprachen zunehmen.
In unserem Umfeld müssen wir oft neue und interessante Probleme angehen und wir suchen Menschen, die bereit sind, sich auf diese Probleme einzulassen und sie zu lösen, unabhängig davon, ob sie eine neue Sprache lernen müssen oder nicht. Das Problem liegt möglicherweise in Code vor, der auf einem Windows-Desktop, einem Windows-Server, einem Linux-Server oder in einem Browser ausgeführt wird.
Die Kenntnis mehrerer Sprachen ist ein Zeichen dafür, dass jemand eine gute Einstellung zu seinem Handwerk hat. Sie wollen immer neue Dinge lernen, damit sie es tun. Mangelnde Sprachkenntnisse sind für mich ein Zeichen dafür, dass ein Mensch nur das Nötigste tut und kein Interesse am Lernen hat.
quelle
Es war schon immer so, dass Menschen mit mehr als einer Sprache programmierten. Wenn Benutzer Assembly verwenden, müssen sie bei jedem Architekturwechsel eine neue Assembly-Sprache lernen.
Wenn Leute COBOL oder Fortran machen, machen sie normalerweise auch RPG und / oder JCL.
Unter Unix wurde mit C, sed, awk, Shell-Skripten und so ziemlich allem in der Unix-Küchenspüle gearbeitet (fast jedes Befehlszeilen-Tool unter Unix ist ein eigenes, sehr spezialisiertes DSL.)
Unter DOS programmierten die Benutzer zusätzlich zu Batch-Skripten in Turbo Pascal oder C. Später als Windows kam, war es VB oder etwas wie PowerBuilder, gekoppelt mit SQL und möglicherweise Batch-Installationsskripten.
Heutzutage ist es ein de-facto , dass die Menschen „Arbeit“ mit mehr als zwei Sprachen zu einem gegebenen Datum (und von „Arbeit“ Ich meine tun Wissen tatsächlicher Tag-zu-Tag - Codierung oder hat arbeiten). Zumindest Java oder C # oder VB gemischt mit JavaScript und SQL. Dann kommen andere Sprachen zum Batch- / Job-Scripting und dergleichen ins Spiel. Dann haben Sie für jede Sprache ein Framework, das selbst eine interne DSL implementiert, eine eigene Mini-Sprache.
Es ist also nicht nur vorteilhaft, mit mehr als einer Sprache zu arbeiten, sondern es ist auch notwendig. Es gibt keine Möglichkeit, ein modernes, komplexes System mit einer einzigen Sprache zu erstellen (und mit "erstellen" meine ich nicht nur den Code für irgendeinen Mist, der kompiliert wird, sondern etwas mit einem anständigen Design zu erstellen.)
Verdammt, ich werde aus dem Rahmen gehen und sagen, dass ich erwarten würde, dass Kinder im College zwei oder mehr Sprachen beherrschen, wenn sie es ernst meinen, in diesem Beruf zu sein.
Also zu deiner Frage:
Eine kurze Antwort, nein, das Verwenden oder Wechseln zwischen Sprachen wird Ihnen nicht die nötigen Spielereien bringen. Wenn Sie mehr als eine Sprache kennen, werden Sie nicht zum Alleskönner, und ein Entwickler kann nicht zum Experten werden, wenn er nicht mehr als eine Sprache verwenden kann.
quelle
Je mehr Sie in Bezug auf Ihre Primärsprache (n) vergleichen müssen, desto besser verstehen Sie die Designkompromisse, mit denen sie in bestimmten Dingen besonders stark oder schwach gemacht wurden, und können diese Dinge ausnutzen / kompensieren. Meistern Sie mindestens einen, aber machen Sie sich keine Sorgen darüber, ein Bube vieler anderer zu sein. Das sieht nur gut aus.
Es ist besser zu fragen, wie Lebensläufe mit nur einer Sprache von "erfahrenen" Entwicklern aussehen. Die Antwort auf diese Frage lautet: "Wenig interessiert, was sie beruflich machen."
quelle
Zwei Sprachen können Ihnen helfen oder nicht - das hängt davon ab. Es wird dir nicht schaden, das ist sicher. Viele Entwickler sind der Meinung, dass es reine Zeitverschwendung ist, etwas anderes als die Hauptsprache zu verwenden, aber ich stimme dem überhaupt nicht zu. Das Erlernen einer anderen Sprache (und ihre Verwendung) ist ein reiner Vorteil: Sie erhalten eine andere Perspektive für die Lösung von Problemen. Es kann vorkommen, dass Sie zu jeder Zeit eine der Sprachen für bestimmte Aufgaben verwenden (wie es mir passiert ist, nachdem ich die Gelegenheit hatte, Python zu lernen und zu verwenden).
quelle
In dieser Situation fragen Sie nicht ständig nach einem Wechsel von JAVA zu C # und zurück, sondern entscheiden sich für C # und PHP, was wirklich keine große Sache ist.
Angenommen, Sie möchten einige WEB-basierte Aufgaben ausführen, bei denen Sie einen WAMP-Stack (Windows / Apache / MySQL / PHP) und C # verwenden. Mit C # schreiben Sie einige SOAP-basierte Dienste und verwenden dann PHP, um sie zu nutzen.
Das scheint mir völlig akzeptabel zu sein.
Jedenfalls ist es gut, mehr als eine Sprache zu kennen. Je mehr Sie wissen, desto besser. PHP / C # / Java / Python / Javascript-Bibliotheken [JQuery zum Beispiel]. Sei so vielen Menschen wie möglich nützlich.
quelle