Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Vydání knihy o pythonu

1 view
Skip to first unread message

Václav Stoupa

unread,
May 16, 2008, 10:52:41 AM5/16/08
to
Dobrý den,
přešel jsem před nějakou dobou z php a začal jsem programovat v
pythonu. Konkrétně webové aplikace v Djangu.

Měl jsem takovou rozpravu z vydavatelstvím Computer Press, zda-by
nechtěli vydat Djangobook. Zájem vydat ho neměli, nicméně jsem se
dozvěděl, že najednou chtějí vydat již rozebranou a 5 let starou knihu
http://knihy.cpress.cz/knihy/pocitacova-literatura/programovani/zaciname-programovat-v-jazyce-python/
popisující verzi pythonu 1.5 a některé již překonané balíky programů.
(Domníváme se, že tak začali šílet poté, co Google oznámil App
Engine). Vydávat ale takhle starou knihu v dnešní době mi přijde jako
nepochopení současného stavu vývoje ze strany nakladatele a nedůstojné
pro nás programátory v pythonu. Asi jako by teď někdo vydával knihu o
PHP4 pro phpkáře.

Mám organizační zkušenosti z pořádání konferencí o PHP frameworcích.
Tak mě napadlo, že bych se ujal organizace vydání knihy psané
komunitou. Uvedu vám zde svůj plán a uvidíme, jestli bude v python
komunitě dostatečný zájem a těch několik lidí, co by do knihy
přispěli, se najde.


Navrhovaná témata pro knihu (stránky počítány pro velikost C5):

- úvod do knihy a pythonu 2.6 (10 stran)
- syntaxe pythonu, typy a řízení toku programu (70 stran)
- funkce, třídy, objektové programování, výjimky (50 stran)
- moduly, skripty, balíčky (20 stran)
- práce se souborovým systémem (10 stran)
- regulární výrazy a další standardní moduly (datetime, urllib atd.)
(50 stran)
- úvod do Djanga (s částí o Google App Engine) (50 stran)
- JPython (20 stran)
- IronPython (20 stran)
- python+gtk (50 stran)
- přehled dalších užitečných balíčků a aplikací (simplejson,
beautifulsoup, soap, xmlrpc atd.) (20 stran)
- stručná referenční příručka (100 stran)
- rejstřík

Další možnosti ?
- SQLAlchemy
- něco o integraci do IDE (vim, eclipse, textmate, visual studio...)


Rozsah knihy 400 až 500 stran. Myslím, že by se to mohlo psát v RESTu,
ze kterého by měl jít výstup do pdf. Pokud by se nesehnala jiná
(levnější) tiskárna, tak by se to mohlo vytisknout pomocí služby
http://www.librix.eu/cz/calculator/. Zde tisk vychází s barevnou
obálkou pro 450 stránek velikosti C5 na recyklovaný papír cca 235 Kč /
kus při 100ks. Prodejní cena by mohla být 400 Kč. Prodej přes web, do
škol a nabídka knihkupcům.

Kolik by se udělalo prvotních výtisků, záleží zřejmě kolik by bylo k
dispozici peněz. Peníze na tisk, grafickou úpravu obálky a případného
sazeče by se mohli získat z reklamy. Pokud pracujete v nějaké firmě,
kde se používá python, pozeptejte se, jestli by měli zájem tento
projekt podpořit penězi za reklamu v knize. Python se používá v
Seznamu, Centru a zřejmě i v dalších větších firmách a určitě shánějí
python programátory, tak by reklamu možná uvítali. Stejně tak šíření
povědomí o pythonu mezi programátory, jak mezi mladými, kteří se
rozhodují, s jakým jazykem začít, tak mezi už zkušenějšími, kteří
třeba přemýšlejí o změně. Také české hostingové společnosti, které
nabízejí hostování pythonu by mohli mít zájem o reklamu.


Termín uzávěrky příspěvků bych si představoval do konce července. Ale
je to samozřejmě na domluvě, jak by se to stíhalo. Pro autory bych
zřídil svn repositář, kam by mohli své texty verzovat.


Nyní se tedy prostřednictvím této diskuze budu snažit zjistit, jestli
by byl o knihu zájem hlavně tedy mezi programátory, kteří by mohli
přispět autorsky. Těžko asi seženeme člověka, který by napsal celou
knihu sám a navíc málo lidí má komplexní znalosti ze všech oblastí.
Vůbec se nebráním tomu, aby každé téma napsal někdo jiný. Byla by to
pak opravdu komunitní spolupráce. Protože nejsem nakladatel, ale
jednotlivec, je tu samozřejmě nevýhoda s honoráři pro autory. Těžko je
zaplatím dopředu. Nicméně bude záležet, kolik by se sehnalo dopředu
peněz od sponzorů. Když už bude kniha na pultech, je už samozřejmé, že
by autoři byli honorování ze zisku. Možná více, než kdyby psali pro
nějaké velké nakladatelství, které si bere spoustu peněz na režii.

