Pythonille oma alue?

Ehdotus täällä:
http://keskustelu.suomi24.fi/node/8713223

Sinne sitten vaan kommentoimaan tarpeen mukaan.

- Kiitos
10373
Äänestä

Muut lukivat myös

Vastaukset 10

Vanhimmat

ABC kielenä tunnettu harjoittelukieli vaan ei jaksa innostaa, kun korvaavia on vaikka kuinka.

Äänestä
  • Ei ole mikään harjoittelukieli, vaan aivan oikeassa tuotantokäyttössä oleva hyvin selkeä, mutta samalla monipuolinen kieli.
    http://en.wikipedia.org/wiki/Python_software
    http://wiki.python.org/moin/OrganizationsUsingPython

    Lisäksi:
    Python on Tioben mittauksen mukaan 7. suosituin kieli nousevalla käyrällä :
    http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

    Ja sitä opetetaan ainakin MITin (joka on ainakin wikipedian mukaan on maailman arvostetuin teknillinen korkeakoulu.) ja Teknillisessä korkeakoulussa (HUT) ekana kielenä.

    Äänestä

  • əßð kirjoitti:

    Ei ole mikään harjoittelukieli, vaan aivan oikeassa tuotantokäyttössä oleva hyvin selkeä, mutta samalla monipuolinen kieli.
    http://en.wikipedia.org/wiki/Python_software
    http://wiki.python.org/moin/OrganizationsUsingPython

    Lisäksi:
    Python on Tioben mittauksen mukaan 7. suosituin kieli nousevalla käyrällä :
    http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

    Ja sitä opetetaan ainakin MITin (joka on ainakin wikipedian mukaan on maailman arvostetuin teknillinen korkeakoulu.) ja Teknillisessä korkeakoulussa (HUT) ekana kielenä.

    Näin se menee, kuten historia on näyttänyt. Älyn kehityksen myötä abstraktiotaso on kasvanut. Samoin käy myös ohjelmistokielille. Kuka enää kirjoittaa assembler ohjelmia? Ei kukaan.

    Kielien abstraktiotaso nousee sitä mukaan kun koneiden teho ja ohjelmistojen laajuus kasvaa.

    Mutta sitten tuli se mielenkiintoinen kysymys. Monet on sanoneet että Pythonilla ei pidä tehdä isompia ohjelmia. Mikä on isomman ohjelman raja tässä tapauksessa?

    Entäs jos esim OpenOffice olisi tehty Pythonilla? Mielestäni se täyttää aivan varmasti ison ohjelmiston määritelmän.

    Palvelinpuolella Javasta löytyy 64bit versio ja muistihallinta on kunnossa myös silloin kun mennänä useisiin gigoihin. Onko Pythonissa jotain tällaisia ratkaisevia rajoituksia? GIL:in rajoitukset voidaan kiertää subprocesseilla. Mutta mitä sitten jos softasta tulee oikeasti iso?

    Äänestä

  • əßð kirjoitti:

    Ei ole mikään harjoittelukieli, vaan aivan oikeassa tuotantokäyttössä oleva hyvin selkeä, mutta samalla monipuolinen kieli.
    http://en.wikipedia.org/wiki/Python_software
    http://wiki.python.org/moin/OrganizationsUsingPython

    Lisäksi:
    Python on Tioben mittauksen mukaan 7. suosituin kieli nousevalla käyrällä :
    http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

    Ja sitä opetetaan ainakin MITin (joka on ainakin wikipedian mukaan on maailman arvostetuin teknillinen korkeakoulu.) ja Teknillisessä korkeakoulussa (HUT) ekana kielenä.

    Jotkut pitävät sitä harjoittelukielenä ja kertovat kuinka pythonilla voi tehdä jotain pientä apuohjelmaa. Tyypitysongelmien vuoksi sillä ei yleensä tehdä mitään suurempaa. Eikä mikään laskentaa vaativakaan ole sille sopivaa. Ihan hyvä kieli se on jos haluaa opetella ensin kielen joka toimii eri tavalla kuin normaalit yleisimmät tuotantokoelet ja jolla ei tehdä yleensä mitään suurempaa. Ei sen opettelu ehkä hukkaan mene mutta pythonin jälkeen on pakko opetella heti jotain muuta kos haluaa tehdä jotain jossain ohjelmistoprojektissa. Ellei siitä löydy tarvetta pythonilla tehtyihin apupätkiin.

    Äänestä

  • PythonOikeasti? kirjoitti:

    Näin se menee, kuten historia on näyttänyt. Älyn kehityksen myötä abstraktiotaso on kasvanut. Samoin käy myös ohjelmistokielille. Kuka enää kirjoittaa assembler ohjelmia? Ei kukaan.

    Kielien abstraktiotaso nousee sitä mukaan kun koneiden teho ja ohjelmistojen laajuus kasvaa.

    Mutta sitten tuli se mielenkiintoinen kysymys. Monet on sanoneet että Pythonilla ei pidä tehdä isompia ohjelmia. Mikä on isomman ohjelman raja tässä tapauksessa?

    Entäs jos esim OpenOffice olisi tehty Pythonilla? Mielestäni se täyttää aivan varmasti ison ohjelmiston määritelmän.

    Palvelinpuolella Javasta löytyy 64bit versio ja muistihallinta on kunnossa myös silloin kun mennänä useisiin gigoihin. Onko Pythonissa jotain tällaisia ratkaisevia rajoituksia? GIL:in rajoitukset voidaan kiertää subprocesseilla. Mutta mitä sitten jos softasta tulee oikeasti iso?

    Kyllä Pythonilla voi tehdä isompiakin ohjelmistoja mutta miksi sillä pitäisi kun siihen hommaan sopivampiakin työkaluja.. Vai onko tässä taustalla jotain idioottimaisuutta, että jos joku työkalu on jossain asiassa huono niin se on käyttökelvoton ja olisi sitten olemassa joku Täydellinen Kieli mikä on paras joka asiassa?

    Todellisuus vaan sattuu olemaan erilainen, ja meillä on monia työkaluja jotka sopii eri asioihin.

    "Palvelinpuolella Javasta löytyy 64bit versio ja muistihallinta on kunnossa myös silloin kun mennänä useisiin gigoihin."

    Mutta C:llä saa nopeampaa koodia kuin Javalla, että ei ole Javakaan hyvä kieli...

    Äänestä

  • m-kar kirjoitti:

    Kyllä Pythonilla voi tehdä isompiakin ohjelmistoja mutta miksi sillä pitäisi kun siihen hommaan sopivampiakin työkaluja.. Vai onko tässä taustalla jotain idioottimaisuutta, että jos joku työkalu on jossain asiassa huono niin se on käyttökelvoton ja olisi sitten olemassa joku Täydellinen Kieli mikä on paras joka asiassa?

    Todellisuus vaan sattuu olemaan erilainen, ja meillä on monia työkaluja jotka sopii eri asioihin.

    "Palvelinpuolella Javasta löytyy 64bit versio ja muistihallinta on kunnossa myös silloin kun mennänä useisiin gigoihin."

    Mutta C:llä saa nopeampaa koodia kuin Javalla, että ei ole Javakaan hyvä kieli...

    Joskus proof of consept projekti menee suoraan tuotantoon ja silloin datamäärät voi kasvaa siitä mitä oli protoilussa ajateltu. Silloin on hyvä jos mitkään hölmöt rajoitukset eivät tule ihan heti vastaan.

    Mitenkäs Pythonilla esim muistinhallinta yli 4 gigan? Taidankin testata.

    Äänestä

  • Haasann kirjoitti:

    Jotkut pitävät sitä harjoittelukielenä ja kertovat kuinka pythonilla voi tehdä jotain pientä apuohjelmaa. Tyypitysongelmien vuoksi sillä ei yleensä tehdä mitään suurempaa. Eikä mikään laskentaa vaativakaan ole sille sopivaa. Ihan hyvä kieli se on jos haluaa opetella ensin kielen joka toimii eri tavalla kuin normaalit yleisimmät tuotantokoelet ja jolla ei tehdä yleensä mitään suurempaa. Ei sen opettelu ehkä hukkaan mene mutta pythonin jälkeen on pakko opetella heti jotain muuta kos haluaa tehdä jotain jossain ohjelmistoprojektissa. Ellei siitä löydy tarvetta pythonilla tehtyihin apupätkiin.

    > Tyypitysongelmien vuoksi sillä ei yleensä tehdä mitään suurempaa.

    Väärin. Tyypitysongelmia ei nimenomaan ole Pythonissa. Pythonin tyyppijärjestelmä on vahva, selkeä ja tyyppivirheistä ilmoitetaan ohjelmoijalle aina. Dynaaminen tyypitys ei millään tavoin estä tekemästä "mitään suurempaa". Python-ohjelmoijan ei tarvitse tuhlata aikaa eikä satoja koodirivejä tyyppien kuvaamiseen *kääntäjän* ymmärtämään muotoon. Sen ajan voi käyttää hyödyllisemmin dokumentoimalla tietorakenteet *ihmisen* helposti ymmärrettäviksi ja keskittymällä olennaiseen, eli varsinaiseen sovelluslogiikkaan. Tuottavuus on tietenkin ihan toista luokkaa kuin luokka- ja rajapintamäärittelyihin keskittyvillä kielillä.

    > Eikä mikään laskentaa vaativakaan ole sille sopivaa.

    Täysin metsään. Sijoita 105 euroa hyvin ja mene korjaamaan käsityksesi vaikka CSC:n kurssille http://www.csc.fi/english/csc/courses/archive/python_2009_2. Ihmeen paljon Pythonia käytetään vaativaan laskentaan mm. CERNissä, missä laskettavaa riittää. http://cdsweb.cern.ch/record/974627?ln=no

    > [Python] toimii eri tavalla kuin normaalit yleisimmät tuotantokoelet

    Jos tietotekniikan tuntemus jää 70-luvun tasolle, niin tältä varmaan näyttää. Mutta nykyään laajalti käytetyistä kielistä mm. Javascript toimii kielen tasolla hyvin pitkälti samalla tavalla, ja Ruby on lähes täysin sama otus, vain heikommalla kirjastotuella, heikommin laajennettavissa (esim. C-kirjastojen funktioita ei voi kutsua Rubystä suoraan) ja rumemmalla syntaksilla (mielipide).

    Nämä kaikki kolme kieltä ovat ohjelmointikielten kymmenen suosituimman joukossa, Python suosituimpana aivan C#:n ja Visual Basicin kannoilla. Niiden suosio on ollut jatkuvassa nousussa jo vuosia, eikä kehitykselle näy loppua.

    Äänestä

  • PythonOikeasti? kirjoitti:

    Näin se menee, kuten historia on näyttänyt. Älyn kehityksen myötä abstraktiotaso on kasvanut. Samoin käy myös ohjelmistokielille. Kuka enää kirjoittaa assembler ohjelmia? Ei kukaan.

    Kielien abstraktiotaso nousee sitä mukaan kun koneiden teho ja ohjelmistojen laajuus kasvaa.

    Mutta sitten tuli se mielenkiintoinen kysymys. Monet on sanoneet että Pythonilla ei pidä tehdä isompia ohjelmia. Mikä on isomman ohjelman raja tässä tapauksessa?

    Entäs jos esim OpenOffice olisi tehty Pythonilla? Mielestäni se täyttää aivan varmasti ison ohjelmiston määritelmän.

    Palvelinpuolella Javasta löytyy 64bit versio ja muistihallinta on kunnossa myös silloin kun mennänä useisiin gigoihin. Onko Pythonissa jotain tällaisia ratkaisevia rajoituksia? GIL:in rajoitukset voidaan kiertää subprocesseilla. Mutta mitä sitten jos softasta tulee oikeasti iso?

    "Mutta sitten tuli se mielenkiintoinen kysymys. Monet on sanoneet että Pythonilla ei pidä tehdä isompia ohjelmia. Mikä on isomman ohjelman raja tässä tapauksessa?"

    Tässä muutama käytännön ongelma mihin olen törmännyt, mitkä liittyvät osittain suurempiin projekteihin:

    1. Python-tulkki ja tarvittavat kirjastot pitää aina asentaa (asennuttaa), koska ne eivät aina ole vakiona asennettuna (linuxeissa ehkä, win / osx ei).

    2. Pythonin 2.x ja 3.x ovat täysin epäyhteensopivia ja muutoinkaan versiot eivät toimi toistensa kanssa. Tämä yhdistettynä edelliseen ja siihen että käyttäjä tykkää aina asentaa "uusimman version" aiheuttaa ongelmia.

    3. Monesta tiedostosta koostuminen, python-installaatioiden erilaisuus, lisäpakettien asennustarve yms tekevät automaattisten installointisysteemien tekemisen hyvin vaikeaksi.

    4. Skriptimäisyys kannustaa "koodaa ja kokeile" -lähestymistapaan ja siihen, että prototyypistä jalostetaan tuote. Pienissä softissa toimii, suurissa ei.

    Äänestä

  • TRRY kirjoitti:

    > Tyypitysongelmien vuoksi sillä ei yleensä tehdä mitään suurempaa.

    Väärin. Tyypitysongelmia ei nimenomaan ole Pythonissa. Pythonin tyyppijärjestelmä on vahva, selkeä ja tyyppivirheistä ilmoitetaan ohjelmoijalle aina. Dynaaminen tyypitys ei millään tavoin estä tekemästä "mitään suurempaa". Python-ohjelmoijan ei tarvitse tuhlata aikaa eikä satoja koodirivejä tyyppien kuvaamiseen *kääntäjän* ymmärtämään muotoon. Sen ajan voi käyttää hyödyllisemmin dokumentoimalla tietorakenteet *ihmisen* helposti ymmärrettäviksi ja keskittymällä olennaiseen, eli varsinaiseen sovelluslogiikkaan. Tuottavuus on tietenkin ihan toista luokkaa kuin luokka- ja rajapintamäärittelyihin keskittyvillä kielillä.

    > Eikä mikään laskentaa vaativakaan ole sille sopivaa.

    Täysin metsään. Sijoita 105 euroa hyvin ja mene korjaamaan käsityksesi vaikka CSC:n kurssille http://www.csc.fi/english/csc/courses/archive/python_2009_2. Ihmeen paljon Pythonia käytetään vaativaan laskentaan mm. CERNissä, missä laskettavaa riittää. http://cdsweb.cern.ch/record/974627?ln=no

    > [Python] toimii eri tavalla kuin normaalit yleisimmät tuotantokoelet

    Jos tietotekniikan tuntemus jää 70-luvun tasolle, niin tältä varmaan näyttää. Mutta nykyään laajalti käytetyistä kielistä mm. Javascript toimii kielen tasolla hyvin pitkälti samalla tavalla, ja Ruby on lähes täysin sama otus, vain heikommalla kirjastotuella, heikommin laajennettavissa (esim. C-kirjastojen funktioita ei voi kutsua Rubystä suoraan) ja rumemmalla syntaksilla (mielipide).

    Nämä kaikki kolme kieltä ovat ohjelmointikielten kymmenen suosituimman joukossa, Python suosituimpana aivan C#:n ja Visual Basicin kannoilla. Niiden suosio on ollut jatkuvassa nousussa jo vuosia, eikä kehitykselle näy loppua.

    Tyypityksistä ei tarvitse välittää ja koodin saa tehtyä nopeasti kasaan ilman, että tulee mitään ongelmaa tyypitysten kanssa. Se mahdollistaa nopeamman tekemisen ja tuottavamman koodauksen. Tosin meillä ongelmana onkin se, että suuremmissa Python-projekteissa ylläpidettävyys lähestyy nollaa kun koko koodipohja luottaa siihen, että kaikki tyypityy oikein Pythonin sisällä. Kannat, liittymät ulos ja muut tarkkoja muotoja vaativat osat ovat se ongelmakohta. Kun kaikki on tehty sillä ajatuksella, että koodaajan ei tarvitse välittää tyypityksistä, projekteista tulee lopulta täysin susia. Satunnaisia virheitä tulee ties mistä ja työkalut Pythonille ovat sitä tasoa, ettei niillä selvitetä noita ongelmia.

    Pythonista tuleekin mieleen se, kuinka kieli on kuin paras 70-luvun keksintö, Basic, uudelleenlämmitettynä. Helppoa tehdä ja päästä alkuun, mutta helppous aiheuttaa myöhemmin niin paljon ongelmia, ettei mitään suurta voi tehdä.

    Pythonin suosio tulee kuitenkin varmasti kasvamaan. Hyvä kieli pieniin ohjelmiin joissa yksi koodaaja osaa ylläpitää kaiken. Poikkeuksiakin tosin löytyy, mutta ne vaativat ohjelmoijalta melkoista itsekuria ja osaamista. Sitä ei suurimalla osalla Pythonin kanssa töitä tekevistä ole.

    Äänestä

Kommentoi aloitusta


Kouderi kirjoitti:

Ehdotus täällä:
http://keskustelu.suomi24.fi/node/8713223

Sinne sitten vaan kommentoimaan tarpeen mukaan.

- Kiitos

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu