Python fariĝas 30-jara

La 20-an de februaro 1991, Guido van Rossum publikigis en la grupo alt.sources la unuan eldonon de la programlingvo Python, pri kiu li laboris ekde decembro 1989 kadre de projekto por krei skriptlingvon por solvi sistemo-administrajn problemojn en la Amoeba operaciumo, kiu estus de pli alta nivelo, ol C, sed, male al la Bourne-ŝelo, disponigus pli oportunan aliron al OS-sistemvokoj.

La nomo por la projekto estis elektita en honoro de la komediogrupo Monty Python. La unua versio lanĉis subtenon por klasoj kun heredo, escepttraktado, modulsistemo, kaj la bazaj tipoj listo, dict kaj str. La efektivigo de moduloj kaj esceptoj estis pruntita de la Modula-3-lingvo, kaj la indent-bazita kodstilo de la ABC-lingvo, al kiu Guido antaŭe kontribuis.

Dum kreado de Python, Guido estis gvidita de la sekvaj principoj:

  • Principoj, kiuj ŝparis tempon dum evoluo:
    • Pruntante utilajn ideojn de aliaj projektoj.
    • La serĉado de simpleco, sed sen trosimpligo (principo de Einshein "Ĉio devus esti deklarita kiel eble plej simple, sed ne pli simpla").
    • Sekvante la UNUX-filozofion, laŭ kiu programoj efektivigas unu funkcion, sed faras ĝin bone.
    • Ne tro zorgu pri agado, optimumigoj povas esti aldonitaj laŭbezone, kiam necese.
    • Ne provu batali kontraŭ la regantaj aferoj, sed iru kun la fluo.
    • Evitu perfektismon; kutime la "sufiĉe bona" ​​nivelo sufiĉas.
    • Kelkfoje anguloj povas esti tranĉitaj, precipe se io povas esti farita poste.
  • Aliaj principoj:
    • La efektivigo ne bezonas esti platform-specifa. Iuj funkcioj eble ne ĉiam estas disponeblaj, sed bazaj funkcioj devus funkcii ĉie.
    • Ne ŝarĝu uzantojn per partoj, kiujn maŝino povas manipuli.
    • Subteno kaj reklamado de platform-sendependa uzantkodo, sed sen limigi aliron al la kapabloj kaj funkcioj de la platformoj.
    • Grandaj kompleksaj sistemoj devas disponigi multoblajn nivelojn de vastiĝo.
    • Eraroj ne estu mortigaj kaj nerimarkitaj—uzantkodo devus povi kapti kaj trakti erarojn.
    • Eraroj en uzantkodo ne devus influi la funkciecon de la virtuala maŝino kaj ne devus konduki al nedifinita interpretisto konduto kaj procezaj kraŝoj.

    fonto: opennet.ru

Aldoni komenton