Модераторы: LSD
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите написать книгу для программистов, Всем желающие могут поучаствовать 
:(
    Опции темы
ramalex
Дата 28.1.2010, 14:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 25.12.2009




Есть такой проект Школа Программирования. Там публикуются статейки о том, как красиво, правильно, грамотно писать код, вести разработку ПО и т.п.
И очень скоро от авторов проекта должна появиться книга в помощь всем начинающим и не очень программистам. В ней будут собраны советы о том, как, собственно, быть успешным в своей профессии. 
Но помимо опыта авторов хочется включить туда опыт почтеннейшей аудитории этого форума. Поэтому всех желающих прокомментировать содержание (оно кратко изложено на сайте), поделиться собственными мыслями и получить первыми эту книгу, просим заходить вот сюда: книга от Школы Программирования
PM MAIL   Вверх
unicuum
  Дата 28.1.2010, 22:35 (ссылка) |  (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 830
Регистрация: 16.3.2005
Где: Рашка




Не вижу там пока достойных статей. То что есть гораздо лучше описано в книге "Совершенный код".


--------------------
user posted image
обычный день на винграде
PM   Вверх
ramalex
Дата 28.1.2010, 23:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 25.12.2009




что значит по-вашему достойные?
PM MAIL   Вверх
unicuum
Дата 29.1.2010, 01:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 830
Регистрация: 16.3.2005
Где: Рашка




Цитата(ramalex @  28.1.2010,  23:04 Найти цитируемый пост)
что значит по-вашему достойные? 

Надо на конкретных примерах рассматривать.
Цитата(http://prog-school.ru/category/abc/)
Что происходит между тем, как пользователь набрал в браузере адрес веб-сайта, и моментом, когда станица появилась на экране
...
Основная функция браузеров – превращение html кода в то, что мы видим на экране монитора. HTML – это стандартный язык разметки документов во Всемирной паутине. Язык HTML интерпретируется браузером и отображается в виде документа, в удобной для человека форме. Можно сказать, что html страницы – это своеобразная пища для браузера.

Веб-сервер

В общем смысле, веб-сервер – это компьютер, обслуживающий запросы к одному или нескольким сайтам интернета. Клиент, в роли которого обычно выступает веб-браузер, передаёт веб-серверу запросы на получение ресурсов, обозначенных URL-адресами. Ресурсы — это HTML-страницы, изображения, файлы, медиа-потоки или другие данные, которые необходимы клиенту. В ответ веб-сервер передаёт клиенту запрошенные данные. Этот обмен происходит по протоколу HTTP.
...

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

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

Цитата(http://prog-school.ru/2010/01/kak-pravilno-peredavat-parametry-v-funkciyu-5-sovetov/)
Не используйте входящие параметры как рабочие переменные. Использовать передаваемые переменные как рабочие внутри функции считается плохим тоном. Возможно, что переданное значение переменной важно для дальнейшего выполнения программы. В то же время ваша функция может это значение изменить. Это, безусловно, зависит от языка программирования, но для большей дисциплины я, всё-таки, советую придерживаться этого правила.

Сразу небольшое дополнение:
Цитата(термины в C++)
Параметры (parameters) — объявления типов данных передаваемых функции.
Аргументы (arguments) — реальные значение передаваемые при вызове.
Сигнатура (signature) — имя функции и перечень параметров (без возвращаемого значения).
Переменная (variable) — это место в памяти компьютера где можно хранить данные и извлекать их оттуда.

Так вот почему это плохой тон? Раз уж там в пример C++ приводится, то если бы мне не надо было менять значение, я бы написал ссылку на константу. Или с указателями указатель на константу или константный указатель на константу. Страуструп в своей книге говорил так и делать, чтобы подчеркнуть, что значения внутри не меняются.

Если я не так напишу, а по другому, то для простых типов произойдёт копирование значение в новую переменную. Это значит, что программист как бы говорит, что в алгоритме именно хочет использовать вот так как у тебя написано про плохой тон. А классы вообще отдельный разговор. А предположим я других книг не читал, тех которые описывают стандарт C++ и просто поверю, что это плохой тон. smile 

Или вот:
Цитата(http://prog-school.ru/2010/01/5-pravil-imenovaniya-funkcij/)
Имя функции должно отражать все, что она делает. Если функция выполняет множество действий, которые напрямую между собой не связаны, то имя получится длинное и несуразное. Например: ConnectToDatabaseAndOpenFileAndWriteDatabaseRecordsCountToFile(); Такое километровое название функции – признак того, что вам стоит задуматься о её содержании и выделить ряд более мелких функций.
...
Используйте описание возвращаемого значения для именования функции. Если функция что-то возвращает, это должно быть ясно из названия. Пример хороших имен: sin(), GetMaxValue(), monitor.IsReady(), iterator.NextElement().

В книге "Совершенный код" писали, что функция не возвращающая значение именуется по типу действия которое она выполняет. А функция возвращающее значение именуется тем значением, которое она возвращает. То есть сразу подчёркнуто различие, ну и объём получаемых знаний конечно совсем разный из той книги и из этих статей.

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

И ещё надо как то последовательными быть. В C++ было бы не GetMaxValue(), а например, getMaxValue(), то есть первая буква нижнего регистра. А насчёт названия классов, то с маленькой буквы обычно пишут лишь в библиотеках претендующих на стандарт. В остальных и своих библиотеках в соглашениях обычно каждое слово начинается с буквы верхнего регистра, остальные буквы пишутся с нижнего. Например, не monitor.IsReady(), а Monitor.isReady(), хотя там ещё приставка часто идёт какая-нибудь NxMonitor.isReady(). Хотя вопрос про классы, а именно про самую первую букву вопрос соглашений именования самой библиотеки.


--------------------
user posted image
обычный день на винграде
PM   Вверх
ramalex
Дата 29.1.2010, 01:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 25.12.2009




Цитата

Ничего не сказано о протоколах передачи данных, то как в реале передаются данные

Насколько подробно? Может о манчестре коде и стробирующих синхроимпульсах рассказать?

Остальные рассуждения из разряда: а вот в С++ вот так вот, а вот в других языках по-другому. Считать что если в С++ первые буквы функций правильно писать в нижнем регистре - то это абсолютная истина, очевидно неправильно. Поэтому если в статье речь идет о длине функции, то имеет смысл обратить внимание именно на длину функции, абстрагировавшись от регистра первой буквы.

Complete Code, или "Совершенный код" имеет 862 страницы текста. Да в нем больше информации))
PM MAIL   Вверх
unicuum
  Дата 29.1.2010, 04:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 830
Регистрация: 16.3.2005
Где: Рашка




Цитата(ramalex @  29.1.2010,  01:39 Найти цитируемый пост)
Насколько подробно?

Хотя бы на уровне вики - httptcp и т.д. А иначе это книга даже не для начинающих программистов, а для пользователей, которые в жизни компьютера никогда не видели. И вот теперь они с радостью узнают, что браузер превращает html в то, что мы видим на экране. smile 
Цитата(ramalex @  29.1.2010,  01:39 Найти цитируемый пост)
Считать что если в С++ первые буквы функций правильно писать в нижнем регистре - то это абсолютная истина, очевидно неправильно.

Тоже самое тогда касается и остальных соглашений по форматированию кода. Вот мне или кому-то ещё захочется по другому писать, и будут так делать. А кто привяжется, скажу что ваше мнение очевидно не абсолютная истина. smile 
Цитата(ramalex @  29.1.2010,  01:39 Найти цитируемый пост)
862 страницы текста. Да в нем больше информации)) 

Не в количестве страниц дело. В некоторых книгах, что-то вилами на воде пишут и пишут, пишут и пишут. В других же напротив всё структурировано, упорядочено и сжато для удобного использования. Теперь что касается книги, начнём с авторов:

Цитата(http://prog-school.ru/2010/01/ob-avtorax/)
Ежедневно практикуясь, мы накопили уникальный 10-летний опыт разработки ПО и веб-проектов, изучили множество тонкостей программирования, от маленьких практических секретов, до методологий построения систем, масштабов предприятия.

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

Или вот:
Цитата(http://prog-school.ru/2010/01/o-shkole/)
Хорош не тот программист, который знает много языков, а тот, кто умеет правильно выбрать наиболее подходящую технологию или язык программирования для решения задачи и изучить в короткий срок то, что потребуется. Специалистов в области разработки ПО можно разделить на две категории: кодеры и разработчики. Первым присуща спешка, небрежное отношение к коду, принцип «работает – не лезь». Вторая группа склонна к глубокому анализу задачи и методов ее решения, стремлению к совершенству разрабатываемой программы, ее красоте и концептуальной завершенности.

Может это не программисты делятся на две категории, а просто существуют от двух и более стадий разработки ПО. Так понимаю из этого следует, что есть люди со знанием кодирования ПО, а есть архитекторы ПО, которые умеют его проектировать. И так же из этой фразы понимаю, что вторые знакомы с системным анализом.

Цитата(http://prog-school.ru/2010/01/o-shkole/)
Школа программирования – это место, где мы проведем Вас путями, пройти которыми просто необходимо любому программисту. Под нашим тщательным присмотром Вы наступите на те грабли, на которые надо наступить, чтобы понять, что было неправильно и как в дальнейшем этого избегать

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

Вопрос про кодеров лично у меня вызывает ассоциации с программистами и паковщиками из программисткого камня и ещё до кучи таких же сравнений, типа правильный, не правильный и тому подобное. Недавно читал пространное рассуждение. Написали что тот кто делает программы хороший программист, это true, а тот кто не может сделать это плохой, false. И вроде как берите на работу тех кто её сможет выполнить. smile

Может так сделаем, вы по быстрому в одной или пару статей раскроете главные секреты программирования, чтобы любой не программист раз, и сразу стал пусть и не супер крутым, но хотя бы каким-то программистом?


--------------------
user posted image
обычный день на винграде
PM   Вверх
ramalex
Дата 29.1.2010, 10:28 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 25.12.2009




Цитата

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

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

Цитата

Мне вообще думается, что программист по результатам успешно завершённых работ оценивается, а не по количеству прожитых лет.

Цифра количества проектов все равно ничего не скажет. Проект проекту рознь.

Цитата

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

Это не мешает писать книги. Книга в первой итерации будет в электронном виде и распространяться абсолютно бесплатно.
О концепции книги написано на странице ей посвященной.

Это сообщение отредактировал(а) ramalex - 29.1.2010, 10:28
PM MAIL   Вверх
mycarisgood
Дата 29.1.2010, 19:53 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Awaiting Authorisation
Сообщений: 2
Регистрация: 29.1.2010




ramalex, посмотрел сайт вашей школы, неплохо.

Цитата(unicuum @  29.1.2010,  01:14 Найти цитируемый пост)
Ничего не сказано о протоколах передачи данных, то как в реале передаются данные.

Нашел статью про протокол HTTP.

Цитата(unicuum @  29.1.2010,  01:14 Найти цитируемый пост)
Автору(ам) книги надо решить, или публиковать маловразумительные, опять же по сравнению с теми книгами которые я читал, статьи. Или всё же писать о самом программировании, а не просто о технологии. А то при сравнении получится как современный феррари с инвалидкой, то есть преимущество будет не в пользу данной книги.

Ничего не понял.

ramalex, а какая цель книги? Это очередная вариация на тему ПРОГРАММИРОВАНИЕ ДЛЯ ЧАЙНИКОВ?

PM MAIL   Вверх
gambit
Дата 29.1.2010, 20:01 (ссылка)  | (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***
Награды: 1



Профиль
Группа: Комодератор
Сообщений: 1359
Регистрация: 25.6.2006
Где: я?




ramalex == mycarisgood??
PM MAIL ICQ Skype   Вверх
mycarisgood
Дата 30.1.2010, 02:28 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Awaiting Authorisation
Сообщений: 2
Регистрация: 29.1.2010




gambit какбэ сыщик? ушки на мокушке?)

нет, я не рамалекс, btw.
PM MAIL   Вверх
unicuum
Дата 30.1.2010, 03:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 830
Регистрация: 16.3.2005
Где: Рашка




Цитата(mycarisgood @  29.1.2010,  19:53 Найти цитируемый пост)
Нашел статью про протокол HTTP.

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

Это сообщение отредактировал(а) unicuum - 30.1.2010, 03:22


--------------------
user posted image
обычный день на винграде
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила раздела «Флейм»
Sneg0k

Добро пожаловать в «Флейм».

В разделе не действуют многие правила:

  • Можно оффтопить(умеренно)
  • Можно общаться на темы, не только связанные с программированием.

Строго запрещено:

  • Размещать рекламу
  • Обсуждать политику
  • Оскорблять друг-друга и переходить на личности
  • Наезжать, провоцировать других участников форума
  • Материться
  • Троллить

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


Глас Винграда:


Глас Философии:


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Sneg0k

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Флейм | Следующая тема »


 




[ Время генерации скрипта: 0.1134 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.