Autor: Zhang Shenjia
Zuerst veröffentlicht auf dem offiziellen WeChat-Konto: Jia Talk (jia-talking)

In einem Restaurant gab es einen Koch, der sehr gut kochte. Durch Mundpropaganda kamen Gäste von überall her. Aber das war für den Restaurantbesitzer nicht nur eine gute Nachricht, denn die Gäste kamen wegen der Kochkunst des Kochs, nicht wegen des Restaurants. Der Besitzer musste einen Weg finden, den Koch zu halten; andernfalls, sobald er von jemand anderem abgeworben würde, würde das Geschäft des Restaurants einbrechen. Doch selbst wenn der Besitzer keine Kosten scheute, um die Loyalität des Kochs zu sichern, gab es weiterhin Risiken:

Wenn der Koch sich ausruhte oder Urlaub nahm, konnte der Geschmack der Gerichte die Gäste nicht zufriedenstellen;
Es gab nur einen Koch. Wenn man an mehreren Orten Filialen eröffnen wollte, konnte der Geschmack nicht garantiert werden;
So geschickt der Koch auch war, konnte er doch immer nur ein Gericht auf einmal kochen, und da die Kunden ständig zunahmen, blieb die Produktion stets hinter der Nachfrage zurück;
Der Koch würde irgendwann in den Ruhestand gehen, wenn er alt wurde. Wenn er Lehrlinge aufnahm, wie konnte dann die Loyalität der Lehrlinge weiterhin garantiert werden?

Eines Tages erkannte der Besitzer plötzlich, dass das, was den Geschmack der Gerichte bestimmte, der Kochprozess des Kochs war, nicht der Koch selbst. Wenn der Koch bereit wäre, das Rezept für jedes Gericht aufzuschreiben, könnten dann nicht andere Köche eingestellt werden, die es befolgen? Obwohl andere beim Kochen nach dem Rezept vielleicht nicht die ursprünglichen 100 Punkte erreichten, konnten sie doch immer 90 Punkte erreichen, und ein solcher Unterschied war für gewöhnliche Gäste nicht erkennbar. Auf diese Weise konnte, solange das Rezept existierte, die Qualität der Gerichte des Restaurants garantiert werden, und die Erweiterung des Ladens oder die Eröffnung von Filialen wäre kein Problem mehr.


Also sprach der Besitzer eine ganze Nacht mit dem Koch und überredete ihn, mit seinen Rezepten als technisches Kapital einzusteigen. Ein paar Jahre später lief das Restaurantgeschäft immer besser, unzählige Filialen wurden eröffnet, der Besitzer verdiente viel Geld, und der Koch erhielt ebenfalls großzügige Dividenden und musste sich nicht mehr jeden Tag auf seine Kochkünste verlassen.

Was ist Programmierung?

Bevor Waschmaschinen auftauchten, konnten Menschen Kleidung nur von Hand waschen, was eine Reihe von Vorgängen erforderte: Einweichen, Reiben, Spülen und Auswringen. Die Erfindung der vollautomatischen Waschmaschine machte das Waschen von Kleidung so einfach, dass es jeder erledigen konnte, wodurch die ursprünglich zum Waschen von Kleidung verwendete Zeit frei wurde, um andere Dinge zu tun. Während Waschmaschinen weiter iteriert und aufgerüstet werden, wird der gesamte Prozess des Kleiderwaschens schließlich von den Menschen vergessen werden; nur die Ingenieure, die Waschmaschinen entwerfen, verstehen den Prozess, weil sie dafür verantwortlich sind, ihn zu optimieren und zu verbessern.


Ein sogenanntesProgramm ist ein logischer Ablauf, der dazu entworfen wurde, eine Anforderung umzusetzen.Die Rezepte des Kochs und der Arbeitsablauf der Waschmaschine sind beides Programme, nur dass das erstere von Menschen und das letztere von Maschinen ausgeführt wird. Gerade weil Programme als Medium dienen, können wir die Rollen des Designers, des Aufrufers und des Ausführenden trennen. Obwohl die Ausführungswirkung eines Programms seinen Designer möglicherweise nicht zufriedenstellt, kann es bereits unabhängig von den zeitlichen und räumlichen Beschränkungen des Designers existieren und von anderen ausgeführt, überprüft und verbessert werden.


SogenanntesProgrammieren bezeichnet das Schreiben von Programmen.Den Kochprozess in Rezepten festzuhalten, ist im Wesentlichen Programmieren. Durch das Programmieren verstehen und erläutern wir das Wesen der Dinge gründlicher und ermöglichen, dass das, was einst einer Person, einer Gruppe, einem Ort oder sogar einem Moment vorbehalten war, unabhängig existieren und sich entwickeln kann. Aus dieser Perspektive ist es keine Übertreibung zu sagen, dass Programmieren Leben erschafft.


Programmieren kann man als eine Art standardisierten Schreibens bezeichnen.Standardisierung garantiert die Qualität von Dienstleistungen und Produkten und ermöglicht zudem großmaßstäbliche Replikation und Expansion. KFC stützt sich auf sein Handbuch zur Lebensmittelverarbeitung, das bis zur Öltemperatur und den Sekunden zum Frittieren von Pommes frites detailliert ist, um weltweit Filialen zu eröffnen. Wenn Tao Huabi das Rezept und den Produktionsprozess ihrer Chilisauce nicht klar beschreiben und an eine standardisierte Produktionslinie zur Herstellung übergeben könnte, dann wäre "Lao Gan Ma" heute höchstens ein Produkt auf Werkstattebene in einem kleinen Dorf und könnte es niemals an unseren Esstisch schaffen.


Im Alltag interagieren wir mit allerlei technischen Produkten und Diensten, wie Navigation, Suchmaschinen, Chat-Software ... Haben Sie sich jemals gefragt, welche Prinzipien hinter diesen Produkten und Diensten stecken? Ich bin überzeugt, dass die überwiegende Mehrheit der Menschen außerhalb der Programmierergemeinschaft nicht über diese Fragen nachdenken wird, weil:

"Das hat nichts mit mir zu tun! Ich werde nicht in diese Branche einsteigen ..."
"Nur Fachleute können das verstehen. Ich kann das nicht!"
"Solange es funktioniert, warum so viel nachdenken? Das ist zu anstrengend!"

Sie haben nicht unrecht, so zu denken, denndas Wesen der Programmierung besteht darin: einen logischen Ablauf zu entwerfen, um eine festgelegte Anforderung umzusetzen, damit Aufrufer ihr Ziel erreichen können, ohne die Implementierungsdetails verstehen zu müssen.

Da die weit gefassten Begriffe Programm und Programmierung zu allgemein sind, beziehen sich die im Folgenden genannten "Programm" und "Programmierung", um begriffliche Verwirrung zu vermeiden, speziell auf Programme, die in Computerprogrammiersprachen geschrieben und von Maschinen ausgeführt werden.

Zeit und Aufmerksamkeit freisetzen

Angenommen, Sie arbeiten seit einiger Zeit in einer Position und haben aufgrund von Erfahrung festgestellt, dass vor dem täglichen Feierabend die folgenden drei Dinge zu erledigen sind:

A. Die Tagesdaten eines bestimmten Geschäfts im Intranet-System des Unternehmens abfragen (ca. 10 Minuten)
B. Zu einem Tagesbericht zusammenstellen und archivieren (etwa 15 Minuten)
C. Die Kerndaten per E-Mail an den Vorgesetzten senden (etwa 5 Minuten)

Du kannst, nachdem du die Dinge sorgfältig geordnet hast, diesen Prozess aufschreiben, an deinen Schreibtisch kleben oder im Kopf behalten. Das ist natürlich viel besser als bei denen, die den Prozess nicht kennen; du kannst sicherstellen, dass jeder Schritt ohne Auslassung ausgeführt wird (obwohl das nicht vollständig garantiert ist). Aber obwohl du dir sorgfältig Gedanken gemacht hast, musst du diesen langweiligen Prozess trotzdem jeden Tag selbst ausführen... Moment, kann ich nicht einen Sekretär einstellen, der diese Aufgabe erledigt?


Natürlich kannst du das.Andere einzustellen ist eine Lösung, bei der Geld gegen Zeit getauscht wird.Aber dadurch entstehen gleichzeitig viele neue Probleme:

