PDA

Просмотр полной версии : Wiki по программированию



moroz1999
13.12.2010, 13:06
Пока ковырялся в доступных исходниках и читал статьи на zxdn, пришла мысль о том, что информация по программированию для новичков типа меня в текущем виде неудобна, потому что:

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

Я считаю, что в этой ситуации очень помог бы wiki-проект типа Speccy.info, где были бы собраны все необходимые новичку исходники - от работы с диском и GS, до эффектов плазмы и вывода спрайтов. Вся классика в удобоваримом виде, проверенная и оформленная в виде библиотек с запускаемыми примерами.

Я готов помочь с содержимым, но требуется человек, знакомый с установкой и настройкой Wiki-движка по типу того, что на speccy.info .

Зачем всё это вообще нужно? Это нужно для того, чтобы облегчить написание нового софта для тех, кто хочет его писать, но сил и времени для того, чтобы собирать информацию по крупицам, недостаточно.

Что думаете по этому поводу?
Исходники можно хранить в Google Code, или еще где-нибудь. В Google Code ведь можно SVN-репозиторий организовать?

AAA
13.12.2010, 13:54
Такой проект есть:

программирование
http://zxdn.narod.ru/

исходники:
http://opensourcezx.untergrund.net/index.html

пресса вся есть в разделе прессы на вирте.

Научиться программировать по сайтам и ресурсам не возможно. Тут надо помошника который поэтапно будет помогать.

Так же сайт неварта - пресса по поисковому запросу прекрасно отвечает на любой вопрос по программированию.

moroz1999
13.12.2010, 14:09
А ты пытался сам этим всем попользоваться?

ZXDN - это отлично. Но мало. Там много полезных вещей разбросано, но такого, чтобы просто скачать и вставить в свой проект - нет.

OpenSourceZX - это отлично. Но для новичка неудобно. Попробуй, например, найти и вытащить процедуру печатания чанков из какой-нибудь демки - потратишь минимум часа полтора, прежде чем хоть что-то запустится. А я говорю о проекте, где была бы уже готовая и описанная библиотека с примером, по которому два раза кликнул, он скомпилировался и запустился в Unreal.

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

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

Лас
13.12.2010, 14:14
Что думаете по этому поводу?
Думаю, что человек, первый предложивший делать долгоиграющий проект и описывающий свой вклад в него как

Я готов помочь с содержимым, но
врял ли будет воспринят серьезно.

moroz1999
13.12.2010, 14:27
А какой должен быть вклад? что для этого вообще надо сделать?

1. Оформить хостинг
2. Установить вики-движок
3. Настроить его
4. Вносить содержимое до бесконечности.

Разве последний пункт не является самым большим? Разве не он является критическим в успехе подобного проекта?
Первый пункт прост - достаточно зарегистрироваться на унтергрунде.
Второй и третий куда как лучше сделает тот, кто этим хоть раз занимался.
Что еще требуется?

AAA
13.12.2010, 14:39
А ты пытался сам этим всем попользоваться?

Я прекрасно знаю что такое программирование на спектруме и прекрасно знаю что этому нельзя научиться по книжкам и сайтам.
Если бы это было так просто то сейчас бы на пати было не три демы, две из них видео. Мне КСА в тетредку писал я приезжал набивал запускал, звонил все по 100 раз переспрашивал. Но чтобы сделать свой эффект надо быть избранным. Мне не дано, хоть золотой сайт будет все равно это не реально.

garlands
13.12.2010, 15:13
НЕ НАДО на утергунде!!!
я его вообще ни разу не видел! все время аксесс форбидден! и думаю не я один. нах такой ресурс, претендующий на массовость, если на него зайти нельзя?

moroz1999
13.12.2010, 15:14
Я прекрасно знаю что такое программирование на спектруме и прекрасно знаю что этому нельзя научиться по книжкам и сайтам.Вот. А я постоянно ими пользуюсь, и знаю на собственном опыте, какие у этих сайтов сильные и слабые стороны.

AAA
13.12.2010, 15:16
Вот. А я постоянно ими пользуюсь, и знаю на собственном опыте, какие у этих сайтов сильные и слабые стороны.

Так а где твои демы ?

moroz1999
13.12.2010, 15:18
НЕ НАДО на утергунде!!!
я его вообще ни разу не видел! все время аксесс форбидден! и думаю не я один. нах такой ресурс, претендующий на массовость, если на него зайти нельзя?Я в целом согласен, что уход унтергрунда в астрал по воскресеньям - это не совсем круто, но хостинг - последняя из всех проблем. На крайний случай могу поддомен оформить на maros.pri.ee, если ничего другого не найдется.
Вопрос сейчас в другом: я знаю, что я не один, кто иногда занимается самообучением, и я уверен, что не мне одному было бы полезно иметь удобный источник инфы, но есть ли среди таких людей еще заинтересованные в запуске и развитии такого проекта?

