D-kielihän on hyvä

DeetäjaSympatiaa

Aloitin viikko sitten tutustumisen D-kieleen, ihmettelen miksi siitä on niin vähän juttua (Suomeksi) ?

Nopeesti kääntää, dmd-kääntäjä on yhtä nopee kuin Pascal-kääntäjät, eikä tarvi erillisten header-tiedostojen kanssa visvata, se jos mikä ärsyttää C-kielissä. Header-tiedostot on jäänne jostakin kivikaudelta kun koneiden resurssit oli niin pienet, nykyään ne vai hidastaa kääntämistä.

C-kieli on jotenkin liian matalantason tuntuinen, sillä on varmaan ihan hyvä koodailla jotain sulautettuja ratkaisuja. Mutta C taas yliampuu monimutkaisuudellaan. C ärsyttää ihan eniten nimiavaruuksien käyttö, koodi viliseen std:: sitä ja std:: tätä, sitten siinä on miljoonaa eri sääntöä, ihan kuin laser-viidakko joiden välistä pitää puikkelehtia ettei hälytys vaan mene päälle. Voi kiesus mikä C -kielen kehittäjiä riivaa? Hakkaako ne päätä seinään kun kyrsii niin paljon että sen vitutuksen tartuttaminen muihin ihmisiin pitää tehdä noin sekavaa kieltä kehittämällä?

D-kieli on just selkeydessä C- ja C välimaastossa.

97

