Обсуждение:Учебник по программированию

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

Обсуждение учебника:

Архив
Архив
Архив обсуждений:
NB
  • Обсуждения не удаляются (кроме вандализма, удаления собственных просьб и пожеланий, и подобных случаев.) Это правило проекта «Викиучебник».
  • Обсуждения, потерявшие актуальность (в которых не было новых комментариев в течение двух месяцев или более), допускается в неизменном виде переносить в архив, согласно дате начала каждого конкретного обсуждения.
  • Чтобы начать новую тему, можно воспользоваться ссылкой «Добавить тему».

Perl

Перенесено из Обсуждение участника:Ivan Shmakov#Темы учебников.

Кроме того, в той же главе,разделе Perl, оператор & назван синонимом and, хотя это (очевидно) не так; cf.:

print ((58 and 110), " ", ("Hello" and "World"), "\n");
## → 110 World
print ((58  &  110), " ", ("Hello"  &  "World"), "\n");
##  → 42 @e`ld

В частном случае, когда каждый из операндов заведомо равен 0 или 1, результат ($a & $b) действительно совпадет с ($a and $b). Тем не менее, в общем случае это не так, да и типичным является применение оператора and в качестве условного — do_we_have_a_problem_p () and die ("Houston, we have a problem."), в то время как & в этом контексте не имеет смысла.

Ivan Shmakov (ов) 14:09, 24 января 2014 (UTC)Ответить

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

$a = "please ";
$b = "enter ";
$c = "your ";
$d = "password";
$e = "!";
print $a & $b & $c & $d & $e;

Заявленный вывод: please enter your password!; действительный — символ «пробел».

Ivan Shmakov (ов) 19:21, 22 апреля 2014 (UTC)Ответить

Смысл данного учебника

Я, честно, не очень понимаю смысл существования данного учебника. Во-первых, многие учебники по языкам программирования уже существуют: PHP, Perl, C Sharp, Python и др. Это получается дублирование информации; можно же просто дополнять старые. Во-вторых, такой учебник по разным языкам в будущем сложно будет читать — ведь если продолжать, то объём текста и статьи будет чрезмерный. К тому же даже не представляю себе реальную книгу, в которой были бы описаны столь разные языки. --Brateevsky {talk} 12:22, 28 февраля 2014 (UTC)Ответить

Не нахожу причин, по которым в проекте не может существовать более одного учебника по теме; при том лишь условии, что дублирование текста при этом невелико.
Проблему объема можно решить создав подстраницы для отдельных разделов. (Тем более, что данный учебник — не единственный «одностраничный» в проекте.) Что хуже, существует проблема категоризации — при таком подходе, учебник можно отнести лишь к наиболее общей тематической категории («языки программирования»), в то время как потенциальный читатель наверняка начнет поиск материала с частных.
Наконец, перечисленные проблемы можно решить в «рабочем порядке»; в частности — дублируя «устоявшийся» материал в более специализированных учебниках. Другое дело, что в материале допущен ряд ошибок, включая оформительские (например: отказ от использования элемента <source /> для оформления фрагментов кода), типографические (использование не принятых в русскоязычной типографике кавычек и дефисов вместо тире), орфографические (Java script и Post script вместо JavaScript и PostScript), и фактические (Как и во всех науках счет начинается с нуля.)
Ivan Shmakov (ов) 08:36, 1 марта 2014 (UTC)Ответить

Я отвечу так. Искать разные книги для изучения программирования может затянуться на долго и поэтому я собираю языки программирования в один учебник. Удалять не стоит. Это же труды человека. Было ли бы вам приятно, если бы Вы напечатали книгу в одном экземплере, а его порвали? — Это сообщение написано 85.26.241.216 (обс) 2014-03-02T05:23:23 (UTC)

Во-первых, хочу напомнить о необходимости завершать комментарии четырьмя тильдами (~~~~) для автоматической подстановки «идентификатора» участника и временной отметки.
Во-вторых, — об удалении речь не идет. (В противном случае было бы начато новое обсуждение в разделе Викиучебник:К удалению и на странице был бы размещен шаблон {{К удалению|2024-04-18}}, приглашающий всех заинтересованных лиц принять участие в этом обсуждении. К тому же, даже при удалении материал не будет потерян; так, легко обнаруживается копия учебника в Архиве Internet.)
С другой стороны, не могу не отметить, что оставление такого рода пометок в «библиотечных» книгах также не будет приятно ни авторам, ни читателям, ни «библиотекарям».
В-третьих, — о какой проблеме поиска может идти речь в эпоху Всемирной паутины? Подборку материала по теме гораздо лучше оформить как страницу со ссылками на найденный материал, — отнюдь не как страницу, содержащую сам этот материал.
Ivan Shmakov (ов) 07:16, 2 марта 2014 (UTC)Ответить

QBasic

В разделе замечен ряд фактических ошибок.

QBasic — это язык программирования для персональных компьютеров.

На деле, QBasic является одной из многих реализаций языка Бейсик (и, возможно, диалектом этого языка.)

Поскольку разработка QBasic прекращена еще в прошлом веке, едва ли найдется причина использовать его сегодня. Тем более, что существуют свободные совместимые реализации, как, например, QB64 и FreeBASIC.

… все операторы записываются в коде программы заглавными буквами. Конечно, все кроме оператора присвоения (=).

… а также операторов «больше» (>), «сложить» (+), … Кроме того, нет и необходимости записывать «буквенные» операторы заглавными — на работу программы это не повлияет. (Хотя встроенный в QBasic редактор и настойчив в приведении имен таких операторов к верхнему регистру.)

Да, оператор («операция») = называется оператором присваивания.

