Обсуждение:Учебник по программированию: различия между версиями
Содержимое удалено Содержимое добавлено
Метка: possible spambot (testing) |
Нет описания правки |
||
Строка 5: | Строка 5: | ||
---- |
---- |
||
=== <span style="color:green">'''Предложения по улучшению учебника'''</span> === |
=== <span style="color:green">'''Предложения по улучшению учебника'''</span> === |
||
== О просьбах == |
|||
<blockquote>Просьба не вносить никаких изменений в этот учебник! Это пособие для начинающих.</blockquote> |
|||
Отмечу, что [[Викиучебник:Что такое Викиучебник|цель проекта Викиучебник]] — способствовать ''совместной'' разработке учебного (инструктирующего) материала. (О чем упоминает и [[заглавная страница]]: «Здесь в вики-среде совместно пишется образовательная литература…») |
|||
В свете этого, просьба не вносить ''никаких'' изменений кажется несколько неуместной. Впрочем, если есть какие-то ''конкретные'' пожелания по содержанию и оформлению, — уверен, они будут учтены желающими присоединиться к работе над материалом. Тем более, что в текущем виде, учебник содержит ряд тривиальных фактических неточностей, равно как и некоторые не вполне удачные решения в части оформления. |
|||
Некоторые из замеченных неточностей: |
|||
* отсутствие завершающих утверждения <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><source lang="perl" /></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><source lang="perl" /></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) |
|||
== [[{{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> {<font color="#E00000">[[Обсуждение участника:Brateevsky|talk]]</font>} 12:22, 28 февраля 2014 (UTC) |
|||
: Не нахожу причин, по которым в проекте не может существовать более одного учебника по теме; при том лишь условии, что дублирование ''текста'' при этом невелико. |
|||
: Проблему объема можно решить создав подстраницы для отдельных разделов. (Тем более, что данный учебник — не единственный «одностраничный» в проекте.) Что хуже, существует проблема категоризации — при таком подходе, учебник можно отнести лишь к наиболее общей тематической категории ([[:Категория:Языки программирования|«языки программирования»]]), в то время как потенциальный читатель наверняка начнет поиск материала с ''частных.'' |
|||
: Наконец, перечисленные проблемы можно решить в «рабочем порядке»; в частности — дублируя «устоявшийся» материал в более специализированных учебниках. Другое дело, что в материале допущен ряд ошибок, включая оформительские (например: отказ от использования элемента <code><source /></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>></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) |
|||
Насколько интересно изложен материал в моем учебнике??? |
Версия от 12:02, 22 апреля 2014
TGP - глобальный проект программирование
Внимание! Все обсуждения удаляются постепенно. Для того, чтобы не засорить страницу обсуждения этого учебника. Если тем болше пяти, то первая удаляется. Это правила проекта TGP. Немного о проекте.
Этот проект создан для обучения новичков с профессиональным программированием. То есть программированием графических интерфейсов и создания своих сайтов и игровых движков.