nachricht

onkel bob, der programmiermeister der welt: die „35-jahre-krise“ ist eine illusion, und wir „alten programmierer“ sind immer noch hier

2024-10-03

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

bob antwortetdie „35-jährige krise“ des programmierers:

denkendie vorstellung, dass programmieren nur etwas für junge leute sei, ist eigentlich eine illusion, aber es ist tatsächlich eine sehr einflussreiche illusion. diese illusion besteht, weil die nachfrage nach programmierern in den letzten 70 jahren raketenartig gestiegen ist.

tatsächlich sind wir „alten programmierer“ immer noch da, aber die zahl ist nicht so auffällig.

autor |. wang qilong

produziert von |neuer programmierer》redaktion

stellen sie sich vor, sie hätten in ihrem leben mehr als fünfzig jahre lang code geschrieben und bis zu ihrem 71. lebensjahr noch programmiert. wie würden sie die aktuelle ära der explosiven ki-programmierung sehen?

robert c. martin ist als weltberühmter programmierguru bekannt.onkel bobder alte mann (onkel bob) ist ein pionier der agilen entwicklung und designmuster. er beschäftigt sich seit 1970 mit der professionellen arbeit im bereich software. die berühmten „fünf prinzipien von solid“ sind die fünf designprinzipien im bereich der objektorientierten programmierung stammen aus seiner arbeit. die einstellung von onkel bob zur ki ist sehr zweideutig: aus praktischer sicht beklagte er sich ausdrücklich darüber.die heutige ki ist nur ein junger programmierer mit nur einem halben gehirn und wird nie wirklich wachsen.„, denn die aufgaben, die ki erledigen kann, sind recht begrenzt; doch auch wenn er über 60 jahre alt ist, hat er noch große erwartungen an die zukunft: „wenn wir irgendwann in der zukunft maschinen erschaffen, die wie menschen denken können, werden programmierkenntnisse obsolet sein.

als weltbekannter softwareentwicklungs-guru hat onkel bob in seinem meisterwerk „clean code“ einst definiert, was „clean code“ ist, und eine reihe effektiver betriebspraktiken beschrieben.

kürzlich wurde die chinesische version von onkel bobs neuestem buch „functional design: principles, patterns and practices“ veröffentlicht. viele leute fragen sich, warum dieser anführer der objektorientierten programmierung das „feindlager“ „verraten“ hat, während onkel bob auch angezeigt wurde seinen stets geradlinigen charakter und entgegnete direkt: „in den letzten jahren wurde in einigen artikeln behauptet, dass funktionale programmierung im gegensatz zur objektorientierten programmierung stehe und dass objektorientierte programmierung veraltet sei. ich war mit dieser ansicht nicht einverstanden und beschloss, dieses buch zu schreiben.

funktionale programmierung ist mehr als nur „programmieren mit funktionen“. funktionale programmierung ist programmierung ohne zuweisungsanweisungen.

sobald sie versuchen, ohne zuweisungsanweisungen zu programmieren, werden alle anderen funktionen der funktionalen programmierung von nutzen sein. wenn sie mit funktionen umgehen möchten, müssen sie die rekursion verwenden. all diese dinge ergeben sich von selbst, sobald sie sich entscheiden, keine werte zuzuweisen. darum geht es also bei der funktionalen programmierung.

——„funktionales design“, robert c. martin

die obigen bemerkungen stammen alle aus dem interview mit uncle bob von csdn „new programmer“. wir tauschten uns intensiv mit diesem „lebenden fossil der agilen entwicklung“ aus und hörten uns seinen persönlichen bericht darüber an, wie er als einer der 17 führenden köpfe der softwarebranche vor 23 jahren (2001) das „agile manifest“ mitveröffentlichte.historische detailsaußerdem lernte er von diesem leitenden programmierer mit mehr als 50 jahren entwicklungserfahrung die neuesten ansichten zur ki-programmierung, was die früheren ansichten vieler menschen über onkel bob auffrischte.historischer eindruck. der folgende artikel beginnt mit onkel bobs erinnerungen an das jahr 1970 und führt die leser zurück in die „alte ära der programmierer“, als selbst das world wide web noch nicht geboren war.

über 50 jahre programmiererfahrung

„neuer programmierer“: könnten sie sich bitte vor beginn des interviews kurz vorstellen?

onkel bob:okay, mein name ist bob martin. manche leute nennen mich onkel bob. ich bin schon lange programmierer.mehr als fünfzig jahre.als ich anfing zu programmieren, waren computer groß genug, um einen großen raum zu füllen, und teuer, sodass sie mehrere millionen dollar kosteten.

ich habe mit einer vielzahl von programmiersprachen gearbeitet, darunterassemblersprache, cobol, fortran, pl/i, c, c++, pascal, java, c#warten. im laufe der jahre war ich an der entwicklung einer vielzahl von systemen beteiligt, von finanzsystemen bis hin zu eingebetteten echtzeitsystemen und prozesskontrollsystemen. daher kann man sagen, dass ich über umfassende erfahrung in dieser branche verfüge.

darüber hinaus habe ich mehrere bücher verfasst, darunter clean code (sauberer code), „der weg zur sauberen architektur“ (saubere architektur), und das buch, über das wir heute sprechen, heißt „funktionelles design》(funktionelles design)。

„neuer programmierer“was machen sie neben dem schreiben von büchern in ihrer freizeit? übrigens habe ich oft ihr twitter gelesen und festgestellt, dass etwa 50 % ihrer tweets soziale nachrichten über die us-wahl und trump sind und die anderen 50 % sich um technische inhalte, programmierung und ihre ansichten zu code drehen.

onkel bobin der tat. in jahren außerhalb der wahlen drehen sich etwa 90 % meiner tweets um software. da dies jedoch ein wahljahr ist, gibt es mehr inhalte zu anderen themen. wenn ich nicht gerade bücher schreibe oder programmiere, mache ich viele dinge. ich fahre gerne fahrrad und reise viel herum. ich bin auch pilot und habe viel spaß daran, in meinem eigenen flugzeug herumzufliegen. ich habe eine riesige familie mitvier kinder und zehn enkelkinder.normalerweise besuche ich sie so oft wie möglich, sodass ich meine zeit sehr gut einteilen kann.

„neuer programmierer“: bitte bringen sie uns zurück zum ausgangspunkt ihrer programmierkarriere und erzählen sie uns die geschichte, als sie 1970 mit ihrer arbeit als programmierer begannen. sie waren damals 18 jahre alt und die ersten sprachen, die sie lernten, waren assembler und cobol. können sie über ihre erfahrungen sprechen, als sie anfingen?

