Как вы думаете, VS и Intellisense делают нас тупее? - PullRequest
9 голосов
/ 30 июля 2009

Я прочитал эту статью, части "Intellisense" и "Сгенерированный код":

http://www.charlespetzold.com/etc/DoesVisualStudioRotTheMind.html

Как вы думаете, автор прав?

Я не согласен с тем, что Intellisense слишком плох для программистов. VS for C # использует, чтобы «скрыть» события элементов управления в другом файле, но вы можете найти их, если вы достаточно хорошо знаете язык и можете изменить их вручную. А с VS мне не нужно запоминать все .Net классы, которые я использую. Я думаю, что не имеет значения, используете ли вы IDE или блокнот, но если эти инструменты RAD существуют и бесплатны ... Почему бы не использовать их?

Ответы [ 21 ]

1 голос
/ 31 июля 2009

Вопрос, конечно, ... делает ли Intellisense программирование менее опытной профессией?

1 голос
/ 30 июля 2009

Я так не думаю.

Intellisense упрощает ввод букв с учетом регистра.

Это MyArray.Count () или MyArray.Size () или длина (MyArray) ...? Какой тип возвращаемого значения является конкретным методом, опять же? Intellisense экономит мне несколько минут каждый день в Google на такие вещи.

0 голосов
/ 28 августа 2009

Я считаю, что инструменты Visual Studio способствуют экспериментам. Когда вы имеете дело с Win32 API в C (например), вы не можете слишком легко возиться. Когда вы работаете с C #, совсем несложно немного изучить библиотеку и узнать, что она делает, не разбирая MSDN или дизассемблер в течение всего вечера.

Если вы любопытный программист, Intellisense не изменит этого. Если это не так, Intellisense тоже не изменит этого. Перефразируя одного из моих коллег, «я думаю, что просматривать огромные книги - это пустая трата времени, когда вы можете просто взять реализацию из Интернета и перейти к следующему вопросу».

Во всяком случае, это старый аргумент, до-Intellisense. Бейсик гниет, когда писать в x86 нет? Является ли знание алгоритма наизнанку актуальным, когда каждый отдельный язык программирования, который вы собираетесь использовать в своей роли, имеет проверенную и проверенную библиотеку?

Я считаю, что те, кто считает программирование хобби или навыком, склонны понимать и исследовать. Те, кто считает это работой дня, не делают. Независимо от каких-либо неудобств вокруг него, это больше о мышлении программиста, чем о том, что делается доступным.

0 голосов
/ 28 августа 2009

Тупой и ленивый.

0 голосов
/ 28 августа 2009

Интересный вопрос. Конечно, я нахожу, что Intellisense в некотором смысле облегчает работу, но это как деньги. Чем больше у вас есть, тем больше вы тратите, не обязательно на вещи, которые вам нужны. Я научился программировать примерно в 62-м, и как-то очень долго обходился без Intellisense. Что Intellisense делает для меня сейчас, так это помогает мне вспомнить множество классов и участников, которые всего 4 года назад я даже не знал, что мне нужно.

В программном обеспечении есть одна тенденция, которая никогда не выходит из строя. Природа не терпит пустоты. Машины становятся больше, так что угадайте, что программное обеспечение становится больше (но не всегда лучше). Машины становятся быстрее, а программное обеспечение - медленнее. Теперь люди могут получить помощь в наборе длинных имен, поэтому код становится действительно многословным. Теперь людям помогают запоминать множество классов, так что угадайте, что есть еще много классов, которые нужно запомнить. Это очень помогает программному обеспечению становиться больше и медленнее.

Я много занимаюсь настройкой производительности, и какова основная причина замедления? Это скачущая общность, вызванная чрезмерным дизайном со слишком большой структурой данных, слишком большим количеством классов и слишком большим количеством уровней абстракции. Одним словом, «раздувать». Вот лишь небольшой пример.

0 голосов
/ 31 июля 2009

Это можно обобщить на традиционный вопрос:

Помогает ли вам боль или помогает ли знание о деталях?

Как правило, опытные инженеры и мастера говорят: помогают . Но знание деталей также позволяет вам знать, когда детали не имеют значения, что обеспечивает Visual Studio / Intellisense. (Я уверен, что здесь можно сказать содержательную пословицу, но мне не до шуток придумывать).

0 голосов
/ 31 июля 2009

Не более, чем калькуляторы, созданные для более бедных математиков и физиков. Конечно, использование правила скольжения заставляет вас сохранять мысленную модель порядка вещей, но на самом деле это всего лишь инструмент ... а лучшие инструменты позволяют вам лучше работать.

0 голосов
/ 31 июля 2009

Добавление двух моих центов здесь.

Исходя из моего собственного опыта и, как уже упоминалось в TFA, я бы сказал, что единственный недостаток, с которым я столкнулся до сих пор, - это когда вы изучаете язык, вы можете приобрести вредные привычки. Использование ArrayLists вместо List только из-за того, что вы не знаете, как изменить условия использования, могут дать вам другой тип данных.

Автор жалуется на то, что он вводит неправильные типы данных при вводе определенных типов данных. Хотя некоторые из вас, вероятно, получат лицензию, оружие и начнут охоту за людьми, я обнаружил, что использование соглашений об именах является отличным способом заставить intellisense работать в моем направлении, особенно при работе в интенсивных формах GUI-Control & вещи.

0 голосов
/ 31 июля 2009

Это не делает нас тупее; это необходимость.

Когда-то (MS BASIC для меня) не было необходимости в intellisense. Область применения языка была достаточно ограниченной, чтобы программист мог запомнить все ключевые слова и функции.

Перейти к сегодняшнему дню, intellisense является абсолютным требованием. Взять, к примеру, .Net. Просто нет способа запомнить или открыть для себя тысячи типов, свойств и методов. Да, конечно, для очень маленького проекта вы можете знать кучу (100?) Предметов. Но давайте будем честными - современный работающий программист не может существовать без него.

0 голосов
/ 30 июля 2009

Единственное недовольство с IntelliSense, которое, кажется, имеет автор, - автозаполнение при нажатии клавиши пробела, которое, по-видимому, он не осознает, что вы можете отключить его в меню параметров.

Хотя он утверждает, что кодирование «стало постоянным диалогом с IntelliSense» ... что не имеет смысла, потому что вам все равно придется выбирать правильные методы из списка! Без него вам бы просто пришлось искать в Интернете имя метода, а не мгновенный поиск.

Интересно, как автор игнорирует тот факт, что IntelliSense не может сказать вам, использовать ли StringBuilder или String и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...