Glaubst du VS und Intellisense machen uns dümmer?

8

Ich habe diesen Artikel, die Teile von "Intellisense" und "Generated Code" gelesen:

  

Ссылка

Glauben Sie, dass der Autor Recht hat?

Ich stimme nicht zu, dass Intellisense für Programmierer so schlecht ist. VS for C # "versteckt" die Ereignisse der Steuerelemente in einer anderen Datei, aber Sie können sie finden, wenn Sie genug über die Sprache wissen, und Sie können sie von Hand ändern. Und mit VS muss ich nicht alle .Net-Klassen auswendig lernen, die ich benutze. Ich denke, es ist egal, ob Sie eine IDE oder einen Notizblock verwenden, aber ob diese RAD-Tools existieren und frei sind ... Warum sollten Sie sie nicht benutzen?

    
Broken_Window 30.07.2009, 18:28
quelle

21 Antwort

32

Nein, ich stimme diesem Punkt nicht sehr zu.

Ja, ich stimme zu, dass intellisense es mir erlaubt, weniger Objekte zu behalten, die Anzahl der Mitglieder in meinem Kopf wächst. Ich bin dümmer in dem Sinne, dass ich oft weniger über die komplizierten Details von Projekten weiß, in denen ich Intellisense stark benutze.

Zum Beispiel kann ich wahrscheinlich alle Mitglieder der C ++ - Typen, die ich verwende, mit großer Genauigkeit rasseln. Ich bin ein VIM-Typ für meine C ++ - Projekte und nutze daher intellisnsee nicht wirklich. In C # - und VB.Net-Projekten konnte ich die Mitglieder jedoch nicht mit der gleichen Genauigkeit abschütteln, wie ich mich öfter auf Intellisense verlasse.

Aber es gibt einen Kompromiss. Alle Mitglieder in meinem Kopf zu behalten, ist mit Kosten verbunden. Beim Schreiben von Code konzentriere ich mich nicht auf den Algorithmus, sondern konzentriere mich auf die Mitglieder. Ich muss ständig über die Namenskonvention eines bestimmten Typs nachdenken, oder die Parameterliste, was ist byref oder by val, wenn ich einen Algorithmus in C ++ schreibe. In C # / VB.Net kann ich besser über den Algorithmus nachdenken, da die IDE sich darum kümmert, die Mitglieder für mich zu finden.

Heißt das, ich bin dümmer? Nein, das bedeutet einfach, dass ich mich auf das Problem konzentrieren kann, das ich eigentlich lösen möchte. Ich denke, das macht mich produktiver und damit schlauer, nicht dümmer.

    
JaredPar 30.07.2009, 18:34
quelle
23

Es macht intelligente Leute nicht dümmer, aber es macht dumme Leute schlauer aussehen

    
Philippe Leybaert 30.07.2009 18:31
quelle
16

Nein, moderne Programmierwerkzeuge und Programmiersprachen helfen dem Programmierer, sich weniger auf die kleinen Dinge als auf das große Ganze zu konzentrieren.

Das Hauptziel ist es, solide Software zu entwickeln. Wenn ein Programmierer sich nicht darum kümmern muss, jede Methode einer Klasse zu merken, kann er mehr Zeit für die Entwicklung des Produkts aufwenden.

    
jjnguy 30.07.2009 18:32
quelle
11

Unser Physikprofessor sagte immer, warum Sie sich etwas merken sollten, das Sie nachschlagen können. Er hat während der Prüfungen immer die erforderlichen Formeln auf der Tafel aufgelistet. Es scheint, dass Intellisense die gleiche Idee ist. Anstatt sich zu erinnern, ob das Objekt eine Count- oder eine Length-Eigenschaft verwendet, soll VS es mir sagen.

    
twlichty 30.07.2009 18:33
quelle
4

Nein, es ermöglicht uns, schneller zu programmieren, denke ich. Alles, um den Codierungsprozess schneller, einfacher und einfacher zu machen, ist meiner Meinung nach ein Schritt in die richtige Richtung.

    
LiamGu 30.07.2009 18:33
quelle
4

Nicht dümmer, es macht uns schneller:)

    
Perica Zivkovic 30.07.2009 19:06
quelle
2

Ich verwende Intellisense und generierten Code, um die Entwicklung zu beschleunigen, nicht weil ich nicht weiß, was ich mache. Daher kann ich nicht zustimmen, dass die Verwendung von ihnen dümmer macht.

Ich bin die Art von Person, die versuchen wird, so viel über eine Sprache wie möglich zu lernen, bevor sie versucht, die Werkzeuge zu benutzen, die die Entwicklung in dieser Sprache erleichtern. In dieser Hinsicht muss ich dem Kommentar von Matthew Jones zustimmen, dass "Werkzeuge Leute nicht dümmer machen ... Faulheit und Antriebslosigkeit."

    
Cᴏʀʏ 30.07.2009 18:33
quelle
2

Die Programmierung schreitet voran, um dem Programmierer das Leben zu erleichtern und ihn produktiver zu machen.

Es wäre so, als würde man sich darüber beschweren, dass wir keinen Assemblercode mehr schreiben ... es ist wichtig, die großen Konzepte und Ideen dahinter zu kennen, aber die Arbeit damit wäre (in den meisten Fällen) seltsam.

    
marcgg 30.07.2009 19:07
quelle
1

Das glaube ich nicht.

Intellisense vereinfacht die Groß- und Kleinschreibung.

Ist es MyArray.Count () oder MyArray.Size () oder Length (MyArray) ...? Welcher Rückgabetyp ist wieder eine bestimmte Methode? Intellisense spart mir jeden Tag einige Minuten für solche Dinge.

    
rlb.usa 30.07.2009 18:48
quelle
1

Detail memmorization ist nicht die wichtigste Fähigkeit in der Softwareentwicklung. Es ist besser, Problemlösungsfähigkeiten und die Fähigkeit zu haben, die Informationen zu finden, die Sie benötigen. Wenn Sie mehr Zeit in die Details investieren, werden Sie verloren gehen, wenn die nächste größte Sprache geboren wird, aber Algorithmen und Muster werden immer noch relevant sein.

    
Jim 30.07.2009 20:20
quelle
1

Die Frage ist natürlich ... macht Intellisense Programmierung weniger von einem qualifizierten Beruf?

    
LiamGu 30.07.2009 20:46
quelle
1

Ja, ich stimme dem Autor zu. Intellisense (und viele andere Visual Studio-Funktionen) macht uns tatsächlich aus den im Artikel erwähnten Gründen "dümmer".

Das ist nicht immer schlecht. Manchmal ist es besser, produktiv zu sein als intelligenter zu werden . Die Herausforderung besteht darin, die richtige Balance zu finden. :)

    
C. Dragon 76 30.07.2009 21:02
quelle
0

Das einzige Problem mit IntelliSense, das der Autor zu haben scheint, ist die automatische Vervollständigung, wenn Sie die Leertaste drücken. Offensichtlich merkt er nicht, dass Sie im Menü Optionen ausschalten können.

Obwohl er behauptet, dass das Codieren "zu einem ständigen Dialog mit IntelliSense geworden ist" ... macht das keinen Sinn, weil Sie immer noch die richtigen Methoden aus der Liste auswählen müssen! Ohne diese Option müssen Sie einfach online nach dem Namen der Methode suchen, anstatt nach einer sofortigen Suche.

Es ist interessant, wie der Autor ignoriert, dass IntelliSense Ihnen nicht sagen kann, ob Sie eine StringBuilder oder eine String usw. verwenden sollen.

    
John Rasch 30.07.2009 18:43
quelle
0

Überhaupt nicht. Wenn die Intellisense-Liste auftaucht, durchsucht ein Programmierer jedes Mal die gesamte Liste, um die gesuchte Funktion zu finden? Vielleicht zuerst, aber normalerweise tippst du weiter, bis Intellisense die Liste bis zu dem Punkt enger macht, an dem es schneller ist, die Auf- / Abwärtspfeile und den Tabulator zu verwenden.

Ohne Intellisense würde es etwas länger dauern zu programmieren, da Sie Erfahrung mit den Klassen haben, die Sie verwenden, und viel länger, wenn Sie es nicht sind. Es dient nur als Schnelligkeitswerkzeug und schnelle Dokumentation von allem, was verfügbar ist.

    
Mark Synowiec 30.07.2009 18:57
quelle
0

Es macht uns nicht dümmer; es ist eine Notwendigkeit.

Damals (MS BASIC für mich) brauchte ich kein Intellisense. Der Umfang der Sprache war so begrenzt, dass sich ein Programmierer an alle Schlüsselwörter und Funktionen erinnern konnte.

Springe zum heutigen Tag, intellisense ist eine absolute Voraussetzung. Nehmen Sie zum Beispiel .Net. Es gibt einfach keine Möglichkeit, sich an die vielen tausend Arten, Eigenschaften und Methoden zu erinnern. Oh sicher, für ein sehr kleines Projekt kennen Sie vielleicht einen Haufen (100s?) Von Gegenständen. Aber seien wir ehrlich - es gibt keine Möglichkeit, dass ein moderner funktionierender Programmierer ohne ihn existieren könnte.

    
Jack Straw 30.07.2009 20:09
quelle
0

Hinzufügen meiner zwei Cent hier.

Aus meiner eigenen Erfahrung und wie in der TFA erwähnt, würde ich sagen, dass der einzige Nachteil, auf den ich bisher gestoßen bin, darin besteht, dass man, wenn man die Sprache lernt, schlechte Angewohnheiten aufgreift. Die Verwendung von ArrayLists anstelle von List nur, weil Sie nicht wissen, dass sich die Verwendung von Klauselklauseln ändern kann, gibt Ihnen möglicherweise einen anderen Datentyp.