onkel bob: nun ja, damals gab es noch nicht viele college-kurse. ich hatte damals kein interesse an der schule. zu dieser zeit tobte der vietnamkrieg und es kam zu vielen unruhen und unruhen auf dem campus. und,ich habe viel über computerprogrammierung gelernt und habe cobol und fortran und sogar mehrere computer-assemblersprachen gelernt. daher glaube ich nicht, dass es eine notwendigkeit gibt, aufs college zu gehen

was den beginn meiner karriere als programmierer betrifft, so begann alles damit, dass meine mutter mir mit 12 jahren einen kleinen plastikcomputer kaufte. dieses spielzeug hat drei flip-flops und sechs und-gatter, und sie müssen einen kleinen hebel drehen, um es zu bedienen. einige gummibänder und hebel im inneren bewegen die teile und ermöglichen so einfache berechnungen, wie zum beispiel das zählen von 0 bis 7, oder zählen ab 7. der zähler geht auf 0 zurück. darüber hinaus können sie es auch so programmieren, dass zwei bits hinzugefügt werden, um ein summenbit und ein übertragsbit zu erzeugen. ich habe sogar viele interessante programme darauf geschrieben – der programmiervorgang besteht darin, eine kleine röhre hinzuzufügen. diese röhren werden in den riegel eingefügt verhindert, dass die stange in den schlitz eindringt, wodurch sich der zustand des abzugs ändert.

also verbrachte ich ein paar wochen damit, zu lernen, wie man diesen spielzeugcomputer zum laufen bringt, und wurde durch diesen prozess programmierer.seitdem bin ich programmierer

das war mein ausgangspunkt, und dann kaufte mein vater viele bücher über computer und programmiersprachen, um mir so viele informationen wie möglich zu geben. dann, im alter von 16 jahren, bekam ich einen job als programmierer und schrieb programme für den honeywell 200. der job dauerte zwei oder drei wochen, als ichimmer noch ein teenagerich habe es in den sommerferien gemacht und es hat so viel spaß gemacht.

ungefähr zwei jahre später, als ich 18 war, bekam ich einen vollzeitjob als autor von assemblersprachen und cobol für ibm 360. bald darauf begann ich, viele mikrocomputer in assembler zu programmieren. zu der zeit, als diese computer von der varian corporation hergestellt wurden, bauten viele unternehmen damals mikrocomputer, aber nur wenige waren erfolgreich, und es war die digital equipment corporation (dec), die das gebiet dominierte. anschließend erlangte ich große erfahrung in der programmierung der geräte pdp 8 und pdp 11, die in den frühen 1970er jahren hergestellt wurden.

„neuer programmierer“: die 1970er jahre waren eine wirklich interessante zeit. das world wide web war noch nicht erfunden, usenet jedoch ersterscheinen. sie sind einer der ersten usenet-benutzer der welt, und ich habe auch erfahren, dass ihnen der spitzname „onkel bob“ ursprünglich von einem kollegen im unternehmen gegeben wurde. später haben sie diesen spitznamen fälschlicherweise als signatur im usenet verwendet und schließlich wurde der name erfolgreich von einem spitznamen in ihren richtigen namen geändert. können sie die geschichte teilen?

onkel bob: ich arbeitete bei einem startup namens clear communication, was der beginn meiner karriere warvierter stopp, irgendwann zwischen 1987 und 1989. dort gab ein kollege jedem einen spitznamen, meiner war „onkel bob“. anfangs war es etwas nervig, weil er mich immer mit diesem spitznamen nannte: „onkel bob, was ist damit?“ „onkel bob, was ist damit?“

ich verließ diese firma und wurde beraterin, und niemand nannte mich mehr „onkel bob“. es stellte sich heraus, dass ich den titel irgendwie übersehen habe, also habe ich den fehler gemacht, ihn meiner e-mail-signatur hinzuzufügen.

ich war damals sehr aktiv im usenet und veröffentlichte oft artikel in newsgroups wie comp.object und comp.lang.c++, und den leuten fiel „onkel bob“ in meiner signatur auf. ich war einmal auf einer c++-konferenz, wahrscheinlich um 1990, und jemand zeigte von der anderen seite des saals auf mich und sagte: „schau, das ist onkel bob!“ ich dachte: „oh mein gott, ich habe einen fehler gemacht, ich sollte meinen fehler wirklich ändern.“ - aber dann wurde mir klar, dass „uncle bob“ eigentlich eine gute marke sein würde, also habe ich sie behalten.

„neuer programmierer“: usenet kann als das erste soziale medium angesehen werden, an dem sie teilnehmen. wie viele legendäre entwickler nehmen sie gerne an verschiedenen communities oder foren teil. ich habe sie einmal auf hash note posten sehen: „ich bin robert martin. sie können mir damals aktiv fragen stellen.“ das gespräch. nun scheint diese kommunikation hauptsächlich über twitter stattzufinden.

onkel bob:rechts,twitterjetzt meine wichtigsten sozialen medien. ich nutze auch facebook, aber hauptsächlich, um mit familie und freunden in kontakt zu bleiben.

„neuer programmierer“: anfangs haben sie sich zu c und c++ hingezogen gefühlt, aber sie haben auch erwähnt, dass sie aus interesse sprachen wie snobol, focal, alcom und basic ausprobiert haben. welche anderen programmiersprachen können ihrer meinung nach als „interessant“ bezeichnet werden? welche der neuen programmiersprachen, die in den letzten jahren entstanden sind, finden sie interessant?

onkel bob: die sprache, die ich im moment am interessantesten finde, istclojure, eine sprache, in deren erlernen ich viel zeit investiert habe. das hat mich überrascht, denn clojure ist es tatsächlichlispelnein lisp-dialekt, von dem ich nie gedacht hätte, dass ich ihn lernen würde.

in den ersten dreißig jahren meiner karriere habe ich nie daran gedacht, lisp zu lernen, weil ich es für eine schreckliche sprache hielt – weil ich sie natürlich überhaupt nicht verstand. bis ich eines tages ein buch mit dem titel „die struktur und interpretation von computerprogrammen“ las. die in dem buch verwendete sprache war lisp, was mich sofort anzog. plötzlich wurde ich ein großer fan von lisp. ich möchte einen findenmöglichkeiten, lisp in ihrem täglichen leben zu nutzen, also traf ich clojure.

clojure-äquivalentein lisp-dialekt, der auf der jvm (java virtual machine) ausgeführt werden kann., es war perfekt für mich, also begann ich, clojure zu programmieren und hatte spaß daran, es war ein toller zeitvertreib für mich.

