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

Содержимое удалено Содержимое добавлено
Метка: possible spambot (testing)
Восстановлены обсуждения, не перемещенные в архив.
Строка 1:
{{Архив|2013|2014}}
== ''' <span style="color:dodgerblue">TGP</span> - глобальный проект программирование''' ==
 
<span style="color:purple">'''Внимание! Все обсуждения удаляются постепенно. Для того, чтобы не засорить страницу обсуждения этого учебника. Если тем болше пяти, то первая удаляется. Если вы считаете, что была удалена очень важная для Вас тема, то напишите здесь обращение по восстановлению этой темы к автору проекта. Это правила проекта TGP. Немного о проекте.'''</span>
; NB
----
:* Обсуждения ''не удаляются'' (кроме вандализма, удаления собственных просьб и пожеланий, и подобных случаев.) Это правило проекта «Викиучебник».
:* Обсуждения, потерявшие актуальность (в которых не было новых комментариев в течение двух месяцев или более), допускается ''в неизменном виде'' переносить в архив, согласно дате начала каждого конкретного обсуждения.
 
<span style="color:blue">'''Этот проект создан для обучения новичков с профессиональным программированием. То есть программированием графических интерфейсов и создания своих сайтов и игровых движков.'''</span>
 
----
== О просьбах ==
=== <span style="color:green">'''Предложения по улучшению учебника'''</span> ===
 
=== <span style="color:green">'''Грамматические ошибки'''</span> ===
<blockquote>Просьба не вносить никаких изменений в этот учебник! Это пособие для начинающих.</blockquote>
=== <span style="color:green">'''Синтаксические ошибки'''</span> ===
 
=== <span style="color:green">'''Логические ошибки'''</span> ===
Отмечу, что [[Викиучебник:Что такое Викиучебник|цель проекта Викиучебник]] — способствовать ''совместной'' разработке учебного (инструктирующего) материала. (О чем упоминает и [[заглавная страница]]: «Здесь в вики-среде совместно пишется образовательная литература…»)
 
В свете этого, просьба не вносить ''никаких'' изменений кажется несколько неуместной. Впрочем, если есть какие-то ''конкретные'' пожелания по содержанию и оформлению, — уверен, они будут учтены желающими присоединиться к работе над материалом. Тем более, что в текущем виде, учебник содержит ряд тривиальных фактических неточностей, равно как и некоторые не вполне удачные решения в части оформления.
 
Некоторые из замеченных неточностей:
* отсутствие завершающих утверждения <code>;</code> во многих примерах кода;
* Perl чувствителен к регистру не только переменных, но и операторов и имен функций; как следствие, оператор <code>'''I'''f</code> не будет верно воспринят — требуется <code>'''i'''f</code>; аналогично и функция (''не'' оператор!) <code>'''p'''rint</code>;
* ''[ч]тобы символ <code>В</code> не воспринимается [sic] как управляющий ставится знак <code>\</code> (обратной косой черты).'' — разве символ <code>В</code> когда-либо понимается Perl как управляющий?? напротив, <code>\</code> используется для того, чтобы ''сделать'' [[w:Перевод строки|управляющий код]] из следующего за ним символа <code>n</code>.
 
Касаемо оформления, — использование явных <code>style=</code>, с одной стороны, усложняет правку (опять же, — Викиучебник посвящен ''совместной'' работе), но что хуже — может быть помехой просмотру. Так, некоторые пользователи Викиучебника могут выбрать отличный от умолчания стиль оформления (например: с использованием <span style="color: #282;">темно-зеленого</span> цвета фона), в результате чего нынешние <span style="color: green;">зеленые</span> заголовки окажутся <span style="color: green; background-color: #282;">трудночитаемыми.</span>
 
Также не очень удачно смотрятся фрагменты, оформленные ведущими пробелами. Во-первых, поскольку содержащийся в таких фрагментах текст не разбивается на строки, длина строки может превысить ширину окна у конкретного пользователя. Во-вторых, в отличие от ведущих пробелов, использование <code>&lt;source lang="perl" /&gt;</code> дает также и подсветку синтаксиса.
 
Наконец, поскольку предполагается (!) совместная работа, авторство желательно указать не в тексте учебника, а в «истории» — для чего достаточно зарегистрироваться и, внося изменения, не забывать представляться системе. <small>(Напомню, что регистрация — общая для всех проектов [[foundation:|Фонда.]])</small>
 
— [[User:Ivan Shmakov|Ivan Shmakov]] ([[User talk:Ivan Shmakov|о]] ▞ [[Special:Contributions/Ivan Shmakov|в]]) 18:21, 14 декабря 2013 (UTC)
 
== Почему я прошу не вносить никаких исправлений в мой учебник ==
 
Я знаю, что Вики-учебник это онлайн текстовый редактор. Но я прошу не править мой учебник потому, что: многие не знают Perl (я выучил его с начала сентября).
[[Служебная:Вклад/85.26.241.180|85.26.241.180]] 09:33, 15 декабря 2013 (UTC)
 
: [[Викиучебник:Что такое Викиучебник|Викиучебник]] — отнюдь не «онлайн текстовый редактор», но (как уже упомянул выше) — ресурс для ''совместной'' разработки учебного (инструктирующего) материала. Это одна из причин, почему для внесения изменений в Викиучебник не необходима какая бы то ни было регистрация — мы считаем, что ''любой'' материал здесь может содержать неточности и явные ошибки, и, дабы способствовать их устранению, возможность внести исправления и улучшения должна быть предоставлена любому желающему.
 
: В отношении «многие не знают Perl» — не ясно, как это может быть причиной не вносить исправления в разрабатываемый учебник? Тем более, в случае очевидных неточностей. К примеру, выполним код одного из примеров:
<source lang="perl">
$a = "оператор";
$b = "print";
print $a . $b; # результат: оператор print
</source>
 
: Результат:
$ perl -e '$a = "оператор"; $b = "print"; print $a . $b;'
операторprint
 
: Действительно, ни <code>$a</code>, ни <code>$b</code>, ни вызов функции <code>print</code> не содержат пробелов. Откуда бы им взяться в выводе?
 
: Исправленная мной ранее форма <code>print = "текст"</code> также является синтаксически неверной:
$ perl -e 'print = "текст";'
Can't modify print in scalar assignment at -e line 1, near ""текст";"
Execution of -e aborted due to compilation errors.
 
: Кроме того, остаются пожелания к оформлению: использование <code>&lt;source lang="perl" /&gt;</code> для оформления фрагментов Perl-кода, исключение «лишних» (мешающих просмотру) <code><nowiki>'''<span />'''</nowiki></code> из заголовков, etc. — такие проблемы с ''оформлением'' не составило бы труда устранить, пожалуй, никому из более или менее опытных редакторов Викиучебника, совершенно никак не затрагивая ''содержание.'' Не ясно, почему такие правки могли бы вызывать возражения?
 
: — [[User:Ivan Shmakov|Ivan Shmakov]] ([[User talk:Ivan Shmakov|о]] ▞ [[Special:Contributions/Ivan Shmakov|в]]) 10:42, 15 декабря 2013 (UTC)
 
== Обновления в учебнике ==
'''Обновления'''
ЕСЛИ ВЫ НАЧАЛИ ЧИТАТЬ ЭТОТ УЧЕБНИК, ТО ВАМ СТОИТ ЕГО ПЕРЕЧИТАТЬ
[[Служебная:Вклад/85.26.241.200|85.26.241.200]] 04:40, 29 декабря 2013 (UTC)
[[Служебная:Вклад/85.26.241.239|85.26.241.239]] 03:53, 29 декабря 2013 (UTC)
 
