Ich frage mich, ob es weniger voreingenommene Ressourcen gibt, die einen guten Überblick über die Programmiersprachen und ihre beabsichtigten Ziele geben. Ich möchte eine neue Sprache lernen, aber der Besuch der Websites der einzelnen Sprachen funktioniert nicht. Jeder spricht darüber, wie großartig es ist, ohne die Schwächen oder spezifischen Ziele zu erwähnen .
Ruby ist eine dynamische Open-Source-Programmiersprache, deren Schwerpunkt auf Einfachheit und Produktivität liegt.
Python ist eine Programmiersprache, mit der Sie schneller arbeiten und Ihre Systeme effektiver integrieren können.
Vic Cherubini ist seit Jahren ein PHP-Entwickler und bringt es auf den Punkt:
Ich kannte PHP gut, hatte mein eigenes Framework und konnte schnell arbeiten, um etwas zum Laufen zu bringen.
Ich habe während der MVC-Revolution so programmiert. Als PHP-Entwickler bekam ich immer bessere Jobs (sprich: besseres Bezahlen, besserer Titel), aber als ich merkte, dass der Code, den ich in meiner Freizeit schrieb, großartig war und der Code, mit dem ich bei der Arbeit arbeitete, schrecklich war. Schlimmer als schrecklich. Scheußlich. OS Commerce Level schlecht. Nebenprojekte haben mich bei Verstand gehalten, weil der Code, mit dem ich bei der Arbeit gearbeitet habe, mich elend machte.
Aus diesem Grund ziehe ich mich für meine Nebenprojekte und neuen Programmierprojekte von PHP zurück. Ich habe mit PHP verbracht. Erschöpft, wenn Sie so wollen. Ich habe ein Niveau erreicht, in dem ich denke, dass ich mit dieser Sprache ganz oben bin, und wenn ich nicht bald zu einer neuen Sprache übergehe, bin ich vollständig mit dem Programmieren fertig und ich möchte das nicht.
Zu den von mir untersuchten Sprachen gehören JavaScript (für node.js), Ruby, Python und Erlang. Ich habe sogar an Scala oder C ++ gedacht.
Das Problem ist herauszufinden, welche für meine Bedürfnisse am besten geeignet sind.
Wo kann ich also den Hype überspringen und echte Informationen über den Reifegrad einer Plattform, die Größe der Community und die Stärken und Schwächen dieser Sprache erhalten? Wenn ich diese kenne, sollte es einfach sein, eine Sprache auszuwählen, um meine Webentwicklung fortzusetzen.
Aktualisieren
Ich möchte nur nicht 4 Monate später mit einer Sprache auskommen und finde, dass es scheiße ist, weil jeder Thread 4 MB Overhead hat, oder die maximale Anzahl gleichzeitiger Verbindungen 999 beträgt, es kein Paket gibt, das die "X" -Funktion ausführt, oder die Unterstützung ist Auslaufen für einen neuen Sprachzweig.
quelle
Antworten:
Ich wollte dies nicht als Antwort posten, aber Xeoncross hat mich darum gebeten.
(Anmerkung: Wenn jemand das Abschriftenproblem im kleinen Codebeispiel beheben könnte, wäre ich dankbar.)
Gepostet von Alex Martelli auf comp.lang.python : Was ist besser an Ruby als an Python? am 18. August 2003, 17:50 Uhr
quelle
Viel Glück
Keine der angegebenen Beispielbeschreibungen ist objektiv oder überprüfbar. Sie sind alle Hype und Meinung.
Versuch es
Nehmen Sie ein kleines Beispielprojekt der Art, die Sie wahrscheinlich machen, und probieren Sie es mit allen Sprachen aus, die Sie interessieren. Dann posten Sie Ihre objektive Bewertung, und wir werden alle wissen.
quelle
Ich denke, ein Teil des Problems ist, dass jeder, der genug weiß, um eine oder mehrere Sprachen sinnvoll zu kommentieren , eine Tendenz hat. In fast vier Jahrzehnten der Programmierung habe ich in mehr Sprachen gearbeitet, als ich zählen kann. Ich kann Ihnen Meinungen (von denen einige datiert sind) zu einigen dieser Sprachen geben, aber keine dieser Meinungen wird unvoreingenommen sein.
Ich gehe davon aus, die richtige Sprache für den Job zu verwenden. Sie fragen speziell nach der Webentwicklung , aber das ist immer noch eine ziemlich breite Kategorie - sozusagen, dass Sie sich für Fotografie interessieren. Mikro? Astro? etc. Obwohl ich der Meinung bin, dass PHP keine emotional erfüllende Sprache für die Arbeit ist, ist es für viele Kunden die richtige Sprache, die auf einer Reihe von Faktoren basiert und / oder von einem Bus angefahren werden.
Vielleicht sollten Sie sich also die Kundentypen ansehen, die an Projekten interessiert sind, die sich für etwas anderes eignen, und dann daran arbeiten, sich für sie interessant zu machen.
quelle
Python
Der universellste und allgemeinste Zweck von allen, aber auch im Falle der Web-Programmierung, bietet eine größere Auswahl an Produkten. Die standardisierte WSGI-Schnittstelle garantiert eine hervorragende Interoperabilität zwischen Framework und Servern. Einige bemerkenswerte Python-Webprodukte:
Rubin
Ruby ist auch eine ziemlich universelle Sprache. Das mit Abstand bemerkenswerteste Produkt ist Ruby on Rails. Das Design war Inspiration für viele (einschließlich Django, wie oben erwähnt).
JavaScript
Derzeit ist node.js die einzige serverseitige Option für JS. Es ist sehr ähnlich zu Tornado und Twisted (von denen es inspiriert wurde). Es fehlt jedoch immer noch ein vollwertiges Framework, das Django oder RoR ähnelt.
Scala
Da es sich um eine funktionale Sprache handelt, eignet es sich hervorragend für massiv paralleles Computing. Was die allgemeine Webprogrammierung betrifft, gibt es das von RoR inspirierte Lift - Web Framework, das beispielsweise von FourSquare verwendet wird.
quelle
In meinem letzten Webprojekt habe ich mit PHP angefangen, weil ich es zuvor für ein Webprojekt verwendet hatte (Schnellstart), aber ich hatte viele Probleme mit der Sprache, zB schlechte UTF-8-Unterstützung und dynamisches Tippen. Ich habe auch etwas Java-Hintergrund und ich genieße die statischen Typisierungs- und guten Refactoring-Tools. Java hat auch eine gute Leistung im Vergleich zu PHP. Mir gefällt aber auch die Ausdruckskraft der funktionalen Programmierung.
Scala und Play Framework
Aufgrund der obigen Erfahrung gefällt mir die Scala-Programmiersprache sehr gut, sie ist statisch geschrieben, unterstützt sowohl objektorientierte als auch funktionale Programmierung und bietet im Vergleich zu anderen für die Webentwicklung verwendeten Sprachen eine gute Leistung. Aber die Web-Frameworks für Java und Servlets haben mir nicht gefallen, und ich habe Play Framework gefunden , das sowohl Scala als auch Java unterstützt und einen sehr schnellen Entwicklungszyklus aufweist - speichern Sie die Datei und aktualisieren Sie Ihre Webseite. Ich war im letzten Monat sehr zufrieden mit Scala & Play Framework. Aber die Scala-Unterstützung in Play Framework ist noch nicht sehr ausgereift und auch die Werkzeugunterstützung nicht.
Kurz gesagt, ich empfehle Scala als Programmiersprache und Play Framework als Web Framework.
quelle
Eigentlich betrachten Sie wahrscheinlich drei Arten von Ressourcen:
Beide Ressourcen wären voreingenommen.
Sie haben vielleicht eine Chance, einen neutralen Vergleich zu finden, aber es ist sehr schwierig, einen zu schreiben. Persönlich wäre ich niemals in der Lage, einen Vergleich zwischen einer echten Sprache und PHP zu schreiben, ohne PHP ständig zu kritisieren. Und ich bin mir ziemlich sicher, dass ich nicht allein bin, weil ich nicht neutral genug sein kann.
Wenn Sie einen Überblick über verschiedene Sprachen haben möchten, müssen Sie diese selbst lernen und viel lesen . Mit Lernen meine ich, die Grundlagen der Sprache zu kennen, aber in der Lage zu sein, Ihre eigene Meinung zu haben . Nicht weil Sie ein Ruby-Handbuch gelesen haben, können Sie erklären, was in dieser Sprache gut und was schlecht ist.
Dies bedeutet, dass Sie entweder Zeit (Monate oder sogar Jahre) mit dem Üben verbringen müssen. Oder du kannst viel lesen. Aber versuchen Sie, widersprüchliche Dinge zu lesen . Wenn jemand schreibt, dass er PHP hasst und PHP eine der schlimmsten Sprachen überhaupt ist, insbesondere im Vergleich zu echten Sprachen wie Ruby, C # oder Java, versuchen Sie auch, eine Person zu finden, die sagt, dass PHP wunderbar ist und einfacher zu bedienen ist als C #, viel schneller als Java und viel ... (ich weiß wirklich nicht was) als Ruby.
Denken Sie daran: Wenn Sie eine Sprache bereits gut beherrschen, werden Sie am Anfang sehr kritisch sein, wenn Sie eine andere Sprache lernen. Es ist wie bei Linux-Benutzern, die Windows hassen, und bei Windows-Benutzern, die Linux hassen: Tatsächlich ist keines der Betriebssysteme besser; Ein Linux-Benutzer kann nur nicht mit Windows umgehen und umgekehrt. Erst wenn Sie genug Erfahrung in beiden Bereichen gesammelt haben, können Sie richtig entscheiden, welches für Sie besser ist.
Letztes, oft vergessenes: Es ist auch sehr wichtig, die "Umgebung" einer Sprache beurteilen zu können:
quelle
Nun, da eines Ihrer Kriterien zu sein scheint, dass es Spaß macht, damit zu arbeiten, würde ich denken, dass Sie voreingenommene Informationen finden möchten. Wenn der Autor einer Sache eine Leidenschaft für die Sprache seiner Wahl hat, besteht eine gute Chance, dass er eine voreingenommene Bewertung abgibt.
Vielleicht solltest du es aus der anderen Richtung angehen. Da Sie den Eindruck haben, als würden Sie eher von einem Karriereschritt als von einem Hobby sprechen, sollten Sie sich vielleicht einige Stellenanzeigen ansehen, einige interessante Technologien / Sprachen suchen und sich diese ansehen.
Sprachen mit spezifischen Zielen haben viele Sprachen nicht. Die meisten der von Ihnen aufgelisteten Sprachen sind für allgemeine Zwecke gedacht. Beispielsweise ist die Sprache Ruby eine ziemlich universelle Sprache, die für viele Aufgaben geeignet ist. Wenn Sie ein Framework wie Rails hinzugefügt haben, hat dies ein ziemlich spezifisches Ziel.
quelle
Dies ist nicht genau das, wonach Sie gefragt haben, aber wenn ich nach etwas Ausschau halten wollte, das mich aus der beruflichen Furcht der Webentwicklung herausholt, und trotzdem diese Erfahrung und Kontakte nutzt, würde ich anfangen, Android- und iPhone-Apps zu schreiben. Wenn Sie eine App verkaufen können, die die Website eines Kunden ergänzt, können Sie sich von der Entwicklung eines Internets abheben, auf das zunehmend über mobile Geräte zugegriffen wird.
quelle
Haben Sie wirklich das Limit von PHP erreicht oder nur das Limit von PHP, wie Sie es kennen?
Haben Sie in Drupal geschaut ? Es ist ein PHP-basiertes CMS- und Programmierframework, das gute Codierungsstandards und -praktiken nachdrücklich fördert. (Nachdem ich in früheren Jobs mit OSCommerce arbeiten musste, empfinde ich Ihren Schmerz dort.) Obwohl PHP-basiert, ist es anders genug, dass die "richtige" Art, etwas in reinem PHP zu tun, oft nicht die richtige Art ist, es in Drupal zu tun. und du wirst eine gute Lernkurve haben, um es wirklich zu meistern. Dies kann jedoch Ihre Sichtweisen auf die Fähigkeiten von PHP als Sprache und die Webentwicklung insgesamt verändern.
quelle