Du musst Geld ausgeben (offensichtlich)
Du musst dem Sekretär erklären, was zu tun ist, und sicherstellen, dass er es versteht (Kommunikationskosten)
Wenn der Sekretär Feierabend hat oder im Urlaub ist, musst du diese Dinge trotzdem selbst erledigen (zeitliche Einschränkung)
Du musst die Verantwortung für Fehler des Sekretärs tragen (Qualität ist nicht garantiert)
Jedes Mal, wenn der Sekretär einen Fehler macht, musst du ihn schulen (Schulungskosten)
Der Sekretär hat direkten Kontakt mit Geschäftsdaten und Informationen, und mögliche Lecks sind schwer zu verhindern (Sicherheitsrisiko)
Wenn du auf einen neuen Sekretär wechselst, muss alles oben Genannte wiederholt werden...

Wird dadurch nicht alles noch komplizierter?Die Kosten menschlicher Arbeitskraft sind zu hoch, und die angebotenen Dienste sind unzuverlässig.Aber wenn du programmieren kannst, kannst du vielleicht:

Schreibe ein kleines Programm, um den Prozess des Abfragens von Daten, Erstellens von Berichten und Versendens von E-Mails abzuschließen, und konfiguriere eine geplante Aufgabe, die täglich automatisch ausgeführt wird;
Wenn du vorsichtig bist, kannst du das Programm zuerst an deine eigene E-Mail senden lassen und es nach der Prüfung, dass es keine Probleme gibt, an den Vorgesetzten weiterleiten;
Falls nötig, kannst du das Programm auch eine Alarmbenachrichtigung an deine E-Mail oder dein Telefon senden lassen, wenn während der Laufzeit etwas Unerwartetes passiert;
Wenn du möchtest, kannst du sogar direkt die E-Mail-Berichtsfunktion zum Intranet-Bürosystem hinzufügen...

Angenommen, du hast ursprünglich 30 Minuten gebraucht, um die Prozesse A, B und C manuell abzuschließen; dann spart dir dein Programm bei jedem Lauf 30 Minuten. Wenn du drei Stunden für das Schreiben des Programms aufgewendet hast, kannst du die Kosten innerhalb einer Woche wieder hereinholen, und alles danach ist reiner Gewinn. Wenn das Programm lange genug läuft, nähern sich die amortisierten Kosten pro Lauf null an. Wie man sieht,ist Programmieren eine Lösung, bei der Zeit gegen Zeit getauscht wird.


Natürlich musst du den Prozess als ein Programm schreiben, das eine Maschine verstehen kann; wenn sich die Anforderungen ändern, musst du das Programm entsprechend anpassen; wenn während der Laufzeit ein Fehler auftritt, musst du ihn debuggen und beheben... Aber noch wichtiger:Ein Programm bekommt kein Gehalt, kann nicht kündigen, braucht keine Ruhe, bekommt keine Wutanfälle und kann keine Fehler machen. Solange dein Prozess korrekt ist und die Ressourcen, von denen er abhängt, nicht ausfallen, kann es 7*24 Stunden weiterlaufen.


Jedes Mal, wenn wir ein Programm schreiben, um eine Anforderung umzusetzen, ist es, als würden wir einen Hammer herstellen. Wenn du in Zukunft auf ähnliche Probleme stößt, kannst du diesen Hammer benutzen, um sie zu lösen. Natürlich ist der Hammer manchmal vielleicht nicht handlich und muss kontinuierlich verbessert und optimiert werden. Aber in den meisten Fällen kann dieser Hammer direkt verwendet werden. Mit anderen Worten:Du musst genau dasselbe Problem nur einmal lösen, und du wirst keine Zeit mit repetitiver Arbeit verschwenden.


Durch Programmierung kannst du einen Teil oder sogar die gesamte langweilige, repetitive Arbeit an Maschinen übergeben und dadurchdeine Zeit und Aufmerksamkeit von bestimmten Angelegenheiten befreien, um wertvollere Dinge zu tun.Zum Beispiel die Erforschung und Optimierung von Arbeitsabläufen, Zeit mit der Familie verbringen oder ein Buch lesen...

Erlebe ein "Cheat-aktiviertes" Leben

