dravisher Skrevet 25. august 2005 Del Skrevet 25. august 2005 Hei. Jeg skal dette semesteret ha emnet INF1000 ved UiO, hvor vi skal lære å programmere Java. Vi skal her lære å bruke en "pakke" som kalles EasyIO, som skal forenkle innlesing og utskrift. Jeg vil mye heller lære 'ekte' Java (dvs. bruke standardpakker så mye som mulig). Det står i boka at EasyIO er en spesiell pakke som er utviklet for denne boka (dvs. at det er vanskelig å f.eks. dele mine .class filer med andre som ikke bruker denne boka, siden de ikke vil ha EasyIO). Grunnen til at de bruker EasyIO er: "Javas standarverktøy for lesing og skriving til terminal og fil har en del svakheter og forutsetter dessuten kjennskap til begreper som først vil bli omtalt mye seinere i boka." Jeg vil gjerne høre deres kommentarer og meninger om dette. Kan jeg klare meg med kun java standardmetoder eller vil dette være en stor ulempe for meg? Jeg kommer antageligvis ikke til å ta flere INF kurs (jeg studerer fysikk), så senere dummheter(?) fra institutt for informatikk kommer ikke til å plage meg. Takker for hjelp. Lenke til kommentar
Patton Skrevet 25. august 2005 Del Skrevet 25. august 2005 (endret) java.io-pakken er ikke helt enkel å starte med, det er sikkert. Jeg aner ikke hvordan kurset er lagt opp, men det ser ut som at mye lesing og skriving til fil/terminal-vindu er inkludert, er det kanskje lurt å ikke forville seg inn i for mye io før man er stø på språket. Senere er det temmelig vesentlig å forstå java.io-pakken, siden underklasser av java.io.InputStream og java.io.OutputStream blir veldig mye brukt i alle former for kommunikasjon. Edit: Å si at java-pakkene har svakheter er nok i dette tilfelle en heller dårlig formulering. Antakeligvis har de bare wrappet java-pakken med egne klasser og metoder, for å gjøre det enklere for deg å skrive/lese til fil/terminalvindu. Vanligvis er ikke dette nødvendig. Endret 25. august 2005 av Patton Lenke til kommentar
Mr.Garibaldi Skrevet 25. august 2005 Del Skrevet 25. august 2005 (endret) Det er fullt mulig å gjennomføre inf1000 ved å bruke standard ioen til java, men det krever veldig mye mer av deg enn hva resten må igjennom... Så vidt jeg vet er det ganske normalt å bruke slike pakker for begynnerkurs på universiteter, da du vil få en letter tilnærming til de forskjellige temaene. Og selv om du brukere BufferedReader i stedet for In vil du fortsatt ikke lære nok i løpet av kurset til å programmere... Men hvis du bare vil ta inf1000 og så lære deg resten selv vil det nok faktisk fortsatt lønne seg å bruke EasyIO i starten, og så når du er vant med den pakken gå over til javas io pakke. Ellers blir det en mye vanskeligere start enn det trenger å være... [EDIT] Og når det gjelder portabiliteten, så blir ikke den noe vanskeligere... Det bare krever at du har pakken tilgjengelig når du kompilerer... [/EDIT] Endret 25. august 2005 av Mr.Garibaldi Lenke til kommentar
boemane Skrevet 26. august 2005 Del Skrevet 26. august 2005 Så vidt jeg vet er det ganske normalt å bruke slike pakker for begynnerkurs på universiteter, da du vil få en letter tilnærming til de forskjellige temaene. Og selv om du brukere BufferedReader i stedet for In vil du fortsatt ikke lære nok i løpet av kurset til å programmere... Men hvis du bare vil ta inf1000 og så lære deg resten selv vil det nok faktisk fortsatt lønne seg å bruke EasyIO i starten, og så når du er vant med den pakken gå over til javas io pakke. Ellers blir det en mye vanskeligere start enn det trenger å være... Er nok enig her. Når jeg startet med Java programmering på universitetet mitt benyttet vi en pakke som het TerminalIO for input/output til terminal, og en pakke som het BreezySwing for GUI-applikasjoner. Gleden er at boka kan gå gjennom temaer som input og output uten å måtte forklare den mer kompliserte prosessen med hvordan en BufferedReader og BufferedWriter fungerer, og input/output skal være binært eller tegn-basert (character based), osv. Når det er sagt er output til terminalvinduet enkelt nok i Java fra før, og gjøres ved hjelp av System.out.println("Utskrift til teminal vinduet"); Input er noe vanskeligere å krever at du oppretter et objekt som kan lese fra standard in, osv. Gleden med EasyIO er antagelig at den har hjelpe-metoder som tar seg av omgjøring av variabler osv, slik at du kan lese inn et heltatt ved hjelp av metoder som readInt(); osv med ett metode kall. Skal du gjøre det samme krever det kjennskap til å parse input for å sjekke at det er et nummer osv. f.eks: http://www.devsiden.info/index.jsp?side=pastebin&pasteid=7 Kompiler og kjør programmet fra linken overfor v.hj.a: javac KeyInput.java java KeyInput Nå er det helt sikkert noe liknende EasyIO gjør, men boka kan lære deg programmerings prinsipper som har med IO å gjøre uten å gå innom Casting, parsing og Exceptions. Hvis du ønsker å lære deg hvordan du bruker Javas standard IO, er det nok bare å gjøre det, men det kan jo hende du får spørsmål om hvordan EasyIO brukes på eksamen, og selv om du ikke gjør det direkte er det nok mye raskere å skrive "eksamenskode" v.hj.a EasyIO enn det er med Javas IO pakke. uansett. Din beste venn når det gjelder Java programmering er Sun's Java API: http://java.sun.com/j2se/1.5.0/docs/api/ En annen god ressurs er Sun's Java Tutorial: http://java.sun.com/docs/books/tutorial/index.html Og da spesielt IO seksjonen: http://java.sun.com/docs/books/tutorial/es...l/io/index.html Lenke til kommentar
MailMan13 Skrevet 26. august 2005 Del Skrevet 26. august 2005 Scanner klassen i Java 1.5 har vel gjort slike forenklede klasser mer eller mindre utdatert? Lenke til kommentar
Mr.Garibaldi Skrevet 26. august 2005 Del Skrevet 26. august 2005 Scanner klassen i Java 1.5 har vel gjort slike forenklede klasser mer eller mindre utdatert? Både og. Den fjerner problemet med å lese enkle verdier og er generellt enklere å bruke, men kaster fortsatt Exceptions.. Og inntil bøkene blir oppdatert til å bruke scanner ville jeg nok i starten holdt meg til å bruke den pakken boken bruker. Lenke til kommentar
dravisher Skrevet 26. august 2005 Forfatter Del Skrevet 26. august 2005 Takk for hjelpen :-) Tror nok jeg bruker EasyIO siden dere er enige med boka i at java.io kan være vanskelig... Har programmert litt C++ før så jeg er litt skuffet over at det ikke er det vi skal ha her, men men... Lenke til kommentar
Orjanp Skrevet 28. august 2005 Del Skrevet 28. august 2005 Ja, det er greit å bruke en ferdig pakke i starten. Vi gjorde det samme ved Universitetet i Tromsø da jeg tok java der. Etterhvert kan man gå over til å bruke java sine innebygde. Lenke til kommentar
whoi Skrevet 28. august 2005 Del Skrevet 28. august 2005 Jeg har nettopp hatt et år med java programmering på NITH, og vi brukte kun det som lå i suns java api. Nå kunne jeg ikke tenkt meg å gjort det på en annen måte, men som fersking så ville jeg sikkert ikke sagt noe imot det siden jeg ikke hadde hatt peiling uansett. Det har ihvertfall ikke hindra meg på noen måte at vi gjorde det uten eksterne biblioteker. Lenke til kommentar
Grom Skrevet 28. august 2005 Del Skrevet 28. august 2005 Jeg har nettopp hatt et år med java programmering på NITH, og vi brukte kun det som lå i suns java api. Nå kunne jeg ikke tenkt meg å gjort det på en annen måte, men som fersking så ville jeg sikkert ikke sagt noe imot det siden jeg ikke hadde hatt peiling uansett. Det har ihvertfall ikke hindra meg på noen måte at vi gjorde det uten eksterne biblioteker. Samme her . Lenke til kommentar
buskmann Skrevet 28. august 2005 Del Skrevet 28. august 2005 Det er mye lettere å kopiere inn de tre standard linjene for fillesing med Suns API enn å måtte sette riktig CLASSPATH. Lenke til kommentar
boemane Skrevet 29. august 2005 Del Skrevet 29. august 2005 Det er mye lettere å kopiere inn de tre standard linjene for fillesing med Suns API enn å måtte sette riktig CLASSPATH. Nå er det ikke slik at Javas API er direkte vanskelig, men som nybegynner (helt ny) er temaer som Exceptions og casting emner som ofte går over hodet på en. Det er hovedgrunnen til at bøker benytter seg av slike biblioteker når de skal lese og skrive til terminal-vinduet. Jeg er enig med begge sider. Når jeg hadde mitt første Java fag på universitetet husker jeg at jeg valgte å ikke benytte meg av TerminalIO pakken, men lærte meg å bruke Javas API. Problemet jeg hadde var at jeg møtte på kode som var helt ukjent for meg når jeg møtte opp på eksamen. Der fikk jeg nemlig beskjed om å skrive et lite program som benyttet seg av Terminal IO, uten at de gav noe detaljer for TerminalIO's API. Så mitt tips er nok å først lære å bruke koden slik den læres av boka/foreleser, og deretter lære seg å bruke Javas eget API. Lenke til kommentar
Frankium Skrevet 12. september 2005 Del Skrevet 12. september 2005 Nå er kanskje denne tråden litt utdødd, men: Hvilken bok bruker du i faget? Vil anbefale nyeste versjon av Lervik og havdals bok: http://tisip.no/public/bok/enBok.jsp?bokid=471 Den boka tar tidlig in bruk av JOptionPane, som er standard java, og dette er et ganske mye bedre enn slike pakker som utvikles innenfor enkelte av de kursene. JOptionPane er betydelig mye enkelre enn å starte med io.stream osv. Forøvrig er jeg imot å bruke slike pakker som begrenser bruken av det man skriver. Tidligere versjoner av boka jeg nevner ovenfor brukte (men bruker IKKE sånnt tull nå) noe som kaltes mittBibliotek, som var noe av det samme, var veldig irriterende i forhold til at skulle du teste programmet ditt på en annen PC, så måtte denne PC'en ha dette biblioteket og bare helv**te. Lær deg heller bruk av JOptionPane i starten, mulig at kurset er lagt opp til bruk av ett annet tullebibliotek, men da dette kurset satt opp av folk uten peiling. C Lenke til kommentar
dravisher Skrevet 12. september 2005 Forfatter Del Skrevet 12. september 2005 (endret) Vi bruker boken Rett På Java. Selve boken virker grei for meg i allfall. Jeg er helt enig i din holdning til å bruke slike ikke-standard pakker. Jeg har likevel bestemt meg for å bruke EasyIO, siden jeg antageligvis ikke vil programmere så mye mer (ville i så fall måtte ta et ekstra fag 2. semester, jeg studerer fysikk). Missliker sterkt at programmene mine ikke uten videre kan brukes på andres maskiner (er jo høvelig stikk i strid med det Java skal representere), men jeg har hørt historier om at det kreves bruk av slike pakker på eksamen, og det tør jeg ikke sjanse på. Endret 12. september 2005 av dravisher Lenke til kommentar
buskmann Skrevet 13. september 2005 Del Skrevet 13. september 2005 Programmer som bruker slike tilleggspakker kan uten videre brukes på andre maskiner. Man tar ganske enkelt filene som ligger i EasyIO-zip-fila og legger dem i sin egen jar-fil. Jar-fil er standard måte å distribuere javaprogrammer på. Lenke til kommentar
kyrsjo Skrevet 16. september 2005 Del Skrevet 16. september 2005 Sjekka btw. med foreleseren vår i java, han sa "gjør hva pokker du vill med pakken, bare ikke påstå att du har laget easyIO selv og selg den!". Kildekode etc. ligger også ute. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå