Comments.blogs

гуглигизация разработки

21 Jan 2011 13:49
+18
(Текст записи скрыт. Показать...)
Последние несколько лет в программирование наблюдается отчетливая тенденция: когда программист сталкивается с некоторой задачей, чуть сложнее чем тривиальной, он ищет решение аналогичной задачи в google. Это позволяет достаточно быстро находить решения задач, создавать приложения которые эти задачи решают.

Но давайте порассуждаем, хорошо это или плохо?

Плюс виден сразу:
Скорость разработки - вместо того чтобы "изобретать велосипед", я просто копирую более-менее подходящий велосипед найденный через гугл.

Минус не столь очевиден. Когда деревья были большими, а интернета не было, процесс был таким: Вначале появлялась задача, за тем шел процесс решения этой задачи, после чего получался некоторый результат. Теперь же гугл фактически вырезает "процесс решения".

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

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

Собственно, эту проблему хотел обсудить.
Отправлено 21.01.2011 в 14:09
Отвечает на сообщение 363678
+46
"Жизнь слишком коротка, чтобы программировать на ассемблере" (с)
Поиск аналогов и приспособление старых наработок для нового - это основа инженерного подхода. Это разумно с инженерной и экономической точки зрения. С точки зрения научной - неразумно. Но у нас тут не теоремы Пункаре доказываются, а продукты создаются.
Отправлено 21.01.2011 в 15:15
Отвечает на сообщение 363678
+6
Думаю разумно со всех точек зрения. Используют, к примеру, в научной IT CAD/CAM среде OpenGL и не приходит в голову прописывать базовые алгоритмы 3Д графики самим. Хотя у меня на курсе и были к примеру сторонники подхода "все сам", но когда такому стороннику показываешь хорошее современное приложение а не нечто в DOS-e все вопросы отпадают.

Одним словом - 90% нагуглил а сам предмет исследования пишешь сам. Это правильный подход. И опенсоурс кстати весь на этом и строится и выигрывает - каждый блок делает тот кто умеет и разбирается именно в этой части лучше остальных.
Отправлено 21.01.2011 в 15:29
Отвечает на сообщение 363678
+3
Имхо все не так уж просто: надо знать где искать. Сколько помню брутфорсного поиска ответа (одновременно с поиском правильного вопроса) - одно разочарование, в лучшем случае попадаются форумы где люди спрашивают то же самое и им никто не отвечает.

Вот искал пример готового приложения, чтобы там внедрялся OLE документ. Так это я теперь знаю что оно так называется, пока понял что мне подходит пример из VS пришлось всю теорию разобрать.
Отправлено 21.01.2011 в 16:24
Отвечает на сообщение 363678
+9
Простой вопрос - мы учимся зарабатывать деньги или зарабатываем деньги?
Отправлено 21.01.2011 в 17:04
Отвечает на сообщение 363678
+4
Эх, насколько жизнь была бы проще если бы любое решение можно было найти в интернете :). Нет, все еще приходится кое-что писать самому.. А если задача несложная, то быстрее самому написать, нежели найти в интернете двадцатитрехколесный велосипед и допилить.
Отправлено 21.01.2011 в 18:09
Отвечает на сообщение 363678
+2
имхо это плюс! и за собой и за другими замечал - когда таки набредается задачка аналогов которой нету и приходится решать самому, то потом, когда разберешся, первое движение - выложить куда нибудь... в копилку гугла :)
а иначе, если бы больше народу крутилось вокруг одних и тех же решенных "за соседним столом" (пусть этот стол и в сша где нибудь) задач, то люди реже бы натыкались на неизведанное :) имхо!
Отправлено 21.01.2011 в 18:35
Отвечает на сообщение 363678
+2
На мой взгляд это совершенно нормально. Если "не знаю, но знаю где быстро найти" - это нормально, главное - чтобы был конечный продукт правильного качества.

Свои решения стараюсь выкладывать, чтобы они также индексировались.

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