To je tak zatím vše na úvodní příspěvěk. Pokud si myslíte, že to je
dobrý nápad, a máte nějaké dotazy nebo nápady, tak pište. Samozřejmě i
nabídky na spolupráci. Pokud vás nezaujal, tak můžete napsat taky :-)

Lukoko

unread,
May 16, 2008, 1:58:34 PM5/16/08
to
Rád pomůžu. Dělám senior programátora v Seznamu. Zeptám se, jak by se
k tomu Seznam případně postavil. Každopádně rád přispěji nějakým
textem.

Lukáš Kokoška

Václav Stoupa

unread,
May 17, 2008, 5:10:02 AM5/17/08
to
Díky za pozitivní reakci a za zeptání se.

Předběžné bych měl autory na python + gtk a django. Ještě toho ale
stále zbývá dost.


VS

mim...@gmail.com

unread,
May 17, 2008, 3:03:02 PM5/17/08
to
Nebylo by lepsi zacit uz myslet na Python 3.0 ,

v dobe planovaneho vydani uz bude celkem dost aktualni ....

Lukoko

unread,
May 17, 2008, 7:29:00 PM5/17/08
to
To si nemyslím. Bral bych to podle verze debianu, protože ten se v
provozním prostředí běžně používá. Takže v době, kdy to vyjde bych to
viděl na python 2.5. Každopádně bych se nebránil do každé kapitoly,
kde by byly rozdíly mezi 2.5 a 3 uvést o jaké změny se jedná a jaká
vylepšení bude Py3k poskytovat a jak by se tam daná problematika dala
řešit. Je mi jasné, že s novými možnostmi, jaké bude Python 3
poskytovat, bude možně některé věci řešit jinými způsoby, ale přeci
jenom bych moc nepředbíhal, protože Py3k ještě jen tak nebude stable.

Zároveň bych chtěl zahájit nějakou diskuzi na téma v jakém prostředí
knihu připravovat. Asi se shodneme na tom, že to bude vyžadovat
nějakou wiki, kde budou autoři mít možnost editovat napsaný text a
rovnou nad ním diskutovat.
Zároveň asi nemá smysl pro to psát něco vlastního, takže otázka je
jaký wiki systém a kde jej hostovat. Mám nějaké zkušenosti s DokuWiki
a docela by se mi na to líbíl.

A co sazba. Já s Texem a podobnými systémy zas takové zkušenosti
nemám. Kdo by byl ochotný hotový text vysázet?

Lukoko aka Lukáš Kokoška

Lukoko

unread,
May 17, 2008, 7:42:14 PM5/17/08
to
Ještě jedna věc. V kapitole, ve které by se mělo psát o Django bych to
pojal jako kapitolu o webových frameworcích, takže tam mělo být také
něco o mod_pythonu, CherryPy, TurboGears a třeba i iSkeletonz CMS a za
zmínku by stál i Plone atp.

Potom pokud by se v dané veci nakonec nějak angažoval i seznam, pak by
do kapitoly s XML-RPC patřil určitě ještě FastRPC.

Protože moje primární zaměření v jsou mobilní technologie, nezapomněl
bych na Python pro Windows Mobile, Python pro Symbian, Python na
Maemo, Python v iPhonu/iPodu, mobilní Linux (kde je většina věci v
pythonu), atp.

Když už tam má být zmínka o IronPythonu a Jythonu, tak by tam určitě
patřil i PyPy, nebo Stackless Python.

Václav Stoupa

unread,
May 18, 2008, 4:28:50 AM5/18/08
to
On 17 Kvě, 21:03, "mimi...@seznam.cz" <mimi...@gmail.com> wrote:
> Nebylo by lepsi zacit uz myslet na Python 3.0 ,
>
> v dobe planovaneho vydani uz bude celkem dost aktualni ....

O Pythonu 3 jsem uvažoval. Bule ale ještě chvíli trvat než se pro něj
začnou přepisovat stávající programy, protože je zpětně
nekompatibilní. A za další než se dostane do distribucí. Takže bych
byl pro python 2.6, který je na půl cesty a některé nové věci jsou z
Py3k backporotovány a ostatní se dají naimportovat pomocí future
import.

Souhlas s tím, že by se uvádělo, které věci jsou deprecated a
nastínilo jak se to bude řešit v Py3k.

Václav Stoupa