Freunde, die Online-Spiele mögen, kennen vielleicht Cheats/Plugins. Das sind kleine Programme, die neben dem Spiel laufen, um das Spielerlebnis zu verbessern. Cheats fallen im Allgemeinen in zwei Kategorien: Eine sind unterstützende Cheats, die Spieleraktionen innerhalb des Spielsystemrahmens vereinfachen und Funktionen wie Auto-Pickup, Auto-Kampf und Tastenbelegung bieten; die andere sind betrügerische Cheats, die Spielschwachstellen ausnutzen, um unfaire Vorteile zu erlangen, und Funktionen wie Kartenaufdeckung, Speed-Hack und Unbesiegbarkeit bieten.

Mit der rasanten Entwicklung der Spieleindustrie sind viele Online-Spiele heutzutage bereits mit Funktionen ausgestattet, die ursprünglich von unterstützenden Cheats bereitgestellt wurden. Unterstützende Cheats sterben allmählich aus, sodass nur noch betrügerische Cheats und eine Reihe abgeleiteter Schwarzmarkt-Industrieketten übrig bleiben, weißt du.

Wenn wir sagen, dass jemand "cheatet" (kāiguà), meinen wir eigentlich, dass seine Leistung (Menge, Geschwindigkeit, Genauigkeit...) den normalen Bereich eindeutig übersteigt. Wenn primitive Stammesmenschen auf moderne Menschen treffen, die verschiedene technologische Produkte nutzen, fühlt es sich wahrscheinlich an wie: "Verdammt, dieser Typ cheatet doch, oder?"


Du solltest wissen, dass der Grund, warum Menschen, die körperlich nicht stark sind, die Erde erobern konnten, darin liegt, dass wir Werkzeuge erschaffen und nutzen, um physiologische Grenzen zu durchbrechen und Dinge zu vollbringen, die ursprünglich unmöglich waren.Im kommenden All-Informations-Zeitalter wird die Programmierung die Hauptmethode zur Erstellung von Werkzeugen und sogar zur Nutzung von Werkzeugen sein.


Die meisten Menschen warten passiv darauf, dass andere ihre Bedürfnisse erfüllen.Sie nutzen Software, die ihnen über verschiedene Kanäle wie Empfehlungen von Freunden und Werbung zugespielt wird, und staunen dann: "Wow, sie kann sogar das!" Sie verwenden nur die Standardfunktionen, die bestehende Software bietet, und alle individuellen Sonderwünsche werden einfach aufgegeben, weil die Software sie nicht unterstützt. Das ist wie beim Kleidungskauf – die meisten Menschen kaufen nur Standardgrößen. Wenn es hier eng, dort weit, hier lang, dort kurz ist, müssen sie es einfach hinnehmen.


Darüber hinaus,Eine kleine Minderheit von Menschen wird proaktiv darüber nachdenken, wie sie ihre eigenen besonderen Bedürfnisse erfüllen kann.Sie werden sich denken: "Wenn es nur XXX-Funktionen gäbe ..." Sie werden aktiv nach Software suchen, die ihre Bedürfnisse erfüllen kann, die personalisierten Konfigurationsmöglichkeiten der Software studieren oder den Softwareentwicklern Funktionen vorschlagen. Ebenso werden Menschen, die Individualität anstreben, vielleicht einen Schneider finden, der Kleidung nach Maß anfertigt oder ändert, damit sie so gut wie möglich passt.


Nureine äußerst kleine Minderheit ist in der Lage, jene Bedürfnisse umzusetzen, die andere nicht erfüllen können.Sie können Plugins auf Basis bestehender Software entwickeln, eine Sekundärentwicklung der Software durchführen oder sogar völlig neue Software erstellen. Ebenso werden Perfektionisten vielleicht selbst Kleidung entwerfen und sie immer weiter ändern, bis sie vollkommen zufrieden sind.


Wenn gutes Englischlernen dir eine Tür zu deiner Welt öffnen und dir mehr Wahlmöglichkeiten geben kann, dannkann gutes Programmierlernen dir die Möglichkeit geben, diese Welt aus einer "Gottesperspektive" zu verstehen und zu verändern, mit nahezu unbegrenzten Möglichkeiten.Denn in Wirklichkeit wird letztendlich alles digitalisiert, und durch Programmierung kannst du Informationen in jeglicher Form verarbeiten und manipulieren – solange du es dir vorstellen kannst, kannst du es erreichen.


