Juni 2014

Volume 29 Number 06

Don' t mir Schritte - VB6 und die Kunst der Knuckleball bekommen

David Platt | Juni 2014

David PlattIn dieser Spalte vor zwei Jahren schrieb ich über die erstaunliche Langlebigkeit Visual Basic 6 (msdn.microsoft.com/magazine/jj133828).Ich habe mehr Kommentare auf diese Spalte als alles, was ich je geschrieben habe — 145 bei der letzten Zählung und immer noch ankommt, als ich diese Worte schreibe.Klar, berührte ich einige sehr starke Gefühle.

Ich habe mich oft an das Durchhaltevermögen der Visual Basic 6 (VB6) gefragt.Eine meiner Studentinnen nannte einmal VB6 die "untötbar Schabe" von der Windows-Ökosystem.Also, als ich hörte, ein Boston Sport Sprecher Kommentar auf die 17-jährigen Karriere einen geliebten Red Sox Knuckleball Krug und sagen, "nach der Apokalypse, alles, was wir noch haben werde ist Schaben und Tim Wakefield," fiel es mir: VB6 gleicht einem Knuckleball.

Die Knuckleball ist eine schwierige Tonhöhe im amerikanischen Baseball.Im Gegensatz zu einen Fastball, wodurch Vergangenheit Teige beschleunigt bevor sie schwingen können, verwirrt die langsameren Knuckleball Gegner von flattern und zufällig durch die Luft tanzen.Der Werfer wirft den Ball mit fast keine Spin, halten Sie es in seine Fingernägel und es voranzutreiben (siehe bit.ly/1jDB3a4).Die Bewegung setzt viel weniger Stress auf den Arm als andere Tonhöhen.Die paar Kannen, die Knuckleball zu meistern hatten lange Karriere als ihre Gegenstücke Feuerball werfen.VB6 ist.Seine Einfachheit unterzieht Programmierer weniger Stress, was zu längeren Karriere.

Die Analogie wird besser.Viele, vielleicht am meisten Fastball Kannen prüfen die Knuckleball Unsportliches, einen Zirkus-Gag unwürdig für eine "echte Krug." Schauen Sie sich die Kommentare aus meinem ersten VB6-Spalte, und Sie können sehen, dass diese Meme am Arbeitsplatz: "VB6 ist ein Spielzeug, keine echte Programmiersprache, und Menschen, die es nicht echte Programmierer." Ich unterstütze das gleiche selbst, sagte einmal in meinem C++ COM-Tag, wofür ich jetzt entschuldige mich.

Sie können nur selten ein Großprojekt mit nur VB6 abschließen.Während viele Programmiersprache Operationen viel einfacher in VB6 als in rohen C++, andere Vorgänge sind (Hintergrund-Threads, sagen) sind im Wesentlichen unmöglich.Meine Faustregel für VB6 Entwicklung war schon immer, "Wenn du es nicht tun, in 10 Minuten, du es gar nicht tun." Ich rate VB6-Entwicklungs-Teams, dass sie eine C++-Programmierer, COM-Objekte, um die wenige Geschäfte zu erreichen, die Visual Basic kann nicht zu schreiben brauchen.

Ebenso muss ein Knuckleball Krug Fastballs werfen etwa 20 Prozent der Zeit zu halten Jungs ehrlich, vor allem mit Läufer auf der dritten Base, wo ein Ball erfolgreich können Gäste einen Lauf.Fänger kämpfen oft mit der hart-zu-Catch Knuckleball (als Bob Uecker berühmt beobachtet, "der Weg zu einem Knuckleball fangen ist zu warten bis es aufhört zu Rollen und dann abholen.").

Ich habe noch nie jemanden getroffen, Informatik beabsichtigen Hauptfach, ein VB6-Programmierer zu werden.Die meisten der VB6-Jungs, die ich kenne begann als Fachexperten, als die einfachsten Computerisierung ihrer Problem-Domänenwissen Visual Basic zu lernen.Ebenso starten einige Kannen Berufsleben werfen den Knuckleball.Blogger Peter Duffy schreibt, dass die meisten beginnen, es zu werfen, wenn sie nicht, als konventioneller Kannen "aus Verzweiflung ausführen können; ein Weg, der Rest von einen lebenslangen Traum zu retten." (Bit.ly/1lazWvS)

Wenn ein Knuckleball funktioniert, ist es unhittable.Aber wenn der Pitcher Fingernagel rutscht und die Tonhöhe nicht tanzen, er ist Toast.Der Ball irgendwie hängt langsam vor den geschlagenen Eierteig und ruft aus dem Park geschlagen.VB6 ist ebenso groß, wenn es funktioniert.Aber es ist schwer zu debuggen, wenn es ernsthaft bricht, weil Sie nicht unter die Haube sehen können ("0x80014005 — unbekannter Fehler").

Knuckleball Kannen und VB6-Programmierer haben eine andere bemerkenswerte Eigenschaft — sie zusammenhalten.Der Dokumentarfilm "Knuckleball!" (Bit.ly/1jfv5JU) zeigt im Ruhestand Knuckleballers —Jim Bouton, Charlie Hough, Phil Niekro — dazu bei Mentor R.A Tim WakefieldDickey, heute der einzige aktive Champions-League Knuckleballer.Es funktionierte: Dickey gewann den Cy Young Award als bester Pitcher der National League im Jahr 2012.Jetzt hilft Dickey Red Sox AAA Knuckleballer Steven Wright versuchen, dieses Jahr in der Major League zu brechen.Ich finde die gleichen Kollegialität in der VB6-Gemeinschaft, besonders jetzt, da Microsoft es fahren ist nicht.

Ich brachte vor kurzem .NET Programmierung einige Wissenschaftler, die Programme zur Steuerung ihrer Instrumente schreiben musste.Trotz meiner Bemühungen, die Komplexität der Windows Presentation Foundation, Model-View-ViewModel und die Microsoft .NET Framework sie von ihrer Wissenschaft stark abgelenkt.Ich wünsche, und sie wünschen, dass ein einfacheres Tool für .NET Entwicklung existierte.Ich wünsche ihnen eine Knuckleball werfen habe beibringen könnte.

David S. Platt unterrichtet Programmieren mit .NET an der Harvard University Extension School und in Unternehmen auf der ganzen Welt. Er ist Autor von 11 Büchern zum Programmieren, darunter „Why Software Sucks“ (Addison-Wesley Professional 2006) und „Introducing Microsoft .NET“ (Microsoft Press 2002). Microsoft ernannte ihn im Jahr 2002 zur „Softwarelegende“, und er überlegt, ob er seine Tochter das Zählen im Oktalsystem lehrt. Sie erreichen ihn in rollthunder.com.