Miksi JAVA, sehän on HIDAS ????

Moro!

Olen ennekin yrittänyt tästä sotaa vääntää. Ei vaan ole mennyt jakeluun
joten uudelleen. Eli voiko tuolla Javalla tehdä mitään järkevää? Kielenä se
on aika kiva, mutta se ei riitä. Se on siis aivan hillitön teho / muisti
syöppö. Kokeilin tänään nimittäin Inprisen "Borlandin" JBuilderia.
Tuohan on javalla tehty RAD kalu. Sen käyttö vaatii muistia ainakin 80
megaa. ja sen ruudun päivitys on n kertaa hitaampi kuin natiivin Win32
koodin. Eli ei se minusta kovin hyvin tuollaisten applicaatioden tekoon
sovellu. Onkos joku eri mieltä?`

Jos java kerta on teho / muisti syöppö niin miksi sillä tehdään palvelin
puolen ohjelmistoja? Vaiko onko tuota teho / muistisyöppöä vain nuo Swing
kirjastot joita noissa työpöytäsovelluksissa tykätään nykyään käyttää?

Jotta voin antaa jotain lukuja niin se JBuilder käynnistyy koneessani
ilman projektia about 16 sekuntia. Projektin kanssa tulee 10 sekuntia lisää.
Jawa.exe:n muistin kulutus on suoraan käynnistyksen jälkeen ilman projektia about 40 megaa. Sitten kun avaa projektin ja joitakin ohjelman dialogeja niin muistin kulutus on pian 80 megassa. Niin ja se projekti joka oli auki niin siinä oli yksi tyhjä luokka.

Hitaus oli sitä luokkaa, että jos jotain dialogia siirteli sen itse softan päällä niin dialogia sai sananmukaisesti raahata. Ikkunan päivitys sen dialogin alla oli kauhean hidasta ja Task Managerin CPU palkki veti pohjassa koko ajan.

Myöskään applettien suosio tuntuu olevan nykyään hyvin heikko.

Edellä esitettyjen perusteella voinkin siis kysyä, että miten on mahdollista, että java elää. Kuten sanoin niin se on kielenä mukava. Se on helpompi opetuskieli koska se on helpompaa kuin C ja sillä pääsee nopeammin tekemään graafisia ohjelmia. Mutta onko se missään ominaisuuksissa
sellainen, että sitä kannattaa käyttää mihinkään "työn tekoon"? Onhan se laitteistoriippumaton mutta riittääkö se? Kuitenkin suurin osa maailman työasemista on PC / Windows koneita. Suuri osa on vieläpä sellaisia
raudaltaan joka hyytyisi täysin jonkun java lotjakkeen alle.'

Java olisi kielenä mukava mutta se on hidas eikä sillä saa tehtyä riittävän hyviä työpöytäsovelluksia. C olisi tehokas ja sillä saisi nopeita ohjelmia oliopohjaisin menetelmin mutta se on mahdottoman laaja ja vaikea kieli.
Onneksi Microsoft on tajunnut tämän ja on päättänyt yhdistää Javan helppouden ja C :n tehokkuuden. Tästä syntyi C#! MS on jälleen kerran tuonnut meille jotain jota alkuun vihaamme, mutta josta emme enää kohta halua päästää irti.
151913
Äänestä

Muut lukivat myös

Vastaukset 15

Vanhimmat

Kaikki MS-työkalut pitäisi lailla kieltää, koska ne hyödyttävät vain yhtä yritystä estäen muita kehittymästä.
Haluatteko todella, että MS ei omista vain teidän vaatteitanne, vaan myös teidän luunne ja nahkannekin?
Javassa ei ole muuta kunnioitettavaa, kuin tasapuolisuus, mikä on MS:lle kauhistus.

Kyllä sinullakin on aikaa odottaa latausta.
Jos ei ole, niin ei sitten enää ole aikaa töihinkään.

Äänestä

No siksi JAVA, koska se on halpa. Tajuutko, että koneteho on lähes ilmaista verrattuna siihen mitä ohjelmistojen kehitys ja ylläpito maksaa. Siis JAVA:lla saadaan nopeasti ja helposti ylläpidettävää ja virhevapaata (poikkeusjärjestelmä hyvä) koodia, sekä turvallista (JVM). Javassa voidaan käyttää myös C :lla tehtyjä DDL:iä tai muita koodin pätkiä, joten tällä tavalla kaikki mahdolliset toiminnallisuudet voidaan tuoda myös Javaan.

Niin ja tuosta konetehoista ja muisteista vielä, että mietis mitä maksaa vähän monimutkaisempi hello ohjelman tekeminen C :lla, jos mietitään, että kooderi ottaa 20€ tunti, joo 'muutama' tunti pyörähtää, ennen kuin se tosiaankin toimii virheettömästi siinä laitteistossa johon se aiotaan laittaa.. Saman teet javalla 15 sekunnissa ja lopulla rahalla ostat sitä sun mainostamaa muistia ja kumpi tuli halvemmaksi? Niin ja JAVA syö sitä muistia aluksi kertarytinällä, mutta jatkossa se toimii niin kuin muutkin ohjelmat..

Ja lopuksi vielä.. Microsoftin monopoli on todellinen ongelma, sitä ei vaan tavalliset piratismia harrastavat amis jätkät tajuu (tai tajuu ne kohta, kun ei enää pystykään kopioimaan, kun palladiumit yms. MS secure paskat on tulossa..). Siis tilannetta ei voi päästää enää yhtään pahemmaksi ja onneksi isot firmat alkaa luopua mikkisoftan käytöstä ja suosimaan muita työkaluja.

Äänestä
  • >tavalliset piratismia harrastavat amis jätkät tajuu (tai tajuu ne kohta, kun ei enää pystykään kopioimaan


    Itselläni meni 3 kuukautta ennen kuin löysin toimivan crackin Borland JBuilder 8 Enterpriselle.

    Mutta toimiva Win XP Corporation oli minulla pari kuukautta ennen kuin XP tuli kauppoihin.

    Äänestä

  • warettaja kirjoitti:

    >tavalliset piratismia harrastavat amis jätkät tajuu (tai tajuu ne kohta, kun ei enää pystykään kopioimaan


    Itselläni meni 3 kuukautta ennen kuin löysin toimivan crackin Borland JBuilder 8 Enterpriselle.

    Mutta toimiva Win XP Corporation oli minulla pari kuukautta ennen kuin XP tuli kauppoihin.

    Luuletko, että MS makaa laakereillaan piratismin kanssa? Tutustu noihin palladium ja MS secure juttuihin niin ei kohta enää naurata. Siis homma on todellakin menossa isoveli valoo suuntaan ja pehemman kerran. Kerro muillekin sitten kun löydät 'täydellisen' crackin, joka toimii myös service packien jälkeen MS Win2003 advanced serveriin, niin ettei se herjaa siitä 'reggauksesta'. Ja tämä on vasta alkua, noihin uusiin softiin on tulossa kovan käden suojaukset ja mitä enemmän kaikki on netissä, sitä helpompia ja tarkempia kaikki tsekkaukset voi olla.

    MS todellakin vie hommaa siihen suuntaa, että ne saa luvat tutkia sun koneen sisällöin yms. yms.. Ja tuo MS secure vie hommaa siihen suuntaan, että jotta MS lupaa turvalliset systeemit pitää molemmissä päissä olla niiden tuote, jotta homma pelittää..no kuka haluu asioida jonkun kanssa jolla tämä secure homma ei enää pelitä, eli senkin pitäis hankkia taas MS kamaa jne. Ei hyvä. Tämä siis yritysmaailmassa, tavallinen käyttäjä ei sitä välttämättä huomaa, mutta kuitenkin..

    Äänestä

ja se onb turvallisuus, yritäppä tehdä javalla virheelistä koodia joka kaataa koneen..

Äänestä
  • Toi oli muuten hyvä pointti, nimimerkki ÖLLÖ. Kun mulla on käyttis vanhempi Windows-versio, niin kone menee vähän väliä polvilleen mitä erilaisimmissa tilanteissa. Tuo hiton IE :kin kaataa toisinaan koneen, ei jää kuin taivaansininen ruutu näkyvin.
    Mutta yksi huomio. Kun pyöritän koneessa itse tekemääni Java-softaa, niin kone ei ole ko. softan ajamisen yhteydessä mennyt vielä kertaakaan polvilleen. Vaikka muistikin on loppunut välillä kesken, kun olen tietämättömyyttäni tehnyt "järjetöntä" koodia.

    Äänestä

Heh, hidas ja hidas.. Windowsissa java toimii hitaammin kuin esim. Linuxissa.

Win98 kokeilin Limewire ohjelmaa joka on tehty javalla, toimi hitaasti. Nyt Mandrake Linuxissa.. toimii todella nopeasti aivan kuten muutkin ohjelmat..

Äänestä
  • Saisi vähän potkua noiden threadien käsittelyynkin :)

    Äänestä

  • ~~~ kirjoitti:

    Saisi vähän potkua noiden threadien käsittelyynkin :)

    itseasiassa en tiedä sitä sinun pitää kysellä linux keskustelualueilta

    Esim ircssä pyörii kanava #linux.. en tiedä paljoakaan.

    Uskon että linuxin threadien käsittely on aivan omaaluokkaansa kuin Win98, tai ME.. NT, XP, koska se on suunniteltu etupäässä palvelinkäyttöön.

    Ja kun teet kaiken sunin javalle yhteensopivaksi, se toimii sitten myös Windowsissa, jne.

    Löytyy Linuxille myös muita sovelluksia joilla voi tehdä muitakin kuin java ohjelmia.. kuten QT3, voi tehdä nättejä valikkoja jotka toimivat myös windowsissa.. sekä Borlandin Kylix Delphille... jne..

    Äänestä

  • Ernesti kirjoitti:

    itseasiassa en tiedä sitä sinun pitää kysellä linux keskustelualueilta

    Esim ircssä pyörii kanava #linux.. en tiedä paljoakaan.

    Uskon että linuxin threadien käsittely on aivan omaaluokkaansa kuin Win98, tai ME.. NT, XP, koska se on suunniteltu etupäässä palvelinkäyttöön.

    Ja kun teet kaiken sunin javalle yhteensopivaksi, se toimii sitten myös Windowsissa, jne.

    Löytyy Linuxille myös muita sovelluksia joilla voi tehdä muitakin kuin java ohjelmia.. kuten QT3, voi tehdä nättejä valikkoja jotka toimivat myös windowsissa.. sekä Borlandin Kylix Delphille... jne..

    Kysymykseeni sainkin jo vastauksen: Mandrake 9.1 sisältää uuden kirjaston :)

    Ja ei noissa suorituskyvyissä hirveitä eroja Linuxin vanhojen threadien ja NT-sarjan kanssa taida olla:

    http://www.volano.com/report/

    Luotettavuudesta tai vikasietoisuudesta tosin voidaankin sitten puhua erikseen :)

    Tämä NPTL tulee nopeuttamaan Linuxin säikeistystä varsin mukavasti:

    http://java.sun.com/j2se/1.4.2/1.4.2_whitepaper.html#12
    (NPTL on puolet nopeampi)

    Tuota hyödyntääkseen tosin tarvitsee juuri tämän uunituoreen Java-version (1.4.2).

    Äänestä

  • ~~~ kirjoitti:

    Kysymykseeni sainkin jo vastauksen: Mandrake 9.1 sisältää uuden kirjaston :)

    Ja ei noissa suorituskyvyissä hirveitä eroja Linuxin vanhojen threadien ja NT-sarjan kanssa taida olla:

    http://www.volano.com/report/

    Luotettavuudesta tai vikasietoisuudesta tosin voidaankin sitten puhua erikseen :)

    Tämä NPTL tulee nopeuttamaan Linuxin säikeistystä varsin mukavasti:

    http://java.sun.com/j2se/1.4.2/1.4.2_whitepaper.html#12
    (NPTL on puolet nopeampi)

    Tuota hyödyntääkseen tosin tarvitsee juuri tämän uunituoreen Java-version (1.4.2).

    Tässä aika hyvä yhteenveto suorituskyvyn parannuksesta:

    https://listman.redhat.com/archives/phil-list/2002-December/msg00014.html

    "... we found a 4x speedup over NGPT. (and an 8x speedup over LinuxThreads.)"

    Äänestä

Enkä tarkoita mitään surkeita appletteja tms. Vaan esim. RMI:n avulla toteutettuja hajautettuja järjestelmiä tai vaikkapa laajojen sisältöpalveluiden ylläpitoon tarkoitettuja servlet-ohjelmistoja.

Myös tietokantaohjelmointi (tarkoittaen tässä siis jonkinlaisen aplikaation rakentamista DBMS:n päälle) on javaa ja JDBC:tä käyttäen yksinkertaista ja yllättävänkin tehokasta.

Sitten mobiiliohjelmointi. Ja jälleen en tarkoita mitään "hienoja" matopelivirityksiä vaan oikeita ohjelmia. Sanooko Series60 mitään? J2ME-ajoympäristö vie parhaimmillaan erittäin vähän muistia, mikä on mobiililaitteissa elintärkeää.

Java-ohjelmointi on vähemmän virhealtista mm. automaattisen roskienkeruun ansiosta.

Rinnakkaisten säikeiden ohjelmoiminen on myös Javassa suoraan tuettu Core API:n tasolla.

Suurin osa työasemista voi olla toki PC/windows -vehkeitä, mutta kun niille tehtävät ohjelmat eivät varsinaisesti ole niitä missä ne isot rahat pyörivät (varsinkaan pienemmissä volyymeissa). Erilaiset hajautetut tietokantajärjestelmät tai ehkä NMS:t ovat taas sellaisia "hieman" arvokkaampia virityksiä, joiden tekemisessä Java on parhaimmillaan aivan ylivertainen. Ja juuri näissä se portattavuus tuleekin hyvin esille. Jos vaikkapa hajautetussa järjestelmässä on paljon erilaista rautaa ja käyttöjärjestelmää (tyypillisesti esim. HP/UX tai Sun Solaris ja mahdollisesti client-päässä linux tai windows), niin saavutetaan valtava taloudellinen hyöty siitä, että ohjelma tarvii kirjoittaa vain kerran.

Ja Java ei ole oikeasti niin tehoton kuin väitetään. Ajoympäristö vaikuttaa paljon nopeuteen. Joillakin ratkaisuilla päästään jopa suhteellisen lähelle perinteisiä käännettäviä kieliä. M$:n JVM:ltä tällaista suorituskykyä on kyllä tietenkin aivan turha odottaa.

Äänestä

> Jos java kerta on teho / muisti syöppö niin
> miksi sillä tehdään palvelin puolen
> ohjelmistoja? Vaiko onko tuota teho /
> muistisyöppöä vain nuo Swing kirjastot joita
> noissa työpöytäsovelluksissa tykätään nykyään
> käyttää?

Itseasiassa osuit aika tarkkaan oikeaan. Swing on ongelmallinen, koska sen perusajatuksena on ollut, että se näyttää kaikilla käyttöjärjestelmillä samalta. Siksi piirtoa ei ole tehty natiivina.

Mutta jos kiinnostusta löytyy, niin kokeilepa IBM:n kehittämää Eclipse ohjelmointityökalua. Käyttöliittymäkomponentit ovat hillittömän nopeat ja muistia kuluu itselläni vain 10-20 megaa. Huhun mukaan Sun on seuraamassa IBM:n jalanjälkiä seuraavan Java-version kanssa.

Ja tästä päästäänkin Javan väitettyyn hitauteen. Sehän ei pidä paikkaansa muuta kuin juuri graafisten käyttöliittymien osalta. Java-koodi käännetään natiiviksi ajon aikana ja se häviää nopeudessa hyvin vähän vastaavalle C-ohjelmalle. Ja senkin eron ratkaisee usein vain koodaajan taito.

Alla vanha vertailu C:n ja Javan suorituskykyjen eroista:

http://www.sosnoski.com/Java/Compare.html

Tuossa on käytetty erittäin hidasta ja vanhaa Javan versiota. Silti se on pärjännyt yllättävän hyvin.

Ihan viimeisen kahden vuoden aikana Javan suorituskyky on kehittynyt aivan hillitöntä tahtia. Alla on kaksi dokumenttia suorituskyvyn kehittymisestä eri versioiden välillä:

http://java.sun.com/j2se/1.4/performance.guide.html
http://java.sun.com/j2se/1.4.2/1.4.2_whitepaper.html

Tietysti voidaan kysyä, että miten voi olla mahdollista, että Javan suorituskyky on kasvanut keskimäärin lähemmäs neljä kertaa nopeammaksi muutaman vuoden aikana. Ja joissain kohdin yli kaksikymmentäkertaiseksi! Eli on siellä tosiaan jotain jäänyt aikanaan optimoimatta, mutta ei Java siltikään mikään _hirveän_ hidas kieli ole ollut.

Äänestä
  • Itse olen antanut eclipselle 320Mb muistia ja nyt sovelluskehityksessä ei ole ollut ongelmia. Kovalevyn käyttö on minimissään, eikä mikään pääse tahmaamaan.

    Ei sikäli, Javaa pystyy koodaamaan notepadissa ja sehän on kevyt.

    Äänestä

Hyvää kieltä ja virtualikoneen turvallisuutta,
servlet/JSP tekniikkaa ja Koodin universaalia yhteensopivuutta ei
saa kuin javan mukana

Äänestä

Kommentoi aloitusta


Timor kirjoitti:

Moro!

Olen ennekin yrittänyt tästä sotaa vääntää. Ei vaan ole mennyt jakeluun
joten uudelleen. Eli voiko tuolla Javalla tehdä mitään järkevää? Kielenä se
on aika kiva, mutta se ei riitä. Se on siis aivan hillitön teho / muisti
syöppö. Kokeilin tänään nimittäin Inprisen "Borlandin" JBuilderia.
Tuohan on javalla tehty RAD kalu. Sen käyttö vaatii muistia ainakin 80
megaa. ja sen ruudun päivitys on n kertaa hitaampi kuin natiivin Win32
koodin. Eli ei se minusta kovin hyvin tuollaisten applicaatioden tekoon
sovellu. Onkos joku eri mieltä?`

