Živý rozhovor: s Janem Fialou o PSPadu

Na vaše otázky k programu PSPad odpovídal Jan Fiala, autor tohoto populárního freeware editoru. Přečtěte si, jak složitý je vývoj, co všechno obnáší a jaká je časová náročnost takové práce. A také se dozvíte nejen informace o samotném editoru PSPad a jeho budoucnosti, ale i o autorovi a jeho osobních plánech.
Kapitoly článku

Jaký máte doma počítač(e)? Tomas B.

Jan Fiala: Pracuji na firemním notebooku. Pro šťouraly na legálním operačním systému Windows XP Pro SP2 a na legálních firemních Delphi 7. Využívání pro tyto účely mám povoleno.

PSPad je od začátku brán jako freeware, takže tomu jsem podřídil i výběr komponent. V PSPadu jsou použity jen komponenty nebo kód autory prohlášený jako freeware bez specifikace licence nebo je jedna z možností licence MPL. Takže z pohledu licenční čistoty kódu by měl být PSPad v pořádku.

V čem PSPad převyšuje ostatní textové editory? Je v něm něco unikátního, co by stálo za zmínku? (Wizzard)

Jan Fiala: Asi nedokážu vyjmenovat konkrétní body, v čem by byl lepší, protože každý editor vyniká nějakou funkčností. Výhodou PSPadu je široká komunita. Pro zajímavost - jen anglických instalací se stáhne přes 50 000 měsíčně.

Uživatelé si svými požadavky „vybudovali“ a „vyladili“ PSPad tak, aby jim vyhovoval. Je to velké množství různých drobností, které nejsou na první pohled vidět, ale projeví se při používání programu.

PSPad má třeba podle mého názoru velmi dobře udělané zpracování výjimek. V převážné většině případů umožní uživateli pokračovat v programu, pokud k nějaké výjimce dojde a naopak uživatel může snadno poslat podrobný report, ze kterého se dozvím, kde přesně k problému došlo, co mu předcházelo, a jsem schopný na to rychle reagovat a problém odstranit.

PSpad je postaven tak, aby se dal okamžitě po instalaci nebo rozbalení archivu používat bez nutnosti jej složitě konfigurovat.

Jako další výhodu bych zmínil, že je přenosný. Konfigurace je uložena v textových souborech, nepotřebuje registry, nepotřebuje instalaci, takže si svůj PSPad můžete lehce nosit na flash disku sebou.

Ještě mne napadá nativní podpora unicode v psaném textu nebo rozšiřování funkčnosti externími skripty, což je pohodlnější než vytváření rozšíření ve formě DLL knihoven a hlavně snadněji kýmkoliv opravitelné.

Já se momentálně učím programovat v Javě a používám PSPad. Ale když chci spustit program, tak to napíše: „Chybný formát externího programu“. (Petr Vich)

Jan Fiala: Tohle je přesně ten typ dotazu, který měl skončit ve fóru PSPadu. Je tam mnoho uživatelů, kteří PSPad pro psaní JAVA programů používají a poradí vám lépe. V nápovědě, v kapitole Příklady nastavení kompilátoru, je příklad jak nastavit PSPad pro JAVU.

Abych pravdu řekl, tak mi Váš editor k srdci moc nepřirostl, ale to spíše kvůli jeho GUI. Je mi jasné, že z pohledu efektivního programování je to věc naprosto nepodstatná, ale přeci jen... Jinak samozřejmě oceňuji vaši práci na tomto editoru, je opravdu propracovaný, ale sežeňte si nějakého grafika, který by programu přidal přívětivé GUI. Já na všechny jazyky používám Eclipse s pluginy a jsem naprosto spokojen (lucas swoboda)

Jan Fiala: Názor na GUI je vždy velmi subjektivní. Co se líbí jednomu, nelíbí se jinému. Já jsem odpůrce skinovatelnosti (možná jsem tím již známý) u vývojových nebo systémových nástrojů. Dodnes jsem nepochopil, k čemu je mi skinovatelnost u antiviru nebo firewallu, kromě toho, že to zvyšuje nároky na systém.