А так - на начальном и среднем уровне это не имеет значения - главное продукт. А кто дошел до "высших" уровней - уже так или иначе умеет решать задачи и сам.
Отправлено 21.01.2011 в 18:45
Отвечает на сообщение 363678
+9
На мой взгляд, гораздо печальнее, когда человек, вместо того, чтобы вбить в гугл фразу и получить решение на второй странице, пару дней сидит, тыркается непонятно куда, мучает других "а чего делать" и т.п., при этом считаясь в принципе неплохим программистом. К сожалению, таких людей достаточно много.

Я для себя называю это "подвижность ума". Если она есть - то гугл - в помощь. Если её нет - то гугл может разве что помочь, но навредить увы просто некуда.
Отправлено 21.01.2011 в 21:48
Отвечает на сообщение 363678
+2
Упрощенно, если это core competency  компании - то надо гуглить и делать не так как было у других.
Если это не core competency - то надо гуглить и брать готовые решения.
Отправлено 21.01.2011 в 21:51
Отвечает на сообщение 363678
+2
собственно, всю жизнь у меня все доки делятся на две категории: справочники и туториалы. Первые содержат теорию, вторые - типовые решения. Гугл - тот же тутор, только более продвинутый, имхо. Любое найденное решение идет в копилку твоих же знаний, а способ поиска значения не имеет, все равно в процессе работы это решение переосмысливается для конкретной задачи."Правильно заданный вопрос содержит половину ответа", перефразируя получим: Найденное в океане информации решение - твое, потому, что ты знаешь что искать и что с этим делать.
Кстати, в институте правильные преподы учат искать информацию, неправильные заставляют изобретать велосипед по сто раз.
Отправлено 22.01.2011 в 18:20
Отвечает на сообщение 363700
+3
Илья Исайкин пишет:
>
> Кстати, в институте правильные преподы учат искать
> информацию, неправильные заставляют изобретать
> велосипед по сто раз.


Запомнилось, как однажды давным-давно сказал завкафедры:

"Отличие студентов нашего факультета не в том, что они помнят много вещей, а в том, что они знают где и как эти вещи искать, и поэтому могут сделать гораздо больше чем другие" :)
Отправлено 22.01.2011 в 15:40
Отвечает на сообщение 363678
+2
Vadim Gaidukevich пишет:
> умеют находить решения задач, но
> не умеют их решать сами.

огонь трением надо добывать! Или от молнии.
Отправлено 23.01.2011 в 15:09
Отвечает на сообщение 363678
0
Не использовать такой инструмент, как гугл, так же глупо, как и помнить содержание всех книжек. На самом деле когда находишь какое-то _похожее_ решение, это не сильно помогает, это всего лишь удобная ступенька для того, чтобы разработать свое специфическое решение, что вобщем без понимания теории зачастую просто невозможно. Потому гуглить надо всегда, как с точки зрения расширения кругозора так и с точки зрения улучшения существующих решений.
Отправлено 24.01.2011 в 15:38
Отвечает на сообщение 363678
+6
Лирическое отступление :)

Как будут решать задачу "Вскипятить чайник?" физики и математики - налить воду, зажечь огонь, поставить чайник на огонь и подогреть до 100° С.

А теперь новая задача "Вскипятить наполненный водой чайник?"
Физики: зажечь огонь, поставить, нагреть.
Математики: выльем воду из чайника, чем сведем задачу к предыдущей.

----

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

Если же нужно просто записать файл, то вы воспользуетесь стандартными (программными) средставми операционной системы.

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

Вот я, например, плохо знаю архитектуру x86. И тем более плохо знаю как устроен CPU (...ну может немного в теории) Однако это совершенно не мешает мне писать хороший код на С++ (или другом высокоуровневом языке)

----

"гуглигизация разработки" - это не плохо и не хорошо. Это очередной инструмент. И плохой он или хороший зависит только от того у кого он в руках.
Comments.blogs
Списки доступа
  • Подписчики [789]
Права доступа
У обсуждений в этой группе различные ограничения доступа.
Пользователи имеют персональные права доступа к обсуждениям.

Copyright © 2021 ООО "ДТФ.РУ". Все права защищены.

Воспроизведение материалов или их частей в любом виде и форме без письменного согласия запрещено.

Замечания и предложения отправляйте через форму обратной связи.

Пользовательское соглашение