darüber hinaus gibt es noch weitere interessante sprachen wie zweiter, eine auf postfix-ausdrücken basierende stapelsprache, die sich von allen sprachen unterscheidet, die ich jemals verwendet habe, und sehr interessant ist.prologes ist auch eine sehr interessante sprache. sie müssen der maschine nicht direkt sagen, was richtig ist, sondern lassen sie die maschine das richtige ergebnis erzielen, indem sie es lösen. insgesamt handelt es sich um sehr interessante sprachen, die jeder ausprobieren sollte, da sie sehr einzigartig sind.sobald sie eine ganz andere sprache lernen, ändert sich ihre gesamte einstellung zum code

wenn maschinen wie menschen denken, werden programmierkenntnisse obsolet

„neuer programmierer“: ich verstehe einige ihrer vorherigen kommentare zum ki-code. ihrer meinung nach sind große sprachmodelle manchmal gut und manchmal dumm. obwohl die code-erklärung der ki ein wenig geholfen hat, haben sie dennoch gesagt, dass man ihr nicht blind vertrauen sollte.

onkel bob: ja, programmiereres ist leicht, sich übermäßig auf tools wie copilot zu verlassen und den von ihnen generierten code unkritisch zu akzeptieren, wenn man ihn sieht, und das ist gefährlich. sie müssen kritisch sein, und während einige dieser codes in ordnung sind, müssen sie bei ki-generiertem code meistens sehr vorsichtig sein. mein vorschlag ist also:seien sie vorsichtig, verwenden sie es wie ein werkzeug und denken sie immer daran, dass werkzeuge ihnen schaden können, wenn sie falsch verwendet werden.

„neuer programmierer“: wie sollten programmierer, die gerade erst anfangen zu lernen, ki nutzen, um zu wachsen? ich habe in interviews zwei völlig unterschiedliche ansichten gehört. die eine ist, dass unerfahrene programmierer die ki voll und ganz annehmen sollten. die andere ist, dass die ki junge programmierer zerstören wird, weil diese leute nicht in der lage sind, die qualität des ki-codes zu beurteilen.

onkel bob: genauso wie nachwuchspiloten keinen autopiloten verwenden sollten.bitte lernen sie zunächst, wie man ein flugzeug steuert, und verwenden sie dann den autopiloten, wenn sie nicht auf details achten müssen. dasselbe gilt auch für ki.nachwuchsprogrammierer sollten sich zu beginn nicht auf ki verlassen, da sie noch nicht wissen, wie sie die qualität des ausgegebenen codes beurteilen sollen. oft ist dieser code nicht nur schlecht, er ist einfach falsch und funktioniert überhaupt nicht.

was mich wirklich beunruhigt, ist, wenn nachwuchsprogrammierer eine aufgabe erhalten und sie sich dafür entscheiden, diese mithilfe von ki umzusetzen. nachdem die ki den code gegeben hat, werden diese neulinge immer denken: „nun, es wurde von der ki gegeben, es muss in ordnung sein“ und verlieren dann ihren job. mein vorschlag ist also:sie sollten den einsatz von ki in den ersten jahren ihrer karriere sogar reduzieren

„neuer programmierer“: heutzutage werden immer mehr ki-generierte codes in verschiedenen projekten verwendet. wie bringen sie codequalität und produktionseffizienz in einklang?

onkel bob:meine art zu balancieren istverwenden sie ki, um zuerst code zu generieren und ihn dann zu bereinigen. ich werde nicht zulassen, dass dadurch schlechter code in das projekt eingeschleust wird. wenn also der von der ki generierte code funktioniert und meine tests besteht, werde ich ihn ohne zu zögern umgestalten, bereinigen und verbessern. zum beispiel das ändern der benennung, das extrahieren einiger funktionen, das anpassen der struktur usw.

weil ich nicht erwarte, dass ki großartigen code generiert. also werde ich es bereinigen und in meinen eigenen code umwandeln. auf diese weise ist es mein projekt und der code, den ich geschrieben habe.

„neuer programmierer“: vor etwa fünf jahren hat sie jemand gefragt: „welche trends in der softwareentwicklung werden überbewertet?“ und sie haben microservices verflucht.gibt es in fünf jahren noch andere trends, die überbewertet sind?

onkel bobder derzeit überbewertete trend ist natürlich die generative ki, daran besteht kein zweifel. es ist neu und alles neue wird überbewertet. in fünf jahren wird jeder zurückblicken und sagen: „wir haben es wahrscheinlich überschätzt.“

„neuer programmierer“: ihr alter bekannter kent beck hat etwas gesagt, als die ki-welle anstieg. er sagte, er habe chatgpt widerwillig genutzt und festgestellt, dass 90 % seiner fähigkeiten nun wertlos seien, während der wert der restlichen 10 % um das tausendfache gestiegen sei. wie hilfreich kann generative ki sein?

onkel bob: ehrlich gesagt glaube ich nicht, dass ki besonders nützlich ist. im einfachsten fall kann es einigermaßen hilfreich sein. wenn ich zum beispiel eine sehr einfache codierungsarbeit erledigte, gab mir die ki etwas code, den ich mir ansah und der meinung war, dass er in ordnung sei, also arbeitete ich weiter daran. dann arbeitet die ki oft je nach kontext weiter, bis die ki, sobald es interessant wird, immer unzuverlässiger wird –je komplexer etwas ist, desto weniger hilfreich ist es

ki kann mit kleinen dingen umgehen, aber überhaupt nicht, wenn ich möchte, dass sie das design umgestaltet und verbessert. darüber hinaus kann ki beim schreiben von tests nicht viel helfen.

„neuer programmierer“: sie haben bereits gesagt, dass es noch lange dauern wird, bis programmierschulen obsolet werden. wird es einen bestimmten zeitpunkt geben, der diesen moment identifiziert? gibt es ein ende der technologie?

onkel bob: das ist eine interessante frage, aber ich würde sie aus einer science-fiction-perspektive betrachten.wenn wir irgendwann in der zukunft maschinen erschaffen, die wie menschen denken können, werden programmierkenntnisse obsolet sein. aber seien wir ehrlich: dann werden alle fähigkeiten obsolet.ich bin mir also nicht sicher, ob ich mich darauf freuen kann. wenn es passieren wird, ist es meiner meinung nach sehr, sehr weit in der zukunft. wissen sie, das menschliche gehirn ist viel komplexer als das gesamte internet.

„neuer programmierer“: tatsächlich erinnert mich das daran, dass sie auch gesagt haben, dass jeder zu asimov zurückkehren solltedrei gesetze der robotik, selbst wenn dadurch eine rasse von „robotersklaven“ entstehen würde. wie verstehen sie künstliche allgemeine intelligenz (agi) aus philosophischer sicht?

