it-swarm.dev

Ist OO-Programmierung wirklich so wichtig wie die Einstellung von Unternehmen?

Ich beende gerade mein Masterstudium (in Computer) und bewerbe mich um eine Stelle. Ich habe festgestellt, dass viele Unternehmen speziell nach einem Verständnis der Objektorientierung fragen. Beliebte Interviewfragen betreffen Vererbung, Polymorphismus, Accessoren usw.

Ist OO wirklich so wichtig? Ich hatte sogar ein Interview für einen Programmierjob in C und die Hälfte des Interviews war OO.

Wird in der realen Welt bei der Entwicklung realer Anwendungen fast immer die Objektorientierung verwendet? Werden Schlüsselmerkmale wie Polymorphismus VIEL verwendet?

Ich denke, meine Frage kommt von einer meiner Schwächen. Obwohl ich über OO Bescheid weiß, scheine ich es nicht sehr gut in meine Programme integrieren zu können.

55
ale

OOP ist ein Paradigma, mit dem Ihr Programm wachsen kann, ohne dass es unmöglich zu pflegen/zu verstehen ist. Dies ist ein Punkt, den Studenten fast nie bekommen, weil sie nur kleine Projekte machen, die zwischen zwei Wochen und höchstens zwei Monaten dauern.

Diese kurze Zeit reicht nicht aus, um das Ziel von OOP] klar zu machen, insbesondere wenn die Leute im Projekt Anfänger sind. Für große Projekte ist es jedoch entscheidend, sich an eine Modellierung zu halten. Ich würde sagen,> 50.000 Codezeilen . OOP ist nicht die einzige Lösung dafür, aber dies ist die in der Branche am weitesten verbreitete.

Deshalb möchten die Leute, dass Sie OOP kennen.

Ich würde aus Erfahrung hinzufügen, dass fast alle Junior-Programmierer schwerwiegende Fehler in der Modellierung und im OOP haben. Die meisten von ihnen wissen, wie man Klassen schreibt, von ihnen erbt und solche grundlegenden Dinge, aber sie denken nicht in "OOP" und missbrauchen es am Ende. Aus diesem Grund wird jeder seriöse Personalvermittler immer nach Ihren Kompetenzen in der Domäne OOP) suchen.

Da diese Dinge in der Schule nicht gelernt werden, gibt es einfach enorme Wissensunterschiede zwischen verschiedenen Kandidaten. Und seien wir ehrlich: Ich glaube nicht, dass jemand mit schlechten Kenntnissen in OOP] an einem großen Projekt arbeiten könnte, einfach weil Lead-Entwickler mehr Zeit benötigen würden, um diese Leute zu verwalten, als nur das zu schreiben Code selbst.

Wenn Sie noch nicht an "OOP" denken, würde ich Ihnen empfehlen, einige Bücher darüber zu lesen und sich in einem Unternehmen zu bewerben, das keine wirklich großen Projekte hat. um sich daran zu gewöhnen, OOP weiterhin nützliche Arbeit für Ihren Arbeitgeber zu leisten (und solange er Ihnen Ihr Gehalt gibt, ist dies auch für Sie nützlich).

EDIT: ha, und ich würde hinzufügen, dass ich bereits OOP Code in C geschrieben habe, auch wenn es nicht die häufigste Verwendung von C ist, ist dies mit fundiertem Wissen möglich. Sie müssen nur vtables erstellen manuell.

Und hinter OOP Technik ist etwas verborgen: Software-Design. Software-Design ist in C wie in allen anderen Sprachen sehr hilfreich. Viele Personalvermittler testen Ihre Software-Design-Kompetenzen und OOP Frage ist gut dafür, aber OOP ist nicht die Hauptsache, die hier getestet wird. Deshalb haben Sie diese Fragen auch für einen C-Job.

84
deadalnix

Das überwältigende Problem bei der Computerprogrammierung ist die Handhabung der Komplexität, und moderne Programme können in der Tat sehr komplex sein, und dies scheint nur zuzunehmen.

Ein Großteil der Arbeit in der Softwareentwicklung nicht trivialer Computerprogramme konzentriert sich auf die Zähmung der Komplexität und macht sie möglichst vielen zugänglich, ohne vorher ein Leben lang zu lernen.

Beispiele:

  • Modularisierung: Sie vereinfachen Programme konzeptionell, indem Sie über Codemodule verfügen, bei denen jedes Modul nur wenig über andere Module weiß (anstatt beispielsweise ein Routing für Maussymbole, mit dem Netzwerkkartenpuffer direkt bearbeitet werden können).
  • APIs: Sie geben einen einfachen Verwendungspfad zu den komplexen Programmen hinter den APIs. Wenn Sie eine Datei öffnen, ist es Ihnen egal, dass Netzwerkfreigaben anders behandelt werden als ein USB-Laufwerk. Die API ist dieselbe.
  • Objektorientierung. Auf diese Weise können Sie vorhandenen Code wiederverwenden und ihn transparent mit neu hinzugefügtem Code arbeiten lassen, während die gesamte zugrunde liegende Komplexität verborgen bleibt.

Mit anderen Worten, es ist notwendig, viele Tricks zu kennen, wenn Sie an nicht trivialen Softwareteilen arbeiten möchten, entweder allein oder (höchstwahrscheinlich) mit anderen.

38
user1249

Ja, vor allem, weil die beiden beliebtesten Entwicklungsplattformen in der kommerziellen Entwicklung (Java und .NET) möglicherweise objektorientiert sind und das bedeutet, dass ja, OO wird häufig verwendet (einschließlich Polymorphismus, Vererbung und allem) sonst).

Unternehmen interessieren sich nicht speziell für die Objektorientierung als Technologie - dies ist keine Ideologie, sondern für Menschen, die Lösungen für ihre Probleme auf eine Weise entwickeln können, die mit ihrer IT-Strategie übereinstimmt.

Aber ich würde mir keine Sorgen machen, dass es eine Schwäche ist. Ohne Ihre Ausbildung zu missachten, sehen die meisten Menschen in der Geschäftswelt Programmierer, die die Universität verlassen (auf keiner Ebene), nicht als fertigen Artikel an. Sie haben noch viel zu lernen und das wird verstanden (wahrscheinlich besser von den Unternehmen als von den Studenten).

14
Jon Hopkins

Wie im wirklichen Leben unterscheidet sich die Programmierung im wirklichen Leben von der in der Theorie.

Ja, wenn Sie das Paradigma OO poliert und immer im Hinterkopf behalten), können Sie besser Code schreiben, der überschaubar, verständlich und leicht erweiterbar ist.

Leider hat die reale Welt dies:

  • projektzeitdruck
  • prozedural orientierte Teammitglieder
  • standortübergreifende Teams, mehrere Anbieter
  • legacy-Code, der keinerlei Orientierung hat
  • solange es funktioniert, kümmern sich einige darum, wie Code geschrieben wird
  • selbst wenn Code nicht funktioniert, besteht die Motivation darin, ihn zu reparieren, nicht "OO"
  • module, Plattformbeschränkungen, Frameworks, die es Ihnen einfach nicht erlauben, gute OO zu machen

In einem echten Job müssen Sie mit den oben genannten Problemen arbeiten. Das klingt demoralisierend. Aber behandeln Sie dies als Heads-up. Einstellungsunternehmen legen zu viel Wert auf OO während der Einstellung. Es ist leicht zu verstehen, warum. Die einzige Möglichkeit, den Kandidaten zu testen, besteht darin, nach dem Verständnis von OO zu fragen. Und leider werden viele Kandidaten nur aufgefrischt auf diese Fragen, bevor Sie zu einem Interview erscheinen.

Real-Life OO kommt langsam. Es hilft, wenn Sie weiterlesen und es im Laufe der Zeit weiter verbessern.

7
Amol

Ich hatte nach Abschluss meines Bachelor-Studiums das gleiche Gefühl und ein großartiges Buch, das mir zeigte, warum und wie OOP ist für reale Anwendungen relevant ist Head First: Design Patterns. Ich empfehle Ihnen aufrichtig, einen Blick darauf zu werfen. Es ist sehr unterhaltsam geschrieben und macht viele gültige Punkte dafür, warum ein OOP-Ansatz wünschenswert ist, wenn Sie mit größeren, sich ständig ändernden Systemen arbeiten.

6
David Haas

Selbst für einige Jobs in C müssen Sie möglicherweise das objektorientierte Design kennen (und wahrscheinlich besser darin sein, als wenn Ihr Compiler es für Sie getan hätte), wie eine kürzlich erschienene Artikelserie zum objektorientierten Design im Linux-Kernel zeigt. ( Teil 1 , Teil 2 )

GTK + verwendet auch viele objektorientierte Entwurfsmuster.

6
Ken Bloom

Ich muss einige Meinungsverschiedenheiten mit dieser Vorstellung zum Ausdruck bringen, dass OO ist alles - man könnte sagen OO erlaubt es Ihnen, Städte zu bauen, aber prozedurale Programme sind die Bausteine.

Um meine Antwort in Form einer Analogie zu geben, braucht ein General Objekte, der Soldat ein Verfahren. Sobald Sie genug Drilldown in OO) durchgeführt haben, finden Sie Prozeduren. Wenn dies Ihr Fachwissen ist und Sie gut genug sind, machen Sie sich keine Sorgen um OO, da es für jemanden einfach genug ist, dies zu schreiben = OO Schachspielcode:

-findBestMove
-makeBestMove
-waitForPlayerInput

aber dann muss jemand den Code hinter -findBestMove schreiben und Sie können sicher sein, dass es nicht nur das ist:

foreach $move (@moves){
    $bestMove = ($move > $bestMove ? $move : $bestMove)
}
return $bestMove

Auf der anderen Seite, wenn Sie nicht wissen, wie man den Code OO) liest, machen Sie sich Sorgen. Sie können (fast) sicher sein, dass Ihr Code mit Objekten in irgendeiner Form in Konflikt gerät Sie arbeiten an dem fortran Legacy-Giganten von 12000 globalen Vars und 1200 Zeilen- "Modulen", die ich derzeit verwalte.

4
Alex

Jon Hopkins schrieb:

Ja, vor allem, weil die beiden beliebtesten Entwicklungsplattformen in der kommerziellen Entwicklung (Java und .NET) möglicherweise objektorientiert sind und das bedeutet, dass ja, OO wird häufig verwendet (einschließlich Polymorphismus, Vererbung und allem) sonst).

Das ist ziemlich genau das, was ich sagen wollte, aber es ist nicht nur Java und .Net, C++ ist überall, Objective-C ist überall in OSX, alle coolen Kids machen Ruby oder Python, und all diese und viele andere Dinge konzentrieren sich auf die Objektorientierung. Viele neuere Sprachen sind Multiparadigmen, daher ist so etwas wie F # in erster Linie eine funktionale Sprache, unterstützt aber auch die Objektorientierung. Es ist überall und zumindest ein gewisses Verständnis ist sehr nützlich. Ärgern Sie sich jedoch nicht zu sehr darüber. Wenn Sie gerade Universitätskurse abgeschlossen haben, sind Sie bereit, etwas über die Entwicklung von Code in der realen Welt zu lernen :)

4
eviltobz

Ich habe lange programmiert und finde, dass die Konzepte von OO auch beim Programmieren in C nützlich sind - auch wenn ich diese Konzepte im Test wahrscheinlich nicht in jedem winzigen beschreiben würde Detail. Irgendwann habe ich sogar eine OO - Sprache erstellt, wenn auch eine rudimentäre, um mich mit den Konzepten vertraut zu machen und Freude an OO from) zu finden ein neuer Winkel.

Übrigens hat C++ OO sehr durcheinander gebracht, während Objective C es richtig macht.

Über Interviews sind sie zu einer Horrorshow geworden - von beiden Seiten des Tisches. Die meisten Befragten sind von ihnen sehr ausgeflippt. Die meisten Personalchefs sind erstaunt darüber, wie viele Personen selbst sehr einfache Programmiertests nicht bestehen.

Allerdings gibt es derzeit in der Softwareindustrie einige enorme Duschtaschen, die NICHTS wissen und dennoch die Welt von potenziellen Mitarbeitern erwarten.

3
Ponk

Lernen OOP ist nicht so nützlich wie das Lernen von Softwareentwicklung. Lesen Sie Code Complete 2 .

Sicher, es ist ein nützliches Werkzeug, aber OOP selbst ist wirklich klein. Im Allgemeinen, wenn Unternehmen und Personalvermittler "OOP" sagen, sind sie bedeutet "Softwareentwicklung". Es wird als Oberbegriff verwendet.

Echte Personalvermittler werden den Unterschied zwischen Ihrem Wissen über die Entwicklung von Software und dem Ankreuzen des Kontrollkästchens "Hat 3 Jahre in 'OOP'" erkennen.

3
Raynos

OOP ist nicht wichtig für sich selbst, sondern für das, was es mit sich bringt. Etwas, das sich mit der Fähigkeit befasst, Dinge zu abstrahieren und zu isolieren, zu gruppieren und nur die Teile freizulegen, die für die Interaktion erforderlich sind.

Dies ist eine gängige Engineering-Technik namens "Modularisierung", mit der komplexe Systeme als Aggregation einfacherer Systeme erstellt werden können, ohne dass jedes einzelne Detail auf hoher Ebene berücksichtigt werden muss, und bei der Komponenten austauschbar sein müssen, auch ohne dass sie genau das sind gleich.

Es wurde versucht, diese "technischen Konzepte" in die Softwareentwicklung einzubeziehen, seit das Softwareprodukt selbst größer als die "Einzelentwicklerfähigkeit" geworden war. Daher war es erforderlich, Entwickler dazu zu bringen, an unabhängigen Teilen zu arbeiten und diese Teile zuzulassen miteinander interagieren.

Diese Prinzipien finden sich jedoch nicht unbedingt nur in OOP (wenn die Berechnungstheorie gültig ist, gibt es unendlich viele mögliche Methoden, um zu diesen Ergebnissen zu gelangen).

OOP ist einfach ein erfolgreicher Versuch, diese Dinge zusammenzufügen, indem man diesen allgemeinen Begriffen (wie Modulen, Kapselung, Substitution) genauere Definitionen gibt und die Definitionen (Muster), die können in Programmiersprachen passen, ausführlich konzeptualisiert .

Stellen Sie sich OOP zunächst nicht als "Sprachfunktion" vor, sondern als "allgemeines Lexikon", das Softwareentwickler dazu bringt, sich dem Software-Design zu nähern.

Die Tatsache, dass eine bestimmte Sprache Grundelemente hat oder nicht, die dieses Lexikon direkt erzwingen, um beispielsweise sicherzustellen, dass eine "Kapsel" nicht versehentlich von demjenigen geöffnet wird, der dies nicht tun soll, ist ein sekundärer Aspekt des OOP -Designs . Deshalb werden auch große C-Projekte oft als OOP "verwaltet", auch wenn die Sprache selbst keine direkte Unterstützung dafür bietet.

Der Vorteil von allem, was erst erkennbar ist, wenn eine Projektgröße in der Fähigkeit eines einzelnen Entwicklers verbleibt, alles zu verstehen und zu verfolgen, was er tut (in solchen Situationen kann es sogar als "Overhead" angesehen werden) oder in einer kleinen Gruppe, die etwas entwickelt eine kurze Zeit. Und das ist der Hauptgrund, warum Junioren, die OOP im Hinblick auf ein "Sprachmerkmal" studiert haben, es oft falsch interpretieren, um schlecht gestalteten Code zu erzeugen.

Wie OOP in Sprachen passt, hängt davon ab, wie Sprachdesigner das OOP Prinzip in ihrem eigenen Konstrukt interpretieren.

So wird "Kapselung" in C++ zu "privaten Mitgliedern" (und eine "Kapsel" wird zu einer Klasse), "Substitution" wird zur Überschreibung virtueller Funktionen oder zur Parametrisierung/Spezialisierung von Vorlagen usw., während in D eine Kapsel ein "Modul" ist (und Substitution geht durch Klassen usw.), wodurch bestimmte Paradigmen oder Muster direkt in einer bestimmten Sprache und nicht in einer anderen Sprache verfügbar gemacht werden und so weiter.

Wenn Personalvermittler OOP Fragen stellen, überprüfen Sie einfach Ihre Fähigkeit, Software-Design für zukünftige große Projekte und Entwicklungen zu abstrahieren und zu verstehen. OOP, für sie ist es nur ein "Wörterbuch", von dem sie angenommen haben, dass Sie und sie es wissen, damit Sie über andere allgemeinere Dinge sprechen oder in eine bestimmte Implementierung konkretisieren können.

1

Die Antwort lautet ja, wie mehrere andere angemerkt haben.

ABER, wenn Sie an Stapeln von nicht-OO-prozeduralem Spaghetti-Code arbeiten möchten, können Sie das auch dort herausfinden. Ich denke, Sie werden die OO Arbeit) bevorzugen.

EDIT: Verzeihen Sie meinen Fall von Gunslinger Zynismus und Sinn für Humor. Wie Raynos sagte, nur weil etwas OO ist, heißt das nicht, dass es gut ist. Die richtige Anwendung von OO erfordert echte Arbeit und Gedanken; nur Instanzen davon zu haben, tut es Das bedeutet nicht automatisch, dass eine App gut gemacht ist. Und umgekehrt bin ich mir sicher, dass es gut geschriebenen Verfahrenscode gibt. Meine Erfahrung in IT-Shops von Unternehmen in den 90er und 2000er Jahren war, dass viel schlechter Code geschrieben wurde und wahrscheinlich immer noch existiert. Aber näher an der Frage des OP habe ich festgestellt, dass die intelligenteren Entwickler, wenn sie die Chance haben, zu mehr OO Systemen) wechseln.

1
Bernard Dy

OO ist eine grundlegende Basis, auf der andere Techniken aufbauen. Ein wichtiger Punkt ist, zunächst den Unterschied zwischen einem Typ (einer Klasse) und einer Instanz dieses Typs vollständig zu verstehen. Versuchen Sie nicht, weiterzulesen, ohne dies vollständig zu verstehen (ich denke, es wird später klar), da Sie den Rest noch einmal lesen müssen, sobald Sie die Vision verstanden haben.

Sobald Sie den Dreh raus haben, werden Sie nie mehr darauf verzichten wollen. Ich bin kein Purist, wenn es um Kapselung, Muster, Frameworks oder was auch immer geht. Bei der Arbeit müssen Sie sich an verschiedene Ansichten und Konzepte anpassen. Ich werde einige meiner früheren Berufserfahrungen auflisten:

In einem Unternehmen wollten meine Kollegen so viel wie möglich faul laden (leere Konstruktoren, sperrige Eigenschaften, die überall auf Nullwerte prüfen mussten). Sie bauten webbasierte serverseitige Objekte, die ein kurzes Leben führten.

Der nächste Job war genau umgekehrt. Objekte befanden sich in einer Desktop-Anwendung (Excel-basiert). Der Konstruktor sollte so viel Initialisierung wie möglich enthalten (oder eine der vielen Konstruktorüberladungen). Leere Konstruktoren waren nicht erlaubt, da leere Objekte kein Existenzrecht hatten (was die Persistenz zu einer ziemlichen Herausforderung machte). Außerdem musste ich mich an ihre "Codierungsstilstandards" anpassen (wo man Klammern öffnet, nach Kommentaren Leerzeichen hinzufügt usw.), weil mein Code nicht eingecheckt werden konnte, wenn er nicht durch style-cop kam.

Derzeit arbeite ich in einem Unternehmen, in dem keiner der Entwickler jemals versucht hat, OO zu verstehen. Es ist schwer auszudrücken, wie extrem frustrierend das war. Ich musste meine Grep-Fähigkeiten verbessern. Tatsächlich ist meinem F12-Schlüssel ein HotScripts-Makro zugewiesen, um einen Grep für den ausgewählten Text durchzuführen. Ich werde die anderen Frustrationen ersparen ...

Sobald Sie OO Fähigkeiten) erhalten haben, sind Sie fast allergisch gegen Spaghetti! In allen Fällen, OO - oder nicht, seien Sie geduldig und passen Sie sich an. Zögern Sie nicht, es wegzuwerfen und von vorne zu beginnen. Ihr Chef wird Sie beim Auswerfen lieber auswählen. Leider ist "Geld verdienen" wichtiger als eleganter Code.

Entschuldigung für die lange Antwort, aber ich habe versucht, den größten Teil Ihrer Frage abzudecken :-)

1
Louis Somers

Kurze Antwort ist Ja

Die längere Version, warum Sie sich fühlen oder in einem Dilemma, warum es wichtig ist, liegt nur daran, dass Sie nicht an Projekten oder Implementierungen gearbeitet haben, die einem bestimmten Zweck dienen. In Klassenzimmern ist es vollkommen gültig, Beispiele für Automobile zu haben, die dann auf PKW, LKW ... erweitert werden. Wenn Sie jedoch in die Softwareentwicklung einsteigen, ist es eine Lösung, die darauf abzielt, einige Aufgaben zu vereinfachen. Wenn es nicht OO gegeben hätte, hätten wir jeder schreibt ähnliche Codes über die Codebasis oder Räder jeden Tag neu erfinden. Stellen Sie sich vor, was für ein Durcheinander es wäre, wenn man in eine solche Codebasis eintauchen würde, um etwas zu reparieren. Die Beispiele im Klassenzimmer dienen einer vagen Definition oder Darstellung, wie/warum dies getan wird. Der eigentliche Test ist zu Ende, wenn Sie mit dem Erstellen Ihrer App beginnen, ohne Zweifel, da alles, was fürchterlich genutzt werden könnte, aber aufgrund seiner klaren und präzisen Verwendung die Vernunft bei weitem belastet. Beginnen Sie also besser mit der Arbeit an diesem schwachen Bereich, wenn Sie keine Albtraumcodes ausgeben.