== [[{{SUBJECTPAGENAME}}#Perl|Perl]] ==
 
: <small>Перенесено из [[Обсуждение участника:Ivan Shmakov#Темы учебников]].</small>
 
Кроме того, в <del>той же главе,</del><ins>разделе [[{{SUBJECTPAGENAME}}#Perl|Perl]],</ins> оператор <code>&</code> назван синонимом <code>and</code>, хотя это (очевидно) не так; cf.:
<source lang="perl">
print ((58 and 110), " ", ("Hello" and "World"), "\n");
## → 110 World
print ((58 & 110), " ", ("Hello" & "World"), "\n");
## → 42 @e`ld
</source>
 
В частном случае, когда каждый из операндов заведомо равен 0 или 1, результат <code>($a & $b)</code> действительно совпадет с <code>($a and $b)</code>. Тем не менее, в общем случае это не так, да и типичным является применение оператора <code>and</code> в качестве условного — <code>do_we_have_a_problem_p () and die ("Houston, we have a problem.")</code>, в то время как <code>&</code> в этом контексте не имеет смысла.
 
— [[User:Ivan Shmakov|Ivan Shmakov]] ([[User talk:Ivan Shmakov|о]] ▞ [[Special:Contributions/Ivan Shmakov|в]]) 14:09, 24 января 2014 (UTC)
 
== Смысл данного учебника ==
 
Я, честно, не очень понимаю смысл существования данного учебника. Во-первых, многие учебники по языкам программирования уже существуют: [[PHP]], [[Perl]], [[C Sharp]], [[Python]] и др. Это получается дублирование информации; можно же просто дополнять старые. Во-вторых, такой учебник по разным языкам в будущем сложно будет читать — ведь если продолжать, то объём текста и статьи будет чрезмерный. К тому же даже не представляю себе реальную книгу, в которой были бы описаны столь разные языки. --<font color="#0080E0">[[Участник:Brateevsky|Brateevsky]]</font>&nbsp;{<font color="#E00000">[[Обсуждение участника:Brateevsky|talk]]</font>} 12:22, 28 февраля 2014 (UTC)
 
: Не нахожу причин, по которым в проекте не может существовать более одного учебника по теме; при том лишь условии, что дублирование ''текста'' при этом невелико.
 
: Проблему объема можно решить создав подстраницы для отдельных разделов. (Тем более, что данный учебник — не единственный «одностраничный» в проекте.) Что хуже, существует проблема категоризации — при таком подходе, учебник можно отнести лишь к наиболее общей тематической категории ([[:Категория:Языки программирования|«языки программирования»]]), в то время как потенциальный читатель наверняка начнет поиск материала с ''частных.''
 
: Наконец, перечисленные проблемы можно решить в «рабочем порядке»; в частности — дублируя «устоявшийся» материал в более специализированных учебниках. Другое дело, что в материале допущен ряд ошибок, включая оформительские (например: отказ от использования элемента <code>&lt;source /&gt;</code> для оформления фрагментов кода), типографические (использование не принятых в русскоязычной типографике [http://kovodstvo.ru/sections/104/ кавычек] и дефисов вместо [http://kovodstvo.ru/sections/97 тире]), орфографические (''Java script'' и ''Post script'' вместо [[w:JavaScript|JavaScript]] и [[w:PostScript|PostScript]]), и фактические (<q>Как и во всех науках счет начинается с нуля.</q>)
 
: — [[User:Ivan Shmakov|Ivan Shmakov]] ([[User talk:Ivan Shmakov|о]] ▞ [[Special:Contributions/Ivan Shmakov|в]]) 08:36, 1 марта 2014 (UTC)
 
Я отвечу так. Искать разные книги для изучения программирования может затянуться на долго и поэтому я собираю языки программирования в один учебник. Удалять не стоит. Это же труды человека. Было ли бы вам приятно, если бы Вы напечатали книгу в одном экземплере, а его порвали? {{UnsignedIP2| 2014-03-02T05:23:23|85.26.241.216}}
 
: Во-первых, хочу напомнить о необходимости завершать комментарии четырьмя тильдами (<code><nowiki>~~~~</nowiki></code>) для автоматической подстановки «идентификатора» участника и временной отметки.
 
: Во-вторых, — об удалении речь не идет. (В противном случае было бы начато новое обсуждение в разделе [[Викиучебник:К удалению]] и на странице был бы размещен шаблон {{tlp|К удалению|{{#time:Y-m-d}}}}, приглашающий всех заинтересованных лиц принять участие в этом обсуждении. К тому же, даже при удалении материал не будет потерян; так, легко обнаруживается [https://web.archive.org/web/*/https:{{fullurl:{{SUBJECTPAGENAME}}}} копия] учебника в [[w:Архив Интернета|Архиве Internet.]])
 
: С другой стороны, не могу не отметить, что оставление [{{fullurl:LaTeX/Абсолютным новичкам|diff=prev&oldid=88181}} такого рода] пометок в «библиотечных» книгах также не будет приятно ни авторам, ни читателям, ни «библиотекарям».
 
: В-третьих, — о какой проблеме поиска может идти речь в эпоху Всемирной паутины? Подборку материала по теме гораздо лучше оформить как страницу со ''ссылками'' на найденный материал, — отнюдь не как страницу, содержащую ''сам'' этот материал.
 
: — [[User:Ivan Shmakov|Ivan Shmakov]] ([[User talk:Ivan Shmakov|о]] ▞ [[Special:Contributions/Ivan Shmakov|в]]) 07:16, 2 марта 2014 (UTC)
 
== [[{{SUBJECTPAGENAME}}#QBasic|QBasic]] ==
 
В разделе замечен ряд фактических ошибок.
 
<blockquote>QBasic — это язык программирования для персональных компьютеров.</blockquote>
На деле, [[w:QBasic|QBasic]] является одной из ''многих реализаций'' языка [[w:Бейсик|Бейсик]] (и, возможно, ''диалектом'' этого языка.)
 
Поскольку разработка QBasic прекращена еще в прошлом веке, едва ли найдется причина использовать его сегодня. Тем более, что существуют [[w:Свободной программное обеспечение|свободные]] совместимые реализации, как, например, [[w:en:QB64|QB64]] и [[w:FreeBASIC|FreeBASIC.]]
 
<blockquote>… все операторы записываются в коде программы заглавными буквами. Конечно, все кроме оператора присвоения (<code>=</code>).</blockquote>
… а также операторов «больше» (<code>&gt;</code>), «сложить» (<code>+</code>), … Кроме того, нет и ''необходимости'' записывать «буквенные» операторы заглавными — на работу программы это не повлияет. (Хотя встроенный в QBasic редактор и настойчив в приведении имен таких операторов к верхнему регистру.)
 
Да, оператор («операция») <code>=</code> называется оператором [[w:Присваивание|присваивания.]]
 
<blockquote>Переменные в QBasic — это чаще всего один символ с присвоенным ему значением.</blockquote>
Как и в других диалектах Бейсика, имена ''строковых'' переменных состоят по меньшей мере из ''двух'' символов, последним из которых должен быть <code>$</code> (<code>a$</code>, <code>name$</code>, etc.) Кроме того, для имен ''целочисленных'' переменных предусмотрен суффикс <code>%</code> (<code>a%</code>), etc.
 
Наконец, беглый просмотр кода по ссылкам с http://games.freebasic.net/BASICGaming/Issue9/ не подтверждает тезиса, что <q>Переменные в QBasic — это чаще всего один символ</q> — многосимвольные переменные в данной конкретной выборке, похоже, используются весьма широко.
 
— [[User:Ivan Shmakov|Ivan Shmakov]] ([[User talk:Ivan Shmakov|о]] ▞ [[Special:Contributions/Ivan Shmakov|в]]) 16:26, 5 марта 2014 (UTC)
 
Спасибо за список ошибок в главе QBasic. Кстати, можешь оформить все примеры кода синим цветом. То есть так:
<span style="color:royalblue">'''Код примера'''</span>
[[Служебная:Вклад/37.29.88.110|37.29.88.110]] 13:54, 7 марта 2014 (UTC)
 
<div style="margin-left: 1.6em;" >
Прошу прощения? Зачем оформлять примеры кода ''одним'' цветом, если можно использовать «контекстную» подсветку?
 
<source lang="freebasic">
INPUT "Who are you? "; name$
PRINT "You are: "; name$
</source>
 
— [[User:Ivan Shmakov|Ivan Shmakov]] ([[User talk:Ivan Shmakov|о]] ▞ [[Special:Contributions/Ivan Shmakov|в]]) 14:17, 7 марта 2014 (UTC)
</div>
 
Ладно оформи примеры кода контекстной подсветкой. Если можешь оформи код еще и полужирным шрифтом. У меня еще к тебе есть просьба. Посмотри код MINI CONSOL'S GAME CENTER. У меня IDLE выдает ошибку. [[Служебная:Вклад/85.26.241.162|85.26.241.162]] 03:14, 8 марта 2014 (UTC)
 
== Синтаксис и грамматика ==
Просьба участников Викиучебника посмотреть учебник на наличие синтаксических и грамматических ошибок. Список ошибок пишите тут:
{| class="wikitable sortable"
|-
! Ошибка !! Глава !! Параграф
|-
| Текст ячейки || Текст ячейки || Текст ячейки
|-
| Текст ячейки || Текст ячейки || Текст ячейки
|-
| Текст ячейки || Текст ячейки || Текст ячейки
|}
== Отзывы ==
Насколько Вы пока оцениваете мой учебник??? Ответ давайте в %. [[Служебная:Вклад/85.26.241.24|85.26.241.24]] 11:43, 11 апреля 2014 (UTC)
 
== Добавление неоправданных ссылок ==
 
Поскольку в последнее время участились правки, добавляющие неоправданные (а иногда и вовсе некорректные) ссылки из других учебников на данный, я установил фильтр, подавляющий оные. При необходимости добавить подобную ссылку, прошу обращаться к любому постоянному (зарегистрированному) участнику проекта.
 
FTR, некоторые из таких правок:
* [{{fullurl:PHP|diff=prev&oldid=90235}} 90235] — «обманная» ссылка, — из текста ссылки не очевидно, что данная ссылка ведет на страницу другого учебника;
* [{{fullurl:AJAX|diff=prev&oldid=90168}} 90168] — аналогично; кроме того, нигде на целевой странице ссылки не упоминается AJAX;
* [{{fullurl:Учебник по созданию сайтов|diff=prev&oldid=90157}} 90157] — результирующий учебник [[Викиучебник:Критерии быстрого удаления#Уч3|состоит только из ссылок;]]
* [{{fullurl:Введение в язык Scheme для школьников|diff=prev&oldid=90136}} 90136] — во-первых, этой правкой сделана недействительной [[Викиучебник:Вандализм|еще одна]] существующая ссылка на учебник [[Лисп]]; во-вторых, нигде на целевой странице ссылки не упоминается ни Scheme, ни Lisp, ни даже функциональное программирование.
 
— [[User:Ivan Shmakov|Ivan Shmakov]] ([[User talk:Ivan Shmakov|о]] ▞ [[Special:Contributions/Ivan Shmakov|в]]) 07:41, 20 апреля 2014 (UTC)
 
Насколько интересно изложен материал в моем учебнике???
Вернуться на страницу «Учебник по программированию».