onkel bob: ja, obwohl ich denke, dass es kurzfristig nicht zu erreichen ist, verfügen wir bereits über gentechnologie. wenn wir jemals bewusste maschinen für unser eigenes überleben erschaffen, denke ich, dass so etwas wie asimovs drei gesetze absolut notwendig sein werden.

„neuer programmierer“: auf dieser grundlage sollte ki seinopen sourcedamit das nicht passiert? brauchen menschen offene ki oder geschlossene ki?

onkel bob: verschiedene unternehmen möchten auf jeden fall ihre eigenen geheimnisse bewahren, und ich glaube nicht, dass daran an sich etwas auszusetzen ist.das eigentliche problem der ki ist der energieverbrauch.der energieverbrauch ist sehr hoch und wird mit der weiterentwicklung der technologie weiter zunehmen. dadurch sind die kosten recht hoch. wir müssen also sehen, wie weit sich die ki heute entwickeln kann und wie gut diese großen sprachmodelle funktionieren können. allerdings verbrauchen sie, genau wie kernkraftwerke, viel energie.

der „handwerkergeist“ der programmierer

„neuer programmierer“: lasst uns von der ki abstand nehmen und über themen zwischen menschen reden.

jemand hat einmal gefragt: „wer ist ihr mentor im leben?“ und ihre antwort war: „bücher sind mein mentor.“ durch bücher haben sie herausragende persönlichkeiten wie martin fowler und kent beck kennengelernt und sogar mit diesen beiden zusammengearbeitet. so, wie in diesem jahreiner der 17 personen, die das agile manifest erstellt haben, kannst du verraten, wie deine beziehung aussieht?

onkel bob: früher hatten wir oft viele meetings zum thema software, mittlerweile gibt es deutlich weniger solcher meetings. ich nehme an verschiedenen arten von konferenzen teil, z. b. c-sprachkonferenzen, designmusterkonferenzen und einigen allgemeinen konferenzen zur softwareentwicklung. durch diese aktivitäten habe ich viele menschen kennengelernt.

ich habe mich zum beispiel auf einer design-pattern-konferenz kennengelerntkent beck, traf sich auf einer frühen extreme programming-konferenzmartin fowler. die meisten dieser menschen habe ich persönlich kennengelernt. sie waren sowohl meine partner als auch meine mentoren. ich habe viel von ihnen gelernt. sie sind auch meine kollegen, und wir lernen und machen gemeinsam fortschritte. vieles, was ich gelernt habe, stammt aus programmierbüchern aus den 1960er und 1970er jahren, beispielsweise donald knuths „the art of computer programming“, und bücher aus dieser zeit waren für mich sehr wichtige informationsquellen.

als ich ungefähr 30 jahre in meiner karriere war, begann ich, konferenzen zu besuchen und menschen persönlich zu treffen, und in diesem umfeld gründeten wiragiles treffen. die meisten leute, die an agile-konferenzen teilnahmen, kannte ich schon vorher, entweder durch korrespondenz oder durch treffen auf konferenzen.

„neuer programmierer“: wir können oft einen standpunkt sehen, nämlich: „ist agile entwicklung wirklich anwendbar?“

es gab eine zeit, in der viele entwickler eine schnelle bereitstellung anstrebten und die qualität der software ignorierten. dies könnte ein missverständnis von agilität sein.

onkel bob: das ist in der tat ein missverständnis von agilität. bei agilität geht es nicht darum, schneller zu sein, sondern darum, zu verstehen, wo man steht. sie betreiben agile entwicklung, damit sie genau wissen, wie groß ihre fortschritte sind, wie schnell sie vorankommen und ob sie ihre fristen einhalten. mit anderen worten: agile ist eine großartige möglichkeit, ihnen zu helfen, zu verstehen, wie groß die schwierigkeiten sind, in denen sie stecken. es stellt sicher, dass sie nicht überrascht sind, wenn fristen verschoben werden, und es gibt jedem eine klare vorstellung vom fortschritt, da wir möglicherweise nicht so schnell sind, wie wir denken.

viele leute glauben fälschlicherweise, dass agilität eine schnelle methode ist, und manche leute vermarkten es auch als schnelle methode, aber das ist immer ein missverständnis.agilität ist kein weg, dich schneller zu machen, sondern ein weg, dich wissen zu lassen, wie schnell du bist.agile ist also nicht veraltet; es ist keine veraltete technologie. wenn sie den tatsächlichen fortschritt und das fertigstellungsdatum ihres projekts wissen möchten, ist agile eine hervorragende möglichkeit, dies zu tun.

„neuer programmierer“: einer ihrer tweets hat mich sehr berührt: „agility wurde ursprünglich von gegründetentwicklereingeleitet, aberprojektmanagerdas eingreifen in den frühen stadien der agilen bewegung zerstörte die ursprüngliche zusammenarbeit. „können sie mir die geschichte erzählen?

onkel bob: tatsächlich wurde die agile bewegung ursprünglich von einer gruppe von menschen ins leben gerufenprogrammierereingeleitet. siebzehn teilnehmer trafen sich im snowbird resort, um das agile manifest zu erstellen. wir sind alle programmierer oder haben zumindest einen ausgeprägten technischen hintergrund. diese bewegung begann nicht aus der perspektive des projektmanagements, sondern einer der gründer, ken schwaber, beschloss, einen kurs namens „zertifizierung“ zu startenscrum master(scrum master)“-kurs. dieser kurs soll personen schulen, die scrum master werden möchten, und ihnen beibringen, wie sie das team bei der anwendung unterstützen könnenscrum-methode——dies ist ein modell der agilen entwicklung.

projektmanager zeigten großes interesse und meldeten sich für solche kurse an. da die meisten teilnehmer eher projektmanager als programmierer waren, entstand daraus das originaldie von entwicklern ins leben gerufene bewegung wandelte sich nach und nach in eine von projektmanagern geführte bewegung.die programmierer waren unzufrieden, weil sie das gefühl hatten, von dieser initiative ausgeschlossen zu werden.

um dieses problem zu lösen, startete eine gruppe von unssoftware-handwerksbewegung(software craftsmanship) und veröffentlichte das craftsmanship manifesto, um projektmanager und entwickler wieder zusammenzubringen. dies führte jedoch nicht zu nennenswerten ergebnissen.

letztendlich haben wir eine „offizielle agile bewegung“, die sich auf projektmanagement konzentriert, und eine tatsächliche, von entwicklern geleitete agile bewegung unterschieden. letzterer ist weiterhin bestrebt, prägnant und geordnet zu arbeiten und seine position und entwicklungsrichtung zu klären.

„neuer programmierer“: welche bedeutung hat die rolle des scrum masters? in welcher hinsicht ist diese rolle wichtig? wie kultivieren wir einen exzellenten scrum master?

onkel bob: der scrum master wurde ursprünglich als mitglied des teams konzipiert, das dafür verantwortlich ist, andere mitglieder an die verpflichtungen zu erinnern, die bei der verwendung von scrum- oder agile-methoden eingegangen werden. zu den aufgaben gehört die wöchentliche überprüfung des fortschritts des teams, beispielsweise die bestätigung, dass der testcode wie geplant geschrieben wurde und dass vorgegebene schätzmethoden befolgt wurden. diese rolle wird innerhalb des teams rotiert, normalerweise zwischen verschiedenen mitgliedern. in ausgereiften teams besteht nach mehrwöchiger übung keine notwendigkeit für die überwachung durch einen dedizierten scrum master, da die teammitglieder bereits in der lage sind, den etablierten prozess bewusst auszuführen.mit der einbeziehung des projektmanagers entwickelte sich diese rolle jedoch nach und nach zu einer projektmanagementfunktion, was weit von der ursprünglichen absicht des scrum masters entfernt ist.dadurch hat sich die rolle des scrum masters heute deutlich verändert.

„neuer programmierer“: sie haben gerade die geschichte der software-handwerkskunst erwähnt, was mich daran erinnert hat, dass ihre signatur auf twitter auch lautet: „handwerkskunst„(handwerkskunst), das ist ein sehr altes wort, heute sollte es übersetzt werden als „handwerkergeist”。

wie ist dieses wort zu verstehen? bleibt in der schnell wachsenden branche von heute wirklich keine zeit, sich auf qualität zu konzentrieren? mit fortschreitender ki scheint die softwarebereitstellung schneller zu werden. ich denke, ki wird helfen, stimmt das?

onkel bob: diese großen sprachmodelle sind wirklich interessante werkzeuge und ich denke, dass sie für programmierer hilfreich sein werden. aber sie werden die programmierer nicht ersetzen und nicht die gesamte codierung übernehmen. sie sind nicht gut darin, code zu schreiben, aber sie können einige interessante vorschläge machen. also denke ichsie werden nützlich sein, aber nicht so weit, dass wir keine programmierer mehr brauchen.

was das handwerk betrifft, so ist es eine einstellung, eine einstellung zur arbeit. am besten lässt es sich so erklären: wenn man von einem langen arbeitstag nach hause kommt und in den spiegel schaut, kann man sich sagen: „ich habe heute einen tollen job gemacht und bin stolz auf meine arbeit.“die art und weise, wie sich ein handwerker verhält.handwerker sind mit der qualität ihrer arbeit zufrieden. sie sind fleißig und diszipliniert, um qualitativ hochwertige arbeit zu leisten. dies ist der kern des software-handwerks.

natürlich können wir viele technologien und methoden diskutieren, wie zum beispiel testgetriebene entwicklung (tdd), einfaches design, solid-prinzipien usw. es gibt viele technologien und konzepte. aber der grundgedanke ist, dass man sich am ende eines jeden tages sagen kann: „ich habe heute einen tollen job gemacht.“ leider gehen viele programmierer nach hause, schauen in den spiegel und haben das gefühl, dass sie ein bad nehmen müssen weil sie das gefühl haben, einen schlechten tag gehabt zu haben. sie haben eine menge schlechten code geschrieben, nur um eine frist einzuhalten, und sie müssen diese schlechten gefühle loswerden. darum geht es bei der handwerkskunst: nach hause zu gehen mit dem wissen, gute arbeit geleistet zu haben und stolz auf die arbeit zu sein.

„neuer programmierer“: ihr buch „the way to clean code“ (sauberer code) spiegelt auch das prinzip der handwerkskunst wider. konzentriert sich das sogenannte „tao“ des sauberen codes mehr auf die implementierung von geschäftslogik als auf die systemprogrammierung? oder gibt es keinen unterschied zwischen den beiden?

onkel bobbei clean code handelt es sich um eine reihe von konzepten und techniken, die ihnen helfen, wie ein handwerker zu arbeiten, sodass sie stolz auf ihre arbeit nach hause gehen können.dabei spielt es keine rolle, ob sie geschäftslogik implementieren oder systemprogrammierung betreiben. es handelt sich lediglich um eine reihe von techniken und konzepten, die ihnen dabei helfen, ihre arbeit gut zu erledigen und für ein zufriedenes gefühl zu sorgen.

„neuer programmierer“: ich habe zuvor festgestellt, dass viele leute denken, dass sauberer code viel bedeutet, egal ob es sich um die entwicklergemeinschaft in china oder den vereinigten staaten handeltabstrakt. wie vermeiden wir also, übermäßig gestalteten und übermäßig abstrakten code zu schreiben?

onkel bob: ja, das ist ein sehr seltsames phänomen, denn mein buch selbst empfiehlt weder übermäßige abstraktion noch befürwortet es viel abstraktion. was das buch vorschlägt, ist:verwenden sie abstraktionen sparsam und angemessen, ein übermäßiges design wird jedoch nicht empfohlen. anscheinend gibt es einige programmierer, die glauben, dass jede form vonindirektsind alle schlecht, sie denken, der einzige weg, guten code zu schreiben, besteht darin, es zu versuchendirekt. ich stimme dieser ansicht nicht zu. ich denke, ein moderates maß an indirektion und abstraktion kann hilfreich sein, aber man muss sehr vorsichtig sein, denn abstraktion hat ihren preis. nutzen sie also die abstraktion, wenn sie zur lösung eines problems beiträgt, aber seien sie sich der kosten bewusst und gehen sie sparsam damit um.

„neuer programmierer“: vermutlich ist das der grund, warum sie vor einiger zeit gesagt haben, dass sie eine neue version von „code cleanliness“ herausbringen würden. kann ich das als bereinigen der quelle verstehen? aber da sie beschlossen haben, das buch komplett neu zu gestalten und zu schreiben, warum geben sie ihm nicht einen neuen namen?

onkel bob: der titel des buches wurde vom verlag vor allem gewählt, um das kernkonzept von „clean code“ zu wiederholen, verwendete jedoch andere ausdrücke und ging auf das thema aus verschiedenen blickwinkeln ein.

das originalbuch wurde vor 16 oder 17 jahren für das damalige publikum geschrieben. und jetzt schreibe ich dieses buch für die heutigen leser. es wird es versuchenlösen sie noch heute häufiger auftretende probleme. ich würde eine andere sprache verwenden und andere methoden anwenden, um den inhalt weniger direktiv und informativer zu gestalten und zu versuchen, denselben punkt auf unterschiedliche weise zu vermitteln. die botschaft ist dieselbe, nur anders ausgedrückt. ich denke, diese beiden bücher werden sich letztendlich ergänzen und die leser sollten sie beide lesen.

