abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 04:55 | Zajímavý software

    Microsoft zveřejnil na GitHubu zdrojové kódy MS-DOSu 4.0 pod licencí MIT. Ve stejném repozitáři se nacházejí i před lety zveřejněné zdrojové k kódy MS-DOSu 1.25 a 2.0.

    Ladislav Hagara | Komentářů: 0
    včera 17:33 | Nová verze

    Canonical vydal (email, blog, YouTube) Ubuntu 24.04 LTS Noble Numbat. Přehled novinek v poznámkách k vydání a také příspěvcích na blogu: novinky v desktopu a novinky v bezpečnosti. Vydány byly také oficiální deriváty Edubuntu, Kubuntu, Lubuntu, Ubuntu Budgie, Ubuntu Cinnamon, Ubuntu Kylin, Ubuntu MATE, Ubuntu Studio, Ubuntu Unity a Xubuntu. Jedná se o 10. LTS verzi.

    Ladislav Hagara | Komentářů: 8
    včera 14:22 | Komunita

    Na YouTube je k dispozici videozáznam z včerejšího Czech Open Source Policy Forum 2024.

    Ladislav Hagara | Komentářů: 1
    včera 13:22 | Nová verze

    Fossil (Wikipedie) byl vydán ve verzi 2.24. Jedná se o distribuovaný systém správy verzí propojený se správou chyb, wiki stránek a blogů s integrovaným webovým rozhraním. Vše běží z jednoho jediného spustitelného souboru a uloženo je v SQLite databázi.

    Ladislav Hagara | Komentářů: 0
    včera 12:44 | Nová verze

    Byla vydána nová stabilní verze 6.7 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 124. Přehled novinek i s náhledy v příspěvku na blogu. Vypíchnout lze Spořič paměti (Memory Saver) automaticky hibernující karty, které nebyly nějakou dobu používány nebo vylepšené Odběry (Feed Reader).

    Ladislav Hagara | Komentářů: 0
    včera 04:55 | Nová verze

    OpenJS Foundation, oficiální projekt konsorcia Linux Foundation, oznámila vydání verze 22 otevřeného multiplatformního prostředí pro vývoj a běh síťových aplikací napsaných v JavaScriptu Node.js (Wikipedie). V říjnu se verze 22 stane novou aktivní LTS verzí. Podpora je plánována do dubna 2027.

    Ladislav Hagara | Komentářů: 0
    včera 04:22 | Nová verze

    Byla vydána verze 8.2 open source virtualizační platformy Proxmox VE (Proxmox Virtual Environment, Wikipedie) založené na Debianu. Přehled novinek v poznámkách k vydání a v informačním videu. Zdůrazněn je průvodce migrací hostů z VMware ESXi do Proxmoxu.

    Ladislav Hagara | Komentářů: 0
    včera 04:11 | Nová verze

    R (Wikipedie), programovací jazyk a prostředí určené pro statistickou analýzu dat a jejich grafické zobrazení, bylo vydáno ve verzi 4.4.0. Její kódové jméno je Puppy Cup.

    Ladislav Hagara | Komentářů: 0
    24.4. 22:44 | IT novinky

    IBM kupuje společnost HashiCorp (Terraform, Packer, Vault, Boundary, Consul, Nomad, Waypoint, Vagrant, …) za 6,4 miliardy dolarů, tj. 35 dolarů za akcii.

    Ladislav Hagara | Komentářů: 13
    24.4. 15:55 | Nová verze

    Byl vydán TrueNAS SCALE 24.04 “Dragonfish”. Přehled novinek této open source storage platformy postavené na Debianu v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    KDE Plasma 6
     (73%)
     (9%)
     (2%)
     (16%)
    Celkem 775 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    Jonathan Sachs - 2 (Programmers at Work)

    22. 8. 2008 | Tomáš Znamenáček | Rozhovory | 2186×

    V dokončení rozhovoru popisuje Jonathan Sachs důvody svého brzkého odchodu z úspěšné firmy Lotus, kterou spoluzakládal, a svůj vzor Erica Jensena, o němž říká: „Znám jen několik málo podobných lidí – lidí, kteří jsou v něčem tak dobří, až z toho jde málem strach.“

    Programmers at Work je kniha 19 rozhovorů s významnými programátory, kteří svou prací a myšlenkami tvarovali podobu dnešních operačních systémů a mnoha dalších aplikací. Ačkoliv vyšla již v roce 1986, rozhovory jsou z velké míry nadčasové a stále velmi zajímavé. Susan Lammers se po více než 20 letech od prvního vydání knihy rozhodla zveřejnit rozhovory na Internetu a dala AbcLinuxu.cz souhlas k jejich překladu a vydání. Kvůli jejich délce bude většina rozhovorů rozdělena na dva díly. Každý rozhovor doplníme o krátký dodatek, ve kterém budou shrnuty další osudy jednotlivých programátorů.


    Začátek rozhovoru: Jonathan Sachs (Programmers at Work).

    Na jaký největší programátorský problém jste při psaní 1–2–3 narazil?

    Abych pravdu řekl, z technického pohledu není 1–2–3 nijak složitý program. Nemusel jsem nic objevovat, stačilo posbírat kusy kódu a starší nápady. Jediná věc, která byla z technického hlediska zajímavá, bylo pořadí přepočtů. S tím jsem nepřišel já. Jedno léto jsme najali Ricka Rosse a ukázalo se, že problém přepočítávání vzorců je podobný problému, který Rick řešil v rámci své disertační práce (šlo o nějakou správu paměti v Lispu). Rick na základě svého předchozího výzkumu upravil způsob přepočítávání a bylo to.

    Proč z vás není vysokoškolský profesor matematiky?

    Matematika je moc těžká. Matematiku zvládám, dokud si problém dokážu představit. Jakmile je to abstraktní, končím. Ale když si něco dokážu představit v hlavě, zvládnu to.

    Tak probíhá vaše programování?

    Asi. Když něco děláte patnáct let, už si toho procesu nevšímáte.

    Programuje se vám dnes lépe než před patnácti lety?

    Připadne mi, že se programování za posledních patnáct let zase tolik nezměnilo. Jakmile nasbíráte určitý počet zkušeností, dostanete se od nápadu k programu bez přemýšlení nad mezikroky; celý proces se zautomatizuje.

    Jak se z člověka stane dobrý programátor? Záleží na talentu, na cviku?

    Záleží na kombinaci talentu, povahy, motivace a tvrdé práce. Znám docela hodně lidí, kteří čekají, že budou dobří za chvilku. Neznám moc lidí, kterým by se to povedlo. Úspěch spočívá v tom, že děláte jednu věc znovu a znovu. Pokaždé se něco málo naučíte a pokaždé jste o něco lepší než minule. Já jsem měl obrovské štěstí v tom, že jsem na začátku kariéry prošel řadu zajímavých a různorodých pozic. Dnes se začátečníkům podobně pestré zkušenosti získávají mnohem hůř, protože nabídka práce už je úzce profilovaná. Lidé se specializují hodně brzy.

    Vidíte velký rozdíl mezi psaním programu řekněme pro vědecký výzkum a psaním tabulkového procesoru?

    Přišel jsem na to, že všechny programátorské projekty jsou si navzájem překvapivě hodně podobné. Existuje pár základních algoritmů, smyček a podmínek, ale ve výsledku to všechno končí zhruba stejným postupem.

    Jak moc komentujete své zdrojové kódy?

    Za ta léta jsem se usadil na jednom systému. Většinu programů rozložím do maličkých modulů, u kterých komentářem podrobně vysvětlím účel modulu, jeho vstupy a jeho výstupy. Tím komentáře končí. Jakmile je kód rozdělený na tak malé kousky, další komentování vnitřních částí modulu už nemá smysl – ostatní programátoři by ho měli pochopit jednoduše čtením kódu. Sám po sobě přečtu i hodně starý kód téměř vždycky, pokud je takhle komentovaný.

    Máte nějaký ustálený způsob práce?

    Nedělám nárazově, každý den udělám kousek. Na 1–2–3 jsem tvrdě pracoval každý den. Navzdory programátorským stereotypům odvedu největší kus práce brzy ráno.

    Pracujete v kanceláři, nebo doma?

    Občas dělám na chvíli doma, ale můžu pracovat prakticky kdekoliv. Jestli je kolem ticho nebo hluk je mi do určité míry jedno. Lidský hlas mě neuvěřitelně rozptyluje, ale jiné zvuky mi nevadí.

    Co vám na zdrojovém kódu programu připadá esteticky hodnotné, krásné?

    Pokud píšete v C, pak je podle mě důležité správné odsazování a smysluplné pojmenování proměnných, aby se dalo zjistit, k čemu vlastně jsou. Správně napsané programy v sobě mívají určitou jednoduchost, symetrii.

    Pozná podle vašich zdrojových kódů někdo autora?

    Někdo ano. Řekl bych, že když se seznámíte s něčím stylem, dokážete si pak všimnout drobností, které autora prozradí.

    Jak byste popsal svůj přístup k programování?

    Začínám se základní kostrou programu, na kterou přidávám další kusy. Také se snažím vyhýbat příliš efektním funkcím jazyků a programů. Například můj textový editor je variace na program, který jsem napsal na MIT před patnácti lety. Má jen několik jednoduchých příkazů, ale pro moje potřeby stačí. Dneska už je napsaný v C, takže si ho s sebou beru na každý nový počítač. Nerad používám nástroje a programy, které jsem si sám nenapsal, nebo nad kterými nemám kontrolu. Když se mi takhle něco nelíbí, můžu to změnit. Držím se pravidla, že by programy měly být jednoduché.

    Jsou lidé, kteří umí výborně optimalizovat na úrovni instrukcí; umí kousek kódu odladit perfektně natěsno. A na druhé straně jsou lidé, které zajímají jen algoritmy. Já jsem někde uprostřed. Neumím se moc honit za každou instrukcí. Za ta léta jsem si uvědomil, že když píšete tímhle stylem, musíte při každé změně rozmotat celý program a v podstatě ho přepsat. Ale stačí pár kroků couvnout, přitáhnout kód jen na několika nejpotřebnějších místech a výsledný program se pak mnohem lépe udržuje.

    Ovlivnil váš způsob programování někdo konkrétní?

    Hodně lidí. První člověk, který mě výrazně ovlivnil, byl Eric Jensen. Dělal na PDP-1. Je asi o čtyři nebo pět let starší než já a zažil úplně první počítače na univerzitě. Je to zajímavá postava, znám jen několik málo podobných lidí – lidí, kteří jsou v něčem tak dobří, až z toho jde málem strach.

    Eric například patřil mezi špičku v optimalizaci kódu na velikost. První počítače měly konzole s hromadou světel a přepínačů. Eric uměl programy vkládat přímo pomocí přepínačů. Seděl u konzole s jednou rukou na tlačítku, které vkládalo obsah přepínačů na další volnou adresu v paměti; druhou rukou všechny přepínače nahodil a pak je mačkal v akordech, jako kdyby hrál na klavír, jeden akord každých pár vteřin. Byl to impozantní pohled. Od něj jsem se naučil, jakou hodnotu má u programů estetika, a vypěstoval jsem si cit pro správné a špatné řešení problémů.

    Hodně jsem se naučil čtením cizích programů. Řadu triků jsem například pochytal čtením balíku IBM Scientific Subroutine Package, což je gigantická zásobárna fortranového kódu. Čtu hodně knížek, vidím nápady ostatních lidí a vstřebávám je. Nejsem nijak zvlášť tvůrčí člověk, moje skutečná síla je v kombinování nápadů do jednoho pěkného balíčku. Ne že bych nedokázal přijít s něčím novým, ale nijak v tom nevynikám.

    Myslíte si, že počítače budou i nadále dělat zhruba to, co dělají dnes?

    Pokrok jde celkem pomalu, opravdu nových nápadů se objeví každých deset let pár. Na papírové pásky a podobné starší technologie se sice hledí spatra, ale některé z nich byly ve skutečnosti docela dobré. Neřekl bych, že nás brzy čekají zásadní změny.

    Co vás k tomu názoru vede?

    Podívejte se například na skutečnou rychlost. Vezměte si PDP-9. Bylo zhruba stejně rychlé jako PC, ale mělo velice rychlý disk s pevnou hlavou. Operační systém byl jednoduchý. Chyběly mu některé funkce dnešních operačních systémů, ale byl fantasticky rychlý, uměl za několik vteřin sestavit i velký program. Dnes musím i na AT čekat několik minut. Technologie se zlepšila, ale většinu zisku spolkla větší obecnost a menší efektivita systému. Když budete psát v assembleru a vezmete hardware pořádně do ruky, ještě pořád z něj můžete dostat pořádný výkon. Tak v podstatě funguje 1–2–3.

    Kdyby bylo 1–2–3 napsané tak, aby využívalo jen služby dostupné přes operační systém, bylo by mnohem, mnohem pomalejší. Celkem tedy není nijak zaručené, že novější počítač je rychlejší počítač. Po vývoji 1–2–3 jsem si říkal, že musí existovat lepší vývojové prostředí než PC nebo AT. Sehnali jsme pár pracovních stanic od Sunu a zjistil jsem, že jsou na tom ještě mnohem hůř. Nepřekládaly ani o fous rychleji než AT. Máme samé nové procesory, ale hodně výkonu přijde nazmar, protože všichni chtějí všechny funkce najednou.

    Myslíte si, že jednou bude mít počítač doma každý?

    Ano, protože počítače budou menší a přístupnější. Řada hardwarových firem prý pracuje na čipu, který by výkonnostně odpovídal IBM PC a nahradil by všechny čipy jedním. Takže ano, myslím si, že uvidíme počítač v každé domácnosti.

    Co říkáte na umělou inteligenci?

    Řekl bych, že výraz umělá inteligence se masově zneužívá. Když se pustíte do psaní inteligentních programů, nevyhnutelně narazíte do zdi. Velkou část programu napíšete snadno, ale brzy se dostanete do bodu, kde se to najednou neuvěřitelně zkomplikuje.

    Například na MIT chtěli udělat program, který bude rozeznávat morseovku. Ony jsou to jen tečky a čárky, ale když je posílá člověk, tečky jsou někdy trochu dlouhé a čárky zase občas trochu krátké. Pro lidi je morseovka naprosto přesná, ale interpretace teček a čárek je úkol podobný čtení. Když čtete, nedíváte se na každé písmenko, které by mohlo být špatně otištěné. Vidíte celá slova a věty, chápete celek. Tady přichází do hry obrovské množství dalších informací. V morseovce nejde jen o to, abyste rozeznali tečky od čárek – musíte přijít na smysl věty a celé zprávy. V téhle oblasti ještě nedošlo k žádnému pokroku, vůbec žádnému. Chápání významu je při vývoji inteligentních programů zásadní problém, ať už jde o rozpoznávání hlasu, strojový překlad nebo rozpoznávání znaků. Nikdo neumí napsat program, který by dokázal hromadit zkušenosti a učit se, v obecném slova smyslu.

    Co je pro vás počítač? Pouhý stroj, přerostlá kalkulačka?

    Rozhodně je to nástroj. To můžu říct objektivně. Ale zároveň je to hračka, je s ním zábava. Něco mu řeknete a on vám odpoví. A když trefíte to správné slovo, dějí se krásné věci.

    © Susan Lammers 1986–2008, přeloženo s laskavým dovolením autorky.

    Tabulkový procesor 1–2–3 vyšel na trh 26. ledna 1983 a ještě téhož roku vytlačil VisiCalc z pozice nejprodávanějšího tabulkového procesoru. Podnikatelský plán firmy Lotus počítal v prvním roce s prodejem ve výši jednoho miliónu dolarů, skutečnost tento plán překročila více než padesátkrát. V dalším roce se prodej ještě ztrojnásobil a do roku 1985 se firma rozrostla na více než tisíc zaměstnanců.

    První verze 1–2–3 byly kvůli rychlosti napsané v assembleru a místo použití pomalých dosových vstupních a výstupních funkcí pracovaly přímo s hardwarem. Na konkrétní vlastnosti hardwaru IBM PC se spoléhalo natolik, že když se později objevily klony IBM PC, tabulkový procesor 1–2–3 se používal pro testování jejich kompatibility.

    Zajímavou postavou firmy Lotus je v rozhovoru zmíněný Mitch Kapor, který v roce 1986 Lotus opustil a v roce 1990 byl jedním ze zakladatelů neziskové organizace Electronic Frontier Foundation. Kromě toho je jedním z předsedů nadace Mozilla Foundation (už od jejího založení v roce 2003) a patří do vedení laboratoře Linden Lab, která je autorem populární hry Second Life.

    Jonathan Sachs opustil Lotus rok před Mitchem Kaporem, tedy v roce 1985. Dnes je prezidentem své vlastní firmy Digital Light & Color, která od roku 1994 prodává grafický editor Picture Window.

           

    Hodnocení: 100 %

            špatnédobré        

    Nástroje: Tisk bez diskuse

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    24.8.2008 21:48 Zomp | skóre: 1
    Rozbalit Rozbalit vše Re: Jonathan Sachs - 2 (Programmers at Work)
    Děkuju za rozhovor, třeba není o "nejlepším" programátorovi na světě, co já vím, ale líbil se mi zatím nejvíc.
    27.8.2008 10:40 Pev | skóre: 28
    Rozbalit Rozbalit vše Re: Jonathan Sachs - 2 (Programmers at Work)
    Taky se mi moc líbil...
    2.9.2008 17:26 ..... Izak ..... | skóre: 14
    Rozbalit Rozbalit vše Re: Jonathan Sachs - 2 (Programmers at Work)
    No, ale s tim image editorem uz moc slavy neudelaji ... i kdyz amater zkousne vcelku dost, ale proc jsou i oni amateri na grafiku, to netusim, mozna je to nejaka marketingova strategie, ukazat, ze delam stejny kyc jako uzivatel.
    12.8.2011 14:08 Budivoj
    Rozbalit Rozbalit vše Re: Jonathan Sachs - 2 (Programmers at Work)
    Reakce po třech letech je nejspíš rarita, ale hloupost posledního příspěvku mě nutí jejímu autorovi doporučit, aby se vždy než něco překotně vyhrkne, nad obsahem svého sdělení nejprve zamyslel. Zmíněný image editor znám, nebudu ho obhajovat, chci jen zdůraznit že je určen pro fotografy (...designed for serious photographers with demanding creative and quality standards...), nikoli pro grafiky. Jablka nejsou hrušky. Pokud uvedený přispěvatel fotografuje, chápe rozdíl mezi fotografií a grafikou, dokáže uvažovat a tvořit i jinak než jen ve vrstvách, pak mu rozhodně zmíněný "image editor" nabízí pro práci s fotografiemi profesionální nástroje. B.

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.