Verlag „Bibliothek des Proletariats“.
In diesem Roman erzählt der Autor von dem schwierigen Schicksal der Entstehung der Arbeiterklasse in der Softwareentwicklung.
Über ehrbare Arbeiter und die Entwicklung persönlicher Beziehungen unter Bedingungen mangelnden Gedächtnisses.
Empfehlenswert. /*Kritiker*/
Alle Übereinstimmungen sind kein Zufall.
C++ hat einen komplexen Charakter aufgrund seiner schwierigen Kindheit. Er wuchs in den hungrigen 80ern auf und erinnert sich, wie oft es nicht einmal für Zeichen ausreichte. Das hat ihn geprägt und dem Syntax eine gewisse Strenge verliehen. Oft, wenn er betrunken war, liebte er es, Segfaults zu werfen, Scheiben zu zerbrechen und Passanten ins Bein zu schießen. Es gab niemanden, der ihn zur Vernunft bringen konnte, denn sein Großvater, der angesehene K&R C, war im Vietnamkrieg traumatisiert und nahm selbst häufig an den Streichen seines Enkels teil.
Seinen Vater C++ erinnerte er kaum, nur daran, dass er „C mit Klassen“ hieß und an einer Überdosis starb. Der Großvater sprach wenig schmeichelhaft von seinem einzigen Sohn. Auf die Fragen seines Enkels antwortete er nur widerwillig: „Hat, verstehst du, irgendwelche Klassen aufgegriffen… und du auch… ich erinnere mich, in meiner Zeit hatten wir 615 Byte für drei Leute…“ Über die Mutter war sogar noch weniger bekannt, obwohl einige sagten, dass bei der Empfängnis unseres Helden nicht ohne eine gewisse Simula ausgekommen worden sei.
Trotz der Vorwürfe seines Sohnes und Enkel über die Besessenheit mit Klassen hatte der Großvater C schon lange und intensiv mit Zeigern zu tun. Er nannte es „Pointer-Arithmetik“ und behauptete, es sei Teil seiner Philosophie, die ihm erlaubte, näher an der Natur der Dinge der umgebenden Welt zu sein. In letzter Zeit zeigte er sich selten in der Öffentlichkeit. Manche munkelten sogar, der alte Mann sei längst gestorben, aber hier und da wurden nachts noch seine Spuren gesichtet. Dort ist eine Lampe zerbrochen, dort hat jemand einem Passanten ins Bein geschossen, hier ist ein Buffer-Überlauf...
Dafür hatte C++ oft Kontakt zu Onkel Classical C und seinem Cousin C-99..11. Die ganze Familie hatte einander generell nicht besonders gern. Aber die gemeinsame Arbeit und das Zusammenleben zwangen sie, sich an das API-Vereinbarung zu halten. Bruder C und sein Vater waren überzeugt, dass sie die Ersten waren, die Fußgänger in die Knie schießen, im Gegensatz zu den verschiedenen Klassensportlern. C++ war anderer Meinung. Aber obwohl er sagte, dass er kein schlechter Schütze sei, wusste er tief im Inneren, dass der Umgang mit solchen Substanzen wie OOP nicht ohne Folgen blieb. Ein Minderwertigkeitskomplex verfolgte ihn ständig. Um ihn loszuwerden, begann er an Benchmarks teilzunehmen. Manchmal verzögerte C++ beim Nachladen seiner Schrotflinte, und die anderen Familienmitglieder schauten mitfühlend und lachten dann hinter seinem Rücken.
Seine Verwandten ahnten noch nicht, dass C++ weitergehen würde als sein verstorbener Vater. Neben OOP begann er sich auch für Templates zu begeistern. Nach längerer Verwendung von Templates erkannte er, dass man in jedem Wettbewerb im Schießen gewinnen kann, indem man dem Richter noch vor dem Start ins Bein schießt. C++ wurde einstimmig zum Champion der Metaprogrammierung erklärt und bei den Wettbewerben nicht mehr zugelassen. Aber das hielt ihn nicht auf. Er drängte sich in die Diskussionsclubs der lokalen Intellektuellen und Philosophen und forderte Anerkennung als funktionale Programmiersprache. Haskell und Lisp wichen erschrocken vor diesem mit Zeigern und nicht-strenger statischer Typisierung bewaffneten Raubein zurück. Aber es gab kein Entkommen für diejenigen, die OOP in Kombination mit Templates konsumierten und gerne in die Beine schossen. So wurde unser Held multiparadigmatisch.
Doch C++ blieb nicht lange an der Spitze des Ruhms als bester Schütze der Stadt. Mit der Zeit hörte OOP auf, ein Objekt des Spottes zu sein, und das Murren der alten Männer wurde ignoriert. Es wurde sogar trendy. Viele liebten es, ab und zu mit Klassen zu experimentieren… und die neue Generation wuchs ganz anders heran…
Java stellte sich als Erster vor. Er wies entschlossen die Notwendigkeit schnellen Schießens auf die Beine zurück und versicherte, dass die Hauptwerte Klarheit… und Objekte… nichts als Objekte sind. In Wirklichkeit verwechselte er jedoch Objekte mit Klassen und mischte Primitive in diesen Cocktail, was ihn nicht daran hinderte, sich als „Erste vollständig objektorientierte Sprache“ zu präsentieren. Man munkelte, dass Java der gesetzlose Sohn von Uncle C sei, geboren von einer unbekannten OOP-Enthusiastin. Andere behaupteten, dass eher C++ in diese Sache verwickelt war. Wie es tatsächlich war, ist nicht genau bekannt, aber Java wuchs im Waisenhaus der Corporation Oracle auf. Damit die neue Sprache keinen Unfug anrichtete und nicht auf den Weg des Schießens auf die Beine geriet, führten die Ingenieure von Oracle noch im Waisenhaus eine lobotomieartige Operation durch und schnitt die Zeigefinger ab. Als das Kind ein wenig heranwuchs, hielten die fürsorglichen Vormünder ihn jeden Schritt von der Welt der Erwachsenen fern, versteckten die Zeigefinger sorgfältig tief in der virtuellen Maschine. Darüber hinaus wurde Java sorgfältig beigebracht, dass es schlecht ist, auf irgendjemanden zu schießen, und dass Waffen generell verboten werden sollten. Diese frühe und enge Bekanntschaft mit dem Kommunismus hatte einen positiven Einfluss auf Java, sodass er schnell alle ehrenvollen Positionen in der Enterprise-Entwicklung eroberte. Es schien, dass die Zeiten der unkontrollierten Anarchie vorüber waren, und das Zeitalter der koordinierten Teamentwicklung begann, während das Schießen des Nachbarn in die Beine als schlechter Stil galt.
C++, in den Hintergrund gedrängt, versuchte, sich zusammenzureißen und mit der Zeit Schritt zu halten, indem es ein Laserzielgerät an eine Vorderlader-Schrotflinte anschraubte und versuchte, den Zeigefingern Intelligenz zu verleihen. Es half nicht wirklich, also, vergessen von vielen, gab er sich dem unersättlichen Trinken und einem langen Schlaf hin.
Draußen führte Java bereits einen Kampf gegen einen neuen mächtigen Gegner. C# war das Produkt einer genetischen Mischung aus C++ und Java. Bis heute gibt es Gerüchte, dass die Gene von Java für dieses Experiment nicht ganz ehrlich gewonnen wurden, und damals entbrannte sogar ein kleiner Skandal darüber. Aber C#, vollständig objektorientiert und mit vielen Merkmalen von C++ ausgestattet, das von Ingenieuren einer anderen mächtigen Firma geschaffen wurde, wurde geboren, um Java herauszufordern und konnte sein Existenzrecht in der harten Welt des Enterprise beweisen. Um Java besiegen zu können, übergaben die Schöpfer ihm Templates, OOP und Pointer (obwohl sie ihm empfahlen, diese mit Vorsicht zu benutzen).
Der junge Padawan trat gegen einen lobotomisierten Krüppel an und bis zum Jahr 2020 hatte er ihn um fast die Hälfte verdrängt…
Die Zeit stand nicht still und die natürliche Fortpflanzung kam aus der Mode. Es wurde nun als selbstverständlich angesehen, dass man, wenn man nicht im Labor irgendeiner Firma erschaffen wurde, keinen Erfolg erreichen würde. So entstanden JavaScript, Go, Rust und viele andere. Über die Lebensgeschichte der ersten möchte ich hier nichts sagen, nur dass der Leser wissen sollte, dass er als blindtauber Schizophrener zur Welt kam, es aber dank der Liebe einiger Menschen schaffte, all diese Mängel zu überwinden und ein transgenderer Homosexueller zu werden. Er konnte nicht schießen, aber es gelang ihm hervorragend, in jede Angelegenheit eine Minute positiver Verzögerung einzubringen, wohin auch immer er kam. Als JS aufwuchs, erkannte er seine Bestimmung als Designer bunter Tasten und Plakate. Seitdem wurde es unheimlich, die Straßen wurden mit spielerischen, knallbunten Bannern und Pieptönen überflutet. Wenn alte Mitarbeiter ihn auf dieses Problem hinwiesen, begann JS laut zu schreien, dass ihn wieder die bösen Heterosexuellen unterdrücken würden. Aber das war nur ein Teil aller Übel. JS brachte seine Freunde in die Welt der Entwicklung mit. Mit ihren grünen Bärten, gefärbten Haaren, auf Rollern… Er selbst nahm immer den ganzen verfügbaren Platz und Speicher ein, und das in der XXI. Jahrhundert, wo es doch eigentlich genug davon geben sollte!
Aber auch hier hat noch niemand es geschafft, ihn zu tadeln. JS begann zu erzählen, dass alle längst positiv zum Körper stehen und gleichberechtigt sein sollten, egal wie viel Speicherplatz man verbraucht und wie viel Platz man einnimmt. „Alle Arbeiter sind wertvoll, alle Arbeiter sind wichtig, alle Arbeiter sind gleich“, sagte JS. Ein weiteres bemerkenswertes Ereignis im Zusammenhang mit JS ist, dass er die sogenannte „Einstiegshürde“ auf null gesenkt hat. Es wird gesagt, dass Großvater C nach diesem Unglück in seiner 5×5-Kilobyte-Kammer aufgehängt wurde. Nichtsdestotrotz ist JS immer noch auf freiem Fuß, also Vorsicht!
Die Schöpfer von Go wollten die Schöpfer von Java übertreffen. Schon in der Gebärmutter haben sie die DNA-Stränge ihres Kindes teilweise durch Hamster-DNA ersetzt... Und dann haben sie nicht nur die Finger, sondern auch die Ohren und die Nase abgeschnitten, unter dem Vorwand, dass individuelle Merkmale nicht benötigt werden und alle einander ähnlich sein sollten, um nicht durch ihre Individualität zu verwirren. Der Hype um OOP ist vorbei, und Go hat weder Klassen noch Templates erhalten. Dafür bekam es Goroutinen geschenkt. Damit lebt es bis heute und unterstützt verschiedene Tools.
Lange Zeit meditierten einige Enthusiasten über die Natur des wütenden Durcheinanders, bis sie eine Erleuchtung traf. Danach entwickelten sie ein durchdachtes religiös-philosophisches System, das sie das Konzept des Besitzes nannten, und schufen Rust. Rust zeichnete sich durch seine Grundsatztreue und Loyalität zu den von Kindesbeinen an verankerten Prinzipien aus. Wenn ihm etwas aufgetragen wurde, führte er es nicht aus, bevor er sich nicht vergewissert hatte, dass es niemandem schaden könnte. Aber um Rust Anweisungen zu geben, musste man das Konzept des Besitzes und den Borrow Checker verstehen. Man sagt, dass die Einstiegshürde danach um 15,37 % gestiegen ist.
Während neue Sprachen wie Pilze nach dem Regen wuchsen, stärkten alte ihre Macht. Java erhielt Prothesen in Form von Generics und Lambda-Ausdrücken, die aus dem philosophischen Club von Prof. Haskell entlehnt wurden. Ähnliche Lambda-Ausdrücke verschaffte sich auch C#, wobei es gleichzeitig eine Geliebte namens Linq fand. Java blieb nicht zurück und führte eine Stream-API ein. Doch C# machte einen unerwarteten Zug und brachte Wurfmesser mit async/await hervor und warf den schweren Block null über Bord. Während Java dem jungen Konkurrenten hinterherjagte, verwandelte es sich in einen Transformer-Roboter, der aus verschiedenen Blöcken unterschiedlicher Materialien zusammengesetzt war. Einige Teile fielen ab. In diesem Zustand begegnete die Welt plötzlich dem aufgewachten C++. Er machte schnell seine eigenen Lambda-Ausdrücke und seine automatische Typableitung. Jetzt schreckten C# und Java vor diesem Anblick zurück. Mit einem Laserziel, das mit blauer Klebeband an einer Schrotflinte befestigt war, in einer orangefarbenen Kappe mit schwarzen Sonnenbrillen und einer Axt, die am Rucksack hing, versetzte C++ tatsächlich jedem, der ihn ansah, Angst. Einige griffen aus alter Gewohnheit unwillkürlich nach ihren Knien...
Allen einen schönen Tag. Wenn es gefällt, schreibe ich eine Fortsetzung über die Mitarbeiter der wissenschaftlich-philosophischen Industrie.
Quelle: habr.com