Bohužel jste příspěvek napsal obecně, takže nevím, co vám vadí konkrétně. Budu velmi rád, když mne kontaktujete mailem a napíšete mi konkrétní připomínky nebo návrhy, prostě to, jaká je vaše představa o „přívětivém“ GUI.

Nápad s grafikem je zajímavý a pro komerční projekt bych jej určitě využil.

Jak to vypadá s možnou podporou přístupu přes šifrované FTP (tím myslím SFTP, FTPS/TLS)? Uvažujete o něčem takovém a pokud ano, kdy? (Vaclav Dvorak)

Jan Fiala: Uvažuje se o šifrované komunikaci přes FTP, takže ne přímo SFTP. Kdy? Konkrétní termín slíbit opravdu nemůžu. Ale je to mezi požadavky s vysokou prioritou.

Zajímalo by mne, čemu se věnujete ve volném čase, když zrovna neprogramujete? Jestli se podílíte např. i na nějakých jiných projektech, jaké máte koníčky a jak relaxujete? (Štěpán Horák)

Jan Fiala: Volného času v poslední době mnoho není. Zdá se mi, jako by čas ubíhal stále rychleji a rychleji. Pokud se volný čas najde, rád sáhnu po knížce, i když v poslední době většinou v elektronické podobě. Vlastně pár knih nosím stále sebou ve svém PDA a čtu si, kdykoliv je příležitost. Z témat hlavně sci-fi, popř. fantasy. Pro mne jsou to odpočinková témata. Děj není příliš rozvětvený, aby se nedal sledovat i při čtení po chvilkách, ale přesto jsou v těchto knihách skryty zajímavé myšlenky. Týká se to i klasiky, jako je Čapek. Je velký rozdíl, když to člověk čte na základní škole z donucení jako povinnou četbu nebo když si to přečte teď a zamyslí se nad tím. Co se týká sportu, rád se projedu na kole nebo si jen tak zajdu do lesa.

Programování je „zatím“ i mým koníčkem, což je jeden z důvodů, proč jsem to s PSPadem vydržel tak dlouho. Z působení v dalších projektech se dá zmínit snad jen projekt Poradna.net.

Hrajete počítačové hry? Pokud ano, jaké? Jaké jiné freeware programy používáte? Kde budete trávit Silvestra? (Dodo)

Jan Fiala: Hraji počítačové hry. Ale dostanu se tomu tak dvakrát ročně. Obvykle je to nějaká starší RPG, kterou zahlédnu v nějakém herním časopise na stánku.

Těch programů je hodně. 7Zip, AntMovie (katalog filmů), FastStone ImageView, FlashGet, FoxIt PDF reader, KeePass (správa hesel), MediaPlayer Classic, Miranda, MPlayer, Opera, Unlocker, WinAmp Lite a mnoho programů které mi usnadňují programování - resource editory, editory ikon, atd.

Tak to opravdu ještě netuším. ;-)

Kde berete čas na odpovídání v diskuzích? A nemyslím tím jenom Živě.cz. (J.)

Jan Fiala: Odpovídání v diskuzích beru jako formu relaxace. Jen se mi zdá, že úroveň tazatelů klesá a klesá. Souvisí to i s dostupností internetu. Tazatelé by si měli uvědomit, že je třeba napsat dotaz tak, aby se na něj dalo odpovědět. Bohužel si neuvědomují, že nikdo jiný nevidí, co mají na monitoru, jaký kód zrovna píší.

Výsledkem je pak dotaz následujícího typu. Předmět: Pomooooc!!! Text: Když spustím program, tak mi napíše nějakou chybu. Ještě včera mi to nedělalo.

Pak následuje obvykle pokus dozvědět se něco bližšího, obklopený hromadou příspěvků, které vynadají tazateli do „Mirků“ a jiných sprostých slov (nebylo to myšleno nijak osobně). ;-)