ai ist ein junger programmierer mit nur einem halben gehirn

und wächst nie wirklich

„neuer programmierer“: lassen sie uns über ihr neues buch „functional design“ sprechen. zunächst einmal: warum wollten sie dieses buch schreiben?

onkel bobdie funktionale programmierung hat im letzten jahrzehnt an bedeutung gewonnen. obwohl sich die menschen seit etwa 2005 mit der funktionalen programmierung beschäftigen, handelt es sich tatsächlich um ein älteres konzept, das seit 1936 als mathematische sprache existiert und eine der frühesten programmiersprachen funktional war.

in der anfangszeit war die ausführung funktionaler sprachen teuer, langsam und erforderte viel speicher. dank der fortschritte bei der rechenleistung und den speicherressourcen sind die kosten für die funktionale programmierung jedoch mittlerweile nahezu vernachlässigbar. dies bringt die vorteile der funktionalen programmierung mit sich, insbesondere wenn es um multithread-programmierung geht. mit der funktionalen programmierung können sie multithread-code schreiben, ohne sich gedanken über race conditions oder gleichzeitige aktualisierungen machen zu müssen. dies liegt daran, dass die funktionale programmierung keine zuweisungsanweisungen enthält und den status von variablen nicht ändert.

als ich clojure lernte, fand ich, dass es eine unterhaltsame art ist, zu programmieren und probleme zu lösen. ich denke, es sollte mit anderen tools wie objektorientierter programmierung und strukturierter programmierung kombiniert werden.in den letzten jahren wurde jedoch in einigen artikeln behauptet, dass die funktionale programmierung im gegensatz zur objektorientierten programmierung stehe und dass die objektorientierte programmierung veraltet sei. ich war mit dieser ansicht nicht einverstanden und beschloss, dieses buch zu schreiben.

buchcover von „funktionales design: prinzipien, muster und praxis“

in diesem buch wird erläutert, wie funktionale programmierung, objektorientierte programmierung und strukturierte programmierung zusammenarbeiten, um bessere systeme zu erstellen. es beginnt mit grundlegenden konzepten, baut nach und nach designprinzipien und -muster auf und kombiniert sie schließlich zu einer vollständigen kleinen anwendung. ich hoffe, dass die leser es verstehenfunktionale programmierung existiert nicht isoliert, das mit allem funktioniert, was wir in den letzten 50 jahren gelernt haben.

„neuer programmierer“: ich habe auch viele fragen zum neuen buch von der csdn-entwickler-community gesammelt, und die meisten leute sind am meisten neugierig, warum sie sich entschieden habenclojureanstatt scala den code in das buch zu schreiben? liegt es daran, dass sie eine funktionalere sprache verwenden möchten, die keine klassen und vererbung unterstützt, um zu beweisen, dass ihre solid-prinzipien auch im funktionalen design gelten?

onkel bob: teil des grundesin der tat. obwohl clojure keine „reine“ funktionale sprache ist, eignet sie sich sehr gut zum schreiben funktionaler programme. es gibt jedoch noch einen weiteren, vielleicht wichtigeren grund, warum ich mich für clojure entschieden habe, und zwarclojure ist sehr einfach

was ich in diesem buch vermitteln möchte, ist die idee der funktionalen programmierung und nicht das lehren einer komplexen funktionalen programmiersprache. vor allem möchte ich keine sprache mit komplexer grammatik unterrichten. die syntax von clojure ist sehr einfach und weist fast keine komplexe syntax auf. clojure zu erlernen ist einfach und sie können es meistern, indem sie den clojure-code lesen.

wenn ich also code in dem buch zeige, erkläre ich nicht im detail, wie clojure funktioniert, sondern erkläre stattdessen einige grundlegende konzepte und lasse den leser den größten teil des rests herausfinden. ich empfehle interessierten lesern auch einige andere dokumente als referenz. aber insgesamt ist clojure sehr einfach zu verstehenleser, die nicht viel über clojure oder funktionale programmierung wissen, können sich mehr auf die konzepte der funktionalen programmierung konzentrieren, ohne sich mit der sprache selbst zu beschäftigen.

„neuer programmierer“: ich erinnere mich, dass sie einmal auf twitter gesagt haben, dass jemand, der in ihrem nächsten buch erwähnt werden möchte, einen code einreichen kann, den er für den besten hält. kommt das oft vor? wie viele personen reichen normalerweise code ein? können auch chinesische entwickler einreichen?

onkel bobja, ich habe das getwittert und einige antworten bekommen. manche leute senden codeschnipsel über github-links oder direkt. ich werde wahrscheinlich einen teil dieses codes in einem kommenden buch verwenden.wenn chinesische entwickler code einreichen möchten, den sie für sehr ordentlich halten, würde ich das gerne in betracht ziehen.aber ich kann nicht versprechen, den code aller zu verwenden, da die länge eines buches begrenzt ist und ich nicht den code aller darin unterbringen kann.

„neuer programmierer“: haben sie innovative ideen für digitale lehrbücher und online-lernplattformen? heutzutage scheinen die menschen weniger bereit zu sein, gedruckte bücher zu lesen. wie werden diese neuen formate die art und weise, wie programmieren gelehrt und gelernt wird, revolutionieren? wie wollen sie der nächsten generation das programmieren beibringen?

onkel bob:in der tat,wir befinden uns jetzt im digitalen zeitalter, in dem die aufmerksamkeitsspanne auf weniger als 20 minuten geschrumpft ist. aber wenn sie wirklich etwas lernen wollen, müssen sie langsamer werden und sich auf ihr studium konzentrieren. mehrere meiner letzten bücher sind mit dabeivideoinhalt: leser können über die url im buch live-demonstrationen von programmiersitzungen ansehen. diese kombination aus text und video ist sehr effektiv.

darüber hinaus ist ein weiterer interessanter wegonline-vorlesung. wenn sie beispielsweise das gedruckte material gelesen haben, werden sie vom buch aufgefordert, eine bestimmte url aufzurufen, um die entsprechende vorlesung anzusehen. ich denke, diese methoden sind sehr nützlich.

ich glaube nicht, dass die zeiten der papierbücher vorbei sind. sie können in e-books, pdfs oder online-reader-versionen umgewandelt werden, aber lehrbücher werden nicht verschwinden. text ist ein medium mit einer sehr hohen informationsdichte, die dichter ist als videos oder vorträge, und es ist auch bequemer, den lernfortschritt zu kontrollieren. daher denke ich, dass es effektiver sein könnte, verschiedene lernformate zu kombinieren, bei denen sowohl text als auch video zum einsatz kommen.

