Python!

Rtrk.

>Python on dynaamisesti tyypittävä
>ohjelmointikieli

Ou nou - juuri kun luulin, että niistä ollaan päästy kokonaan eroon. Historia toistaa itseään:)

16

820

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • kannanotto

      muinaismuistolta.

    • Jepulis Jeep

      Sitten noita vielä suositellaan ohjelmoinnin opetteluun ja porukka ihmettelee kun eivät tajua tietotyypeistä mitään.

      • hähhhä

        Kertokaas nyt ihmeessä miksi se dynaaminen tyypitys on sitten niin huono?


      • Jepulis Jeep
        hähhhä kirjoitti:

        Kertokaas nyt ihmeessä miksi se dynaaminen tyypitys on sitten niin huono?

        Alotetaas siitä, että listaat ne tietokannat joissa käytetään käytännössä pääasiassa tota dynaamista tyypitystä. Sitten voitais kattoa niitten markkinaosuuksia.


      • Python rulez!
        Jepulis Jeep kirjoitti:

        Alotetaas siitä, että listaat ne tietokannat joissa käytetään käytännössä pääasiassa tota dynaamista tyypitystä. Sitten voitais kattoa niitten markkinaosuuksia.

        Python on tietokantakieleksi melko uusi, eikä voida olettaa niin uuden kielen vielä tukevan tietotyyppejä.


      • hähhäh
        Python rulez! kirjoitti:

        Python on tietokantakieleksi melko uusi, eikä voida olettaa niin uuden kielen vielä tukevan tietotyyppejä.

        Selkeetä trollausta taasen tavattavissa, mutta vastataan nyt kuitenkin että tulee perusasiat selväksi.

        Ero dynaamisessa tyypityksessä verrattuna staattiseen on se, että muuttujan tyyppi määräytyy ajon aikana eikä sitä sidota käännösvaiheessa.

        Itse muuttuja on vain "nimi", eikä sillä ole mitään tyyppiä. Vain muuttujan kohteella on jokin tyyppi.

        Vaikka python onkin dynaamisesti tyypitetty, se
        ei tarkoita että se ei olisi vahvasti tyypitetty. Eli esim. seuraava rivi nostaisi virheen koska merkkijonon ja luvun yhteenlasku ei ole määritty:
        foo = "12345" 6

        Tuossa vielä wikipedia artikkeli joka kertoo dynaamisesta tyypityksestä:
        http://fi.wikipedia.org/wiki/Tyyppijärjestelmä


      • Obviöös
        hähhäh kirjoitti:

        Selkeetä trollausta taasen tavattavissa, mutta vastataan nyt kuitenkin että tulee perusasiat selväksi.

        Ero dynaamisessa tyypityksessä verrattuna staattiseen on se, että muuttujan tyyppi määräytyy ajon aikana eikä sitä sidota käännösvaiheessa.

        Itse muuttuja on vain "nimi", eikä sillä ole mitään tyyppiä. Vain muuttujan kohteella on jokin tyyppi.

        Vaikka python onkin dynaamisesti tyypitetty, se
        ei tarkoita että se ei olisi vahvasti tyypitetty. Eli esim. seuraava rivi nostaisi virheen koska merkkijonon ja luvun yhteenlasku ei ole määritty:
        foo = "12345" 6

        Tuossa vielä wikipedia artikkeli joka kertoo dynaamisesta tyypityksestä:
        http://fi.wikipedia.org/wiki/Tyyppijärjestelmä

        Alkoi tympiä keskustelun suunta. Turhaa lässytystä. Ei kenenkään ole pakko käyttää Pythonia mihinkään. Itse käytän sitä aktiivisesti töissä lukuisten asioiden automatisointiin, ja kodailenpa sillä joskus kotonakin (viimeksi 3D-grafiikkakokeiluja OpenGL:llä). En kuvittelisi käyttäväni jotain Javaa, C :aa, Ceesharppia tai muuta staattisesti tyypitettyä kieltä asioihin, joihin käytän Pythonia.

        Kun tietää, mitä tekee, suorituskyky ei ratkaise ja tarvitsee vain saada aikaiseksi, hyvät dynaamisesti tyypitetyt kielet hallitsevat.


      • Jepulis Jeep
        hähhäh kirjoitti:

        Selkeetä trollausta taasen tavattavissa, mutta vastataan nyt kuitenkin että tulee perusasiat selväksi.

        Ero dynaamisessa tyypityksessä verrattuna staattiseen on se, että muuttujan tyyppi määräytyy ajon aikana eikä sitä sidota käännösvaiheessa.

        Itse muuttuja on vain "nimi", eikä sillä ole mitään tyyppiä. Vain muuttujan kohteella on jokin tyyppi.

        Vaikka python onkin dynaamisesti tyypitetty, se
        ei tarkoita että se ei olisi vahvasti tyypitetty. Eli esim. seuraava rivi nostaisi virheen koska merkkijonon ja luvun yhteenlasku ei ole määritty:
        foo = "12345" 6

        Tuossa vielä wikipedia artikkeli joka kertoo dynaamisesta tyypityksestä:
        http://fi.wikipedia.org/wiki/Tyyppijärjestelmä

        Siitä voi sitten jokanen miettiä ihan itte, miksi samaa ei sovelleta tietokannoissa.


      • defun-def
        Jepulis Jeep kirjoitti:

        Siitä voi sitten jokanen miettiä ihan itte, miksi samaa ei sovelleta tietokannoissa.

        Näköjään sovelletaan:

        http://gadfly.sourceforge.net/


      • Jepulis Jeep
        defun-def kirjoitti:

        Näköjään sovelletaan:

        http://gadfly.sourceforge.net/

        Tommosista tekijä oppii tekemään paremmin oikeillakin tuotantosysteemeillä.


      • defun-def
        Jepulis Jeep kirjoitti:

        Tommosista tekijä oppii tekemään paremmin oikeillakin tuotantosysteemeillä.

        Tuota noin... onko olemassa jokin perustelu että dynaamisesti tyypittävällä kielellä ei voi tehdä tietokantaa tuotantokäyttöön?


      • ..............
        defun-def kirjoitti:

        Tuota noin... onko olemassa jokin perustelu että dynaamisesti tyypittävällä kielellä ei voi tehdä tietokantaa tuotantokäyttöön?

        Jepulis Jeep on vakiotrolli. Aikalailla pihalla monestakin asiasta.


      • Jepulis Jeep
        defun-def kirjoitti:

        Tuota noin... onko olemassa jokin perustelu että dynaamisesti tyypittävällä kielellä ei voi tehdä tietokantaa tuotantokäyttöön?

        Et nyt vaan oikeen tajunnut kysymystä. Ei se mitään. Eli sanos nyt, että miksi noissa tietokannoissa ei tavata käyttää pahemmin tota dynaamista tyypistystä? Siis MySQL, Oracle, SQL Server.

        Jos vaikka selviäisi miksi jotkut tahot tykkäävät välttää sitä ohjelmointikielissä.


      • defun-def
        Jepulis Jeep kirjoitti:

        Et nyt vaan oikeen tajunnut kysymystä. Ei se mitään. Eli sanos nyt, että miksi noissa tietokannoissa ei tavata käyttää pahemmin tota dynaamista tyypistystä? Siis MySQL, Oracle, SQL Server.

        Jos vaikka selviäisi miksi jotkut tahot tykkäävät välttää sitä ohjelmointikielissä.

        En keksi mitään syytä dynaamiseen tyypitykseen liittyvää, mutta keksin kyllä syitä miksi väliin ei haluta virtuaalikoneita ym. sälää. Kerro sinä.


      • ogma
        Jepulis Jeep kirjoitti:

        Et nyt vaan oikeen tajunnut kysymystä. Ei se mitään. Eli sanos nyt, että miksi noissa tietokannoissa ei tavata käyttää pahemmin tota dynaamista tyypistystä? Siis MySQL, Oracle, SQL Server.

        Jos vaikka selviäisi miksi jotkut tahot tykkäävät välttää sitä ohjelmointikielissä.

        Vaikka tiedänkin tämän olevan turhaa, niin yritän kuitenkin. Pythonilla ei ole tehty relaatiotietokantoja siksi kun relaatiokantaohjelmiston tekeminen ei ole helppoa ja valmiina on paljon erinomaisia kantaratkaisuja. Toisaalta olemassa olevat ovat saaneet alkunsa parikymmentä vuotta sitten, kun python oli vielä lasten kengissään. Pythonilla voi suorittaa SQL-kyselyjä tietokantoihin, jolloin saatu vastausjoukko tyypittyy sitä mukaa kun vastaus pääsee pythoniin. Esim. ohjelman tekijä ei koodatessaan "tiedä" minkä tyyppistä dataa kysely tuottaa, mutta kyselyn jälkeen "tiedetään", että esim. nimi on merkkijono ja ikä on kokonaisluku. Tietokantaan tallennetaan informaatio aina tyypin kanssa, koska informaatio ilman tyyppiä on bittimössöä ilman merkitystä. Dynaaminen tyypitys ei tarkoita tyypittömyyttä vaan sitä että tyyppi määräytyy informaation mukaan silloin kun informaatio tulee saataville eli yleensä ajon aikana. Dynaaminen tyypitys on hyvin voimissaan myös muualla kuin vain pythonissa. Esim. ECMA-script, Ryby, VBA, VBScript jne. ovat dynaamisesti tyypittyviä kieliä (pari viimeistä ovat Microsoftin hengentuotteita). Web-sovellukset käytännössä pyörivät dynaamisesti tyypittyvien kielien varassa (Ajax, xhtml jne.). Microsoftin Visual Basic aiheutti sen, että COM-tekniikassa on mahdollisuus dynaamiseen tyypitykseen. Dynaaminen tyypitys ei aiheuta ongelmia tietotyyppien kanssa, koska tietotyypit eivät katoa mihinkään. Ne vaan arvontuvat vähän myöhemmin. Ja tästä aiheutuu joskus ikäviä virheitä, koska muuttujan tyyppi selviää vasta pitkällisen ajon jälkeen ja ko. kohdassa tehdään kahden eri tyypin epäyhteensopiva operaatio esim. "5" 5. Python on opetuskielenä ihan yhtä hyvä (tai huono) kuin Java tai C#. Minulle ei kuitenkaan vielä selvinnyt miksi dynaamista tyypitystä pitäisi välttää, koska ilman sitä tämäkin keskustelu voisi olla hankalaa tai jopa mahdotonta. Ota vaikka selaimestasi tämän sivun lähdekoodi näkyviin ja laske montako riviä dynaamisesti tyypittyvää koodia löydät. Toisaalta, tietokannoissa on blob:n käsite, joka taitaa olla bittimössöä ja on kannan suhteen tyypitön. Tyyppi on pultattu sovelluskoodiin. En näe juurikaan mitään estettä käyttää dynaamista tyypitystä tietokantojen yhteydessä, mutta relaatioalgebra ja SQL taitavat vähän sinällään hankaloittaa asioita.


      • Jepulis Jeep
        ogma kirjoitti:

        Vaikka tiedänkin tämän olevan turhaa, niin yritän kuitenkin. Pythonilla ei ole tehty relaatiotietokantoja siksi kun relaatiokantaohjelmiston tekeminen ei ole helppoa ja valmiina on paljon erinomaisia kantaratkaisuja. Toisaalta olemassa olevat ovat saaneet alkunsa parikymmentä vuotta sitten, kun python oli vielä lasten kengissään. Pythonilla voi suorittaa SQL-kyselyjä tietokantoihin, jolloin saatu vastausjoukko tyypittyy sitä mukaa kun vastaus pääsee pythoniin. Esim. ohjelman tekijä ei koodatessaan "tiedä" minkä tyyppistä dataa kysely tuottaa, mutta kyselyn jälkeen "tiedetään", että esim. nimi on merkkijono ja ikä on kokonaisluku. Tietokantaan tallennetaan informaatio aina tyypin kanssa, koska informaatio ilman tyyppiä on bittimössöä ilman merkitystä. Dynaaminen tyypitys ei tarkoita tyypittömyyttä vaan sitä että tyyppi määräytyy informaation mukaan silloin kun informaatio tulee saataville eli yleensä ajon aikana. Dynaaminen tyypitys on hyvin voimissaan myös muualla kuin vain pythonissa. Esim. ECMA-script, Ryby, VBA, VBScript jne. ovat dynaamisesti tyypittyviä kieliä (pari viimeistä ovat Microsoftin hengentuotteita). Web-sovellukset käytännössä pyörivät dynaamisesti tyypittyvien kielien varassa (Ajax, xhtml jne.). Microsoftin Visual Basic aiheutti sen, että COM-tekniikassa on mahdollisuus dynaamiseen tyypitykseen. Dynaaminen tyypitys ei aiheuta ongelmia tietotyyppien kanssa, koska tietotyypit eivät katoa mihinkään. Ne vaan arvontuvat vähän myöhemmin. Ja tästä aiheutuu joskus ikäviä virheitä, koska muuttujan tyyppi selviää vasta pitkällisen ajon jälkeen ja ko. kohdassa tehdään kahden eri tyypin epäyhteensopiva operaatio esim. "5" 5. Python on opetuskielenä ihan yhtä hyvä (tai huono) kuin Java tai C#. Minulle ei kuitenkaan vielä selvinnyt miksi dynaamista tyypitystä pitäisi välttää, koska ilman sitä tämäkin keskustelu voisi olla hankalaa tai jopa mahdotonta. Ota vaikka selaimestasi tämän sivun lähdekoodi näkyviin ja laske montako riviä dynaamisesti tyypittyvää koodia löydät. Toisaalta, tietokannoissa on blob:n käsite, joka taitaa olla bittimössöä ja on kannan suhteen tyypitön. Tyyppi on pultattu sovelluskoodiin. En näe juurikaan mitään estettä käyttää dynaamista tyypitystä tietokantojen yhteydessä, mutta relaatioalgebra ja SQL taitavat vähän sinällään hankaloittaa asioita.

        Hyvä asenne sulla. Joo, ohan siellä se tyypitys olemassa. Vaan sitä ei näe koodista vaikka viemällä kursorin tietojäsenen päälle. Kysehän on oikeestaan pitkälti siitä, että miksi tommonen toiminnallisuus on tarpeetonta? Mun mielestä on tavattoman hyödyllistä nähdä tyyppi suoraan em. tavalla. Kannoissa tyypin näkee määrittelyistä koska se on siellä tehokas tapa toimia.


    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Riikan kukkaronnyöri on umpisolmussa

      Kulutus ei lähde liikkeelle, koska kansalaiset eivät usko, että: – työpaikka säilyy – tulot eivät romahda – talous ei h
      Maailman menoa
      3
      2711
    2. Jos vedetään mutkat suoraksi?

      Niin kumpaan ryhmään kuulut? A) Niihin, jotka menevät edellä ja tekevät? Vai B) Niihin, jotka kulkevat perässä ja ar
      Sinkut
      106
      2481
    3. Tanskan malli perustuu korkeaan ansioturvaan

      Ja vahvoihin työllisyys- ja kotoutumispalveluihin. Suomessa Riikka on leikannut juuri näitä: palkkatukea, työttömyysturv
      Maailman menoa
      4
      2229
    4. Vain vasemmistolaiset ovat aitoja suomalaisia

      Esimerkiksi persut ovat ulkomaalaisen pääomasijoittajan edunvalvojia, eivät auta köyhiä suomalaisia.
      Maailman menoa
      44
      1845
    5. Miten must tuntuu

      et sä ajattelet mua just nyt
      Ikävä
      32
      1423
    6. Anteeksipyyntöni

      Jätän tähän anteeksipyyntöni sinulle, koska en voi sanoa sitä missään muuallakaan. Pyydän anteeksi, jos purkamani tuska
      Järki ja tunteet
      14
      1413
    7. Kun et vain tajua että

      sua lähestytään feikkiprofiililla :D Hanki aivot :D m-n
      Ikävä
      176
      1145
    8. Sydämeni valtiaalle

      En täältä aio asioita kysellä. Haluan tuoda tiedoksesi, että pohjimmiltani en ihmisiä tahdo satuttaa ja ajattelen muiden
      Ikävä
      101
      1114
    9. Persu ajoi autoa

      Ajoi lapsen yli https://www.iltalehti.fi/kotimaa/a/597a7468-3d1d-455e-bed2-21c1efc31ac1
      Perussuomalaiset
      20
      1043
    10. Oletko tyytyväinen

      Tämän hetkiseen tilanteeseenne? Odotatko, että lähennytte vai yritätkö päästä yli ja eteenpäin?
      Ikävä
      81
      908
    Aihe