Der Autor beklagt sich darüber, dass er beim Eingeben bestimmter Datentypen die falschen Datentypen bekommt. Während einige von euch wahrscheinlich eine Lizenz, eine Waffe und die Jagd auf Männer bekommen werden, habe ich festgestellt, dass die Verwendung von Namenskonventionen eine ausgezeichnete Möglichkeit ist, das IntelliSense-Programm auf meinen Weg zu bringen, besonders beim Arbeiten in GUI-Control-intensiven Formen & amp; ; Sachen.

    
lungic 30.07.2009 20:36
quelle
0

Nicht mehr als Taschenrechner für ärmere Mathematiker und Physiker. Sicher, die Verwendung eines Rechenschiebers zwingt Sie, ein mentales Modell in der Größenordnung von Dingen zu behalten, aber es ist wirklich nur ein Werkzeug ... und bessere Werkzeuge ermöglichen Ihnen, bessere Arbeit zu leisten.

    
Larry Watanabe 30.07.2009 21:09
quelle
0

Dies kann in die traditionelle Frage abstrahiert werden:

Hilft das Wissen um Details mehr oder tut es weh?

In der Regel sagen erfahrene Ingenieure und Handwerker help . Aber wenn Sie die Details kennen, wissen Sie auch, wann die Details keine Rolle spielen. Das bietet Ihnen Visual Studio / Intellisense. (Ich bin mir sicher, es gibt ein sprichwörtliches Sprichwort, das hier gesagt werden könnte, aber ich fühle mich nicht dazu bereit, einen Quip auszudenken).

    
Paul Nathan 30.07.2009 21:15
quelle
0

Dumm & amp; Faul.

    
jay_t55 28.08.2009 18:48
quelle
0

Interessante Frage. Natürlich finde ich, dass Intellisense die Arbeit erleichtert, aber es ist irgendwie wie Geld. Je mehr Sie haben, desto mehr verbringen Sie, nicht unbedingt auf Dinge, die Sie brauchen. Ich habe um das Jahr 62 herum programmieren gelernt, und irgendwie kam ich lange ohne Intellisense aus. Was Intellisense jetzt für mich tut, hilft mir, mich an viele Klassen und Mitglieder zu erinnern, die ich vor 4 Jahren noch nie wusste, dass ich sie brauchte.

Es gibt eine Tendenz, die ich in Software gesehen habe, die niemals versagt. Die Natur verabscheut ein Vakuum. Maschinen werden größer, also rate mal, Software wird größer (aber nicht immer besser). Maschinen werden schneller, Software wird langsamer. Jetzt können Leute Hilfe bekommen, indem sie lange Namen eingeben, so dass der Code sehr ausführlich wird. Jetzt bekommen die Leute Hilfe beim Erinnern an viele Klassen, also raten Sie mal, es gibt noch viel mehr Klassen, an die Sie sich erinnern können. Das hilft der Software, größer und langsamer zu werden.

Ich mache viel Performance-Tuning und was ist der Hauptgrund für die Verlangsamung? Es ist eine galoppierende Allgemeinheit, die durch Überdesign mit zu vielen Datenstrukturen, zu vielen Klassen und zu vielen Abstraktionsschichten verursacht wird. Mit einem Wort, "Bläh". Hier ist nur ein kleines Beispiel.

    
Mike Dunlavey 28.08.2009 18:41
quelle
0

Ich finde die Tools von Visual Studio für mehr Experimentierfreude. Wenn Sie beispielsweise mit der Win32-API in C arbeiten, können Sie nicht so einfach herumstochern. Wenn Sie mit C # arbeiten, ist es ein Kinderspiel, eine Bibliothek zu erkunden und zu lernen, was sie tut, ohne MSDN oder einen Disassembler für den ganzen Abend auszutragen.

Wenn Sie ein natürlich neugieriger Programmierer sind, wird Intellisense das nicht ändern. Wenn nicht, ändert Intellisense das auch nicht. Um einen meiner Kollegen zu paraphrasieren: "Ich denke, es ist Zeitverschwendung, durch riesige Bücher zu schauen, wenn man einfach eine Implementierung aus dem Internet nehmen und zur nächsten Sache übergehen kann."

Es ist sowieso ein altes Argument, vor Intellisense. Verarscht BASIC den Verstand, wo das Schreiben in x86 nicht funktioniert? Ist es wichtig, einen Algorithmus zu kennen, der relevant ist, wenn jede einzelne Programmiersprache, die Sie in Ihrer Rolle verwenden, über eine erprobte Bibliothek verfügt?

Ich finde, dass diejenigen, die ein Hobby oder eine Fähigkeit programmieren wollen, dazu neigen, zu verstehen und zu untersuchen. Diejenigen, die es für den Tag halten, tun es nicht. Ungeachtet irgendwelcher Überrumpelung geht es mehr um die Denkweise eines Programmierers als darum, was verfügbar gemacht wird.

    
Rushyo 28.08.2009 19:06
quelle

Tags und Links