„neuer programmierer“: ihr buch richtet sich an leser aller erfahrungsstufen, vom anfänger bis zum erfahrenen profi. dies stellt sicherlich unterschiedliche herausforderungen dar, wenn es darum geht, tiefe und breite des inhalts in einklang zu bringen.

onkel bob: mein buch richtet sich wirklich an eine vielfältige gruppe von menschen, sowohl anfänger als auch professionelle programmierer. der schlüssel besteht darin, beiden lesertypen einen mehrwert zu bieten, ohne es für den einen zu schwer verständlich zu machen oder für den anderen zu stark zu vereinfachen.

beim unterrichten und schreiben gehe ich davon aus, dass meine zuhörer bzw. leser genauso schlau sind wie ich und meine inhalte verstehen können. es erfordert vielleicht ein wenig mühe von ihrer seite, aber ich bin sicher, sie werden es verstehen. ich passe den inhalt nicht nach meiner einschätzung der fähigkeiten des lesers an. ich überbringe meine nachricht einfach direkt, als würde ich mit einem kollegen sprechen.

vielleicht habe ich mehr erfahrung, vielleicht habe ich mehr durchgemacht und mehr fehler gemacht. damit ich meine erfahrungen und geschichten teilen kann. aber ich werde es nicht verlangsamen oder zu sehr vereinfachen.

„neuer programmierer“: wie haben sie die art und weise, wie sie programmieren unterrichten, im laufe der jahre verändert? welche neuen ansätze und lehren haben sie übernommen, um mit der sich entwickelnden technologielandschaft schritt zu halten?

onkel bob: in den frühen tagen habe ich normalerweise verwendettransparentfolien, und zeigen sie den kursinhalt über einen projektor an, wobei sie normalerweise einen großen filmstapel vorbereiten, um den inhalt seite für seite anzuzeigen. im laufe der zeit verwende ich jetztipades macht viel spaß, eine präsentation zu machen, sie an einen projektor anzuschließen und mit dem apple pencil auf dem ipad-bildschirm zu zeichnen und alles wird in echtzeit auf der großen leinwand angezeigt.

während der covid-19-pandemie haben wir begonnen, über fernschulungstools wie zoom zu unterrichten. mittlerweile erteile ich den großteil meines unterrichts aus der ferne. ich verwende immer noch folienpräsentationen und bildschirmzeichnungen, und diese methoden funktionieren immer noch. der einzige unterschied besteht darin, dass ich beim fernunterricht die reaktion des publikums nicht direkt sehen kann, was weniger ein erlebnis istder halbe spaß

„neuer programmierer“: eine weitere durch die epidemie verursachte veränderung besteht darin, dass viele programmierer befürchten, durch ki ersetzt zu werden. ich habe zuvor eine aussage gesehen, dass das erlernen von funktionalem design ihnen helfen kann, ihren arbeitsplatz zu behalten. können sie das näher erläutern?

onkel bob: funktionales design und die konzepte in büchern über funktionales design sollen ihnen dabei helfen, ein reiferer programmierer zu werden.fügen sie ihrer „toolbox“ neue tools hinzu. funktionale programmierung ist ein gutes werkzeug, objektorientierte programmierung ist ein gutes werkzeug und strukturierte programmierung ist ebenfalls ein gutes werkzeug. diese sollten in ihrem werkzeugkasten enthalten sein. testgetriebene entwicklung ist ein großartiges werkzeug, und es ist am besten, es zur hand zu haben. solide prinzipien sind auch gut und sollten unbedingt in ihrem werkzeugkasten enthalten sein. der zweck dieses buches besteht also darin, den werkzeugkasten des entwicklers zu erweitern, was ihnen auf jeden fall dabei helfen wird, ihren job zu behalten.aber ich glaube nicht, dass sie sich allzu große sorgen darüber machen müssen, durch ki ersetzt zu werden. das wird in meinem leben wahrscheinlich nicht passieren, und es wird vielleicht auch nicht in ihrem leben passieren, oder es wird vielleicht nie passieren. ich habe das gefühl, dass wir keine maschinen sehen werden, die über intelligenz auf menschlicher ebene verfügen.

„neuer programmierer“: was funktionales design und objektorientierte programmierung betrifft, glaube ich, dass sie viele leute gefragt haben, welches besser ist. aber was ich fragen möchte, ist: denken sie?welches kann die aktuelle ki besser?ist funktionale programmierung beispielsweise besser für die ki-codegenerierung geeignet? es hat keinen status, bei verwendung kann eine funktion generiert werden, und jede funktion kann auch automatisch von der ki generiert und überprüft werden. wenn also die ki im funktionalen design besser ist, werden dann programmierer, die sich nur mit funktionaler programmierung auskennen, vor einer größeren krise stehen?

onkel bobes spielt keine rolle, denn ki kann nichts tun, und es ist bei der generierung funktionalen codes nicht besser als objektorientierter oder strukturierter code.sie können sich ki als etwas vorstellenjunior-programmierer mit einem halben gehirn und nie wirklich erwachsen. sie erhalten einige vorschläge, von denen die meisten nicht sehr gut sind. einige davon sind möglicherweise in ordnung, müssen jedoch geändert werden, da der von der ki geschriebene code immer chaotisch ist.

ki ist, was sie ist, und sie kann hilfreich sein, aber sie sollten ihre karriererichtung nicht an ki anpassen. ki ist ein werkzeug, und sie können lernen, es zu nutzen, aber sie sollten ihre karrierepläne nicht nur für ein bestimmtes ki-werkzeug ändern.

was tun, wenn sie bei der ki-programmierung nicht wissen, was sie tun sollen?

dann schalten sie es aus

„neuer programmierer“: wenn eine neue person auf sie zukommt und sie fragt: „welche sprache soll ich als meine erste programmiersprache wählen?“ wie würden sie normalerweise antworten?

onkel bob: nun, sie können java wählen. allerdings ist c# auch eine sehr gute sprache. clojure ist auch gut. c-sprache ist ebenfalls verfügbar. c++ ist etwas schwierig und komplex, aber es ist auch eine option. die go-sprache ist auch sehr gut, es ist eine gute sprache ...

eigentlich ist es nicht so wichtig, welches sie wählen. programmieren ist programmieren, es spielt keine rolle, mit welcher sprache sie beginnen. am wichtigsten ist, dass sie die nächste sprache lernen. bleiben sie nicht bei einer sprache stehen.lernen sie eine sprache, verbringen sie ein paar monate damit, bis sie einigermaßen kompetent sind, lernen sie dann eine andere und so weiter, wobei sie jedes jahr eine neue sprache lernen. betrachten sie das erlernen einer sprache als spaß und finden sie eine sprache, die sie noch nicht gelernt haben. sie werden es vielleicht nie bei der arbeit verwenden, und sie werden es vielleicht nie wieder verwenden, aber machen sie es sich zur gewohnheit, alle ein oder zwei jahre eine neue sprache zu lernen.es spielt keine rolle, wo sie anfangen, wichtig ist, dass sie weiter lernen.

„neuer programmierer“: würden sie nachwuchsprogrammierern empfehlen, an open-source-projekten teilzunehmen? an welchen beeindruckenden open-source-projekten waren sie selbst beteiligt, und können sie die geschichte erzählen?

onkel bob: mein sohn und ich haben vor 20 jahren ein projekt gestartet und es läuft immer noch und es ist ein großartiges projekt. obwohl ich nicht mehr dabei bin, machen viele andere weiter.

wenn sie ein junior-programmierer oder ein junger programmierer sind und neue ideen kennenlernen möchten, empfehle ich ihnen, einem open-source-projekt beizutreten. versuchen sie, einige pull-anfragen einzureichen und tragen sie bei, was sie können. dies ist erstens eine großartige möglichkeit, anderen zu helfen, und zweitens eine großartige gelegenheit zum lernen. wie dem auch sei, sie haben recht, ich empfehle menschen dringend, sich an open-source-projekten zu beteiligen, es ist eine großartige möglichkeit, ihre karriere zu erweitern.

„neuer programmierer“: kennen sie die „35-krise“? viele programmierer stehen ab einem bestimmten alter vor zwei möglichkeiten: entweder ins management wechseln oder in den ruhestand gehen.

onkel bob: angesichts der vorliebe der technologiebranche für junge menschen ist dies ein echtes problem. tatsächlich hat mir ein entwickler eine ähnliche frage gestellt, und ich erinnere mich noch genau daran. seine genauen worte waren: „onkel bob, warum programmierst du immer noch mit 70 jahren?“ er hat recht, ich bin jetzt 71 jahre alt und schreibe immer noch code.

diese vorstellung, dass programmieren nur etwas für junge leute sei, ist eigentlich eine illusion, aber es ist tatsächlich eine sehr einflussreiche illusion. diese illusion besteht, weil die nachfrage nach programmierern in den letzten 70 jahren raketenartig gestiegen ist.

stellen sie sich das so vor: alle fünf jahre verdoppelt sich die zahl der programmierer auf der welt. das bedeutet, dass wir die zahl der programmierer alle fünf jahre verdoppeln müssen, was bedeutet, dass die hälfte der programmierer auf der welt weniger als fünf jahre erfahrung und drei viertel der programmierer weniger als zehn jahre erfahrung haben. mit anderen worten: drei viertel der programmierer weltweit sind unter 35 jahre alt. wenn man sich also umsieht, sieht man nur junge menschen. sie fragen sich vielleicht: wo sind all diese alten programmierer?tatsächlich sind wir alle immer noch da, nur nicht so auffällig in der zahl.

dadurch entsteht die illusion, dass programmieren nur für junge leute geeignet sei, was aber eigentlich völlig falsch ist. es dauert lange, bis man ein wirklich leistungsfähiger programmierer wird. es mag einige erfahrene programmierer geben, die es toll finden, zehn jahre erfahrung zu haben. das ist zwar gut, aber in weiteren fünf jahren kann er ein besserer programmierer werden.

wenn sie also wirklich gerne code schreiben, denken, dass dies ihr lieblingsprogramm ist und sie es auch weiterhin tun möchten, dann geben sie nicht auf. sie müssen kein manager sein. wenn es leute gibt, die gut im management sind, lassen sie sie es tun. wenn sie weiterhin code schreiben möchten, bleiben sie dabei. sie müssen nicht den beruf wechseln oder vorzeitig in rente gehen. das bedeutet nicht, dass ihr gehirn mit 36 ​​jahren nicht mehr gut funktionieren wird. tatsächlich strömen mittlerweile so viele neue leute in diese branche, und nicht nur junge leute, sondern menschen jeden alters lernen programmieren.das bedeutet nicht, dass sie keine chance haben.

„neuer programmierer“: das erinnert mich daran, dass viele programmierer jetzt selbstzweifel verspüren, wenn sie mit ki konfrontiert werden. tatsächlich sind selbstzweifel jedoch nichts neues und viele alte programmierer hätten in früheren zeiten das gleiche problem gehabt. hatten sie schon einmal gefühle von selbstzweifeln?

onkel bob: als ich mit dem programmieren begann, hatte ich immer das gefühl, dass ich mir einen namen machen könnte. ich hatte zu dieser zeit nie selbstzweifel.

stattdessen fing ich an, fehler zu machen, wurde gefeuert und erlebte andere rückschläge. selbstzweifel sind in dieser zeit tatsächlich eine gute sache.ein moderates maß an selbstzweifeln ist eigentlich ganz gesund. denn mit der zeit lernt man, damit umzugehen.sie denken: „okay, ich weiß, wie ich diese fehler vermeiden kann. ich weiß, dass ich nicht perfekt bin, aber solange ich aufmerksam bin, vorsichtig bin und mit anderen rede, sollte ich in der lage sein, diese probleme langsam zu beheben.“ sie werden diese selbstzweifel überwinden. tatsächlich ist es nicht unbedingt eine schlechte sache, eine phase des selbstzweifels zu durchleben. es ermöglicht ihnen zu wachsen und stärker zu werden.

„neuer programmierer“:können sie den aktuellen entwicklern abschließend noch einen rat geben? vor allem diejenigen programmierer, die sich verwirrt fühlen oder ratlos sind, wenn es um die ki-programmierung geht.

onkel bobwenn sie bei der ki-programmierung nicht wissen, was sie tun sollen, schalten sie die ki aus. ignoriere es einfach.verbringen sie einen weiteren monat damit, selbst code zu schreiben, und aktivieren sie dann die ki. vielleicht schaut es sich dann ihren code an und sieht, was sie tun möchten, und kann dann bessere vorschläge machen.

stellen sie sich zum beispiel vor, sie wären ein neuling, der autofahren lernt. sie haben noch nie das lenkrad berührt und möchten gleich zu beginn das automatische fahren nutzen. sobald sie den autopiloten drücken, beginnt sich das auto zu bewegen und denkt: „ich muss das ding zuerst ausschalten. lassen sie mich etwas erfahrung sammeln, bis sie autopiloten lernen.“ denken sie: „oh, jetzt verstehe ich, wie das ding funktioniert.“ dann können sie es besser nutzen.das gleiche gilt für die ki. anfangs läuft es vielleicht nicht reibungslos, aber mit der zeit werden sie immer kompetenter.