D-kielihän on hyvä

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.
Ilmianna
Jaa

97 Vastausta



Ootko kuunellut kun Intialaiset puhuu englantia. Siinä on aika hyvä D-scramblaus. :)
Kommentoi
Ilmianna
Jaa
1 VASTAUS:

Tästä on poistettu viesti sääntöjen vastaisena.

Kommentoi
Ilmianna
Jaa
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.
Kommentoi
Ilmianna
Jaa
+Lisää kommentti
Äidinkieli se paras on opetella aluksi.
Kommentoi
Ilmianna
Jaa
2 VASTAUSTA:
Tuliko jossakin vaiheessa syntax error ja olet jumissa, eikö ajatus kulje?
Kommentoi
Ilmianna
Jaa
DeetäJaSympatiaaa kirjoitti:
Tuliko jossakin vaiheessa syntax error ja olet jumissa, eikö ajatus kulje?
Missä vaiheessa itse jumiuduit syntax erroriin, -80 luvulla?
Kommentoi
Ilmianna
Jaa
+Lisää kommentti
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!
Ilmianna
Jaa
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.
Kommentoi
Ilmianna
Jaa
6 VASTAUSTA:
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...
Kommentoi
Ilmianna
Jaa
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.
Kommentoi
Ilmianna
Jaa
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ä ;).
Kommentoi
Ilmianna
Jaa
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.
Kommentoi
Ilmianna
Jaa
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.
Kommentoi
Ilmianna
Jaa
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.
Kommentoi
Ilmianna
Jaa
+Lisää kommentti
"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;"
Kommentoi
Ilmianna
Jaa
57 VASTAUSTA:
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.
Kommentoi
Ilmianna
Jaa
"tyhjiä sulkeita ei tarvi käyttää jos niissä ei esitetä mitään tietoja, funktio_x(); -> funktio_x"

Miten tuossa erotellaan muuttuja funktiosta/metodista?
Kommentoi
Ilmianna
Jaa
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ä.
Kommentoi
Ilmianna
Jaa
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.
Kommentoi
Ilmianna
Jaa
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.
Kommentoi
Ilmianna
Jaa
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.
Kommentoi
Ilmianna
Jaa
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.
Kommentoi
Ilmianna
Jaa
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
Kommentoi
Ilmianna
Jaa
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.
Kommentoi
Ilmianna
Jaa
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
Kommentoi
Ilmianna
Jaa
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.
Kommentoi
Ilmianna
Jaa
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
Kommentoi
Ilmianna
Jaa
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.
Kommentoi
Ilmianna
Jaa
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 :)
Kommentoi
Ilmianna
Jaa
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.
Kommentoi
Ilmianna
Jaa
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.
Kommentoi
Ilmianna
Jaa
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.
Kommentoi
Ilmianna
Jaa
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.
Kommentoi
Ilmianna
Jaa
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ää.
Kommentoi
Ilmianna
Jaa
M-Kar kirjoitti:
Tietysti tiedän. React ladataan tavallisesti npm:llä ja buildijärjestelmä kääntää.
Et edelleenkään tunne asiaa.
Kommentoi
Ilmianna
Jaa
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ä.
Kommentoi
Ilmianna
Jaa
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.
Kommentoi
Ilmianna
Jaa
w5yw4e5yw45 kirjoitti:
Samat sanat, et näköjään todellakaan tiedä mistä puhut.
Tiedän täysin: https://www.npmjs.com/package/react
Kommentoi
Ilmianna
Jaa
M-Kar 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.
Kommentoi
Ilmianna
Jaa
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ä.
Kommentoi
Ilmianna
Jaa
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.
Kommentoi
Ilmianna
Jaa
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.
Kommentoi
Ilmianna
Jaa
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.
Kommentoi
Ilmianna
Jaa
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.
Kommentoi
Ilmianna
Jaa
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.
Kommentoi
Ilmianna
Jaa
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.
Kommentoi
Ilmianna
Jaa
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.
Kommentoi
Ilmianna
Jaa
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
Kommentoi
Ilmianna
Jaa
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ää.
Kommentoi
Ilmianna
Jaa
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.
Kommentoi
Ilmianna
Jaa
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.
Kommentoi
Ilmianna
Jaa
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.
Kommentoi
Ilmianna
Jaa
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/
Kommentoi
Ilmianna
Jaa
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ää.
Kommentoi
Ilmianna
Jaa
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?
Kommentoi
Ilmianna
Jaa
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.
Kommentoi
Ilmianna
Jaa
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.
Kommentoi
Ilmianna
Jaa
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 ?
Kommentoi
Ilmianna
Jaa
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.
Kommentoi
Ilmianna
Jaa
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.
Kommentoi
Ilmianna
Jaa
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.
Kommentoi
Ilmianna
Jaa
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ä.
Kommentoi
Ilmianna
Jaa
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.
Kommentoi
Ilmianna
Jaa
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.
Kommentoi
Ilmianna
Jaa
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.
Kommentoi
Ilmianna
Jaa
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.
Kommentoi
Ilmianna
Jaa
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.
Kommentoi
Ilmianna
Jaa
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.
Kommentoi
Ilmianna
Jaa
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.
Kommentoi
Ilmianna
Jaa
Aika turhanpäivästä p-jauhantaa joka ei mitenkään liity edes D-kieleen, OFFTOPIC!
Kommentoi
Ilmianna
Jaa
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ä.
Kommentoi
Ilmianna
Jaa
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!
Kommentoi
Ilmianna
Jaa
+Lisää kommentti
Joskus ysäriluvulla tuli kokeiltua E-kieltäkin. Aika marginaaliin se taisi jäädä. Ei sitä ainakaan hirveämmin nykyään hehkuteta missään.
Ilmianna
Jaa
C++-sössöön sopii sama kuin windovsiin eli miljoona kärpästä ei voi olla väärässä, että p.... on hyvää.
Kommentoi
Ilmianna
Jaa
1 VASTAUS:
Miljardit androidin kärpäset taitavat uskoa Javan nimeen?
Kommentoi
Ilmianna
Jaa
+Lisää kommentti
Käytätkö editorina CoEdit:ä https://github.com/BBasile/Coedit
vai jotain muuta?
Kommentoi
Ilmianna
Jaa
2 VASTAUSTA:
No voihan härveli, nyt minäkin innostuin mukaan.