Jos java kerta on teho / muisti syöppö niin miksi sillä tehdään palvelin
puolen ohjelmistoja? Vaiko onko tuota teho / muistisyöppöä vain nuo Swing
kirjastot joita noissa työpöytäsovelluksissa tykätään nykyään käyttää?

Jotta voin antaa jotain lukuja niin se JBuilder käynnistyy koneessani
ilman projektia about 16 sekuntia. Projektin kanssa tulee 10 sekuntia lisää.
Jawa.exe:n muistin kulutus on suoraan käynnistyksen jälkeen ilman projektia about 40 megaa. Sitten kun avaa projektin ja joitakin ohjelman dialogeja niin muistin kulutus on pian 80 megassa. Niin ja se projekti joka oli auki niin siinä oli yksi tyhjä luokka.

Hitaus oli sitä luokkaa, että jos jotain dialogia siirteli sen itse softan päällä niin dialogia sai sananmukaisesti raahata. Ikkunan päivitys sen dialogin alla oli kauhean hidasta ja Task Managerin CPU palkki veti pohjassa koko ajan.

Myöskään applettien suosio tuntuu olevan nykyään hyvin heikko.

Edellä esitettyjen perusteella voinkin siis kysyä, että miten on mahdollista, että java elää. Kuten sanoin niin se on kielenä mukava. Se on helpompi opetuskieli koska se on helpompaa kuin C ja sillä pääsee nopeammin tekemään graafisia ohjelmia. Mutta onko se missään ominaisuuksissa
sellainen, että sitä kannattaa käyttää mihinkään "työn tekoon"? Onhan se laitteistoriippumaton mutta riittääkö se? Kuitenkin suurin osa maailman työasemista on PC / Windows koneita. Suuri osa on vieläpä sellaisia
raudaltaan joka hyytyisi täysin jonkun java lotjakkeen alle.'

Java olisi kielenä mukava mutta se on hidas eikä sillä saa tehtyä riittävän hyviä työpöytäsovelluksia. C olisi tehokas ja sillä saisi nopeita ohjelmia oliopohjaisin menetelmin mutta se on mahdottoman laaja ja vaikea kieli.
Onneksi Microsoft on tajunnut tämän ja on päättänyt yhdistää Javan helppouden ja C :n tehokkuuden. Tästä syntyi C#! MS on jälleen kerran tuonnut meille jotain jota alkuun vihaamme, mutta josta emme enää kohta halua päästää irti.

Anonyymi
5000

Ilmoita asiaton sisältö

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

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

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

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

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

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

Jaa keskustelu