Comments 51
Гуглить не проблема. Проблема в том, что часто люди сразу не думая бегут гуглить и находят бяку какую-нибудь и вставляют в код кое-как.
То есть если есть stackoverflow то грех им не пользоваться, но сначала надо подумать и сформулировать, а также определиться что мы ищем и в какую сторону.
То есть решать по одной схеме «гуглить — не гуглить неправильно». Иногда придется прогуглить 3 разные вещи, и из них слепить решение.
То есть если есть stackoverflow то грех им не пользоваться, но сначала надо подумать и сформулировать, а также определиться что мы ищем и в какую сторону.
То есть решать по одной схеме «гуглить — не гуглить неправильно». Иногда придется прогуглить 3 разные вещи, и из них слепить решение.
+3
Мне кажется, должно быть чувство «выполненной задачи на хорошо», то есть бежать гуглить проблему со всех сторон — это даже не плохо, просто необходимо брать не первое попавшееся, а изучить вопрос, сформулировать оптимальное решение для конкретно нашего случая, вставить и порефакторить выбросив ненужные части.
0
Страшно становится тогда, когда ты нашел на stackoverflow схожий вопрос, но на него никто так и не смог ответить…
+3
Или когда, проанализировав простыни логов, замучив до смерти дебаггер и таки найдя решение через 3 дня, возвращаешься на SO победителем, а на этот вопрос уже ответили.
+6
Да, у меня такое же было полгода назад… Первоначальные ощущение — «обидненько».
Но потом понимаешь, что пока 3 дня ковырял — ты реально вырос.
И тогда осознаешь, что эти 3 дня не были пустой тратой времени.
Но потом понимаешь, что пока 3 дня ковырял — ты реально вырос.
И тогда осознаешь, что эти 3 дня не были пустой тратой времени.
+2
Зато как приятно, продравшись через дебри, написать ответ на этот вопрос =)
+1
из крайности в крайность сэр!
0
Мне Гугл даёт очень многое, особенно с того момента, как я сел за swift. Учитывая довольно активное развитие этого языка всегда стоит отслеживать так называемые «best practices».
0
А, ну и ещё Гугл отлично сбивает спесь: только ты начинаешь думать, что так круто и хитрО решил какую-то задачу, как Гугл подкидывает вариант не хуже, а то и лучше.)))
+2
а зачем вы решаете такие задачи, какие уже решены в гугле? Вроде как решать своими силами нужно то, что в гугле не нашлось.
0
Многие задачи проще и/или надёжнее решить самому, чем воспользоваться чужим решением.
+3
К сказанному оратором выше мог лишь добавить: а) реально уникальных проектов под мобильные платформы практически нет б) когда я начинал писать диссертацию и, соответственно, программу симуляции для кхм… демонстрации алгоритма, то вносил некую инновационность, через пару лет схожие алгоритмы(местами немного лучше или хуже, не суть) увидел у своих «коллег» из других институтов. Так что даже то, чего не нашлось в гугле сегодня, через пару дней/месяцев вполне может там появиться и в улучшенном виде.
0
Помню время до широкополостного интернета, когда просто сидишь и пишешь программу. (((
0
Библиотеки и документация тогда были оффлайновые по умолчанию.
0
Пока не появится какой-то хитрый баг, и сидишь, ковыряешься в доках и дебаггере. А это для начинающего программиста было 95+% времени. Дальше лучше, конечно, но все равно…
Плохое быстро забывается.
Плохое быстро забывается.
+1
<offtop>
"широкополостной" — это с широкими полостями)
</offtop>
+1
Не совсем в тему программирования, но близко. Преподавал студентам основы сисадминства. На лабах принципиально не существовало методичек. Было задание выданное за неделю, был комп с виртуалкой, был гугл. Все как в жизни) А дальше все делились на думающих и тех, у кого не работали тупые копи-пасты из интернета… Потому, что как гласит старая мудрость «Чтобы правильно задать вопрос, надо знать больше половины ответа». В программировании очень похоже, stackoverflow это великолепно, но больше половины ссылок надо отсеять сразу же, т.к они не совсем о том, что тебе нужно или это решение похожей, но не твоей ситуации. А в твоей оно иногда еще и наоборот вредное. Вот для этого нужно разбираться в предмете! Так и на экзаменах, честно говоря, тоже давал пользоваться всем) Но это мало кому помогало без понимания предмета…
+4
Вот это, кстати, очень правильный подход. У нас так живо отсеялись зубрилки, у которых теория прям, что называется, от зубов отскакивала, но на практике как-то не сложилось. Они могли чуть ли не дословно пересказать конспект по курсу «Теория ОС», но задача правильно разбить винт и установить Винду вводила их в ступор.
0
Я думал что в оригинале «правильный вопрос уже содержит половину ответа», но ваш вариант тоже хорош
0
Мы оба оказались неправы)
Это цитата из Роберта Шекли «Вечный вопрос»
«Ничего более конкретного они не добились. Долгие часы они мучили Ответчик, мучили себя, но правда ускользала все дальше и дальше.
— Я скоро сойду с ума, — не выдержал Морран. — Перед нами разгадки всей Вселенной, но они откроются лишь при верном вопросе. А откуда нам взять эти верные вопросы?!
…
Один на планете — не большой и не малой, а как раз подходящего размера — ждал ответчик. Он не может помочь тем, кто приходит к нему, ибо даже Ответчик не всесилен.
Вселенная? Жизнь? Смерть? Багрянец? Восемнадцать?
Частные Истины, полуистины, крохи великого вопроса.
И бормочет Ответчик вопросы сам себе, верные вопросы, которые никто не может понять.
И как их понять?
Чтобы правильно задать вопрос, нужно знать большую часть ответа.»
Кстати рекомендую прочитать, он очень хорошо дополняет статью и комментарии! Ответчик в рассказе Шекли очень напоминает современный Гугл :)
Это цитата из Роберта Шекли «Вечный вопрос»
«Ничего более конкретного они не добились. Долгие часы они мучили Ответчик, мучили себя, но правда ускользала все дальше и дальше.
— Я скоро сойду с ума, — не выдержал Морран. — Перед нами разгадки всей Вселенной, но они откроются лишь при верном вопросе. А откуда нам взять эти верные вопросы?!
…
Один на планете — не большой и не малой, а как раз подходящего размера — ждал ответчик. Он не может помочь тем, кто приходит к нему, ибо даже Ответчик не всесилен.
Вселенная? Жизнь? Смерть? Багрянец? Восемнадцать?
Частные Истины, полуистины, крохи великого вопроса.
И бормочет Ответчик вопросы сам себе, верные вопросы, которые никто не может понять.
И как их понять?
Чтобы правильно задать вопрос, нужно знать большую часть ответа.»
Кстати рекомендую прочитать, он очень хорошо дополняет статью и комментарии! Ответчик в рассказе Шекли очень напоминает современный Гугл :)
+1
Потрясающе, спасибо!
0
Да, в оригинале этот рассказ называется несколько иначе. «Robert Sheckley, „Ask A Foolish Question“ и точная фразу звучит как „In order to ask a question you must already know most of the answer“, так что переводы могут отличаться, но смысл остается. Рекомендую прочитать оригинал, он всегда богаче перевода.
0
Гугл не всегда помогает. Как пример конкретно сейчас я работаю над закрытым продуктом, который не используется нигде за пределами компании, так что довольно часто гуглиь бесполезно — все равно никто ничего не знает про наш стек технологий ;)
0
UFO just landed and posted this here
Я junior, для меня Google — хлеб насущный. Он помогает мне решить мои задачи, уложится в срок. Я не считаю это плохой практикой, так как когда я сталкиваюсь с подобной проблемой, я знаю как её решить. Единственное, я чувствую себя кодером, который ничего кроме кода не делает. Просто набирает код, чтобы начальник был доволен и я уложился в срок. Мне хочется стать программистом. Тем человеком, который сначала тщательно обдумывает архитектуру, а потом пишет прекрасный код. Как будто его руки были омыты слезами тайландских девственниц. Наверное, мне просто нужно больше практиковаться и набираться опыта, так что, Google, я рассчитываю на тебя :)
+1
Я вот стараюсь найти готовую реализацию моей задумки в гугле/гитхабе/гитлабе/etc. Если найду, посмотрю как мыслил автор и перенесу идею в свой проект. Это, конечно, грубо и не интересно, но чего поделать.
+1
10 лет в IT, 3-5 в программировании — я только вчера узнал про оператор % (остаток от деления) проходя собеседование которое само собой с треском провалил… я Google-oriented программист, и у этого подхода есть огромный минус — отсутствие фундаментальной базы, получаемые навыки/опыт ограничены проблемами с которыми пришлось столкнуться.
+2
Это смотря как гуглить. Лучше разок какой-нибудь специально составленый курс пройти с задачками на то на сё, чем чисто с практическими задачами бороться. Все эти курсы же составляют специально, чтобы охватить базу.
http://exercism.io/
+3
UFO just landed and posted this here
Чаще всего я гуглю тексты ошибок и куски стектрейсов… И никогда — чужой код
А так же сравнительные тесты технологий, фреймворков и т.п. И никогда — чужой код
0
Уровни профессионализма программиста.
Уровень 1. Ты понимаешь о чем проблема.
Уровень 2. Ты умеешь хоть как-то решить проблему.
Уровень 3. Гугл/Яндекс тебе помогают только как справочники.
Уровень 4. Тебя перестают материть другие программисты в команде.
Уровень 5. Не ты ищешь работу, а работа ищет тебя.
Уровень 1. Ты понимаешь о чем проблема.
Уровень 2. Ты умеешь хоть как-то решить проблему.
Уровень 3. Гугл/Яндекс тебе помогают только как справочники.
Уровень 4. Тебя перестают материть другие программисты в команде.
Уровень 5. Не ты ищешь работу, а работа ищет тебя.
0
Лично мне тяжело с пустыми глазами копипастить куски кода. Пока не разберусь в его работе, всегда в голове будет висеть мысль, что «у тебя висит костыль, нужно с ним разобраться», даже если он без проблем решает поставленную задачу; а работать над проектом с такой мыслью не очень комфортно.
0
Идешь на stackoverflow, а единственный верный ответ, давал ты сам…
0
Объем информации поглощаемый программистами настолько высок, что без использования гугла можно просто остаться не у дел с устаревшими знаниями. Мало какая книга даст оперативное решение проблемы, да и для другого они предназначены. Но и бездумно копипастить код для решения своей задачи редко получается. Почти все требует доработки и адаптации под задачу.
0
Несколько лет назад неожиданно для себя обнаружил, что перешел в состояние «у меня по работе возникают в основном такие вопросы к гуглу, ответов на которые нет не только на stackoverflow, а вообще нигде в интернетах». В лучшем случае обнаруживаются посты с неотвеченными аналогичными вопросами. И не могу сказать, что это делает меня более счастливым.
+4
Иногда документация написана столь плохо, что только гуглинг примеров и спасает. А если к этой платформе ещё и только привыкаешь — то тупое копирование неизбежно, ибо не знаешь как вообще можно писать по другому.
А если не очень хорошо знаешь английский, то всё программирование вообще в принципе сводится к гуглингу.
Да и вообще в 21 веке живём вроде. Все виды велосипедов уже давно написали за нас. Плодить новые просто бессмысленно (хотя иногда хочется, чем и занимаюсь на досуге).
Вообще считаю что проблемы гуглинга именно в отсутствии (адекватной) документации. Потому что если дать человеку топор и лес — он сможет построить дом. Но если дать аборигену не заправленную бензопилу — он никогда не распилит ей дерево. Откуда ему вообще знать что нужен бензин? А в инструкции будет: «для того чтобы завести бензопилу — резким движением потяните за кольцо». Тут только гуглинг поможет…
Вот и я в программировании чувствовал себя также. Особенно когда только начинал. Берёшь книгу а там: «откройте простым текстовым редактором, бла-бла-бла int main() бла-бла-бла, а теперь скомпилируйте.» А на деле это сработает только с первым примером из книги (если вообще сработает). Окажется компилятор надо сначало найти, скачать, установить, при компиляции указать нужные ключи. Сам редактор может сохранять фаил не в той кодировке. И вот начинает безумно гуглить по каждому пунктику…
Или например начинаешь по книге изучать объекты. Изучаешь массивы. А как создать массив обьектов? Меня например это ввело очень в большой ступор когда я изучал java. (славу богу сейчас я на python-е сижу)
И что самое страшное как раз именно гуглинг и не помогает. А всё потому что каждая следующая подсказка — создаёт с 10-ток новых вопросов.
Во общем негодую я.
А если не очень хорошо знаешь английский, то всё программирование вообще в принципе сводится к гуглингу.
Да и вообще в 21 веке живём вроде. Все виды велосипедов уже давно написали за нас. Плодить новые просто бессмысленно (хотя иногда хочется, чем и занимаюсь на досуге).
Вообще считаю что проблемы гуглинга именно в отсутствии (адекватной) документации. Потому что если дать человеку топор и лес — он сможет построить дом. Но если дать аборигену не заправленную бензопилу — он никогда не распилит ей дерево. Откуда ему вообще знать что нужен бензин? А в инструкции будет: «для того чтобы завести бензопилу — резким движением потяните за кольцо». Тут только гуглинг поможет…
Вот и я в программировании чувствовал себя также. Особенно когда только начинал. Берёшь книгу а там: «откройте простым текстовым редактором, бла-бла-бла int main() бла-бла-бла, а теперь скомпилируйте.» А на деле это сработает только с первым примером из книги (если вообще сработает). Окажется компилятор надо сначало найти, скачать, установить, при компиляции указать нужные ключи. Сам редактор может сохранять фаил не в той кодировке. И вот начинает безумно гуглить по каждому пунктику…
Или например начинаешь по книге изучать объекты. Изучаешь массивы. А как создать массив обьектов? Меня например это ввело очень в большой ступор когда я изучал java. (славу богу сейчас я на python-е сижу)
И что самое страшное как раз именно гуглинг и не помогает. А всё потому что каждая следующая подсказка — создаёт с 10-ток новых вопросов.
Во общем негодую я.
-1
А если к этой платформе ещё и только привыкаешь — то тупое копирование неизбежно, ибо не знаешь как вообще можно писать по другому.
Вот я не понимаю как это — тупо копировать, не пытаясь понять код, который копируешь. Да, приходилось иногда заглядывать и в код коллег, и в SO за помощью, но разве чисто самому не становится интересно, как оно работает? А если оно работает неправильно?
0
А как оно работает? а где посмотреть? А что делать если не знаешь даже где посмотреть?
Вы вот фреймворками пользуетесь? А лезете по коду глубже чтобы узнать как оно там работает? А если там просто тупые биндинги к готовым библиотекам? А в учебниках об этом пишут? Как узнать в принципе что код работает не правильно? Как узнаёте вы? Вы не пробуете для начало просто запустить чужой код — чтобы проверить а запускается ли он вообще?
> «не пытаясь понять код»
Вот скажите вы когда видите
cout << «Hello world!!!\n»;
Вам интересно как работает этот код? А если он работает не правильно? А откуда вам знать что именно это правильно?
А может быть надо:
cout << «Hello, world!» << endl;
или ещё хуже:
puts («Hello, World!»);
или так:
printf («Hello, World!\n»);
Попробуйте поймите. Как дойдёте до уровня ассемблерного кода — решите правильно ли оно работает. Я конечно утрирую. Но когда дело касается вывода строки на экран — все соглашаются, о том что, проще использовать готовый встроенный годами отлаженный функционал, чем писать свой. Я с такой же точки зрения смотрю на чужой код. Если написано «так» — значит кто-то продумал почему именно так а не иначе.
Когда дело касается незнакомой платформы — один фиг начинаешь с того что берёшь какой нибудь кусок чужого кода и пробуешь посмотреть как он себя ведёт. И никогда заранее не знаешь правильно это или нет. А теперь перечитайте моё сообщение выше: я писал о недостатках документации. Не о решении глобальных экономических проблем страны, а о том что программирование в принципе начинается с того что ты берёшь какой нибудь код и пробуешь его. Естественно при данном действии так называемое «понимание кода» отсутствует.
> разве чисто самому не становится интересно, как оно работает?
Если мы опять же будем говорить об решении глобальных экономических проблем — то мне действительно будет интересно как работает рабочий код. Но даже там мне будет интересно не «понять код», а «узнать алгоритм» код которого и осуществляется в каком либо рабочем примере.
если я не могу посчитать на листочке то что я хочу видеть от программы, то и саму программу я не смогу даже сформулировать. И никакой чужой код мне не поможет.
А если могу и есть адекватная документация то мне и копировать код не придётся.
А вот если я знаю чего хочу видеть на экране но не знаю какую команду задать, то тупое копирование — единственный вариант который у меня вообще есть.
Вы вот фреймворками пользуетесь? А лезете по коду глубже чтобы узнать как оно там работает? А если там просто тупые биндинги к готовым библиотекам? А в учебниках об этом пишут? Как узнать в принципе что код работает не правильно? Как узнаёте вы? Вы не пробуете для начало просто запустить чужой код — чтобы проверить а запускается ли он вообще?
> «не пытаясь понять код»
Вот скажите вы когда видите
cout << «Hello world!!!\n»;
Вам интересно как работает этот код? А если он работает не правильно? А откуда вам знать что именно это правильно?
А может быть надо:
cout << «Hello, world!» << endl;
или ещё хуже:
puts («Hello, World!»);
или так:
printf («Hello, World!\n»);
Попробуйте поймите. Как дойдёте до уровня ассемблерного кода — решите правильно ли оно работает. Я конечно утрирую. Но когда дело касается вывода строки на экран — все соглашаются, о том что, проще использовать готовый встроенный годами отлаженный функционал, чем писать свой. Я с такой же точки зрения смотрю на чужой код. Если написано «так» — значит кто-то продумал почему именно так а не иначе.
Когда дело касается незнакомой платформы — один фиг начинаешь с того что берёшь какой нибудь кусок чужого кода и пробуешь посмотреть как он себя ведёт. И никогда заранее не знаешь правильно это или нет. А теперь перечитайте моё сообщение выше: я писал о недостатках документации. Не о решении глобальных экономических проблем страны, а о том что программирование в принципе начинается с того что ты берёшь какой нибудь код и пробуешь его. Естественно при данном действии так называемое «понимание кода» отсутствует.
> разве чисто самому не становится интересно, как оно работает?
Если мы опять же будем говорить об решении глобальных экономических проблем — то мне действительно будет интересно как работает рабочий код. Но даже там мне будет интересно не «понять код», а «узнать алгоритм» код которого и осуществляется в каком либо рабочем примере.
если я не могу посчитать на листочке то что я хочу видеть от программы, то и саму программу я не смогу даже сформулировать. И никакой чужой код мне не поможет.
А если могу и есть адекватная документация то мне и копировать код не придётся.
А вот если я знаю чего хочу видеть на экране но не знаю какую команду задать, то тупое копирование — единственный вариант который у меня вообще есть.
-1
Вы просто хотите, чтобы все возможные юзеркейсы разжевывались и клались в рот. Но мы живем в реальном мире — так не бывает.
А после таких вот копипастов приходится потом разбираться в написанных в разном стиле (а то и парадигме — и такое бывало) кусках кода с излишним или недостаточным функционалом.
А после таких вот копипастов приходится потом разбираться в написанных в разном стиле (а то и парадигме — и такое бывало) кусках кода с излишним или недостаточным функционалом.
0
> так не бывает.
Зато бывает как на рисунке с совой. И очень часто. Особенно новичкам. Которые эти ваши парадигмы только изучают…
не мы такие — жизнь такая… А потом удивляются почему на том же SO тысячи однотипных вопросов.
Когда на самом деле всем начинающим нужна просто маленькая шпаргалочка в виде таблиц с различными комбинациями.
Зато бывает как на рисунке с совой. И очень часто. Особенно новичкам. Которые эти ваши парадигмы только изучают…
не мы такие — жизнь такая… А потом удивляются почему на том же SO тысячи однотипных вопросов.
Когда на самом деле всем начинающим нужна просто маленькая шпаргалочка в виде таблиц с различными комбинациями.
0
Вызывать чужой код и копировать чужой код — это разные вещи.
0
Sign up to leave a comment.
Программист ли я, или просто хорошо гуглю?