1059

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • tryty576567

      Ootko kuunellut kun Intialaiset puhuu englantia. Siinä on aika hyvä D-scramblaus. :)

      • DeetäJaSympatiaa

        Olenhan toki Simpsoneita joskus katsonut joo, mutta kyllähän sitä Intialaisia aina kuuntelee, toisin kuin tätä khälätystä jota rajan takaa lappaa nykyään yhtenään.


    • yodakoenole

      Äidinkieli se paras on opetella aluksi.

      • DeetäJaSympatiaaa

        Tuliko jossakin vaiheessa syntax error ja olet jumissa, eikö ajatus kulje?


      • error80ajatuseikulje
        DeetäJaSympatiaaa kirjoitti:

        Tuliko jossakin vaiheessa syntax error ja olet jumissa, eikö ajatus kulje?

        Missä vaiheessa itse jumiuduit syntax erroriin, -80 luvulla?


    • Nfnznxmxlx

      No suurin osa kielistä on hyviä siihen mihin ne on tarkoitettu. Ainoastaan hyvin harvoissa kielissä tulee mieleen itsensä jojoon vetäminen. Yksi tälllainen on Cobol. Kuin itkis ja nu##is!

    • C-kieli on hyvin suppea. Siitä johtuu, että niitä kirjastoja pitää lisäillä kun itse kielessä ei ole juuri mitään. C on paljolti C:tä ja se käännetään osin itsellään. C on sentään enemmän tyypitetty ja sisältää ne oliot, jotka tulivat muotiin. Syntaksi melko samanlainen C:n kanssa. Pascal on paljon käytetty opiskelussa ns. ensimmäisenä kielenä. Siinä syntaksi sentään ymmärrettävää. C:llä voi kirjoittaa niin hankalasti ymmärrettävää koodia etä hirvittää. Jos jotain aikoo saada aikaiseksi kohtuu ajassa olisi hyvä, että kielessä olisi edes perusfunktiot ja toimiva muistinhallinta.

      • lopetakoodausjos

        Kieli riippuu yksilöstä (en meinaa sitä suusta roikkuvaa). Jokainen omaksuu oman koodauksen helppouden kokeilemalla eri kieliä. Eikös maailmanvaltias LINUX ole koodattu C:llä, joten...


      • C:llä kyllä voi tehdä myös kaunista koodia ja saa sujuvasti tehtyä.

        C:llä ei kylläkään ole pahemmin tarkoitus käyttää olioparadigmaa. Sehän on suunnattu ennemminkin siihen, että tehdään proseduraalisesti komponentteja dataflow ohjelmointiin.


      • nytkirjoitatihmiselle
        M-Kar kirjoitti:

        C:llä kyllä voi tehdä myös kaunista koodia ja saa sujuvasti tehtyä.

        C:llä ei kylläkään ole pahemmin tarkoitus käyttää olioparadigmaa. Sehän on suunnattu ennemminkin siihen, että tehdään proseduraalisesti komponentteja dataflow ohjelmointiin.

        Puhu ihmistenkieltä: "olioparadigmaa", "proseduraalisesti", "dataflow".
        Lapset ei saa unta kun miettivät sanojesi merkitystä ;).


      • nytkirjoitatihmiselle kirjoitti:

        Puhu ihmistenkieltä: "olioparadigmaa", "proseduraalisesti", "dataflow".
        Lapset ei saa unta kun miettivät sanojesi merkitystä ;).

        Jos ei perusasioita tiedä niin aina voi kirjoittaa sanoja googleen.


      • ent.obj.pascal.runkkari
        M-Kar kirjoitti:

        C:llä kyllä voi tehdä myös kaunista koodia ja saa sujuvasti tehtyä.

        C:llä ei kylläkään ole pahemmin tarkoitus käyttää olioparadigmaa. Sehän on suunnattu ennemminkin siihen, että tehdään proseduraalisesti komponentteja dataflow ohjelmointiin.

        C-kielen opiskelusta -90 luvun puolvälist ei muistu enää mieleen muuta kuin studio.h(std) ja stack overflow. :) Kyl noi "alkukielet" muistinhallintoineen ei oo mitään kauppatavaraan käytettävii, jos ei pakko; alloc, malloc....hih.


      • ent.obj.pascal.runkkari kirjoitti:

        C-kielen opiskelusta -90 luvun puolvälist ei muistu enää mieleen muuta kuin studio.h(std) ja stack overflow. :) Kyl noi "alkukielet" muistinhallintoineen ei oo mitään kauppatavaraan käytettävii, jos ei pakko; alloc, malloc....hih.

        On hyvin tavallista, että stdin -> palikka -> stdout -ohjelmoinnissa ei tarvitse välttämättä kuin staattista varausta, tai koko muistinhallinta on komponentissa joka vastaa jostain tietorakenteesta. Esim. käyttöliittymän rakenteesta voi vastata yksi komponentti ja sitä kun käytetään muualta niin ei tarvitse tässä käytettävää, kertaluonteista dynaamista muistin varausta edes nähdä. Pelkkä siisti rajapinta komponentille, että lähetetään tapahtumia tai kysytään dataa.


    • "Aloitin viikko sitten tutustumisen D-kieleen, ihmettelen miksi siitä on niin vähän juttua (Suomeksi) ?"

      Varmaan siksi kun sitä ei käytä oikein kukaan kun parempiakin löytyy.

      "C-kieli on jotenkin liian matalantason tuntuinen, sillä on varmaan ihan hyvä koodailla jotain sulautettuja ratkaisuja."

      Toki, sehän on tehty nimenomaan systeemitason ohjelmointiin. Sillä tehdään niitä käyttöjärjestelmän kirjastoja, kerneliä ja vastaavaa.

      "Mutta C taas yliampuu monimutkaisuudellaan."

      Käytännön ohjelmoinnissa C :lla ei tarvitse käyttää ominaisuuksia sen enempää kuin esim. Turbo Pascalissa.

      " C ärsyttää ihan eniten nimiavaruuksien käyttö, koodi viliseen std:: sitä ja std:: tätä"

      Ei tarvitse. Sitä voi kirjoittaa "using namespace std;"

      • DeetäJaSympatiaa

        No juuri tätä tarkoitin noilla monimutkaisilla säännöillä, ei tarvinut kauaa googlailla C :sta niin siellä jo kiellettiin ettei tuota using namespace:a saisi käyttää kuin tosi harvoin, että ahaa selevä!? Varmaan siinä riski että jos käyttää useamman kuin yhden nimiavaruuden kanssa tuota usingia yhtä aikaa vai mikä lie sen kiellon takana oli tuossa tapauksessa?

        Olen lukenut tuon sanontasi "parempiakin olemassa" esim. Lazaruksen yhteydessä =D no mikä se on parempaa, C , hah! Sitä ihmettelen että kyllä kait ohjelmointikielienkin täytyy kehittyä ajan kanssa, C on minusta semmoinen korttitalo kyhäelmä vuosien aikana kykätty ja syntaksi on tosi kyrsän näköistä.

        Muutamia mukavia asioita mitä D-kielessä on tullut vastaan. Esim. tyhjiä sulkeita ei tarvi käyttää jos niissä ei esitetä mitään tietoja, funktio_x(); -> funktio_x; Tämä sama oli Pascalissakin, voi käyttää jos haluaa.

        foreach (i; 0 .. max) {..} // Selkee
        foreach (k; taulukko.keys.sort!("a < b") {...}

        Jännä oli tuossa huomata että vaikka alkuun hämmästelin miksei assosiatiivisen taulukon key-arvoja voi sortata, mutta kun perään pisti vain tuon .sort!("a < b") niin tadaa, loopissa key-arvot tulee halutussa järjestyksessä :)

        Kaivelin tämän C esimerkin omasta koodista:
        template <class T>
        bool from_string(T& t, const std::string& s, std::ios_base& (*f)(std::ios_base&)) {}

        Siis mitä h-vettiä? Tuossa ylläolevassa esimerkissä on ihan älyttömästi kyrsää hasardia, mikä ärsyttää ainakin omaa silmää kovasti >:/ Enkä oikein tiedä mitä tuo tekee, on sillee öööh.. joo-o, kait se toimii, siis tiedän sen "toiminnan" mutta.... en tiedä =D

        D-kielessä pääsin suht helposti jyvälle templaten käytöstä, esim. TRead (T) (args) ja käyttö vastaavasti vaikka TRead!(ushort) (muuttuja).

        Toinen selkee D-kielessä on operaattorien uudelleenmääritykset, lisää vain luokkaan esim. metodin: void opAddAssign (string text) ja voit sitten instanssissa käyttää = operaattoria -> merkit = "Lisää merkkejä". Toki C sama asia on tehtävissä mutta paljon sekavampi tapa.


      • selkeyttä.lisää

        "tyhjiä sulkeita ei tarvi käyttää jos niissä ei esitetä mitään tietoja, funktio_x(); -> funktio_x"

        Miten tuossa erotellaan muuttuja funktiosta/metodista?


      • DeetäJaSympatiaa kirjoitti:

        No juuri tätä tarkoitin noilla monimutkaisilla säännöillä, ei tarvinut kauaa googlailla C :sta niin siellä jo kiellettiin ettei tuota using namespace:a saisi käyttää kuin tosi harvoin, että ahaa selevä!? Varmaan siinä riski että jos käyttää useamman kuin yhden nimiavaruuden kanssa tuota usingia yhtä aikaa vai mikä lie sen kiellon takana oli tuossa tapauksessa?

        Olen lukenut tuon sanontasi "parempiakin olemassa" esim. Lazaruksen yhteydessä =D no mikä se on parempaa, C , hah! Sitä ihmettelen että kyllä kait ohjelmointikielienkin täytyy kehittyä ajan kanssa, C on minusta semmoinen korttitalo kyhäelmä vuosien aikana kykätty ja syntaksi on tosi kyrsän näköistä.

        Muutamia mukavia asioita mitä D-kielessä on tullut vastaan. Esim. tyhjiä sulkeita ei tarvi käyttää jos niissä ei esitetä mitään tietoja, funktio_x(); -> funktio_x; Tämä sama oli Pascalissakin, voi käyttää jos haluaa.

        foreach (i; 0 .. max) {..} // Selkee
        foreach (k; taulukko.keys.sort!("a < b") {...}

        Jännä oli tuossa huomata että vaikka alkuun hämmästelin miksei assosiatiivisen taulukon key-arvoja voi sortata, mutta kun perään pisti vain tuon .sort!("a < b") niin tadaa, loopissa key-arvot tulee halutussa järjestyksessä :)

        Kaivelin tämän C esimerkin omasta koodista:
        template <class T>
        bool from_string(T& t, const std::string& s, std::ios_base& (*f)(std::ios_base&)) {}

        Siis mitä h-vettiä? Tuossa ylläolevassa esimerkissä on ihan älyttömästi kyrsää hasardia, mikä ärsyttää ainakin omaa silmää kovasti >:/ Enkä oikein tiedä mitä tuo tekee, on sillee öööh.. joo-o, kait se toimii, siis tiedän sen "toiminnan" mutta.... en tiedä =D

        D-kielessä pääsin suht helposti jyvälle templaten käytöstä, esim. TRead (T) (args) ja käyttö vastaavasti vaikka TRead!(ushort) (muuttuja).

        Toinen selkee D-kielessä on operaattorien uudelleenmääritykset, lisää vain luokkaan esim. metodin: void opAddAssign (string text) ja voit sitten instanssissa käyttää = operaattoria -> merkit = "Lisää merkkejä". Toki C sama asia on tehtävissä mutta paljon sekavampi tapa.

        "Siis mitä h-vettiä?"

        Ei koodia ole pakko kirjoittaa sekavasti. En nyt muista miten menee nykyisessä C :ssa asiat, tuohan on viime vuosina uudistunut rajusti, että on varmaan kohinaa saatu vähennettyä.


      • DeetäjaSympatiaa
        selkeyttä.lisää kirjoitti:

        "tyhjiä sulkeita ei tarvi käyttää jos niissä ei esitetä mitään tietoja, funktio_x(); -> funktio_x"

        Miten tuossa erotellaan muuttuja funktiosta/metodista?

        "Miten tuossa erotellaan muuttuja funktiosta/metodista?"

        Tapojahan on monia, itse yleensä pistän jäsenmuuttujien nimen alkuun m_ (member), tai Delphissä oli tapana pistää iso F-kirjain jäsenmuuttujien nimen alkuun, argumenteissa a-kirjain alkuun jne. Tai sitten käyttää sulkeita metodeissa.

        D-kielessä myös property (tai getter, setter) toimii samalla tavalla, esim. CPerson luokan metodi: void set_name (string aname) {..}, toimii myös -> person.set_name = "Kyybe". Omaan silmään selkeämpi tapa kuin metodimainen person.set_name ("Kyybe"), ajaa silti täysin saman asian.

        Makuasioitahan nämä. Voi olla että entisenä Delphi-koodarina on tottunut tietynlaiseen tyyliin ja tapaan koodissa ja tässä D-kielessä on jotain tuttua.


      • DeetäjaSympatiaa
        M-Kar kirjoitti:

        "Siis mitä h-vettiä?"

        Ei koodia ole pakko kirjoittaa sekavasti. En nyt muista miten menee nykyisessä C :ssa asiat, tuohan on viime vuosina uudistunut rajusti, että on varmaan kohinaa saatu vähennettyä.

        Joo tuo oli vanhasta koodista yksi esimerkki, taisin googlailla aikoinaan esimerkkiä yhteen ratkaisuun koodissa ja tuon löysin. Mutta tuommoinen hasardi on juuri semmoista mikä saa vähän niskavillat pystyyn. Tekee vaan äkkiä mieli todeta että jeps toimii, sulje tiedosto ja jätä unholaan. Tuommoinen koodi on myös syy miksi jotenkin tullut kartettua C kieltä, vaikka C -kielellä 1990-luvulla opiskelin olio-ohjelmoinnin ja tajusin sen idean.


      • DeetäjaSympatiaa kirjoitti:

        "Miten tuossa erotellaan muuttuja funktiosta/metodista?"

        Tapojahan on monia, itse yleensä pistän jäsenmuuttujien nimen alkuun m_ (member), tai Delphissä oli tapana pistää iso F-kirjain jäsenmuuttujien nimen alkuun, argumenteissa a-kirjain alkuun jne. Tai sitten käyttää sulkeita metodeissa.

        D-kielessä myös property (tai getter, setter) toimii samalla tavalla, esim. CPerson luokan metodi: void set_name (string aname) {..}, toimii myös -> person.set_name = "Kyybe". Omaan silmään selkeämpi tapa kuin metodimainen person.set_name ("Kyybe"), ajaa silti täysin saman asian.

        Makuasioitahan nämä. Voi olla että entisenä Delphi-koodarina on tottunut tietynlaiseen tyyliin ja tapaan koodissa ja tässä D-kielessä on jotain tuttua.

        getterit ja setterit on saatanasta. Huonoa ohjelmointia.


      • DeetäjaSympatiaa

        Olen kuullut tuon väittämäsi ennenkin, olen eri mieltä. Se on ihan sama pistätkö objektille tietoa metodina tai setterinä, haetko tietoa funktiona tai getterinä, ne ajaa täysin saman asian, esitystapa on vain eri.


      • DeetäjaSympatiaa

        Itse asiassa youtubesta tuli katsottua näitä videoita "älä käytä luokkia" jne. Toki ihan asiaakin niissä, että myös olio-ohjelmoinnilla saa sekavuutta aikaan jos ei pidä tiukasti rajaa tiedon kapseloinnista, eli objektin sisäiseen toimintaan ei saa liikaa päästä vaikuttamaan objektin ulkopuolelta rajapinnan kautta, eli tässä casessa toki ymmärrän sen että jos objektin jokaista jäsentietoa pääsee vapaasti vaikka muuttamaan settereillä. Toki gettereille ja settereille pitää määritellä myös ehdot milloin objektin sisäistä tietoa saa muuttaa, mitä näytetään ulospäin,
        person.last_name = "Karttunen", mutta jos person.age < 18 niin estäppä toiminto, heitä vaikka poikkeus.

        Toisaalta itse en kykene ajattelemaan toimintojen toteututsta enää ilman luokkia, kait se riippuu vähän mitä on tekemässä? Mutta jos sanotaan vaikka teet fontin parsijaa ja softa sitten latailee niitä fontteja vaikka 4-10 kpl, font = new CFont ("Arial"); Yksi fontti sisältää yli 20 eri jäsentietoa, esim. font.is_bold? Miten kummassa vaikka joku fontin käsittelijä tehdään proseduaalisesti? Pitääkö globaalissa nimiavaruudessa määrittää yli 20 kpl eri taulukkoa joihin tieto parsitaan, is_bold["arial"]? Näin olisin varmaan koodaillut joskus 1990-luvun alussa kun en tiennyt olioista mitään =D


      • DeetäjaSympatiaa kirjoitti:

        Olen kuullut tuon väittämäsi ennenkin, olen eri mieltä. Se on ihan sama pistätkö objektille tietoa metodina tai setterinä, haetko tietoa funktiona tai getterinä, ne ajaa täysin saman asian, esitystapa on vain eri.

        Sillä on paljonkin väliä miten sitä tietoa välitetään koska homma menee väärin jos objektien välille tulee tarpeeton riippuvuus. Silloin muutokset objektissa pääsevät vaikuttamaan muihin.


      • tarpeeton-riippuvuus
        M-Kar kirjoitti:

        Sillä on paljonkin väliä miten sitä tietoa välitetään koska homma menee väärin jos objektien välille tulee tarpeeton riippuvuus. Silloin muutokset objektissa pääsevät vaikuttamaan muihin.

        Joko sanoin oksennan ja ylenannan


      • DeetäjaSympatiaa kirjoitti:

        Itse asiassa youtubesta tuli katsottua näitä videoita "älä käytä luokkia" jne. Toki ihan asiaakin niissä, että myös olio-ohjelmoinnilla saa sekavuutta aikaan jos ei pidä tiukasti rajaa tiedon kapseloinnista, eli objektin sisäiseen toimintaan ei saa liikaa päästä vaikuttamaan objektin ulkopuolelta rajapinnan kautta, eli tässä casessa toki ymmärrän sen että jos objektin jokaista jäsentietoa pääsee vapaasti vaikka muuttamaan settereillä. Toki gettereille ja settereille pitää määritellä myös ehdot milloin objektin sisäistä tietoa saa muuttaa, mitä näytetään ulospäin,
        person.last_name = "Karttunen", mutta jos person.age < 18 niin estäppä toiminto, heitä vaikka poikkeus.

        Toisaalta itse en kykene ajattelemaan toimintojen toteututsta enää ilman luokkia, kait se riippuu vähän mitä on tekemässä? Mutta jos sanotaan vaikka teet fontin parsijaa ja softa sitten latailee niitä fontteja vaikka 4-10 kpl, font = new CFont ("Arial"); Yksi fontti sisältää yli 20 eri jäsentietoa, esim. font.is_bold? Miten kummassa vaikka joku fontin käsittelijä tehdään proseduaalisesti? Pitääkö globaalissa nimiavaruudessa määrittää yli 20 kpl eri taulukkoa joihin tieto parsitaan, is_bold["arial"]? Näin olisin varmaan koodaillut joskus 1990-luvun alussa kun en tiennyt olioista mitään =D

        "Toki gettereille ja settereille pitää määritellä myös ehdot milloin objektin sisäistä tietoa saa muuttaa, mitä näytetään ulospäin,
        person.last_name = "Karttunen", mutta jos person.age < 18 niin estäppä toiminto, heitä vaikka poikkeus."

        Olio-ohjelmoinnissa tuo menisi ennemminkin niin, käsketään person.rename() ja annetaan parametrina uusi nimi tai vaikka nimi objekti.

        "Yksi fontti sisältää yli 20 eri jäsentietoa, esim. font.is_bold? Miten kummassa vaikka joku fontin käsittelijä tehdään proseduaalisesti?"

        Ensiksi tulee mieleen, että putkella.

        Data sisään -> koristele fontilla -> data ulos

        Siinä sitten fontilla koristeluun voidaan antaa parametrina fontti.


      • DeetäJaSympatiaa
        M-Kar kirjoitti:

        "Toki gettereille ja settereille pitää määritellä myös ehdot milloin objektin sisäistä tietoa saa muuttaa, mitä näytetään ulospäin,
        person.last_name = "Karttunen", mutta jos person.age < 18 niin estäppä toiminto, heitä vaikka poikkeus."

        Olio-ohjelmoinnissa tuo menisi ennemminkin niin, käsketään person.rename() ja annetaan parametrina uusi nimi tai vaikka nimi objekti.

        "Yksi fontti sisältää yli 20 eri jäsentietoa, esim. font.is_bold? Miten kummassa vaikka joku fontin käsittelijä tehdään proseduaalisesti?"

        Ensiksi tulee mieleen, että putkella.

        Data sisään -> koristele fontilla -> data ulos

        Siinä sitten fontilla koristeluun voidaan antaa parametrina fontti.

        Eli fontti -> objekti, jonka gettereiltä luetaan tieto, tai fontti voi olla myös struct, mutta siinäkin on taas riippuvuuksia. Aina syntyy riippuvuus kun luetaan tietoa paikasta A -> B


      • DeetäJaSympatiaa kirjoitti:

        Eli fontti -> objekti, jonka gettereiltä luetaan tieto, tai fontti voi olla myös struct, mutta siinäkin on taas riippuvuuksia. Aina syntyy riippuvuus kun luetaan tietoa paikasta A -> B

        Minä nyt ajattelin, että se fontti olisi vaikka tekstitiedoto ja se laitetaan putkeen parametrina. Fontin koristelu palikka sitten parsii sen ja koristelee sisääntulevan datan fontilla. Tästä sitten käytetään tunnetut jäsentiedot.


      • DeetäJaSympatiaa

        Ei aja ihan sitä takaa mitä olen tekemässä, tarvittavien fonttien tiedot parsitaan kaikki ylös ja ne on muistissa ohjelman ajon ajan. Jokaisen sanan leveys pitää tietää tyyliin float width = font.get_wordwidth ("Erkki"); Itse asiassa koodailin tätä ensin Vala-kielellä, mutta Valasta tosiaan tuli luettua että se on kuolemassa, joten sen takia ajauduin tähän D-kieleen, ainakin D-kielen takana on isompi yhteisö ja se on laajemmin käytössä. Täysin komentorivipohjainen ratkaisu, mahdollisuus toimia serveriltä käsin backendinä. Käyttöliittymä (dekstop sovellus) on sitten toinen asia ja sen olisi tarkoitus käyttää tätä jaetun kirjaston kautta jos siihen asti homma etenee? Pieni harrastusprojekti muun työn ohessa.

        Walter Bright tämän D-kielen takaa vaikuttaa ihan fiksulta tyypiltä, on koodailut C/C kääntäjiä työkseen aikaisemmin, joten luulisi että homma on hallussa kun tätä D-kieltä aikoinaan lähtenyt tekemään, ihan mielenkiintoisia juttuja YouTubessa :)


      • DeetäJaSympatiaa kirjoitti:

        Ei aja ihan sitä takaa mitä olen tekemässä, tarvittavien fonttien tiedot parsitaan kaikki ylös ja ne on muistissa ohjelman ajon ajan. Jokaisen sanan leveys pitää tietää tyyliin float width = font.get_wordwidth ("Erkki"); Itse asiassa koodailin tätä ensin Vala-kielellä, mutta Valasta tosiaan tuli luettua että se on kuolemassa, joten sen takia ajauduin tähän D-kieleen, ainakin D-kielen takana on isompi yhteisö ja se on laajemmin käytössä. Täysin komentorivipohjainen ratkaisu, mahdollisuus toimia serveriltä käsin backendinä. Käyttöliittymä (dekstop sovellus) on sitten toinen asia ja sen olisi tarkoitus käyttää tätä jaetun kirjaston kautta jos siihen asti homma etenee? Pieni harrastusprojekti muun työn ohessa.

        Walter Bright tämän D-kielen takaa vaikuttaa ihan fiksulta tyypiltä, on koodailut C/C kääntäjiä työkseen aikaisemmin, joten luulisi että homma on hallussa kun tätä D-kieltä aikoinaan lähtenyt tekemään, ihan mielenkiintoisia juttuja YouTubessa :)

        "Ei aja ihan sitä takaa mitä olen tekemässä, tarvittavien fonttien tiedot parsitaan kaikki ylös ja ne on muistissa ohjelman ajon ajan."

        C-kieltä käytetään tavallisesti sellaisiin palikoihin mitkä lukee dataa stdin ja lähettää sen muotoiltuna stdout. Ajoa kestää sen mitä data tulee.

        Voi sitä toki tehdä semmoisenkin palikan mikä käynnistyy, sille voi lähettää dataa API:n kautta, se voi pitää sen omassa rakenteessaan, sitä voi hakea siitä ja käskeä kyseistä palikkaa sammumaan. C-kielessä on kyllä structit ja kapselointia voi tehdä.

        Vaikea nyt sanoa mikä on paras työkalu kun en tiedä mitä olet tekemässä. Itse suosin käyttöliittymäpuoleen Reactia tai miksei vaikka Vue.


      • Ei-vara-venettä-kaada
        M-Kar kirjoitti:

        "Ei aja ihan sitä takaa mitä olen tekemässä, tarvittavien fonttien tiedot parsitaan kaikki ylös ja ne on muistissa ohjelman ajon ajan."

        C-kieltä käytetään tavallisesti sellaisiin palikoihin mitkä lukee dataa stdin ja lähettää sen muotoiltuna stdout. Ajoa kestää sen mitä data tulee.

        Voi sitä toki tehdä semmoisenkin palikan mikä käynnistyy, sille voi lähettää dataa API:n kautta, se voi pitää sen omassa rakenteessaan, sitä voi hakea siitä ja käskeä kyseistä palikkaa sammumaan. C-kielessä on kyllä structit ja kapselointia voi tehdä.

        Vaikea nyt sanoa mikä on paras työkalu kun en tiedä mitä olet tekemässä. Itse suosin käyttöliittymäpuoleen Reactia tai miksei vaikka Vue.

        Vielä muutama vuosi sitten kun yksityisyys oli jossakin määrin olemassa, pidettiin tietoturva riskinä kolmannen osapuolen sivuilta suoraan liitettävää ja suoritettavaa JavaScript koodia, nyt näitä React JavaScript tyylisiä JavaScript kirjastoja sisällytetään surutta joka sivulle, miettimättä ollenkaan onko Label tai vastaavan elementin ulkoasuun vaikuttavan Scriptin tekijä luotettava vai ei.

        Ajatelkaa asiaa, jos minä teen JavaScript kirjaston joka sisältää sitä sun tätä, ja teidän on liitettävä tuo kirjasto hederissa omalle sivullenne, eikö yhtään epäilytä että minä yrittäisin myös hyötyä ilmaiseksi antamastani kirjastosta. Sivuston yläpitäjän on otettava vastuu sivulleen saapuvien yksityisyyden varjelemisesta.

        Eli lyhyesti, ellet välttämättä tarvitse, älä sijoita headeriin näitä rivejä:
        <script src="https://unpkg.com/react@latest/dist/react.js"></script>
        <script src="https://unpkg.com/react-dom@latest/dist/react-dom.js"></script>
        Kirjastot on niin isoja, et ikinä saa selvää mitä Script kirjasto pitää sisällään.

        Nyt kun M-Kar kerran sanoi suosivansa React JavaScript kirjastoja, olisi mukava nähdä koodi esimerkki nuolesta joka on ikkunan keskellä ja osoittaa aina hiirtä kun sitä ruudulla siirtelee. Ja nyt M-Kar anna palaa ja näytä että tiedät mistä puhut.


      • Ei-vara-venettä-kaada kirjoitti:

        Vielä muutama vuosi sitten kun yksityisyys oli jossakin määrin olemassa, pidettiin tietoturva riskinä kolmannen osapuolen sivuilta suoraan liitettävää ja suoritettavaa JavaScript koodia, nyt näitä React JavaScript tyylisiä JavaScript kirjastoja sisällytetään surutta joka sivulle, miettimättä ollenkaan onko Label tai vastaavan elementin ulkoasuun vaikuttavan Scriptin tekijä luotettava vai ei.

        Ajatelkaa asiaa, jos minä teen JavaScript kirjaston joka sisältää sitä sun tätä, ja teidän on liitettävä tuo kirjasto hederissa omalle sivullenne, eikö yhtään epäilytä että minä yrittäisin myös hyötyä ilmaiseksi antamastani kirjastosta. Sivuston yläpitäjän on otettava vastuu sivulleen saapuvien yksityisyyden varjelemisesta.

        Eli lyhyesti, ellet välttämättä tarvitse, älä sijoita headeriin näitä rivejä:
        <script src="https://unpkg.com/react@latest/dist/react.js"></script>
        <script src="https://unpkg.com/react-dom@latest/dist/react-dom.js"></script>
        Kirjastot on niin isoja, et ikinä saa selvää mitä Script kirjasto pitää sisällään.

        Nyt kun M-Kar kerran sanoi suosivansa React JavaScript kirjastoja, olisi mukava nähdä koodi esimerkki nuolesta joka on ikkunan keskellä ja osoittaa aina hiirtä kun sitä ruudulla siirtelee. Ja nyt M-Kar anna palaa ja näytä että tiedät mistä puhut.

        "Vielä muutama vuosi sitten kun yksityisyys oli jossakin määrin olemassa, pidettiin tietoturva riskinä kolmannen osapuolen sivuilta suoraan liitettävää ja suoritettavaa JavaScript koodia"

        Aika tavallisesti tuota ei kyllä ladata muualta vaan käännellään samaan pakettiin.


      • Ei-vara-venettä-kaada
        M-Kar kirjoitti:

        "Vielä muutama vuosi sitten kun yksityisyys oli jossakin määrin olemassa, pidettiin tietoturva riskinä kolmannen osapuolen sivuilta suoraan liitettävää ja suoritettavaa JavaScript koodia"

        Aika tavallisesti tuota ei kyllä ladata muualta vaan käännellään samaan pakettiin.

        Eli et tiedä asiasta yhtään mitään.


      • Ei-vara-venettä-kaada kirjoitti:

        Eli et tiedä asiasta yhtään mitään.

        Tietysti tiedän. React ladataan tavallisesti npm:llä ja buildijärjestelmä kääntää.


      • eryhe56ujhye5u
        M-Kar kirjoitti:

        Tietysti tiedän. React ladataan tavallisesti npm:llä ja buildijärjestelmä kääntää.

        Et edelleenkään tunne asiaa.


      • eryhe56ujhye5u kirjoitti:

        Et edelleenkään tunne asiaa.

        Tietysti tiedän. Miksi jankutat paskaa kun et nähtävästi tiedä ohjelmoinnista mitään? Jos tietäisit ohjelmoinnista niin et kävisi jankuttamaan perusasioista kuten npm:stä.


      • w5yw4e5yw45
        M-Kar kirjoitti:

        Tietysti tiedän. Miksi jankutat paskaa kun et nähtävästi tiedä ohjelmoinnista mitään? Jos tietäisit ohjelmoinnista niin et kävisi jankuttamaan perusasioista kuten npm:stä.

        Samat sanat, et näköjään todellakaan tiedä mistä puhut.



      • we4y6ewy6hw45
        M-Kar kirjoitti:

        Tiedän täysin: https://www.npmjs.com/package/react

        Eipähän näy mitään näyttöä osaamisesta, kuka vaan pystyy linkin tänne laittamaan jossa on samoja kirjaimia mukana.

        Niin siinä käy kun aikansa valehtelee, tulee vastaan se näytön paikka, siinäpä kiemurtelet valheitesi kanssa.


      • we4y6ewy6hw45 kirjoitti:

        Eipähän näy mitään näyttöä osaamisesta, kuka vaan pystyy linkin tänne laittamaan jossa on samoja kirjaimia mukana.

        Niin siinä käy kun aikansa valehtelee, tulee vastaan se näytön paikka, siinäpä kiemurtelet valheitesi kanssa.

        Minähän näytin sen linkin mistä löytyy ja siinä kerrotaan miten asennetaan React.

        Sinä sitten aloit lässyttämään jotain että Reactia laitettaisiin suoraan headeriin linkittämällä jostain hevonkuusesta ja näinhän asioita ei tehdä.


      • dyhujetdyujed5tj
        M-Kar kirjoitti:

        Minähän näytin sen linkin mistä löytyy ja siinä kerrotaan miten asennetaan React.

        Sinä sitten aloit lässyttämään jotain että Reactia laitettaisiin suoraan headeriin linkittämällä jostain hevonkuusesta ja näinhän asioita ei tehdä.

        Saat huomata että tehdään, jos haluat sivun verkkoon ja tekemäsi Scriptin sivulle mukaan. Kyllä se siitä kun lueskelet lisää, niin selviää kuinka homma toimii.


      • dyhujetdyujed5tj kirjoitti:

        Saat huomata että tehdään, jos haluat sivun verkkoon ja tekemäsi Scriptin sivulle mukaan. Kyllä se siitä kun lueskelet lisää, niin selviää kuinka homma toimii.

        Tavallisesti se buildataan gulp scriptillä, Webpackia käytetään: https://webpack.github.io/

        Eli webpack ottaa tavaran sisään ja tekee valmiit filet, ja lopputuloksena on usein yksi käännetty Javascript tiedosto.


      • ent.obj.pascal.runkkari
        DeetäjaSympatiaa kirjoitti:

        "Miten tuossa erotellaan muuttuja funktiosta/metodista?"

        Tapojahan on monia, itse yleensä pistän jäsenmuuttujien nimen alkuun m_ (member), tai Delphissä oli tapana pistää iso F-kirjain jäsenmuuttujien nimen alkuun, argumenteissa a-kirjain alkuun jne. Tai sitten käyttää sulkeita metodeissa.

        D-kielessä myös property (tai getter, setter) toimii samalla tavalla, esim. CPerson luokan metodi: void set_name (string aname) {..}, toimii myös -> person.set_name = "Kyybe". Omaan silmään selkeämpi tapa kuin metodimainen person.set_name ("Kyybe"), ajaa silti täysin saman asian.

        Makuasioitahan nämä. Voi olla että entisenä Delphi-koodarina on tottunut tietynlaiseen tyyliin ja tapaan koodissa ja tässä D-kielessä on jotain tuttua.

        Delphillä minäkin loppuvuodet ennen eläkettä. Delphissä varsinkin tietokantojen käsittely tehty niin helpoks ett vois pistää nyt alkavien alakoululaisten yheks sovelluskehittimeks. :) Oon kattellu kans jotain uutta kieltä jota vähä kokeilis, täytyypi vilasta tuota D:tä, ilmanen? Jos vaikka sais tota altzheimerii/dementiaa vähä siirrettyy.


      • srthr
        M-Kar kirjoitti:

        Tavallisesti se buildataan gulp scriptillä, Webpackia käytetään: https://webpack.github.io/

        Eli webpack ottaa tavaran sisään ja tekee valmiit filet, ja lopputuloksena on usein yksi käännetty Javascript tiedosto.

        Sinä se vaan vajoat yhä syvemmälle suohon tuon valehtelusi kanssa.

        OK, jätetään React JavaScript kirjasto vähäksi aikaa huilimaan, koska kiskaisit tuon Webpack työkalut kuvioihin mukaan. Osoita nyt että ymmärrät siitä jotain. Olen sata varma että olet siitäkin pihalla kokonaan. Nyt minä annan kuvan ja sinä kerrot kuinka sen sain aikaan, tai mitä siinä on mahdollisesti tehty.

        http://aijaa.com/lFNaCw

        Äläkä yritä vängätä että siinä on Apache palvelin asetettu kuuntelemaan porttia 3000 ja sitten siirrytty localhostina palvelimen juuressa olevalle sivulle. Jotta uskoisit että näin ei todellakaan ole tehty annan toisen kuvan jossa näkyy kuvassa olevan sivun lähdekoodi.

        http://aijaa.com/ePoClj

        Joko nyt ymmärrät ettet voi valehdella ja kusettaa etteikö täällä joku lukijoista saa tarpeekseen ja vaadi sinua lopulta tilille.


      • srthr kirjoitti:

        Sinä se vaan vajoat yhä syvemmälle suohon tuon valehtelusi kanssa.

        OK, jätetään React JavaScript kirjasto vähäksi aikaa huilimaan, koska kiskaisit tuon Webpack työkalut kuvioihin mukaan. Osoita nyt että ymmärrät siitä jotain. Olen sata varma että olet siitäkin pihalla kokonaan. Nyt minä annan kuvan ja sinä kerrot kuinka sen sain aikaan, tai mitä siinä on mahdollisesti tehty.

        http://aijaa.com/lFNaCw

        Äläkä yritä vängätä että siinä on Apache palvelin asetettu kuuntelemaan porttia 3000 ja sitten siirrytty localhostina palvelimen juuressa olevalle sivulle. Jotta uskoisit että näin ei todellakaan ole tehty annan toisen kuvan jossa näkyy kuvassa olevan sivun lähdekoodi.

        http://aijaa.com/ePoClj

        Joko nyt ymmärrät ettet voi valehdella ja kusettaa etteikö täällä joku lukijoista saa tarpeekseen ja vaadi sinua lopulta tilille.

        "Sinä se vaan vajoat yhä syvemmälle suohon tuon valehtelusi kanssa. "

        Minkä valehtelun?

        " Osoita nyt että ymmärrät siitä jotain."

        Toki ymmärrän kun käytän sitä päivittäin.


        "Jotta uskoisit että näin ei todellakaan ole tehty annan toisen kuvan jossa näkyy kuvassa olevan sivun lähdekoodi."

        Tuo selaimen view-source kylläkin näyttää sitä mitä HTTP palvelimen palauttaman kyselyn message bodyn raakamuodossa, se ei ole lähdekoodi siihen miten olet konffannut HTTP palvelinta palauttamaan, mikä nyt näyttäisi olevan pelkkä "Hello World!".

        HTTP palvelimen ei tietenkään tarvitse olla Apache, eikä tuohon edes tarvitse erillistä palvelinohjelmistoa. Tuon saa aikaiseksi vaikka kuuntelisi porttia 3000, vastaus headeriin HTTP protokollan mukainen statuskoodi 200 ja tunkee vastaukseksi "Hello World!" niin selain näyttää sen.


      • asertgtyjutkltui
        M-Kar kirjoitti:

        "Sinä se vaan vajoat yhä syvemmälle suohon tuon valehtelusi kanssa. "

        Minkä valehtelun?

        " Osoita nyt että ymmärrät siitä jotain."

        Toki ymmärrän kun käytän sitä päivittäin.


        "Jotta uskoisit että näin ei todellakaan ole tehty annan toisen kuvan jossa näkyy kuvassa olevan sivun lähdekoodi."

        Tuo selaimen view-source kylläkin näyttää sitä mitä HTTP palvelimen palauttaman kyselyn message bodyn raakamuodossa, se ei ole lähdekoodi siihen miten olet konffannut HTTP palvelinta palauttamaan, mikä nyt näyttäisi olevan pelkkä "Hello World!".

        HTTP palvelimen ei tietenkään tarvitse olla Apache, eikä tuohon edes tarvitse erillistä palvelinohjelmistoa. Tuon saa aikaiseksi vaikka kuuntelisi porttia 3000, vastaus headeriin HTTP protokollan mukainen statuskoodi 200 ja tunkee vastaukseksi "Hello World!" niin selain näyttää sen.

        """"Toki ymmärrän kun käytän sitä päivittäin.""""

        Olet valheella paikannut edellistä valhetta ja jatkat sitä vaikka kuinka kauan, nyt juttua on kertynyt ainakin 200 riviä, Asian osaamiseen näytöksi olisi tarvittu 22 riviä. Mutta mistäpä sen tempaset kun ei ole verkossa valmiina ja eikä ole hajuakaan miten asiat hoidetaan.


      • DeetäJaSympatiaa
        M-Kar kirjoitti:

        "Ei aja ihan sitä takaa mitä olen tekemässä, tarvittavien fonttien tiedot parsitaan kaikki ylös ja ne on muistissa ohjelman ajon ajan."

        C-kieltä käytetään tavallisesti sellaisiin palikoihin mitkä lukee dataa stdin ja lähettää sen muotoiltuna stdout. Ajoa kestää sen mitä data tulee.

        Voi sitä toki tehdä semmoisenkin palikan mikä käynnistyy, sille voi lähettää dataa API:n kautta, se voi pitää sen omassa rakenteessaan, sitä voi hakea siitä ja käskeä kyseistä palikkaa sammumaan. C-kielessä on kyllä structit ja kapselointia voi tehdä.

        Vaikea nyt sanoa mikä on paras työkalu kun en tiedä mitä olet tekemässä. Itse suosin käyttöliittymäpuoleen Reactia tai miksei vaikka Vue.

        "C-kieltä käytetään tavallisesti sellaisiin palikoihin mitkä lukee dataa stdin ja lähettää sen muotoiltuna stdout. Ajoa kestää sen mitä data tulee."

        No juuri samaa tekemässä tämän D-kielenkin kanssa, eli ei ole siitä kyse ettei D kykene vastaavaan. Lukee stdin kautta dataa, mutta se data sitten määrää mitä tehdään, ei voi vain työntää stdin kautta jonku fontin nimeä pelkästään. Lisäksi tapahtumat jaetaan säikeisiin kun data on saatu käsiteltäväksi.


      • DeetäJaSympatiaa
        ent.obj.pascal.runkkari kirjoitti:

        Delphillä minäkin loppuvuodet ennen eläkettä. Delphissä varsinkin tietokantojen käsittely tehty niin helpoks ett vois pistää nyt alkavien alakoululaisten yheks sovelluskehittimeks. :) Oon kattellu kans jotain uutta kieltä jota vähä kokeilis, täytyypi vilasta tuota D:tä, ilmanen? Jos vaikka sais tota altzheimerii/dementiaa vähä siirrettyy.

        Heh, joo koodaus antaa aktiviteettiä aivoille, kannattaa harjoitella niin ei dementtia pääse iskemään =D

        Toki D on ilmainen, mutta sisältää pelkästään kääntäjän ja apuohjelmia. Itse koodaukseen kannatan VSCodea ja siihen extensioniksi code-d, debuggaus gdb:llä.

        https://dlang.org

        https://code.visualstudio.com

        https://marketplace.visualstudio.com/items?itemName=webfreak.code-d


      • asertgtyjutkltui kirjoitti:

        """"Toki ymmärrän kun käytän sitä päivittäin.""""

        Olet valheella paikannut edellistä valhetta ja jatkat sitä vaikka kuinka kauan, nyt juttua on kertynyt ainakin 200 riviä, Asian osaamiseen näytöksi olisi tarvittu 22 riviä. Mutta mistäpä sen tempaset kun ei ole verkossa valmiina ja eikä ole hajuakaan miten asiat hoidetaan.

        " Asian osaamiseen näytöksi olisi tarvittu 22 riviä."

        Et antanut laskutusosoitetta. Minun ei tarvitse sinulle tehdä mitään näyttöjä ilmaiseksi. Kyllä minä tiedän osaavani HTTP protokollan.

        "Mutta mistäpä sen tempaset kun ei ole verkossa valmiina"

        En tarvitse ohjelmointiin mitään valmista verkosta. Sinä sen sijaan taisit napata oman koodisi tästä: https://expressjs.com/en/starter/hello-world.html

        Porttikin täsmää.


      • DeetäJaSympatiaa kirjoitti:

        "C-kieltä käytetään tavallisesti sellaisiin palikoihin mitkä lukee dataa stdin ja lähettää sen muotoiltuna stdout. Ajoa kestää sen mitä data tulee."

        No juuri samaa tekemässä tämän D-kielenkin kanssa, eli ei ole siitä kyse ettei D kykene vastaavaan. Lukee stdin kautta dataa, mutta se data sitten määrää mitä tehdään, ei voi vain työntää stdin kautta jonku fontin nimeä pelkästään. Lisäksi tapahtumat jaetaan säikeisiin kun data on saatu käsiteltäväksi.

        "No juuri samaa tekemässä tämän D-kielenkin kanssa, eli ei ole siitä kyse ettei D kykene vastaavaan. Lukee stdin kautta dataa, mutta se data sitten määrää mitä tehdään, ei voi vain työntää stdin kautta jonku fontin nimeä pelkästään."

        Voihan sen fontin antaa parametrina, että se luetaan tiedostosta, käsiteltävä data sisään stdin ja käsitelty stdout

        Kyllä nämä asiat tekee millä kielellä vaan. Olen itse vähän skeptinen D-kielen jatkuvuuden suhteen enkä usko että se on ihan ideaalinen tähän. Jos nyt haluaisi jollain kielellä leikkiä niin itse ottaisin varmaan Haskellin tai Go:n tähän.


      • DeetäjaSympatiaa

        Minusta D on täysin ideaali tähän mitä teen, helppo omaksua koska syntaksi on lähellä C-kieltä, mutta ei ole niin monimutkainen kuin C . Nuo muut Go:t, Rust ja esim. Swift, varmasti joskus voisi tutustua mielenkiinnosta, mutta en halua nyt niitä opiskella kun D:llä pääsee suorempaan asiaan. Nykyään älytön pähkäily edssä jos ei halua C- tai C -kielillä koodata jotain projektia, uusia kieliä tulee kuin sieniä sateella. D on kumminkin ollut olemassa jo noin 17 vuotta ja on käytössäkin (https://dlang.org/orgs-using-d.html), ettei ole kuin Vala jolla koodaillaan vain pääasiassa GTK-sovelluksia.


      • etyhtyhuet
        M-Kar kirjoitti:

        " Asian osaamiseen näytöksi olisi tarvittu 22 riviä."

        Et antanut laskutusosoitetta. Minun ei tarvitse sinulle tehdä mitään näyttöjä ilmaiseksi. Kyllä minä tiedän osaavani HTTP protokollan.

        "Mutta mistäpä sen tempaset kun ei ole verkossa valmiina"

        En tarvitse ohjelmointiin mitään valmista verkosta. Sinä sen sijaan taisit napata oman koodisi tästä: https://expressjs.com/en/starter/hello-world.html

        Porttikin täsmää.

        """"Et antanut laskutusosoitetta. Minun ei tarvitse sinulle tehdä mitään näyttöjä ilmaiseksi. Kyllä minä tiedän osaavani HTTP protokollan.""""

        Kyllä työkseen valehtelevan pitäisi jotekin osoittaa että sanottu pitää paikkaansa. Normaalisti sellaista ei tarvitse esittää, Olet ainut näillä sivuilla joka on siinä määrin valehdellut ettei pelkkä trollaaminen ja itsensä kehuminen enään ketään vakuuta.


      • asdfdsasa
        DeetäjaSympatiaa kirjoitti:

        Minusta D on täysin ideaali tähän mitä teen, helppo omaksua koska syntaksi on lähellä C-kieltä, mutta ei ole niin monimutkainen kuin C . Nuo muut Go:t, Rust ja esim. Swift, varmasti joskus voisi tutustua mielenkiinnosta, mutta en halua nyt niitä opiskella kun D:llä pääsee suorempaan asiaan. Nykyään älytön pähkäily edssä jos ei halua C- tai C -kielillä koodata jotain projektia, uusia kieliä tulee kuin sieniä sateella. D on kumminkin ollut olemassa jo noin 17 vuotta ja on käytössäkin (https://dlang.org/orgs-using-d.html), ettei ole kuin Vala jolla koodaillaan vain pääasiassa GTK-sovelluksia.

        D-kieli on tioden listalla sijalla 22 (huhti 2017)
        https://www.tiobe.com/tiobe-index/


      • w245646ye54y
        asdfdsasa kirjoitti:

        D-kieli on tioden listalla sijalla 22 (huhti 2017)
        https://www.tiobe.com/tiobe-index/

        Niin hän se on, vaan ei pitkään kun mekin ruvettiin sitä opiskelemaan. Uskon meidän tai ainakin teidän olevan sen verran tuottava koodari porukka että ensi vuonna on jo 10 joukossa.

        Mistä ne visuaaliset komponentit siihen saadaan, joko joku tietää.


      • DeetäjaSympatiaa
        asdfdsasa kirjoitti:

        D-kieli on tioden listalla sijalla 22 (huhti 2017)
        https://www.tiobe.com/tiobe-index/

        Visual Basic (vissiin v6 kun .NET on erikseen) sijalla 16 hahah! Mitä merkitystä tuommoisella listalla on?


      • etyhtyhuet kirjoitti:

        """"Et antanut laskutusosoitetta. Minun ei tarvitse sinulle tehdä mitään näyttöjä ilmaiseksi. Kyllä minä tiedän osaavani HTTP protokollan.""""

        Kyllä työkseen valehtelevan pitäisi jotekin osoittaa että sanottu pitää paikkaansa. Normaalisti sellaista ei tarvitse esittää, Olet ainut näillä sivuilla joka on siinä määrin valehdellut ettei pelkkä trollaaminen ja itsensä kehuminen enään ketään vakuuta.

        "Kyllä työkseen valehtelevan pitäisi jotekin osoittaa että sanottu pitää paikkaansa."

        En valehtele missään ja tietysti se pitää paikkansa mitä sanon.

        Nyt siis todistit, että et tiedä asiasta yhtään mitään kun kerran tarvitsee epäillä itsestään selviä asioita.

        Se ei ole minun vikani jos sinä et tunne HTTP protokollaa, se on sinun vikasi.


      • w245646ye54y kirjoitti:

        Niin hän se on, vaan ei pitkään kun mekin ruvettiin sitä opiskelemaan. Uskon meidän tai ainakin teidän olevan sen verran tuottava koodari porukka että ensi vuonna on jo 10 joukossa.

        Mistä ne visuaaliset komponentit siihen saadaan, joko joku tietää.

        Kun käännät D-kielellä komponentin niin sehän näkyy tiedostomanagerissa visuaalisesti.

        Jos nyt sekoitat "visuaaliset komponentit" tarkoittamaan käyttöliittymiä niin voihan sitä integroida vaikka CEF:n siihen.


      • wr6tyheujr6t7uj6
        M-Kar kirjoitti:

        Kun käännät D-kielellä komponentin niin sehän näkyy tiedostomanagerissa visuaalisesti.

        Jos nyt sekoitat "visuaaliset komponentit" tarkoittamaan käyttöliittymiä niin voihan sitä integroida vaikka CEF:n siihen.

        Mikä tuo CEF on ?
        Kuinka tuo asennetaan ja minne, mitä tuon käyttämiseen tarvitaan ?

        Kun käännät D-kielellä komponentin niin sehän näkyy tiedostomanagerissa visuaalisesti. ?
        Kerro vähän tarkemmin, saatko otettua kuvakaappauksen omastasi ?


      • drtyhtjurt666
        M-Kar kirjoitti:

        "Kyllä työkseen valehtelevan pitäisi jotekin osoittaa että sanottu pitää paikkaansa."

        En valehtele missään ja tietysti se pitää paikkansa mitä sanon.

        Nyt siis todistit, että et tiedä asiasta yhtään mitään kun kerran tarvitsee epäillä itsestään selviä asioita.

        Se ei ole minun vikani jos sinä et tunne HTTP protokollaa, se on sinun vikasi.

        """""Nyt siis todistit, että et tiedä asiasta yhtään mitään kun kerran tarvitsee epäillä itsestään selviä asioita."""""
        Itsestäänselvyyksiä ei ole, ja ei varsinkaan silloin kun valehtelevan trollin kanssa inttää haitanpaska asioita.

        """"Se ei ole minun vikani jos sinä et tunne HTTP protokollaa, se on sinun vikasi."""""
        Täytyy tarkistaa mitä kirjotin tuosta, yritin kertoa sen niin että tyhminkin olisi asian ymmärtänyt, valehtelevalle trollille se ei sitten kuitenkaan avautunut.


      • eet6uy5eu5ruuue
        drtyhtjurt666 kirjoitti:

        """""Nyt siis todistit, että et tiedä asiasta yhtään mitään kun kerran tarvitsee epäillä itsestään selviä asioita."""""
        Itsestäänselvyyksiä ei ole, ja ei varsinkaan silloin kun valehtelevan trollin kanssa inttää haitanpaska asioita.

        """"Se ei ole minun vikani jos sinä et tunne HTTP protokollaa, se on sinun vikasi."""""
        Täytyy tarkistaa mitä kirjotin tuosta, yritin kertoa sen niin että tyhminkin olisi asian ymmärtänyt, valehtelevalle trollille se ei sitten kuitenkaan avautunut.

        Tarkistin asian ja huomasin etten ole HTTP protokollaa käsitellyt ollenkaan missään kirjoituksessa, joten en ota kantaa asiaan toisen puolesta.


      • wr6tyheujr6t7uj6 kirjoitti:

        Mikä tuo CEF on ?
        Kuinka tuo asennetaan ja minne, mitä tuon käyttämiseen tarvitaan ?

        Kun käännät D-kielellä komponentin niin sehän näkyy tiedostomanagerissa visuaalisesti. ?
        Kerro vähän tarkemmin, saatko otettua kuvakaappauksen omastasi ?

        Tämä on CEF: https://bitbucket.org/chromiumembedded/cef

        Asennetaan vaikka kääntämällä C kääntäjällä ja käyttämälä sitä D kielisestä koodista käsin.

        Joku joskus rakentanut bindauksia D:lle: https://github.com/DerelictOrg/DerelictCEF

        En usko, että toimii enää mutta voi katsoa mallia.

        Tässä on kuvia joistakin komponenteista tiedostomanagerissa: https://upload.wikimedia.org/wikipedia/commons/5/53/Nautilus-screenshot.png

        Ovat aika tavallisesti suoraan ajettavia tai sitten esim. ovat .so muotoisia tiedostoja mitä D kääntäjällä tehdään. Kuvassa olevat komponentit ei ole D:llä tehtyjä mutta sillä ei ole merkitystä, samalta näyttävät tiedostomanagerissa.


      • drtyhtjurt666 kirjoitti:

        """""Nyt siis todistit, että et tiedä asiasta yhtään mitään kun kerran tarvitsee epäillä itsestään selviä asioita."""""
        Itsestäänselvyyksiä ei ole, ja ei varsinkaan silloin kun valehtelevan trollin kanssa inttää haitanpaska asioita.

        """"Se ei ole minun vikani jos sinä et tunne HTTP protokollaa, se on sinun vikasi."""""
        Täytyy tarkistaa mitä kirjotin tuosta, yritin kertoa sen niin että tyhminkin olisi asian ymmärtänyt, valehtelevalle trollille se ei sitten kuitenkaan avautunut.

        "Itsestäänselvyyksiä ei ole"

        Kyllä se HTTP protokolla on perusasioita ohjelmistokehityksessä.

        "Tarkistin asian ja huomasin etten ole HTTP protokollaa käsitellyt ollenkaan missään kirjoituksessa, joten en ota kantaa asiaan toisen puolesta. "

        Kyllä otit: http://keskustelu.suomi24.fi/t/14818816/d-kielihan-on-hyva#comment-89601267

        Sillä ei ole väliä vaikka se ei kuvassa näy koska selain piilottaa sen siitä osoiteriviltä.


      • swert6uyheu6jhe5
        M-Kar kirjoitti:

        "Itsestäänselvyyksiä ei ole"

        Kyllä se HTTP protokolla on perusasioita ohjelmistokehityksessä.

        "Tarkistin asian ja huomasin etten ole HTTP protokollaa käsitellyt ollenkaan missään kirjoituksessa, joten en ota kantaa asiaan toisen puolesta. "

        Kyllä otit: http://keskustelu.suomi24.fi/t/14818816/d-kielihan-on-hyva#comment-89601267

        Sillä ei ole väliä vaikka se ei kuvassa näy koska selain piilottaa sen siitä osoiteriviltä.

        """""Itsestäänselvyyksiä ei ole"
        Kyllä se HTTP protokolla on perusasioita ohjelmistokehityksessä.
        Kyllä otit: http://keskustelu.suomi24.fi/t/14818816/d-kielihan-on-hyva#comment-89601267""""
        En puhunut mitään mainitsemastasi asiasta, valehtelet taas.

        -------------------------------------------------------------------------------------------------------------------

        Ei tasan tarkaan piilota, jos tarkoitat että se on olemassa siellä osoiterivillä, mutta ei vaan näy käyttäjälle.

        Tässä se taas nähtiin palvelimenpitäjän osaamiset. Täyttä puppua ja mutuilua ei mitään muuta.


      • swert6uyheu6jhe5 kirjoitti:

        """""Itsestäänselvyyksiä ei ole"
        Kyllä se HTTP protokolla on perusasioita ohjelmistokehityksessä.
        Kyllä otit: http://keskustelu.suomi24.fi/t/14818816/d-kielihan-on-hyva#comment-89601267""""
        En puhunut mitään mainitsemastasi asiasta, valehtelet taas.

        -------------------------------------------------------------------------------------------------------------------

        Ei tasan tarkaan piilota, jos tarkoitat että se on olemassa siellä osoiterivillä, mutta ei vaan näy käyttäjälle.

        Tässä se taas nähtiin palvelimenpitäjän osaamiset. Täyttä puppua ja mutuilua ei mitään muuta.

        "Ei tasan tarkaan piilota, jos tarkoitat että se on olemassa siellä osoiterivillä, mutta ei vaan näy käyttäjälle."

        http://aijaa.com/21ZG6P

        Sitä kun tekee tuollaisen ohjelman ja avaa selaimen kehittäjätilan päälle niin näkee, että kyllähän se HTTP protokolla siellä on. Eli HTTP protokolla liittyy asiaan vaikka et sitä olisi sanonut tai ei olisi sinun kuvassa näkynyt.

        Havaintojen perusteella voidaan päätellä, että et edes tiedä puhuvasi HTTP protokollasta ja palvelimen vastauksista.


      • ed6uy5r67iu
        M-Kar kirjoitti:

        "Ei tasan tarkaan piilota, jos tarkoitat että se on olemassa siellä osoiterivillä, mutta ei vaan näy käyttäjälle."

        http://aijaa.com/21ZG6P

        Sitä kun tekee tuollaisen ohjelman ja avaa selaimen kehittäjätilan päälle niin näkee, että kyllähän se HTTP protokolla siellä on. Eli HTTP protokolla liittyy asiaan vaikka et sitä olisi sanonut tai ei olisi sinun kuvassa näkynyt.

        Havaintojen perusteella voidaan päätellä, että et edes tiedä puhuvasi HTTP protokollasta ja palvelimen vastauksista.

        Edelleenkään, en puhunut mitään mainitsemastasi asiasta, valehtelet ja vääristelet taas.


      • ed6uy5r67iu kirjoitti:

        Edelleenkään, en puhunut mitään mainitsemastasi asiasta, valehtelet ja vääristelet taas.

        No mitäs tämä lässytys oikein on? http://aijaa.com/lFNaCw

        Oikein kuvankin laitoit.


      • we54ye54ye353
        M-Kar kirjoitti:

        No mitäs tämä lässytys oikein on? http://aijaa.com/lFNaCw

        Oikein kuvankin laitoit.

        Sehän ei ole minun vikani jos sinä et ymmärrä asioita joita kehut ymmärtäväsi.


      • we54ye54ye353 kirjoitti:

        Sehän ei ole minun vikani jos sinä et ymmärrä asioita joita kehut ymmärtäväsi.

        Minun lähettämäni kuva todistaa, että ymmärrän. HTTP protokolla siellä vaan on ja sinä lässytät että ei muka liittyisi mitenkään.

        Tämähän todistaa sen, että sinä et ymmärrä asiasta kun et ymmärrän HTTP protokollan liittyvän tähän.


      • serryhe56uyhe6
        M-Kar kirjoitti:

        Minun lähettämäni kuva todistaa, että ymmärrän. HTTP protokolla siellä vaan on ja sinä lässytät että ei muka liittyisi mitenkään.

        Tämähän todistaa sen, että sinä et ymmärrä asiasta kun et ymmärrän HTTP protokollan liittyvän tähän.

        Valehtelevan trollin kuvilla ei ole mitään todistusarvoa, lisäksi kirjoituksesi todistavat ettet myöskään ymmärrä asioista joista tänne kirjoittelet yhtään mitään.

        -------------------------------------------------------------------------------------------------------------------

        Eikä se edelleenkään ole minun vikani jos sinä et ymmärrä asioita joita kehut ymmärtäväsi.


      • DeetäJaSympatiaa

        Aika turhanpäivästä p-jauhantaa joka ei mitenkään liity edes D-kieleen, OFFTOPIC!


      • serryhe56uyhe6 kirjoitti:

        Valehtelevan trollin kuvilla ei ole mitään todistusarvoa, lisäksi kirjoituksesi todistavat ettet myöskään ymmärrä asioista joista tänne kirjoittelet yhtään mitään.

        -------------------------------------------------------------------------------------------------------------------

        Eikä se edelleenkään ole minun vikani jos sinä et ymmärrä asioita joita kehut ymmärtäväsi.

        Sinun pitää TODISTAA se valhe. Jokainen voi ihan itse painaa selaimella Ctrl I näppäinyhdistelmää ja todeta, että HTTP protokolla siellä sitä tavaraa liikuttelee palvelimen ja selaimen välillä.


      • r7tur67u6er7u
        M-Kar kirjoitti:

        Sinun pitää TODISTAA se valhe. Jokainen voi ihan itse painaa selaimella Ctrl I näppäinyhdistelmää ja todeta, että HTTP protokolla siellä sitä tavaraa liikuttelee palvelimen ja selaimen välillä.

        Nyt lainaa tätä "DeetäJaSympatiaa" toteamusta.
        Aika turhanpäivästä p-jauhantaa joka ei mitenkään liity edes D-kieleen, OFFTOPIC!


    • languagE

      Joskus ysäriluvulla tuli kokeiltua E-kieltäkin. Aika marginaaliin se taisi jäädä. Ei sitä ainakaan hirveämmin nykyään hehkuteta missään.

    • c-cöccö

      C -sössöön sopii sama kuin windovsiin eli miljoona kärpästä ei voi olla väärässä, että p.... on hyvää.

      • nadrod

        Miljardit androidin kärpäset taitavat uskoa Javan nimeen?


    • kysyjäkans
      • Näin-se-mintissä

        No voihan härveli, nyt minäkin innostuin mukaan.

        Affiliate-Julkaisia
        Linux Mint 18 Sarah


      • DeetäjaSympatiaa

        Kiitti vinkistä, voisi koleilla :) Pääasiassa olen tykästynyt Vscode:een, on nopea, taipuu erilaisiin koodailu ratkaisuihin ja mielenkiintoisia ominaisuuksia. Esim. editorin oikeaan laitaan saa koko koodilistauksesta miniatyyri-listauksen näkyville, jonka avulla voi skrollata nopeasti koodia, en ole muissa vastaavissa editoreissa törmännyt tuommoiseen ominaisuuteen.


    • Par C juttua.

      int a = 5;
      int b = a a;

      Osaako kukaan sanoa mikä on b:n arvo?

      Minusta C:llä voi kirjoitella sellaista tauhkaa, josta ei saa selvää.

      • Näin-se-mintissä

        No niin näköjään, mutta tämä D

        int a = 5;
        int b = a a;
        writeln( b )

        vastas että olis 12


        Affiliate-Julkaisia
        Linux Mint 18 Sarah


      • Kyllä se on kehittäjästä kiinni kuinka selkeätä koodia tekee.


    • C-on-ok

      Turhaan te C-kieltä mollaatte. Se on juuri hyvä kieli siihen mihin on tarkoitettu. On huomattavasti nopeampaa kirjoittaa kuin assembler. Ei tulisi mieleenkään kirjoittaa koodia mikrokontrollerille jollain pascal-tyyppisellä outokielellä.

      • DeetäJaSympatiaa

        En varsinaisesti mollannu C-kieltä, se ajaa varmasti tuommoisessa käytössä asiansa. Mitä tässä D-kieltä nyt käyttänyt, niin tuntuisi olevan juuri sopivasti modernisoitu versio C-kielestä, samalla tavalla voi koodailla kuin C:llä, mutta sitten voi modernimpaakin tapaa käyttää koodailussa. Toivottavasti pysyy tässä tasossa, ettei ikenet verissä suunnitella mitään D sekamelskaa tulevaisuudessa.


      • DeetäJaSympatiaa kirjoitti:

        En varsinaisesti mollannu C-kieltä, se ajaa varmasti tuommoisessa käytössä asiansa. Mitä tässä D-kieltä nyt käyttänyt, niin tuntuisi olevan juuri sopivasti modernisoitu versio C-kielestä, samalla tavalla voi koodailla kuin C:llä, mutta sitten voi modernimpaakin tapaa käyttää koodailussa. Toivottavasti pysyy tässä tasossa, ettei ikenet verissä suunnitella mitään D sekamelskaa tulevaisuudessa.

        Go ja C# ovat myös tuota ja vievät sen sen modernisoinnin pidemmälle, kuin myös se että on parempi jatkuvuus ja ekosysteemi kun Go:n takana on Google ja C#:n takana Microsoft.

        C nyt on tarkoitettu siihen systeemitasolle ja C porskuttaa siksi koska se on standardisoitu, erittäin suorituskykyinen, on muutama erittäin vahvassa asemassa oleva kirjasto kuten OpenMP.

        Jos näistä nyt jotain pitäisi valita niin sanoisin, että C ja C# jatkaa edelleen, D katoaa vähitellen pois, C :n käyttö vähenee hieman, Go:n käyttö lisääntyy voimakkaasti.

        Itse nyt olen aika agnostinen mutta jos pitäisi pisteyttää kieliä sen mukaan kuinka siistin näköisiä on niin näistä Go vaikuttaa siisteimmältä. Jos pitäisi ottaa muut kielet mukaan niin Haskellilla ja Pythonilla tekee erittäin kaunista koodia.

        Johtuen Javascript jyrästä, yllättävän kaunista koodia saa tehtyä myös ES6:lla kun on viimeisimmät työkalut käytössä.


      • DeetäJaSympatiaa

        Tutkailin tuota Go kieltä vähän. Tuohan se vasta Pascal kieleltä näyttääkin, vähän kuin C-kielen ja Pascalin sekoitusta =D Miten tuommoinen voi yleistyä kun Pascalia inhotaan "yleensä" niin paljon, kuullu vain monesti tuon "outokieli". Itse en kyllä Pascalia inhoa. Tykkään yleensä erilaisista kielistä ja varsinkin harvinaisemmat kielet on mieleen ollut aina. Objective-C on ehkä ainut mitä en voi sietää.


      • MielumminPascal

        Kyllä Pascal sopii ihan hyvin mikrokontrollereille. Jotain (valmistajakohtaista) C:n murretta saattaa joutua käyttämään koska pitänee käyttää jotain kirjastoja (jotka ovat tietenkin sidottu siihen kyseiseen valmistajaan, siis C-kääntäjän valmistajaan). Pascal-kääntäjiä löytyy 8-bittisillekin CPU:lle.


      • DeetäJaSympatiaa kirjoitti:

        Tutkailin tuota Go kieltä vähän. Tuohan se vasta Pascal kieleltä näyttääkin, vähän kuin C-kielen ja Pascalin sekoitusta =D Miten tuommoinen voi yleistyä kun Pascalia inhotaan "yleensä" niin paljon, kuullu vain monesti tuon "outokieli". Itse en kyllä Pascalia inhoa. Tykkään yleensä erilaisista kielistä ja varsinkin harvinaisemmat kielet on mieleen ollut aina. Objective-C on ehkä ainut mitä en voi sietää.

        "Tutkailin tuota Go kieltä vähän. Tuohan se vasta Pascal kieleltä näyttääkin, vähän kuin C-kielen ja Pascalin sekoitusta =D"

        On siinä joo joitakin vaikutteita.

        Pascalissa heikkouksia on mm. se, että tuotetussa koodissa on herkästi korkea kompeksuus (Halstead complexity) ja sitten erittäin merkittävä asia se, että kun löytyy joka mittarilla parempia työkaluja niin miksi käyttää Pascalia. Esim. vaikka tuo Go.


    • DeetäJaSympatiaa

      Olen ollut kahdessa IT-yrityksessä töissä. Molemmissa olen törmännyt samaan ongelmaan. PDF-dokumentin tekeminen on ollut aina 1) V-tun vaikeeta 2) V-tun hidasta. Ensimmäisessä työpaikassa viritys oli nimeltään xml -> xsl:fo -> pdf (hidas) ja toisessa xml -> postccript -> pdf (vaikee). Olen tekemässä softaa missä yhdistämällä xml css -> saa suoraan pdf-dokumentin ilman turhaa nysväämistä ja välikäsiä. Testeissä olen saanut muodostettua 1300 sivun pdf-dokumentin alle 18 sekunnin ja muistia kului tuohon 1.2 gigaa, optimointia en vielä kerennyt tekemään. Mutta ei ole vaikeeta eikä hidasta :)

      En tajua miten joku FOP saa koneen kuin koneen täysin polvilleen isoilla tiedostoilla? Ei riitä edes 8 gigaa, eikä riittäisi edes 16 gigaa muistia koneessa ja kipukynnys on juuri 1000 sivun ylittävissä pdf-tiedostoissa joita se nysvää tunti tolkulla. Onko vika Javassa millä FOP on tehty, ei kait?

      • DeetäJaSympatiaa

        Getterit on juuri tämmöisessä oikein loistavia. Jos käyttäjä määrittäisi css-tyylissä vaika left-margin: 1cm; Koodissa muutetaan kaikki kumminkin pisteiksi float x = this.left_margin.pt, Unit-yksikkö hoitaa automaattisesti konversion pisteiksi cm -> pt. Lisäksi interfaceilla saa luokkiin sopivasti laajennettua css-ominaisuudet joita luokka tarvii, eli ei tarvi joka ikiseen hilavitkuttimeen erikseen koodailla aina marginaaleja tai muita tyylimääritteitä erikseen, koodaat ominaisuuden vain kerran ja laajennat luokan ominaisuuksia. Tässä yksi pointti miksi tykkään koodailla luokilla ja olio-ominaisuuksilla.


      • "Olen ollut kahdessa IT-yrityksessä töissä. Molemmissa olen törmännyt samaan ongelmaan. PDF-dokumentin tekeminen on ollut aina 1) V-tun vaikeeta 2) V-tun hidasta. "

        Taidat käyttää huonoja työkaluja. PDF-tiedoston teko on helppoa.

        "Onko vika Javassa millä FOP on tehty, ei kait?"

        Ei.


      • DeetäJaSympatiaa

        Asiakas haluaa kuukauden raportin laskuista laskutusyhteenvedon, iso sähköyhtiö asiakkaana ja niitä laskujahan riittää. Milläs teet raportin tai teet laskukuvat postiin? Tiedän sen että PDF-teko pitäisi olla helppoa, mutta eipä ole tullut vastaan semmoista työkalua, asiakkaiden vaatimukset on joskus aika kinkkisiä. Myönnän sen että nykyinen työkalu on ihan arseesta, sama kuin yrittäisi villikissaa pakottaa vesiämpäriin että saa tuloksen ulos semmoisena kuin asiakas sen haluaisi. Siksi olen tekemässä tätä softaani, tiedän haasteet, tiedän ne isot massat mistä tiedosto tehdään. Kerroppa mulle se työkalu mikä olisi hyvä?


      • DeetäJaSympatiaa

        Javan ongelma on ainakin virtuaalimuistin loppuminen, en ole itse Javan kanssa ollut kovin paljon tekemisessä, inhoan Javaa. Mutta ainakaan FOP ei osaa swapata ylimenevää dataa tiedostoon vaan tuloksena on poikkeus, huuli pyöreänä siinä ihmettelet että whatta fuck, ai että lisää virtuaalimuistiako haluaisit? D/C-kiekillä voit itse määrittää puskurin muistirajat ja swapata tiedostoon, ettei serverin muisti kulu loppuun ison tiedoston työstössä.

        Kiitti M-Kar kumminkin kun mainitsit asian putkista, muutin softaani niin että asiat käsitellään stdin ja stdout kautta ketjussa, ainakin osittain, sillä luokat on ja pysyy koodissani :)


      • DeetäJaSympatiaa kirjoitti:

        Asiakas haluaa kuukauden raportin laskuista laskutusyhteenvedon, iso sähköyhtiö asiakkaana ja niitä laskujahan riittää. Milläs teet raportin tai teet laskukuvat postiin? Tiedän sen että PDF-teko pitäisi olla helppoa, mutta eipä ole tullut vastaan semmoista työkalua, asiakkaiden vaatimukset on joskus aika kinkkisiä. Myönnän sen että nykyinen työkalu on ihan arseesta, sama kuin yrittäisi villikissaa pakottaa vesiämpäriin että saa tuloksen ulos semmoisena kuin asiakas sen haluaisi. Siksi olen tekemässä tätä softaani, tiedän haasteet, tiedän ne isot massat mistä tiedosto tehdään. Kerroppa mulle se työkalu mikä olisi hyvä?

        Onhan noita PDF-kirjastoja jos jonkinnäköisiä. PHP puolella esim. mpdf, Java puolella PDFBox ja rahalla saa vaikka mitö ja mikään ei estä tekemästä omaa.


      • DeetäJaSym

        "mikään ei estä tekemästä omaa." - Näinpä juuri ;)

        PHP ja Java -ratkaisut on omien kokemuksien mukaan hitaita ja eivät aja asiaa kun massa on v-tun iso, ja dokumenteista pitää tehdä helposti muokattavia eri asiakkaiden tarpeisiin. PHP-kieli tai PostScript ei voi olla" tyylitiedostona" dokumentille. Ja isojen massojen käsittely, helppous on puutteena ainakin näissä muissa ratkaisuissa mihin olen törmännyt.


      • DeetäJaSym kirjoitti:

        "mikään ei estä tekemästä omaa." - Näinpä juuri ;)

        PHP ja Java -ratkaisut on omien kokemuksien mukaan hitaita ja eivät aja asiaa kun massa on v-tun iso, ja dokumenteista pitää tehdä helposti muokattavia eri asiakkaiden tarpeisiin. PHP-kieli tai PostScript ei voi olla" tyylitiedostona" dokumentille. Ja isojen massojen käsittely, helppous on puutteena ainakin näissä muissa ratkaisuissa mihin olen törmännyt.

        Suorituskyky ei oikeasti ole ollut mikään ongelma ikinä. PHP:llä voi helposti lukea tyylin mistä haluaa kun tuottaa sen dokumentin.


      • DeetäJaSympatiaa
        M-Kar kirjoitti:

        Suorituskyky ei oikeasti ole ollut mikään ongelma ikinä. PHP:llä voi helposti lukea tyylin mistä haluaa kun tuottaa sen dokumentin.

        Ei olekkaan, PHP:lla tekee mitä vain, mutta entäs se helppous? Kuinka paljon aikaa menee tietyn asian tekemiseen kuten asiakas haluaa, aika on rahaa ja työ maksaa. PHP on vain kieli kuten C/C .


      • DeetäJaSympatiaa

        Koodi tekee yhden ja vain yhden asian helposti, mutta jos tuleekin muutos, pienikin, se on v-tun vaikeeta ettei se vaikuta muihin asiakkaisiin samalla.


      • DeetäJaSympatiaa kirjoitti:

        Ei olekkaan, PHP:lla tekee mitä vain, mutta entäs se helppous? Kuinka paljon aikaa menee tietyn asian tekemiseen kuten asiakas haluaa, aika on rahaa ja työ maksaa. PHP on vain kieli kuten C/C .

        PHP mpdf:llä sen PDF:n pyöräyttää äkkiä. Jos nyt tunti menee niin voi kamala.

        Jos sitten on tarve tehdä järjestelmä jossa päivitetään 100000 PDF:ää kerralla kun vaihdetaan jostain lomakkeesta uusi logo ja muotoillaan niin se sitten tarvitsee vähän enemmän työtä. API jolla kysytään tilaa, pyydetään tekemään PDF-tiedosto, poistamaan PDF-tiedosto, noutamaan PDF-tiedosto päivittämään kaikki tiedostot jonkun mallin mukaiseksi, käyttöliittymän, esikatselu, persistentti tallennus töiden tilalle ja joku batch processing pool mikä käynnistää niitä PDF:n tuotto skriptejä.

        Se jälkimmäinen nyt onkin vähän laajempi juttu sitten mutta eihän se nyt sitä muuta, että PDF-tiedoston tekeminen on helppoa.


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

    Luetuimmat keskustelut

    1. Et olisi piilossa enää

      Vaan tulisit esiin.
      Ikävä
      76
      3462
    2. Loukkaantunut lapsi on yhä kriittisessä tilassa

      Seinäjoella Pohjan valtatiellä perjantaina sattuneessa liikenneonnettomuudessa loukkaantunut lapsi on yhä kriittisessä t
      Kauhava
      27
      2119
    3. Minä en ala kenenkään perässä juoksemaan

      Voin jopa rakastaa sinua ja kääntää silti tunteeni pois. Tunteetkin hälvenevät aikanaan, poissa silmistä poissa mielestä
      Ikävä
      77
      1971
    4. Tiedän, että emme yritä mitään

      Jos kohtaamme joskus ja tilaisuus on sopiva, voimme jutella jne. Mutta kumpikaan ei aio tehdä muuta konkreettista asian
      Ikävä
      19
      1520
    5. Miten hetki

      Kahden olisi paras
      Ikävä
      28
      1411
    6. Mitä, kuka, hä .....

      Mikähän sota keskustassa on kun poliiseja on liikkeellä kuin vilkkilässä kissoja
      Kemi
      26
      1358
    7. Näin pitkästä aikaa unta sinusta

      Oltiin yllättäen jossain julkisessa saunassa ja istuttiin vierekkäin, siellä oli muitakin. Pahoittelin jotain itsessäni
      Ikävä
      6
      1326
    8. Noh joko sä nainen oot lopettanut sen

      miehen kaipailun jota sulla EI ole lupa kaivata. Ja teistä ei koskaan tule mitään. ÄLÄ KOSKAAN SYÖ KUORMASTA JNE! Tutu
      Ikävä
      67
      1287
    9. Taisit sä sit kuiteski

      Vihjata hieman ettei se kaikki ollutkaan totta ❤️ mutta silti sanoit kyllä vielä uudelleen sen myöhemmin 😔 ei tässä oik
      Ikävä
      10
      1217
    10. Kerro nainen

      Milloin huomasit, että kyse ei ole ihastumisesta vaan jostain selvästi vakavammasta.
      Ikävä
      53
      1045
    Aihe