garlands
13.12.2010, 15:25
да не только по воскресеньям. вот сейчас тоже. я-же говорю: я его вообще ни разу в глаза не увидел. все время аксесс форбидден.
ннууу.... вику могу поставить. не вопрос. я ее как раз недавно себе ставил. да и вообще полезное начинание... :)

moroz1999
13.12.2010, 15:36
Так а где твои демы ?В процессе рождения. Программер на асме из меня пока слабый, поэтому ничего не обещаю.

да не только по воскресеньям. вот сейчас тоже. я-же говорю: я его вообще ни разу в глаза не увидел. все время аксесс форбидден.
ннууу.... вику могу поставить. не вопрос. я ее как раз недавно себе ставил. да и вообще полезное начинание... :)Отлично!
Вечером я постараюсь кратко расписать, как я себе это вижу, и выложу сюда на обсуждение. Имхо, нужно договориться о минимальных стандартах описания кода и категоризации.

Плюс надо решить, где и в каком виде хранить код.

Лас
13.12.2010, 15:57
да не только по воскресеньям. вот сейчас тоже. я-же говорю: я его вообще ни разу в глаза не увидел. все время аксесс форбидден.
А с помощью анонимайзеров пробовали?
например http://www.cameleo.ru/
http://img823.imageshack_.us/img823/4966/anonaaa.jpg

garlands
13.12.2010, 16:00
эээ... нет, не пробовал.
о. странно. интересно, а в чем проблема? неужели такая непереносимость незалежных хостов? %) бред какой-то, честно говоря. ну да ладно.

elf/2
13.12.2010, 22:09
в вику я не очень верю, имхо нужен набор туториалов:
- как сделать скролл справа-налево
- как сделать скролл сверху-вниз
- как сделать аттрибутный скролл
- как сделать аттрибутную плазму
и т.д.

причем писать их должен тот кто не умеет, а гуры комментировать как надо было по-хорошему делать

я тут было собрался начать цикл, даже скролл справа-налево написал, но потом свободное время кончилось и все :(

moroz1999
13.12.2010, 22:48
Мне кажется, что именно в этом и заключается преимущество вики-подхода: каждый напишет по столько, насколько хватит времени. Водиночку такую задачу вряд ли кто осилит.
В принципе, то, как я себе это вижу - и есть tutorial, но минимально стандартизированный и с готовыми примерами, доступными в виде скачивания отдельных файлов.

kotsoft
14.12.2010, 08:47
moroz1999 Я тебя полностью поддерживаю, идея отличная. Но у нас тут как в армии - предложил - делай!) Готов поучаствовать в наполнении, но вешать на себя содержание еще одного сайта увольте, у меня их и так 6 штук на поддержке)))
Можно например делать так- типа например DYC скроллер - статья, там общий алгоритм, варианты реализации... Вот нужны только комменты, чтобы программеры могли уточнять, предлагать варианты, оптимизировать

garlands
14.12.2010, 08:54
так вика тем и хороша, что каждый может менять/комментировать статью. таким образом постепенно совместными усилиями вырабатывается оптимальный вариант. а история правок дает механизм, препятствующий вандализму.

doorsfan
14.12.2010, 11:07
В портах есть куча разных педивикий. Кто шарит, какая из них лучше бы подошла?
/usr/ports/www/aswiki/pkg-descr
/usr/ports/www/dokuwiki/pkg-descr
/usr/ports/www/foswiki/pkg-descr
/usr/ports/www/fswiki/pkg-descr
/usr/ports/www/ikiwiki/pkg-descr
/usr/ports/www/jspwiki/pkg-descr
/usr/ports/www/lionwiki/pkg-descr
/usr/ports/www/mediawiki/pkg-descr
/usr/ports/www/mediawiki112/pkg-descr
/usr/ports/www/mediawiki113/pkg-descr
/usr/ports/www/mediawiki114/pkg-descr
/usr/ports/www/mediawiki115/pkg-descr
/usr/ports/www/mediawiki16/pkg-descr
/usr/ports/www/p5-CGI-Kwiki/pkg-descr
/usr/ports/www/p5-HTML-WikiConverter-Kwiki/pkg-descr
/usr/ports/www/p5-Kwiki/pkg-descr
/usr/ports/www/p5-WWW-Mediawiki-Client/pkg-descr
/usr/ports/www/phpwiki/pkg-descr
/usr/ports/www/phpwiki13/pkg-descr
/usr/ports/www/pmwiki/pkg-descr
/usr/ports/www/py-wikitools/pkg-descr
/usr/ports/www/tikiwiki/pkg-descr
/usr/ports/www/trac-hierwiki/pkg-descr
/usr/ports/www/trac-wikigoodies/pkg-descr
/usr/ports/www/trac-wikinegotiator/pkg-descr
/usr/ports/www/trac-wikinotification/pkg-descr
/usr/ports/www/trac-wikirename/pkg-descr
/usr/ports/www/trac-wikitemplates/pkg-descr
/usr/ports/www/trac-wikitopdf/pkg-descr
/usr/ports/www/twiki/pkg-descr и вагон плагинов
/usr/ports/www/wikicalc/pkg-descr
/usr/ports/www/wikindx/pkg-descr
/usr/ports/www/zope-zwiki/pkg-descr

moroz1999
14.12.2010, 13:14
Вот нужны только комменты, чтобы программеры могли уточнять, предлагать варианты, оптимизироватьВ Wiki у каждой статьи есть страница обсуждения, там как раз самые ожесточенные споры обычно и происходят :)

---------- Post added at 12:14 ---------- Previous post was at 12:00 ----------

Speccy.info сделана на Media Wiki. Честно говоря, понятия не имею, в чем их различия.
Предлагаю сначала обсудить, в каком виде это всё хотелось бы получить, чтобы понять, какие у нас вообще требования к wiki-движку.
Нам явно требуется:
1. Возможность выкладывания туториала (поясняющий текст вперемешку с частями исходника.
2. Возможность категоризации (дерево категорий нужно обсудить отдельно)
3. Возможность хранения исходников (можно хранить отдельно и просто писать линки на файлы)
4. Возможность хранения готовых примеров, которые пользовались бы теми самыми исходниками, описанными в туториале. (хранить отдельно, аттачить линк в каждую статью?)
5. Возможность комментирования и внесения изменений со стороны регистрированных юзеров. (Страница обсуждения у каждой статьи поможет?)
6. Легкий бэкап инфы.

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

Отдельно стоит обговорить формат хранения исходников. Вот мои предложения по исходникам:
1. Имхо, лучший формат - это SJASM, потому что тогда файл с примером можно скачать и в один клик запустить BAT-файл, который всё скомпилирует и запустит Unreal.
2. От папок, вероятно, придется отказаться, то есть все файлы должны лежать в одной и той же директории. Зачем? Чтобы не мучаться со сборкой на реале, где папок нет.
3. Пример должен быть полностью готовым к запуску - содержать всё необходимое для запуска (шрифты, спрайты, звуки - смотря что он иллюстрирует)
4. Библиотеки должны быть оформлены в виде модулей, чтобы избегать конфликта имен.
5. У каждой библиотеки должна быть шапка-комментарий, где кратко описаны основные параметры:
-привязка к конкретным адресам (если генерится таблица, например).
-метод инициализации (если есть)
-использует ли стек (если использует)

Что думаете по этому поводу?

moroz1999
15.12.2010, 11:50
По поводу категорий.
Категоризировать нужно всё, и с самого начала. Категории - это основной скелет, приводящий в единое целое разрозненную информацию. Именно поэтому основное дерево категорий нужно представить заранее.
Какие статьи (это на мой взгляд - обсуждайте!) должны быть в обсуждаемом Wiki?

1. Непосредственно исходники библиотек в виде туториалов. Например, вывод спрайта стеком на экран, загрузка мода в GS, загрузка с диска через #3d13. Каждая статья снабжена линком на скачивание готовой к использованию библиотеки и линком на готовый к запуску пример.
2. Статьи об устройстве ZX. Как работают прерывания? Как работает GS? Как устроен экран и его адресация? Как работает бордюр? Итд. Возможно, стоит к этим статьям линковать статьи из первого пункта. Или категории статей из первого пункта?
3. Обще-теоретические статьи? Например: Как работает плазма (и линки на статьи из первого пункта). Как сделать бамп-мэппинг (со ссылкой на реализацию в чанках и ссылкой на реализацию в аттрибутах). Рисование 3D.
4. Дикая идея, обсуждайте: описать все команды zx в виде отдельных статей. Влияние на флаги, количество тактов, применение(?). Это нужно?

Какие-то еще пункты будут? Если нет, то дерево категорий в основе эти пункты и имело бы.

valker
16.12.2010, 14:11
я когда-то пытался начать: http://speccy.wikispaces.com/

moroz1999
16.12.2010, 14:46
Круто! А чем сделана подсветка кода? Это модуль какой-то или кастомное решение?

valker
16.12.2010, 16:31
Круто! А чем сделана подсветка кода? Это модуль какой-то или кастомное решение?

подстветка синтаксиса обеспечивается движком wikispaces.
примерно так:
[[code format="freebasic"]]
10 FOR i = 0 TO 9
20 PRINT i;")";PEEK i
30 NEXT i
40 POKE 16384,170
[[code]]