Affiliate-Julkaisia
Linux Mint 18 Sarah
Kommentoi
Ilmianna
Jaa
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.
Kommentoi
Ilmianna
Jaa
+Lisää kommentti
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ää.
Kommentoi
Ilmianna
Jaa
2 VASTAUSTA:
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
Kommentoi
Ilmianna
Jaa
Kyllä se on kehittäjästä kiinni kuinka selkeätä koodia tekee.
Kommentoi
Ilmianna
Jaa
+Lisää kommentti
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ä.
Kommentoi
Ilmianna
Jaa
5 VASTAUSTA:
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.
Kommentoi
Ilmianna
Jaa
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ä.
Kommentoi
Ilmianna
Jaa
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ää.
Kommentoi
Ilmianna
Jaa
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.
Kommentoi
Ilmianna
Jaa
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.
Kommentoi
Ilmianna
Jaa
+Lisää kommentti
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?
Kommentoi
Ilmianna
Jaa
10 VASTAUSTA:
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.
Kommentoi
Ilmianna
Jaa
"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.
Kommentoi
Ilmianna
Jaa
Uusi
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ä?
Kommentoi
Ilmianna
Jaa
Uusi
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 :)
Kommentoi
Ilmianna
Jaa
Uusi
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.
Kommentoi
Ilmianna
Jaa
Uusi
"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.
Kommentoi
Ilmianna
Jaa
Uusi
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.
Kommentoi
Ilmianna
Jaa
Uusi
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++.
Kommentoi
Ilmianna
Jaa
Uusi
Koodi tekee yhden ja vain yhden asian helposti, mutta jos tuleekin muutos, pienikin, se on v-tun vaikeeta ettei se vaikuta muihin asiakkaisiin samalla.
Kommentoi
Ilmianna
Jaa
Uusi
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.
Kommentoi
Ilmianna
Jaa
+Lisää kommentti

Vastaa alkuperäiseen viestiin

D-kielihän on hyvä

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.

5000 merkkiä jäljellä

Peruuta