Möchtest du ein "Cheat"-Leben erleben? Dann fang sofort an, Programmieren zu lernen.

Eine tiefe Denkweise kultivieren

Jeder sollte Programmieren lernen, denn es lehrt einen, wie man denkt. —Steve Jobs, Gründer von Apple

Denken macht uns zu Menschen, und Programmieren ist der Akt, menschliches Denken erneut zu denken.Wir müssen nicht jede Angelegenheit klar durchdenken, um in der realen Welt zu überleben. Bei manchen Berufen, die mechanische Abläufe beinhalten, ist überhaupt kein Denken erforderlich. Doch beim Programmieren können wir das Programm erst schreiben, nachdem wir die Dinge klar durchdacht haben. Indem wir korrekte, effiziente und elegante Programme schreiben, formen wir auch unser Gehirn so, dass es klarer denkt und effizienter arbeitet.


Programmieren verlangt von uns, objektiv über das Wesen der Dinge nachzudenken und unsere Aufmerksamkeit auf die Dinge selbst statt auf ihre Beziehung zu uns zu richten.Wenn eine Frau in alten Zeiten schmutzige Kleidung am Fluss wusch, dachte sie vielleicht: „Das Flusswasser ist so kalt ... diese Kleidung hat so eine schöne Farbe ... warum ist mein Kind nur so unartig ...“ Doch wenn wir Programme für eine Waschmaschine entwerfen, denken wir nur: „Oh, da ist ein Haufen schmutziger Wäsche, der gewaschen werden muss.“ Tatsächlich werden viele Probleme, die dich lange geplagt haben, einfach und leicht zu lösen, sobald du aus dem „Ich“-Rahmen heraustrittst und dich auf „selbstloses“ Denken einlässt.


Programmieren ist der Prozess der „Materialisierung“ menschlicher Ideen, was von uns verlangt, tiefer, gründlicher und umfassender zu denken.Um eine Anforderung umzusetzen, musst du ihre Prinzipien und ihren Ablauf sehr genau verstehen; andernfalls kannst du sie nicht präzise in einer Programmiersprache beschreiben, damit eine Maschine sie ausführt. Während des Prozesses der Materialisierung treten strukturelle Mängel und logische Lücken in deinen Ideen auf natürliche Weise zutage — du wirst immer Möglichkeiten entdecken, die du nicht bedacht hast, und Details, die weiteres Nachdenken erfordern.


Programmieren verlangt von uns, Dinge und Prozesse zu zerlegen und auf verschiedenen Abstraktionsebenen vollständig und in sich stimmig zu denken, was es uns ermöglicht, Probleme von enormem Ausmaß zu lösen.Wenn wir eine Anforderung von nennenswerter Größe umsetzen, ist es unwahrscheinlich, dass wir den Hauptablauf und die operativen Details gleichzeitig betrachten, und wir können auch nicht aus mehreren Perspektiven gleichzeitig denken. Nach einer sinnvollen Zerlegung werden die feingranularen Anforderungen einfach und klar, was die Umsetzungsschwierigkeit stark verringert und zugleich ermöglicht, die Arbeit auf viele Menschen zu verteilen. In einem reifen Software- oder Internetunternehmen ist es üblich, dass über tausend Ingenieure gemeinsam dasselbe Produkt entwickeln. Kannst du dir vorstellen, dass so viele Menschen gemeinsam ein Buch schreiben?


Programmieren ist ein fortlaufender Prozess des Problemlösens und zugleich ein fortlaufender Prozess der Verfeinerung der Methodik zur Problemlösung.Ein exzellenter Programmierer ist immer ein meisterhafter Problemlöser. In jeder Phase der Programmierung – Anforderungsdefinition, Lösungsdesign, Codierung, Debugging, Fehlerkorrektur – steht man vor endlosen Problemen. Soll dieses Problem gelöst werden? Wann? Was ist seine Grundursache? Welche Aspekte müssen berücksichtigt werden? Wie sollten Abwägungen vorgenommen werden? Welche Optionen gibt es? Nach welchen Prinzipien soll ausgewählt werden? ... Die Methodik des Problemlösens könnte, wenn man sie vollständig ausbreitet, ein Buch füllen, und ich werde einen separaten Artikel darüber schreiben, wenn ich Zeit habe.

In der Zukunft besser überleben

