Вы думаете, VS и Intellisense делают нас более немыми?

Если Ваше использование vS2k8, можно использовать дополнительный метод для добавления его к Строковому классу:

public static string FirstLetterToUpper(this String input)
{
    return input = input.Substring(0, 1).ToUpper() + 
       input.Substring(1, input.Length - 1);
}
9
задан marcgg 30 July 2009 в 20:47
поделиться

21 ответ

Нет, я очень не согласен с этим.

Да, я согласен с тем, что intellisense позволяет мне держать в голове меньше объектов, число членов которых растет. Я тупее в том смысле, что часто меньше знаю сложных деталей проектов, в которых я активно использую intellisense.

Например, я, вероятно, смогу с большой точностью выделить все члены используемых мной типов C ++. Я обычно использую только VIM для своих проектов на C ++ и, следовательно, не использую intellisnsee. Хотя в проектах C # и VB.Net я не мог говорить о членах с такой же точностью, как я чаще полагаюсь на intellisense.

Но есть компромисс. Держать всех участников в голове дорого. При написании кода я сосредотачиваюсь не на алгоритме, а на его членах. При написании алгоритма на C ++ мне приходится постоянно думать о соглашении об именах определенного типа или списке параметров, о том, что по ссылке или по значению. В C # / VB.Net я могу более свободно думать об алгоритме, поскольку среда IDE заботится о поиске членов за меня.

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

32
ответ дан 4 December 2019 в 05:51
поделиться

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

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

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

0
ответ дан 4 December 2019 в 05:51
поделиться

Вовсе нет. Когда всплывает список intellisense, программист просматривает каждый раз весь список, чтобы найти функцию, которую он искал? Может быть, сначала, но обычно вы продолжаете печатать до тех пор, пока intellisense не сузит список до точки, в которой для завершения будет быстрее использовать стрелки вверх / вниз и табуляцию.

Без intellisense кодирование заняло бы немного больше времени, учитывая, что вы имеют опыт работы с классами, которые вы используете, и намного дольше, учитывая, что это не так. Он служит только для ускорения работы и быстрой документации всего, что доступно.

0
ответ дан 4 December 2019 в 05:51
поделиться

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

0
ответ дан 4 December 2019 в 05:51
поделиться

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

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

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

0
ответ дан 4 December 2019 в 05:51
поделиться

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

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

Интересно, как автор игнорирует то, что IntelliSense может '

0
ответ дан 4 December 2019 в 05:51
поделиться

Добавляем сюда мои два цента.

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

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

0
ответ дан 4 December 2019 в 05:51
поделиться

Да, согласен с автором. Intellisense (и многие другие возможности Visual Studio) действительно «делают нас глупее» по причинам, упомянутым в статье.

Это не всегда плохо. Иногда более желательно быть продуктивным , чем стать умнее . Задача - найти правильный баланс. :)

1
ответ дан 4 December 2019 в 05:51
поделиться

Запоминание деталей - не самый важный навык в разработке программного обеспечения. Лучше иметь навыки решения проблем и умение находить нужную информацию. Если вы потратите больше времени на детали, вы потеряетесь, когда родится следующий величайший язык, но алгоритмы и шаблоны все равно будут актуальными.

1
ответ дан 4 December 2019 в 05:51
поделиться

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

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

2
ответ дан 4 December 2019 в 05:51
поделиться

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

Я из тех людей, которые будут пытаться узнать как можно больше о языке, прежде чем пытаться использовать инструменты, которые облегчают разработку на этом языке. В этом отношении я должен согласиться с комментарием Мэтью Джонса о том, что «инструменты не делают людей глупее ... лень и отсутствие драйва делают»

.
2
ответ дан 4 December 2019 в 05:51
поделиться

Не тупее, это делает нас быстрее :)

4
ответ дан 4 December 2019 в 05:51
поделиться

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

4
ответ дан 4 December 2019 в 05:51
поделиться

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

Intellisense упрощает такие вещи, как орфография с учетом регистра.

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

1
ответ дан 4 December 2019 в 05:51
поделиться

Наш профессор физики всегда говорил, зачем запоминать то, что можно найти. Он всегда перечислял необходимые формулы на доске во время экзаменов. Вроде intellisense - та же идея. Вместо того, чтобы помнить, использует ли объект свойство Count или Length, позвольте мне сказать мне VS.

11
ответ дан 4 December 2019 в 05:51
поделиться

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

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

16
ответ дан 4 December 2019 в 05:51
поделиться

Умных людей он не делает глупее, но заставляет глупых людей выглядеть умнее

23
ответ дан 4 December 2019 в 05:51
поделиться

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

1
ответ дан 4 December 2019 в 05:51
поделиться

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

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

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

0
ответ дан 4 December 2019 в 05:51
поделиться

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

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

Это старый аргумент, в любом случае, до Intellisense. Разве BASIC портит разум, если писать на x86 - нет? т? Имеет ли значение знание алгоритма наизнанку, когда каждый язык программирования, который вы собираетесь использовать в своей роли, имеет проверенную и проверенную библиотеку?

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

0
ответ дан 4 December 2019 в 05:51
поделиться

Dumb & Lazy.

0
ответ дан 4 December 2019 в 05:51
поделиться