Wenn Sie die Code-Golf-Fragen auf StackExchange durchsuchen , werden Sie eine Menge nicht standardmäßiger, aber realer Sprachen (z. B. keine Hirn-F * Ck-Sprachen) wie F # , Scala , R , J und Clojure bemerken . Wenn Sie ihre Websites besuchen, sehen einige der Sprachen interessant aus, um Probleme in einer beliebigen Sprache zu lösen, die Sie bereits verwenden.
Es gibt jedoch Kodierung in der Freizeit und Kodierung für Geld. Das, was der Wahrheit, die eine Sprache verwendet, am nächsten kommt, ist der TIOBE-Index , der keine der oben genannten Sprachen in den Top 10-15 auflistet. Was mich wundert, ob ich sie jemals benutzen werde.
Sollte ich mir überhaupt die Mühe machen, einige der kleinen Nischensprachen zu lernen? Es scheint nicht, dass ich Geld verdienen würde, und einige werden wahrscheinlich trotzdem scheitern.
quelle
Antworten:
Die Sapir-Whorf-Hypothese . Es besagt mehr oder weniger, dass das, woran Sie denken können, durch die Sprache, die Sie beschreiben können, begrenzt ist. Dies hat zur Folge, dass mehrsprachige Menschen in der Lage sind, auf eine Weise zu denken, die einsprachige Sprecher möglicherweise nicht können.
Viele Leute (ich eingeschlossen) denken, dass dies auch für die Programmierung gilt. Wenn Sie zum Beispiel Lisp lernen, lernen Sie eine völlig neue Art, über Probleme nachzudenken, die Sie auf C #, Java oder Python anwenden können. Je mehr Sprachparadigmen Sie gelernt haben, desto mehr Werkzeuge befinden sich in Ihrer mentalen Toolbox, unabhängig davon, welche Sprache Sie tatsächlich verwenden.
quelle
Ich würde jede Sprache lernen, die mich mit Konzepten und Paradigmen vertraut macht, die ich noch nie gesehen habe. Das ist der Grund, warum ich haskell und scheme gelernt habe - sie haben mich in die Funktionsprogrammierung bzw. die meist funktionale Programmierung eingeführt. Ich hätte mich nicht weniger darum gekümmert, ob Schema und Haskell weit verbreitet waren, abgesehen davon, wie sich dies auf die verfügbaren Dokumentationen und Ressourcen auswirken würde.
Also im Grunde, wenn eine kleine Nische Sprache , die Sie neue Konzepte eingeführt und Paradigmen (vor allem denjenigen , die Sie in anderen Sprachen anwenden können), dann lernen , weg!
Andere Gründe, warum Sie eine 'kleine / Nischen'-Sprache lernen möchten:
Mit dieser Sprache können Sie ein bestimmtes (typisches) Problem "besser" lösen (schneller, mit einer besseren Lösung, portabler usw.) als mit jeder anderen Sprache
Mit der Sprache können Sie Probleme genauso gut lösen wie mit einer gängigen Sprache, aber sie hat einige coole Funktionen, die Ihnen gefallen (z. B. Clojure).
quelle
Nun, ich benutze Clojure (eine der "Nischensprachen", die Sie erwähnen) und fand, dass es eine sehr lohnende Erfahrung war.
Ich persönlich schenke Dingen wie TIOBE nur begrenzte Aufmerksamkeit - sie erzählen nicht wirklich viel über das hinaus, was in der Vergangenheit populär war. Nützlich, wenn Sie alte Systeme warten möchten, weniger, wenn Sie lernen und Ihren Horizont erweitern möchten.
quelle
Der Grund, eine Nischensprache zu lernen, ist selten die Erwartung, dass Sie sie direkt verwenden (für Geld oder auf andere Weise). In der Regel geht es darum, einen neuen Aspekt oder Programmierstil zu erlernen. Dies macht Sie wahrscheinlich zu einem besseren (und ja, wahrscheinlich wertvolleren) Programmierer, selbst wenn Sie diese Sprache niemals verwenden, um "Produktions" -Code zu erstellen.
quelle
Als professioneller Entwickler in einer Nischensprache zu sprechen , ist es möglich, seinen Lebensunterhalt zu verdienen. Es gibt jedoch Vor- und Nachteile.
Dinge, die schwerer sind:
Dinge die einfacher sind:
Dinge, die einfach sind :
Wenn eine Karriere Ihr Anliegen ist, sollten Sie niemals ein One-Trick-Pony, ein Mainstream oder eine Nische sein.
quelle
Momentan lerne ich Ruby, indem ich es zur Lösung von Project Euler- Problemen verwende, nur weil ich den größten Teil meines Programmiertages in C oder PHP (und manchmal in C #) verbringe und meinen Horizont erweitern möchte. Bisher hat es mir wirklich die Augen geöffnet, was getan werden kann. Auch wenn ich es nie für eine "echte" Arbeit verwende, glaube ich, dass sich die aufgewendete Zeit zum Lernen lohnen wird.
quelle
Stimmen Sie allen genannten Punkten zu. Eine weitere Motivation für das Erlernen einer Nischensprache ist die Möglichkeit, dass die Sprache eines Tages sehr beliebt wird. In dieser Situation kann Ihre frühe Investition in die Sprache dazu führen, dass Sie an einflussreichen Frameworks und Elementen der Sprache arbeiten, die in Zukunft möglicherweise stark nachgefragt werden.
Wenn die Sprache populär wird, sind Sie bereits in der Lage, sie zu beherrschen, und daher sind Sie sehr gefragt.
Geringe Wahrscheinlichkeit, möglicherweise hohe Belohnungen.
quelle
Wie andere beinahe gesagt haben, macht es wenig Sinn, eine Nischensprache zu lernen, nur weil es eine Nischensprache ist. Oft erforschen Nischensprachen ein Konzept jedoch weiter oder tiefer, als es sich Mainstream-Sprachen leisten können oder wollen.
Und manchmal gibt es Nischensprachen, die viel länger sind als alle gängigen Sprachen - Smalltalk, Prolog und die Lisp-Sprachen. Sie mögen nicht beliebt sein, aber sie verschwinden auch nicht.
quelle