Vor einem halben Jahrhundert arbeiteten 70% der amerikanischen Bevölkerung auf Farmen; mit der weiten Verbreitung automatisierter Landwirtschaft liegt diese Zahl heute unter 1%. —Kevin Kelly, The Inevitable

Von der Landung auf dem Mond bis zur Herstellung von Nanorobotern haben wir Dinge vollbracht, die Menschen mit bloßen Händen niemals hätten tun können, indem wir verschiedene Maschinen entworfen und eingesetzt haben. Bis heute,einfache repetitive Arbeit, die von Menschen ausgeführt wird – wie Wäschewaschen, Landwirtschaft und Fertigung –, wurde fast vollständig von Maschinen übernommen, und die Arbeit der Menschheit hat sich auf Forschung, Entwicklung und Wartung von Maschinen verlagert.Und Berufe, die komplexes Wissen und präzise Operationen erfordern – wie das Fahren von Autos und das Durchführen chirurgischer Eingriffe –, werden ebenfalls allmählich von Maschinen übernommen.


Waschmaschinen befreiten die Hände der Hausfrauen, während vollautomatische Fließbänder die meisten Fabrikarbeiter entließen. Nur in einigen Entwicklungsländern, die noch von einer demografischen Dividende profitieren (wie China und Indien), wo die Kosten für die Einführung von Technologie höher sind als die Arbeitskosten, haben manuelle Arbeitskräfte noch etwas Überlebensspielraum. Doch die Kosten der Technologie werden unweigerlich weiter rapide sinken, und das Fenster der demografischen Dividende wird sich schnell schließen. Der Wendepunkt wird bald erreicht sein.


Das Kapital hat einen eigenen Willen, und es ändert sich nicht wegen der menschlichen Natur.Wenn die Produktionsqualität gleich bleibt und die Technologiekosten deutlich niedriger sind als die Arbeitskosten, werden fast alle manuellen Arbeitskräfte ihre Arbeitsplätze verlieren. Maschinen werden niemals müde und beschweren sich nie; sie arbeiten schneller, besser und billiger als Menschen. Wie können Menschen mit Maschinen konkurrieren?


Zur selben Zeit,übernimmt künstliche Intelligenz allmählich einfache, repetitive Denktätigkeiten – wie Routenfindung und Übersetzung –, und Menschen müssen nur Befehle erteilen, Prinzipien festlegen und Entscheidungen treffen.Künstliche Intelligenz ist sogar in Bereiche vorgedrungen, die Menschen als "das, was uns zu Menschen macht" betrachteten: Schreiben, Komponieren, Malen...


Googles AlphaGo, das Lee Sedol besiegte, war ein wegweisendes Ereignis und bewies, dass künstliche Intelligenz den Menschen bereits in genau dem Bereich übertreffen kann, in dem Menschen am besten sind – dem Denken. Heute lernen die besten Schachspieler alle von KI, und tägliches Training zwischen Profispielern und KI ist zur Norm geworden. Reine Maschine schlägt reinen Menschen, und Mensch-Maschine schlägt reine Maschine – das ist seit Langem der Konsens in der Schachwelt.


Wenn die Fähigkeit der KI in einem bestimmten Denkbereich die des Menschen erreicht oder übertrifft – was in vielen Feldern bereits geschehen ist – und ihre Kosten extrem niedrig werden – was nur eine Frage der Zeit ist –, dann wird dieser Bereich, angetrieben vom Willen des Kapitals, unumkehrbar und schnell von der KI übernommen. Heute sind wir bereits daran gewöhnt, Taschenrechner zu benutzen, um unser Gehirn beim Rechnen zu ersetzen. In naher Zukunft werden wir uns auch daran gewöhnen, viele Probleme, die einst unser eigenes Denken erforderten, an künstliche Intelligenz zu übergeben, die aus unzähligen Programmen besteht. In absehbarer Zukunftwerden alle nicht kreativen Arbeitsplätze, die auf Erfahrung und Fähigkeiten beruhen, verschwinden, und die Arbeit der Menschheit wird sich auf die Erforschung, Entwicklung und Wartung künstlicher Intelligenz verlagern.