Jak řekl klasik: Já RÁD PORADÍM, KDYŽ VÍM víc.

Jaká přesně je konfigurace vašeho notebooku a jak se vám na něm pracuje. Například pohodlnost PC vs. notebook mně osobně přijde jako 100 a 1. Jistěže je to otázka zvyku, ale... (Martin)

Jan Fiala: Je to opravdu věc zvyku. V současné době jsme ve firmě přešli z Aceru na Umaxy. Já vím, že spousta lidí tyto značky bude odsuzovat. Ale jde hlavně o poměr cena/výkon a o servis. Na obě věci si stěžovat nemůžu.

Takže v současné době sedím před Umax VisionBook 6200NSX - Intel DualCore procesor, 1GB RAM, 100GB HDD.

Já už si opravdu na práci jen na notebooku zvykl, takže nepoužívám ani externí klávesnici a jak mnozí ví, propaguji rozložení klávesnice QWERTY, které umožňuje programovat a psát bez nutnosti přepínat na anglickou klávesnici.

Nevím, co myslíte „pohodlností PC vs. notebook“. Pro mne je notebook naopak mnohem pohodlnější. Zabírá méně místa, má menší spotřebu, výkonově je s PC srovnatelný a co je pro mne velmi důležité, je mobilní. PC si do tašky sebou vzít nemůžu.

Jaké vývojové nástroje (IDE, jazyk) používáte při programování PSPadu? (MikeMin)

Jan Fiala: Vývojové prostředí Borland Delphi 7, jazyk Object Pascal, někdy Borlandem uváděný jako jazyk „Delphi“.

Uvažuje se někdy o případné skutečné Intellisense, podobné té, co má třeba Visual Studio? (Pas)

Jan Fiala: Tohle je jeden z častých dotazů. Je třeba si uvědomit, že Visual Studio nebo další specializovaná IDE mají přístup k NameSpace (jmenný prostor) programovacího jazyka (proměnné, funkce a jejich parametry, jejich umístění v knihovnách). PSPad nic takového k dispozici nemá. U programů typu PSPad se to obvykle řeší konfiguračními soubory, které to nějakým způsobem nahrazují/simulují. Tím je možné dosáhnout Intellisence nápovědu pro standardní funkce, ale již ne kompletní Intellisence včetně uživatelem definovaných funkcí nebo funkcí z dalších použitých knihoven.

Nešla by vydat „Lite“ verze PSPadu? Rád tento program používám, ale většinu funkcí ani nevyužiji a je zde pro mě zbytečně moc voleb. Chápu ale, že v možnostech a spoustě funkcí je síla PSPadu. Ale určitě jsou uživatelé, kteří by uvítali nějakou „Lite“ verzi, kterou si myslím není problém udělat, stačilo by nějaké položky z menu prostě vyndat a překompilovat. (Honza S.)

Jan Fiala: Dostali bychom se k otázce, co je to LITE verze. Které funkce „vyndat“, které tam nechat. Co uživatel, to názor.

Nápad to není špatný, ale doporučoval bych jej nadnést ve fóru PSPadu, po diskuzi o funkčnosti Lite verze a množině funkcí, které by měly zůstat je pak možné takovou verzi vytvořit.

Co já vím, kdo je nějaký Jan Fiala. (Michaela)

Jan Fiala: Těší mne. Já také neznám všechny Michaely z Ostravy. ;-)

Proč není PSPad OpenSource? Proč nejsou podporovány jiné OS než Windows? (Jan Tichavský)

Jan Fiala: Proč není OpenSource? Protože se autor nerozhodl uvolnit jej jako OpenSource.

Proč nejsou podporovány jiné OS než Windows? Protože překladač pro Borland Delphi jiné OS nepodporuje. Stále se mluví o multiplatformnosti aplikací, ale ono to skutečně není tak jednoduché. Představa, že napíšu jeden kód bez ohledu na platformu a pak jej jen zkompiluji je mylná. Autor multiplatformní aplikace musí znát z programátorské stránky všechny platformy, pro které je aplikace určena a musí s tím počítat od začátku. A já třeba Linux tak, abych pro něj mohl psát programy, neznám.