unread,
May 18, 2008, 5:42:30 AM5/18/08
to
On 18 Kvě, 01:29, Lukoko <luk...@gmail.com> wrote:
> Zároveň bych chtěl zahájit nějakou diskuzi na téma v jakém prostředí
> knihu připravovat. Asi se shodneme na tom, že to bude vyžadovat
> nějakou wiki, kde budou autoři mít možnost editovat napsaný text a
> rovnou nad ním diskutovat.
> Zároveň asi nemá smysl pro to psát něco vlastního, takže otázka je
> jaký wiki systém a kde jej hostovat. Mám nějaké zkušenosti s DokuWiki
> a docela by se mi na to líbíl.
>

DokuWiki by nemusel být špatný nápad. Komentáře k textu by byl super
nástroj.
Viděl bych tu asi tedy na rozhodnutí mezi následujícími variantami:

Buď REST, na který teď přechází python dokumentace pomocí nástroje
http://sphinx.pocoo.org/, který z toho umí generovat LaTex, ze kterého
by se dělalo PDF pro tisk. Verzovalo by se v SVN. Nebyly by tam
komentáře.

Nebo ta DokuWiki, kde je prý také konvertor do LaTexu
http://wiki.erazor-zone.de/doku.php?id=wiki:projects:php:dokuwiki:plugins:latex.
Verze jsou ve wiki samozřejmostí a komentáře tam jsou.

Ale úplně nejlepší nápad mi teď přijde psát to v TracWiki. Trac mám na
serveru nainstalován. Docutils s RESTem tam mám. Teď jsem tam zkusil
nainstalovat komentářové makro a fungují komentáře u wiki stránek.
Přes RESTMacro http://trac-hacks.org/wiki/ReSTMacro by se to dalo
krásně spojit i se svn, kde by texty ve skutečnosti ležely.

> A co sazba. Já s Texem a podobnými systémy zas takové zkušenosti
> nemám. Kdo by byl ochotný hotový text vysázet?
>

Budu rád, když se přihlásí někdo se zkušenostmi s LaTexem.

Václav Stoupa

unread,
May 18, 2008, 5:56:24 AM5/18/08
to

Díky za spoustu užitečných tipů.

Bylo by skvělé tam mít všechno, co píšeš. Obávám se, že pak by ale
kniha měla přes 1000 stran a bylo by velmi těžké sehnat tolik autorů.
A stejně by se o daných tématech nedalo napsat příliš mnoho stránek.
Radši bych viděl knihu, kde se vyberou ty nejpoužívanější nebo
nejperspektivnější balíky a u nich se půjde alespoň trochu do hloubky
nebo se ukážou best practices, než vytvářet jen povrchní přehled.

O nějaké verzi pythonu pro mobily by tam řeč určitě měla být.

Honza Kral

unread,
May 18, 2008, 6:50:44 AM5/18/08
to
Zdravim vespolek,
Slibil jsem napsat kapitolu o Djangu (delam senior programatora v
NetCentru ;) ), mam i nejake zkusenosti s TeXem, ale na takovouto
praci mi prijde mnohem vhodnejsi ReST, ten muze tvorit kazdy sam a
neni potreba ani aby se vsichni ucili TeX, nebo aby to jeden clovek
stale formatoval sam. Da se z toho udelat pak HTML, TeX nebo skoro
cokoliv jineho.


U kapitoly o webu to chce hlavne popsat WSGI a dalsi obecne veci, pak
muzem zminit dva hlavni frameworky + treba ten zope, rozhodne bych se
nepoustel do zadnych konkretnich aplikaci (Plone a spol.), ty bych
maximalne zminil odkazem.


Ale vsechny tyhle veci vychazeji z urceni produktu - pro koho ma byt?
Pro zacatecniky jako seznameni s pythonem (v tom pripade nema asi
smysl popisovat veci do hloubky a spis se soustredit na seznameni se
zakladnimi principy a odkazani lidi na konkretni publikace), pro
stredne pokrocile je to zase neco jineho apod. pro pokrocileho pak jde
o seznameni s exotickymi aspekty jazyka (metaclass, descriptory, ...)
a ruznymi implementacemi (jython VS IronPython VS cPython), ktere zase
imho nepatri do knih pro zacatecniky (jinak nez jako zminka na jeden
radek).

Takze, pro koho j eta kniha a jak chceme aby ji pouzival?
Mame ambici napsat ucebnici (i treba vcetne vyuky zakladnich principu
programovani), nebo "jen" referencni prirucku?
Chceme se zamerit na konkretni aspekt (treba web programovani, nebo
skriptovani pro sysadminy), nebo pokryt co nejsirsi skupiny temat?
Nebo popsat python jako multiplatformni jazyk pro kazdou prilezitost
(IronPython, Jython, PyPy, ...)?

Zkratka co si od toho slibujem, teprve potom muzeme rict co tam chceme
a zacit se hadat co tam smysl ma a co nema (posledni slovo je
samozrejme na Vaskovi).

Lukoko

