Форум сайта python.su
Андрей СветловЕсли бы у нас программирование начинали учить с предмета “изучение чужого кода”, у меня бы жизнь по друому сложилась :)
Главное, чужие исходники научитесь читать - и “фишечек” потребуется куда меньше.
Офлайн
denzБыдлокодеры не читатели, быдлокодеры - писатели :)
З.Ы. И тупакодеров было бы на порядок меньше smile
Офлайн
Вопрос к “читателям” с растопыренными пальчиками: неужели не понятно, что читать чужой код - это трудно? Программирование нельзя начинать учить с предмета “изучение чужого кода”. Быстро разбираться в чужих исходниках - это признак опытного программиста.
Офлайн
по поводу чатов, может стоить собираться в pythonua@conference.jabber.ru ? можно конечно в просто python, но модеры канала врядли отдадут/дадут модера кому-либо из нас. В)
Офлайн
slav0nicпрошу, прощения - у них спрашивали?
можно конечно в просто python, но модеры канала врядли отдадут/дадут модера кому-либо из нас. В)
Офлайн
pythonwin , они там не часто бывают) ну можно спросить
Офлайн
The gray CardinalИменно в силу этого расхожего мнения распальцованные “читатели”, нам с тобой, салабонам, советуют - “учитесь читать чужой код.”
Вопрос к “читателям” с растопыренными пальчиками: неужели не понятно, что читать чужой код - это трудно?
Офлайн
denz
Мнение потому и “расхожее”, что верное :). А “читатели” не столько советуют, сколько обзываются :lol:.
А начинать лучше всё же с подробных русскоязычных мануалов и учебников.
Имхо, малая популярность Питона в русскоязычном сообществе связана прежде всего с очень малым количеством русскоязычной литературы. Но великим “читателям”, как обычно, лень документировать библиотеки и писать подробные статьи - обвинять на форумах в тупа- и быдлокодерстве абстрактных оппонентов куда легче ;).
Вообще, англоязычные пользователи имеют значительное преимущество в любой области компьютерной деятельности. Для них, например, даже просто идентификаторы переменных и функций в коде - это уже раскрытая книга. Как бы ты не знал хорошо английский - он для тебя иностранный, и русский всё равно удобнее во сто крат (по-русски ты можешь читать “по диагонали”, схватывая с четвертьслова, по-английски - вряд ли, и я уверен, что это относится к 99% русскоязычного сообщества).
Офлайн
Зацепили… Я никого никогда не обзывал! (по крайней мере заочно)
Туториал-мануал-исходный код
На туториал тратится несколько часов от силы. В исходник стоит лезть еще до вызубривания всего мануала наизусть. Есть проблема, в хелпе не описана, простым гуглением и проч средствами не решается - посмотри в сорцах, как же оно таки работает! И, спасибо Питону, очень часто разобраться довольно легко, хоть и есть монструозные исключения.
Альтрнативный вариант - перепробовать несколько десятков вариантов использования, на правильный не наткнуться, - и снова дорога ведет в исходники. Первый способ гораздо быстрее.
Сам так учился и людей учил. Поначалу почему-то тяжело принять такой подход, зато потом он сильно повышает понимание “как оно работает” и способность править ошибки. И уровень знаний зачастую тут не при чем.
О документировании и написании статей: как вы думаете, в чем заключается основная работа программиста? Я убежден, что таки в создании кода (eXtreme Programming, ага?) Написание док, мануалов и статеек - побочный труд. Авторам библиотеки за него зачастую еще и не платят, тем более если библиотека OpenSource. Задокументировать минимум нужно обязательно, иначе никто не поймет, зачем оно вообще нужно. Разводить излишнюю бумагописательскую деятельность может позволить себе Микрософт - так сколько лбов там сидят! Чаще автор предпочтет развивать функциональность вместо создания избыточной документации (которой никогда не будет достаточно - по определению). А потом этот минимум обрастает поваренными книгами, статьями и проч. описаниями процесса правильной ходьбы по граблям.
Все предыдущее касалось документирования “вообще” - читай англоязычного. Для русских есть переводы. Практически все они - на добровольных началах. Т.е. их еще меньше, чем “родной” документации (а где не так? Что-то я не видел перевод MSDN на русский). Чем-то помогли, вводную лекцию дали - а потом грызть гранит науки по первоисточникам.
Английский нужно знать. Аксиома. На уровне “читаю техническую документацию”. Поверьте, это весьма простой уровень. Для овладевания потребуется проработать любой самоучитель (и потом часто заглядывать в словарь поначалу, конечно же). Если жаль тратить на это стандартные 30 часов, то стоит ли пытаться заниматься программированием? На него уйдет куда больше времени. Единственная реальная альтернатива - уйти в “программисты 1С”. Тоже вариант. Там все на русском.
Читать по английски и читать код - вообще две большие разницы. Для идентификаторов не любят придумывать что-то вычурное, а выбирают простые, однозначные и устоявшиеся слова. Еще никогда не видел код, являющийся литературным шедевром. И становится практически не важным, на каком языке папа с мамой учили говорить. И “по диагонали”, и “с четвертьслова” читаешь, и по всякому. На Шекспире можно запнуться с большой долей вероятности, так Шекспир же на Питоне не писал :)
Да, и еще. Чужой код, который приходится читать - зачастую хороший код. От автора известной на весь мир библиотеки (иначе отчего я бы эту библиотеку использовал). Есть хороший шанс, что этот автор таки писать умеет. И простое изучение чужих подходов и приемов способно довольно сильно поднять собственный профессиональный уровень.
Отредактировано (Сен. 15, 2007 17:54:58)
Офлайн
Андрей Светлов
“Побочный труд”, “бумагописательская деятельность”… Вот он, корень зла! :lol: Многие совершенно искренне полагают написание мануалов и статей дурацким, никому не нужным занятием. А это абсолютно не так. Даже если ты такой мощный “читатель” кода, подходящего кода у тебя может просто не оказаться под рукой! И без “простого гугления” никак не обойдёшься. А в гуглении видишь большой шиш - всё по-нерусски.
Английский нужно знать - да, да, да. Только не надо говорить, что через 30 часов изучения английского ты будешь читать англоязычные мануалы так же легко, как русскоязычные - это просто смешно. И не надо думать, что 30-часовое знание английского типа “читаю техническую документацию” (если это можно вообще назвать каким-либо знанием) - это не помеха. Это на самом деле колоссальная проблема. Проблема языкового барьера, скорее всего, будет мешать всю оставшуюся жизнь. Это очень простая мысль - ты никогда не будешь знать иностранный язык так же, как родной. Никогда. И это означает только одно - у англоязычного программиста всегда преимущество. Всегда. И это преимущество огромно, гораздо больше, чем может показаться на первый взгляд.
Поэтому “бумагописательской деятельностью” и “побочным трудом” надо заниматься гораздо больше! Чтобы потом не было вопросов “Почему нас так мало?” :lol:.
P.S. Идентификаторы в коде на родном языке - это очччень большой плюс. Вы просто не пробовали ;).
Офлайн