Donald Knuth slávne citáty

naposledy aktualizované : 5. septembra 2024

other language: spanish | czech | german | french | italian | slovak | turkish | ukrainian | dutch | russian | portuguese

Donald Knuth
  • Algoritmus musí byť videný, aby sa veril.

  • Veda je to, čomu rozumieme dosť dobre na to, aby sme to vysvetlili počítaču. Umenie je všetko, čo robíme.

  • Každodenný život je ako programovanie. Ak niečo milujete, môžete do toho vložiť krásu.

  • Proces prípravy programov pre digitálny počítač je obzvlášť atraktívny, a to nielen preto, že môže byť ekonomicky a vedecky prospešný, ale aj preto, že môže ísť o estetický zážitok, podobne ako skladanie poézie alebo hudby.

  • Počítačové programovanie je umenie, pretože aplikuje nahromadené vedomosti na svet, pretože vyžaduje zručnosť a vynaliezavosť, a najmä preto, že produkuje predmety krásy. Programátor, ktorý sa podvedome považuje za umelca, sa bude tešiť z toho, čo robí, a bude to robiť lepšie.

  • Ľudia si myslia, že informatika je umením géniov, ale skutočná realita je opačná, len veľa ľudí robí veci, ktoré na sebe stavajú, ako stena z mini kameňov.

  • Počítače sú dobré v dodržiavaní pokynov, ale nie v čítaní vašej mysle.

  • V skutočnosti by som rád videl tisíce počítačových vedcov, ktorí sa pustili do toho, čo chcú. To je to, čo skutočne posúva pole vpred.

  • Zmeňme náš tradičný postoj k výstavbe programov. Namiesto toho, aby sme si predstavovali, že našou hlavnou úlohou je poučiť počítač, čo má robiť, sústredme sa skôr na to, aby sme ľuďom vysvetlili, čo chceme, aby počítač robil.

  • Pozor na chyby vo vyššie uvedenom kóde; len som to dokázal správne, neskúšal som to.

  • Nemôžem ísť do reštaurácie a objednať si jedlo, pretože sa stále pozerám na písma v ponuke.

  • Predčasná optimalizácia je koreňom všetkého zla.

  • Ako môžete vlastniť [...] čísla? Čísla patria svetu.

  • Ľudia, ktorí sa viac než len tak mimochodom zaujímajú o počítače, by mali mať aspoň nejakú predstavu o tom, aký je základný hardvér. Inak programy, ktoré píšu, budú dosť zvláštne.

  • Náhodné čísla by sa nemali generovať náhodne zvolenou metódou

  • Slnko vychádza z dlhodobého hľadiska asi tak často, ako klesá, ale jeho pohyb nie je náhodný.

  • Myslím, že ľudia, ktorí píšu programy majú aspoň záblesk extra vhľad do povahy Boha... pretože vytvorenie programu často znamená, že musíte vytvoriť malý vesmír

  • Mali by sme sa neustále snažiť transformovať každé umenie na vedu: v tomto procese napredujeme v umení.

  • Za významné príspevky k analýze algoritmov a návrhu programovacích jazykov, a najmä za príspevky k "umeniu počítačového programovania" prostredníctvom svojich známych kníh v nepretržitej sérii pod týmto názvom.

  • Zoznam je len taký silný ako jeho najslabší článok.

  • Je oveľa užitočnejšie robiť viac s menej.

  • UNIX definujem ako 30 definícií regulárnych výrazov žijúcich pod jednou strechou.

  • Celá vec, ktorá robí matematikovi život hodnotným, je to, že získa nevraživý obdiv troch alebo štyroch kolegov.

  • Najťažšie je ísť spať v noci, keď je potrebné urobiť toľko naliehavých vecí. Existuje obrovská priepasť medzi tým, čo vieme, že je možné s dnešnými strojmi, a tým, čo sme doteraz dokázali dokončiť.

  • Najdôležitejšou vecou v programovacom jazyku je názov. Jazyk nebude úspešný bez dobrého mena. Nedávno som vymyslel veľmi dobré meno a teraz hľadám vhodný jazyk.

  • Momentálne používam Ubuntu Linux, na samostatnom notebooku - nemá pripojenie na Internet. Občas nosím Flash pamäťové jednotky medzi týmto strojom a Macmi, ktoré používam na surfovanie po sieti a grafiku; ale verím, že moje Rodinné klenoty len na Linux.

  • Príručky, ktoré sme dostali od IBM, by ukazovali príklady programov a vedel som, že by som mohol urobiť sakra oveľa lepšie. Tak som si myslel, že by som mohol mať nejaký talent.

  • Najlepšie programy sú napísané tak, aby ich výpočtové stroje mohli vykonávať rýchlo a aby im ľudia jasne porozumeli. Programátor je v ideálnom prípade esejista, ktorý pracuje s tradičnými estetickými a literárnymi formami, ako aj s matematickými konceptmi, aby komunikoval spôsob fungovania algoritmu a presvedčil čitateľa, že výsledky budú správne.

  • Mám tušenie, že neznáme sekvencie DNA sa dekódujú do oznámení o autorských právach a patentovej ochrany.

  • Ak optimalizujete všetko, budete vždy nešťastní.

  • Pochopením strojovo orientovaného jazyka bude mať programátor tendenciu používať oveľa efektívnejšiu metódu; je to oveľa bližšie k realite.

  • Vždy si však pamätajte, že zvyčajne existuje jednoduchší a lepší spôsob, ako niečo urobiť, ako prvý spôsob, ktorý sa vám objaví v hlave.

  • Dôležité, keď už máte dosť jedla a pekný dom, je to, čo môžete urobiť pre ostatných, čím môžete prispieť k podniku ako celku.

  • Psychologické profilovanie [programátora] je väčšinou schopnosť posunúť úrovne abstrakcie z nízkej úrovne na vysokú úroveň. Vidieť niečo v malom a vidieť niečo vo veľkom.

  • Veda je poznanie, ktorému rozumieme tak dobre, že ho môžeme naučiť počítač; a ak niečomu úplne nerozumieme, je umením sa s tým vysporiadať.

  • Kniha Dynamické programovanie Richarda Bellmana je dôležitou priekopníckou prácou, v ktorej sa skupina problémov zhromažďuje na konci niektorých kapitol pod nadpisom "cvičenia a výskumné problémy", pričom uprostred hlbokých, nevyriešených problémov sa objavujú mimoriadne triviálne otázky. Hovorí sa, že sa niekto raz spýtal Dr. Bellmana, ako rozlíšiť cvičenia od výskumných problémov, a on odpovedal: "Ak to dokážete vyriešiť, je to cvičenie; inak je to výskumný problém."

  • Programovanie je umenie povedať inej ľudskej bytosti, čo chce počítač robiť.

  • Matematický vzorec by nikdy nemal byť" vlastnený " nikým! Matematika patrí Bohu.

  • Programátori strácajú obrovské množstvo času premýšľaním alebo staraním sa o rýchlosť nekritických častí svojich programov a tieto pokusy o efektívnosť majú skutočne silný negatívny vplyv pri zvažovaní ladenia a údržby. Mali by sme zabudnúť na malú efektívnosť, povedzme asi 97% času: predčasná optimalizácia je koreňom všetkého zla. Nemali by sme však nechať ujsť naše príležitosti v týchto kritických 3%.

  • Nemôžem si byť taký istý v informatike ako v biológii. Biológia má ľahko 500 rokov vzrušujúcich problémov, na ktorých treba pracovať. Je to na tej úrovni.

  • V skutočnosti je mojím hlavným záverom po desiatich rokoch môjho života prácou na projekte T E X, že softvér je ťažký. Je to ťažšie ako čokoľvek iné, čo som kedy musel urobiť.

  • Stromy vyrastajú takmer všade v informatike...

  • Ak zistíte, že trávite takmer všetok svoj čas teóriou, začnite venovať pozornosť praktickým veciam; zlepší to vaše teórie. Ak zistíte, že trávite takmer všetok svoj čas praxou, začnite venovať pozornosť teoretickým veciam; zlepší to vašu prax.

  • ... projektantom nového systému nesmie byť iba implementátor a prvý veľkoplošný používateľ; projektant by mal napísať aj prvú používateľskú príručku. ... Keby som sa úplne nezúčastnil všetkých týchto aktivít, nikdy by sa neurobili doslova stovky vylepšení, pretože by som na ne nikdy nepomyslel ani nevnímal, prečo sú dôležité.

  • Projektant nového druhu systému sa musí plne podieľať na implementácii.

  • E-mail je úžasná vec pre ľudí, ktorých úlohou v živote je byť na vrchole vecí. Ale nie pre mňa; mojou úlohou je byť na dne vecí. To, čo robím, trvá dlhé hodiny štúdia a nepretržitej koncentrácie.

  • Môj prvý program ma naučil veľa o chybách, ktoré budem robiť v budúcnosti, a tiež o tom, ako nájsť chyby. To je akýsi príbeh môjho života, robiť chyby a snažiť sa z nich zotaviť. Snažím sa veci napraviť. Asi som posadnutý tým, že nerobím príliš veľa chýb.

  • Keď sa niektoré pojmy TeX zavedú Neformálne, Uvedú sa všeobecné pravidlá; potom zistíte, že pravidlá nie sú úplne pravdivé. Neskoršie kapitoly vo všeobecnosti obsahujú spoľahlivejšie informácie ako tie predchádzajúce. Autor sa domnieva, že táto technika úmyselného klamstva vám skutočne uľahčí osvojenie si myšlienok. Akonáhle pochopíte jednoduché, ale falošné pravidlo, nebude ťažké doplniť toto pravidlo s jeho výnimkami.

  • ...Jednou z najdôležitejších lekcií je možno skutočnosť, že softvér je ťažký. Odteraz budem mať podstatne väčší rešpekt voči každému úspešnému softvérovému nástroju, s ktorým sa stretnem. Počas posledného desaťročia som bol prekvapený, keď som sa dozvedel, že písanie programov pre TeX a Metafont sa ukázalo byť oveľa ťažšie ako všetky ostatné veci, ktoré som urobil (napríklad dokazovanie teorémov alebo písanie kníh). Vytvorenie dobrého softvéru si vyžaduje výrazne vyšší štandard presnosti ako ostatné veci a vyžaduje si dlhšie rozpätie pozornosti ako iné intelektuálne úlohy.

  • ...metódy sú dôležitejšie ako fakty. Vzdelávacia hodnota problému, ktorý sa dáva študentovi, závisí väčšinou od toho, ako často budú myšlienkové procesy, ktoré sa používajú na jeho vyriešenie, užitočné v neskorších situáciách. Nemá to veľa spoločného s tým, aká užitočná môže byť odpoveď na problém. Na druhej strane musí dobrý problém motivovať aj študentov; mali by mať záujem vidieť odpoveď. Keďže sa študenti veľmi líšia, Nemôžem očakávať, že sa každému budú páčiť problémy, ktoré ma potešia.