unread,
May 18, 2008, 11:28:41 AM5/18/08
to

Máš pravdu. Nejdřív by jsme se měli dohodnout pro koho tak kniha
vlastně je. Z obsahu vyplývá, že by to mělo být pro začátečníky. Přeci
jenom 70 stran na syntaxi, datové typy a řízení běhu programu by mělo
i začátečníka naučit většinu důležitých věcí.

Na druhou stranu bych se nebránil tomu, aby některé kapitoly byly více
dopodrobna. Když už budeme psát o Pythonu, tak by se potom dalo psát o
různých použitích. Na webaplikace (Django, Zope, mod_python, cherrypy,
nebo tak podobně), potom v kapitole, kde by se psalo o gtkpythonu, by
jsme taky měli minimálně zmínit wxPython, a PyQt.

Prostě a jednoduše by se mi líbilo, aby to byla kniha, kde si každý
najde to svoje. Ať už se jedná o začátečníka, nebo někoho kdo už umí
programovat. Stejně tak aby ten, kdo umí hlavně webové záležitosti se
naučil něco o psaní pod gtk/wx/qt.

Teď jsem si ještě vzpomněl na Twisted. Kdo to nezná, tak to je
framework, který poskytuje nástroje nejen pro vývoj webu, ale nástroje
pro všechno možné i nemožné okolo sítí.

Jak to tak vypadá, tak každý známe o Pythonu to své a preferujeme jiné
knihovny a nástroje. Asi nejjednodušší bude, když to všechno dáme do
nějaké wiki a potom vybereme jenom to podstatné.

Lukoko

Skriptování a podobné věci se vejdou ke knihovnám jako jsou os a sys.

Václav Stoupa

unread,
May 18, 2008, 4:25:32 PM5/18/08
to
On 18 Kvě, 12:50, Honza Kral <Honza.K...@gmail.com> wrote:
> Ale vsechny tyhle veci vychazeji z urceni produktu - pro koho ma byt?
> Pro zacatecniky jako seznameni s pythonem (v tom pripade nema asi
> smysl popisovat veci do hloubky a spis se soustredit na seznameni se
> zakladnimi principy a odkazani lidi na konkretni publikace), pro
> stredne pokrocile je to zase neco jineho apod. pro pokrocileho pak jde
> o seznameni s exotickymi aspekty jazyka (metaclass, descriptory, ...)
> a ruznymi implementacemi (jython VS IronPython VS cPython), ktere zase
> imho nepatri do knih pro zacatecniky (jinak nez jako zminka na jeden
> radek).

Pro koho má kniha být? Určitě by to neměla být učebnice programování.
Čtenáři by už měli mít zkušenosti s procedurálním i objektovým
programováním.
Ať už na teoretické úrovni nebo třeba v php. Dneska už na střední
možná základní škole se dají nějaké základy programování pochytit. Tj.
probral bych tam samozřejmě syntaxy a základy pythonu i pro ty, co
python nikdy neviděli, ale ne for dummies, ale spíš for middle
advanced programmers.

Jaké vzít zdroje?
Vycházet bysme měli samozřejmě z manuálu zřejmě verze: http://docs.python.org/dev/
Dále pak co každý zná či používá.
Pěkný stručný přehled všech vlastností pythonu 2.5 je zde:
http://rgruet.free.fr/PQR25/PQR2.5.html (něco takového by mohlo být na
konci knihy.)
Pythoní builtin moduly ve stručných příkladech: http://www.lightbird.net/py-by-example/

Nedělal bych z toho ale jenom referenční příručku. Od toho je manuál.


Jak jít do podrobna při popisu konkrétních programů? Asi dát základní
popis, ukázat filosofii použití, vyjmenovat možnosti, zmínit podobné
aplikace na dané téma případně s nimi porovnat klady a zápory a uvést
užitečné zdroje, kde si člověk dostuduje podrobnosti, pokud se
rozhodne, že danou aplikaci chce používat.

Kromě popisu jazyka by měl být myslím určitě zastoupen web, desktop,
mobily. A z multiplatformích aplikací pro svou atraktivitu určitě
spolupráce s Javou a .NETem

VS

mim...@gmail.com

unread,
May 25, 2008, 2:59:16 PM5/25/08
to

+ nebyla by spatna zminka o Google App Engine

Václav Stoupa

unread,
Jun 10, 2008, 7:24:43 PM6/10/08
to
TRAC a SVN založeno

Založil jsem tedy TRAC a SVN viz:

http://trac.python-book.stopuje.cz

Do tracu se může registrovat kdokoliv. O přístup do SVN si řekněte.

Lukoko

unread,
Jun 11, 2008, 4:11:04 AM6/11/08
to

Ahoj, tak prosim o pristup do svn. :-)

0 new messages