Nechcete rozšířit podporu pro XSLT? (Radim)

Jan Fiala: A v čem by ta podpora měla spočívat?

Spousta lidí si myslí, že musím znát všechny programovací jazyky, které PSPad podporuje. Ale není to pravda. Já se třeba psaní webů nevěnuji vůbec, kromě amatérského pokusu o předchozí verzi webu pro PSPad.

Používám PSPad pro editaci PHP skriptů a až na jednu chybičku při zvýrazňování syntaxe, kterou už umím obejít, je výborný. Používám jej přes dva roky a je vidět značný pokrok, mimo jiné také v paměťové náročnosti, kdy jej už nerozhází 50 MB XML soubor. Nepoužívám interní FTP ale spolupráce s WINSCP je posledního půl roku ukázková. Pravidelně potřebuji vyfiltrovat emailové adresy ze zhruba 1000 chybových emailů a s PSpadem je to díky prohledávání adresářů a hledání regulárních výrazů velmi snadné. Mám v podstatě jen 3 přání: skrývání kódu mezi závorkami, podporu formátování nejen tagů ale i dle závorkování a možnost vytáhnout si názvy funkcí z adresáře(řů) pro automatické doplňování kódů. Možná je to i cesta pro definici přímého přechodu na definici funkce. (Michal Tupý)

Jan Fiala: Pro skrývání kódu mezi závorkami (code folding) musí existovat podpora v komponentě editoru. Synedit, který je použit v PSPadu takovou podporu zatím neposkytuje. Jakmile bude k dispozici, bude zapracována i do PSPadu.

Co se týká formátování kódu, je možné využít jakýkoliv „code beautifier“, které jsou na internetu k dispozici a integrovat jej do PSPadu pomocí externích nástrojů. PSPad opravdu není schopný provádět přeformátování kódu pro všechny programovací jazyky.

„Vytahování“ funkcí z kódu by měla přinést integrace CTags, což bude alternativa k průzkumníkovi kódu.

Možná by nebylo špatné sesbírat nějaké projekty, které v tomto programu vnikly a pochlubit se tím. Věřím, že jich bude hodně. (instaluj.cz)

Jan Fiala: S podobným nápadem mě shodou okolností jeden uživatel oslovil v polovině týdne. Myšlenka se mi líbí.

Program PSPad se mi velmi líbí. Při spouštění se však program na 30 vteřin sekne a až potom pokračuje dále. Nevíte, co s tím? (Pavel Valach)

Jan Fiala: Problémů může být víc. Od namapovaných síťových disků, které již nejsou k dispozici, přes výchozí tiskárnu, která není k dispozici, až po inicializaci WSH.

Takže doporučení pro úpravy konfigurace:

1. V nastavení programu / Adresáře a Soubory / [x]Ukládat pouze z lokálních disků (zapnout)

2. V Nastavení programu / Integrace do systému / [ ]Podpora skriptování pomocí WSH (vypnout)

Myslíte, že je PSPad dost dobrý i pro Martu Jandovou? (AZOR)

Jan Fiala: Poté, co jsem viděl nějaké její poslední fotografie, si to opravdu, ale opravdu, nemyslím. :-P

Zajímalo by mne, zda víte, kolik lidí aktuálně alespoň přibližně tento váš program používá. (Kouba Tomáš)

Jan Fiala: Nemám tušení. PSPad žádné podobné informace nesbírá. Mohu jen uvést nějaké statistické informace: Anglických instalací, stažených přímo ze stránek PSPadu (nejsou v tom zahrnuty stažení z různých alternativních serverů) bylo za 10/2006: 49 869. Za 11/206 je předpoklad asi 51 000.

Počet unikátních návštěv webu PSPadu se měsíčně pohybuje okolo 190 000.

Témata článku: , , , , , , , , , , , , , , , , , , , , , , , ,