Das Zeitalter der umfassenden KI-Einführung rast mit Lichtgeschwindigkeit auf uns zu, und im nächsten Moment könnte es uns weit hinter sich lassen, sodass wir nicht einmal die Chance haben, seine Rücklichter zu sehen. Bis dahin wird fast alle Arbeit untrennbar mit künstlicher Intelligenz verbunden sein.Nur wer KI versteht, gut mit KI zusammenarbeiten kann und hilft, KI zu verbessern, wird in dieser Ära besser überleben können.

Jeder sollte so früh wie möglich mit dem Programmieren beginnen. Meine Kinder haben zu spät angefangen – ich denke, sie hätten damit beginnen sollen, als sie ihr ABC und die Farben lernten. —Barack Obama, 44. Präsident der Vereinigten Staaten

Im Artikel „Welche Sprache sollten wir in der Zukunft lernen?“ habe ich mir einst eine Gehirn-Computer-Schnittstelle vorgestellt, die in der Zukunft entstehen könnte, zusammen mit der strukturierten Sprache, die von Menschen und Maschinen gemeinsam genutzt würde und damit einherginge. Dann werden unsere Gehirne direkt mit dem Internet und der künstlichen Intelligenz verbunden sein, sodass wir die benötigten Kenntnisse und Informationen sofort in unser Gehirn herunterladen können... Wir werden gottähnliche Wesen. Aber die Voraussetzung ist, dass du eine Programmiergrundlage haben musst, um die Früchte dieser revolutionären Technologie genießen zu können.


Was, du hast bis dahin immer noch nicht programmieren gelernt? Dann kannst du dich auch gleich waschen und ins Bett gehen.

Ich weiß, du wirst fragen...

Aber ich habe nicht vor, Programmierer zu werden – ist es dann wirklich notwendig, programmieren zu lernen?

Du kannst vielleicht Auto fahren, sogar ein erfahrener Fahrer sein, der die Freude am Fahren wirklich genießt, aber das bedeutet nicht, dass du bereit wärst, Taxifahrer zu werden, oder? Ähnlich verhält es sich beim Programmierenlernen: Es bedeutet nicht unbedingt, Programmierer zu werden, aber es kann dir eine völlig neue Perspektive, tiefere Denkweisen und effizienzorientiertes Denken vermitteln – all das wird zu einer wichtigen Soft Skills für dich.In der nahen Zukunft wird Programmieren zu einer Fähigkeit werden, die jeder braucht, genau wie Englisch und Autofahren.Willst du dann der erfahrene Fahrer sein oder einer der Tramper?


„Ist das überhaupt nützlich zu lernen?“ ist eigentlich eine schreckliche Einstellung. Denn viele Dinge erscheinen im Moment nicht nützlich, die meisten Menschen geben auf, sie zu lernen, während nur wenige es mit der Haltung versuchen: „Mal sehen, wofür das nützlich sein könnte.“ Dann, eines Tages, wenn diese Fähigkeit und dieses Wissen wirklich gebraucht werden, können diejenigen, die aufgegeben haben, nur seufzen: „Wenn ich das damals nur gelernt hätte...“, während diejenigen, die sich fürs Lernen entschieden haben, positiv überrascht sein werden: „Wow, dafür kann man es auch verwenden!“...Sogenannte „Überraschungen“ und „Glück“ sind in Wirklichkeit genau das: Du hast dich bereits im Voraus vorbereitet, ohne es überhaupt zu merken.

Kann ich dann einfach jetzt hart arbeiten, um Geld zu verdienen, und später einen professionellen Programmierer einstellen?

Ja, du kannst einen Programmierer finden, der deine Ideen umsetzt, aber all die vielen Probleme, auf die wir gestoßen sind, als wir früher Sekretariatspersonal eingestellt haben, werden wieder über uns hereinbrechen. Noch wichtiger: Wenn du Programmierung nicht verstehst, kannst du vielleicht nicht einmal von vornherein eine tragfähige Idee entwickeln. So wie jemand, der noch nie ein Auto gesehen hat, nur daran denken würde, sich von jemand anderem eine schnellere Pferdekutsche bauen zu lassen.Erst wenn du die Prinzipien einer Sache verstehst, kann ihr Konzept in deinem Kopf klar werden und sich wirklich in deine kognitive Struktur integrieren.


Nur mit einem klaren Konzept kannst du darüber nachdenken und beurteilen, was es leisten kann und was nicht. Wenn das Konzept unklar ist, kannst du nicht einmal deine eigenen Bedürfnisse klar formulieren, geschweige denn mit Programmierern kommunizieren und zusammenarbeiten. Jeder Programmierer würde zusammenbrechen, wenn er mit einer Anforderung wie "baue mir ein Taobao" konfrontiert wird.

Mein Englisch ist schrecklich. Kann ich trotzdem Programmieren lernen?

Englisch ist nicht der Engpass beim Erlernen des Programmierens. Der Schlüssel liegt im Verstehen der Konzepte und Prinzipien sowie darin, deine Denkweise zu ändern.Obwohl fast alle Schlüsselwörter von Programmiersprachen auf Englisch sind, gibt es nur wenige häufig verwendete, und Bücher über populäre Sprachen haben alle übersetzte Ausgaben. Wenn du willst, kannst du sogar Variablen und Funktionen auf Chinesisch benennen. So wie du englische Spiele spielen kannst, solange du start/save/load/quit erkennst, und du ins Ausland reisen kannst, solange du sorry und how much sagen kannst.

Ich arbeite schon viele Jahre. Ist es zu spät, jetzt mit dem Lernen anzufangen? Wo sollte ich anfangen?

Es ist nie zu spät anzufangen, und natürlich: je früher, desto besser.Wang Jiangmin, der Autor der ersten chinesischen Antivirensoftware KV300, begann erst mit 38 Jahren, Programmieren zu lernen. Wie man lernt und wo man anfängt, wird in diesem Jahr mein Hauptaugenmerk sein. Bleiben Sie dran für meine nachfolgende Artikelserie. Vielleicht können Sie zuerst diese Websites ausprobieren:

http://www.codecombat.com : Lernen durch Spielen, hat eine chinesische Version, geeignet für Anfänger
http://www.khanacademy.org : Reine englischsprachige Videoanleitung, geeignet für Spitzenschüler und Personen, die Notizen machen
http://www.codecademy.com : Interaktive praktische Übung, beste Ergebnisse, erfordert aber einige Grundkenntnisse

Nachwort

Früher musste man, um einen Website-Dienst aufzubauen, professionelle Server für Zehntausende Yuan kaufen, teure Hosting- und Bandbreitenmietgebühren zahlen, professionelle Entwickler oder Teams einstellen, die ihn aufbauen, und dann durch Werbung und Marketingkampagnen Nutzer gewinnen ... Die Hürde war so hoch, dass die meisten abgeschreckt wurden, und nur Unternehmen konnten sie sich leisten.


Jetzt sind Cloud-Server sogar billiger als Heim-Breitband, verschiedene Open-Source-Technologien sind ohne Weiteres verfügbar, und offene Plattformen bieten kostenlose Nutzer und Kanäle. Eine App kann über soziale Netzwerke über Nacht landesweit viral gehen ... Mit extrem billigen, kreditkartengroßen Computern wie dem Raspberry Pi und der Tatsache, dass verschiedene Haushaltsgeräte immer intelligenter werden, ist es wirklich nicht schwer, mit Programmierung seinen kleinen kreativen Ideen Leben einzuhauchen.


Wir leben in einer Ära, in der man die Welt verändern kann, solange man bereit ist zu denken.Also, sind Sie bereit, die Welt zu verändern, oder wollen Sie warten, bis die Welt Sie verändert?

Referenzen

[1] Steve Jobs – Das verlorene Interview (1995), http://v.youku.com/v_show/id_XNDI1NjE1OTIw.html


[2] Obama: Jeder muss lernen, wie man programmiert, http://www.recode.net/2015/2/14/11559052/obama-everybodys-got-to-learn-how-to-code

Autorenbiografie: Geboren 1986, Schütze, aus Xi'an, Shaanxi. Ein Programmierer mit unabhängigem Denken und sauberem Code, mit vielfältigen Interessen. Ein Hardcore-Gamer, der im Zauberwürfel, Minesweeper, Tetris und anderen Bereichen den ersten Platz auf nationaler Ebene erreicht, mehrfach nationale Rekorde gebrochen hat und als Gast an Sendungen wie "Best Films" und "Day Day Up" teilgenommen hat. Gründer der Minesweeper-Website (saolei.net).