Es gab in letzter Zeit eine Häufung von Perl-Hass auf Stack Overflow, also dachte ich, ich bringe meine " Fünf Dinge, die Sie an Ihrer Lieblingssprache hassen " Frage an Stack Overflow. Nimm deine Lieblingssprache und nenne mir fünf Dinge, die du an ihr hasst. Das können Dinge sein, die Sie einfach nur ärgern, zugegebene Designfehler, erkannte Leistungsprobleme oder jede andere Kategorie. Sie müssen sie nur hassen, und es muss Ihre Lieblingssprache sein.
Vergleichen Sie sie nicht mit einer anderen Sprache, und sprechen Sie nicht über Sprachen, die Sie bereits hassen. Sprechen Sie nicht über die Dinge, die Sie an Ihrer Lieblingssprache mögen. Ich möchte nur die Dinge hören, die du hasst, aber tolerierst, damit du all die anderen Dinge benutzen kannst, und ich möchte etwas über die Sprache hören, von der du dir wünschst, dass andere Leute sie benutzen würden.
Diese Frage stelle ich immer dann, wenn mir jemand seine Lieblingssprache aufdrängen will, und manchmal auch als Interviewfrage. Wenn jemand keine fünf Dinge findet, die er an seinem Lieblingstool hassen kann, kennt er es nicht gut genug, um es entweder zu befürworten oder das große Geld damit zu machen. Er hat es nicht in genügend verschiedenen Situationen eingesetzt, um es vollständig zu erforschen. Er befürwortet sie als Kultur oder Religion, was bedeutet, dass ich falsch liege, wenn ich nicht seine Lieblingstechnologie wähle.
Es ist mir nicht so wichtig, welche Sprache Sie verwenden. Sie wollen eine bestimmte Sprache nicht verwenden? Dann tun Sie es nicht. Sie haben sich nach bestem Wissen und Gewissen für eine Sprache entschieden und verwenden sie trotzdem nicht? Kein Problem. Manchmal lautet die richtige Antwort: "Sie haben ein starkes Programmierteam mit guten Praktiken und viel Erfahrung mit Bar. Zu Foo zu wechseln wäre dumm."
Dies ist auch eine gute Frage für Code Reviews. Leute, die eine Codebasis wirklich kennen, haben alle möglichen Vorschläge für sie, und diejenigen, die sie nicht so gut kennen, haben unspezifische Beschwerden. Ich frage Dinge wie "Wenn Sie bei diesem Projekt noch einmal von vorne anfangen könnten, was würden Sie anders machen?" In dieser Fantasiewelt können sich Benutzer und Programmierer über alles und jeden beschweren, der ihnen nicht gefällt. "Ich möchte eine bessere Schnittstelle", "Ich möchte das Modell von der Ansicht trennen", "Ich würde dieses Modul anstelle dieses anderen verwenden", "Ich würde diese Methoden umbenennen", oder was auch immer ihnen an der aktuellen Situation nicht gefällt. Auf diese Weise bekomme ich einen Eindruck davon, wie viel ein bestimmter Entwickler über die Codebasis weiß. Es ist auch ein Anhaltspunkt dafür, wie viel vom Ego des Programmierers in dem steckt, was er mir erzählt.
Hass ist nicht die einzige Dimension, um herauszufinden, wie viel Menschen wissen, aber ich habe festgestellt, dass sie eine ziemlich gute ist. Die Dinge, die sie hassen, geben mir auch einen Hinweis darauf, wie gut sie über ein Thema nachdenken.