0
V4Vendetta

Es hängt davon ab, ob. Ein Grund, warum Sie OO kennen müssen, weil es die Verkehrssprache der Programmierwelt ist. Wie eine andere Antwort hervorhebt, ist fast jede Hauptsprache in irgendeiner Weise OO, was bedeutet, dass im Grunde jedes Unternehmen, das Sie einstellen könnte, eine OO Sprache verwendet. Haben Sie jemals versucht, OCaml-Programmierer einzustellen? Es ist unmöglich; Der Talentpool ist zu klein. Wenn Sie Ihr Unternehmen mit OCaml gegründet haben und Ihr Unternehmen erfolgreich ist, können Sie Programmierer nicht schnell genug einstellen, und Sie werden Ihr Geschäft einstellen. Daher verwendet fast jedes Unternehmen mit mehr als 3 Programmierern eine OO Sprache. Um mit Ihren Mitarbeitern zu kommunizieren und die Bibliotheken Ihrer Plattform zu verwenden, müssen Sie mit OO vertraut sein.

Abhängig von der jeweiligen Sprache, die das Unternehmen verwendet, sind Vererbung und Polymorphismus entweder äußerst wichtig oder nur mäßig relevant. Sie können in Java nichts tun, ohne 10 GoF-Entwurfsmuster und ein Abhängigkeitsinjektionsframework zu zerstören. Java ist eine der am häufigsten verwendeten Sprachen, daher sind OO Prinzipien für die vielen Unternehmen, die Java verwenden, wirklich wichtig.

Wenn das Unternehmen eine moderne hybride OO/Funktionssprache verwendet, die Lambdas und Funktionszeiger wie Scala oder C # enthält, wird die Vererbung plötzlich weniger wichtig, da Sie Funktionen höherer Ordnung haben, um viele der wirklich einfachen Dinge zu handhaben das würde sonst viel Zeremonie erfordern. Sie müssen jedoch weiterhin in der Lage sein, mit OO zu arbeiten, da die meisten von Ihnen verwendeten Bibliotheken OO geschrieben werden.

Wenn Vererbung und Polymorphismus nicht für das Unternehmen wichtig sind, werden Sie wahrscheinlich immer noch OO Fragen bekommen, weil:

  • Sie werden von einer HR-Person interviewt, die nichts über Programmierung weiß und Fragen von einer Checkliste stellt. Haben Sie 3 Jahre X, Multitasking usw.
  • Sie werden von einem Ingenieur interviewt, der sicherstellen möchte, dass Sie nicht unter einem Felsen gelebt haben. OO ist die Verkehrssprache, daher werden Ihnen einige flüchtige Fragen dazu gestellt.
  • Sie werden von einem Ingenieur interviewt, der sich mit Interviews nicht besonders gut auskennt. Im Allgemeinen lieben Ingenieure Trivia und Komplexität, sodass Sie viele Fragen zu Polymorphismus, Vererbung und GoF-Entwurfsmustern erhalten, nur weil diese Dinge für die Person, die Sie interviewt, interessant sind.
0
dan

Eine objektorientierte Sprache hilft Ihnen dabei, ein objektorientiertes Design in Ihrem Code beizubehalten, was gut ist. Es ist aber auch wahr, dass ein solches Design mit jeder anderen Paradigmensprache erhalten werden kann: Der Grund für die Popularität (insbesondere bei Unternehmen) von OO-Sprachen liegt wahrscheinlich im kommerziellen Erfolg von Java und c #) .

Hätte Mr. Gates seine Firma richtig gegründet, würden wir wahrscheinlich SCHEME studieren, bevor wir uns für eine Stelle bewerben.

0
Lorenzo Stella