Переменные в QBasic — это чаще всего один символ с присвоенным ему значением.

Как и в других диалектах Бейсика, имена строковых переменных состоят по меньшей мере из двух символов, последним из которых должен быть $ (a$, name$, etc.) Кроме того, для имен целочисленных переменных предусмотрен суффикс % (a%), etc.

Наконец, беглый просмотр кода по ссылкам с http://games.freebasic.net/BASICGaming/Issue9/ не подтверждает тезиса, что Переменные в QBasic — это чаще всего один символ — многосимвольные переменные в данной конкретной выборке, похоже, используются весьма широко.

Ivan Shmakov (ов) 16:26, 5 марта 2014 (UTC)Ответить

Спасибо за список ошибок в главе QBasic. Кстати, можешь оформить все примеры кода синим цветом. То есть так:

Код примера

37.29.88.110 13:54, 7 марта 2014 (UTC)Ответить

Прошу прощения? Зачем оформлять примеры кода одним цветом, если можно использовать «контекстную» подсветку?

INPUT "Who are you? "; name$
PRINT "You are: "; name$

Ivan Shmakov (ов) 14:17, 7 марта 2014 (UTC)Ответить

Ладно оформи примеры кода контекстной подсветкой. Если можешь оформи код еще и полужирным шрифтом. У меня еще к тебе есть просьба. Посмотри код MINI CONSOL'S GAME CENTER. У меня IDLE выдает ошибку. 85.26.241.162 03:14, 8 марта 2014 (UTC)Ответить

Синтаксис и грамматика

Просьба участников Викиучебника посмотреть учебник на наличие синтаксических и грамматических ошибок. Список ошибок пишите тут:

Ошибка Глава Параграф
Текст ячейки Текст ячейки Текст ячейки
Текст ячейки Текст ячейки Текст ячейки
Текст ячейки Текст ячейки Текст ячейки

— Это сообщение написано 85.26.241.121 (обс) 2014-03-11T07:35:25 (UTC)

Отзывы

Насколько Вы пока оцениваете мой учебник??? Ответ давайте в %. 85.26.241.24 11:43, 11 апреля 2014 (UTC)Ответить

Добавление неоправданных ссылок

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

FTR, некоторые из таких правок:

  • 90235 — «обманная» ссылка, — из текста ссылки не очевидно, что данная ссылка ведет на страницу другого учебника;
  • 90168 — аналогично; кроме того, нигде на целевой странице ссылки не упоминается AJAX;
  • 90157 — результирующий учебник состоит только из ссылок;
  • 90136 — во-первых, этой правкой сделана недействительной еще одна существующая ссылка на учебник Лисп; во-вторых, нигде на целевой странице ссылки не упоминается ни Scheme, ни Lisp, ни даже функциональное программирование.

Ivan Shmakov (ов) 07:41, 20 апреля 2014 (UTC)Ответить

Насколько интересно изложен материал в моем учебнике??? — Это сообщение написано 85.26.241.148 (обс) 2014-04-20T11:03:14 (UTC)

Обсуждение учебника

→Будьте вежливы на этой странице обсуждения.

→Вы также можете обсуждать другие страницы этого проекта.

— Это сообщение написано 37.29.88.152 (обс) 2014-04-22T21:02:05 (UTC)

Не удаляйте, не скрывайте и иначе не «портите» комментарии других участников (кроме случаев вандализма) — в Викиучебнике такое обращение считается очень грубым.
В частности, если комментарий участника «исчезает» с одной страницы — он обязательно перед этим должен появиться на другой, на которую с исходной есть ссылка.
Ivan Shmakov (ов) 05:16, 23 апреля 2014 (UTC)Ответить

Вынесение материала в подстраницы

Хочу напомнить о своем давнем предложении вынести разделы учебника, посвященные конкретным языкам, в #подстраницы. IOW, перенести материал разделов Perl, Lua, etc. на отдельные страницы Учебник по программированию/Perl, Учебник по программированию/Lua, etc., оставив на «главной» странице лишь их список, подобно:

Lua 
Perl 

На текущий момент, меня интересуют не более порядка 20% из рассматриваемых языков, и мне бы хотелось настроить личный список наблюдения соответственно. К сожалению, «минимальной единицей», за которой можно «наблюдать» таким образом является страница, так что в текущей редакции я вынужден получать уведомления в том числе и об изменениях в 80% из неинтересных мне лично разделов.

Кроме того, такой подход снизит «уровень вложенности» заголовков на единицу, а также уменьшит количество совпадений имен разделов. Так, например, в текущей редакции «главной» страницы существует пять разделов «Введение» — #Введение, #Введение 2, #Введение 3, #Введение 4, #Введение 5.

NB
Хочу особо отметить, что при копировании (переносе) материала на новую страницу необходимо в поле «краткого описания» изменения упомянуть исходную страницу (желательно — [[ссылкой]].)

Заранее благодарен.

Ivan Shmakov (ов) 15:20, 24 апреля 2014 (UTC)Ответить

Я бы мог это сделать, но... Меня заблокировали. Я не могу создать статью с ссылками на свой учебник (одностраницный). Создатель проекта "Учебник по программированию" Volobuev Ilya 09:57, 26 апреля 2014 (UTC)Ответить
Подстраницей для Учебник по программированию может быть, например, Учебник по программированию/Привет, мир!, но никак не «Many pages (MP)/Учебник по программированию». Кроме того, учебники с Many pages в названии могут быть уместны в проекте «Wikibooks», но едва ли в Викиучебнике.Ivan Shmakov (ов) 10:24, 26 апреля 2014 (UTC)Ответить
Вернуться на страницу «Учебник по программированию».