Gå til innhold

Småprat om/rundt UiO (informatikk)


Sukkess

Anbefalte innlegg

Videoannonse
Annonse
Blåbær : Jeg har et par 40-50 studiepoeng med Java fra før, det er bare at jeg har kodet PHP mange timer dagen de siste 20 månedene.

 

Bare det som i PHP er

round( $var, 2 );

googlet jeg tre-fire løsninger på hvor IMO alle var skittne.

 

Takk for svar om Joly, VPN fungerte fint.

 

Vel, problemet er vel heller det at du ikke kan Java og java-biblioteket godt nok. En Math.round(var); ser jeg ikke på som noe mer skittent enn round($var, 2); Bortsett fra det at du ikke får bestemt pressisjonen derimot. Hvis du skal skrive ut til skjerm er det også bare å bruke en System.out.printf("Det du vil skrive ut %.2f", enVariabel); som da vil skrive ut variabelen enVariabel med to avrundede desimaler, og da avrundede på matematisk måte, ikke ved å kutte ut alt bak. Se litt på printf du. Veldig kjekk funksjon. Til ditt forsvar da så står System.out.printf av en eller annen grunn ikke i det ellers veldig gode API-et til Java.

 

Ellers er jeg enig i at Java ikke er det beste språket, men det er mer fordi Java gjør så mye for meg at jeg føler jeg mister kontrollen over programmet, ikke at jeg må gjøre så mye for å få til enkle ting som avrunding.

 

Til Blackslash: X-forwarding er tregt, så er det som er problemet.

Endret av NevroMance
Lenke til kommentar
Vel, problemet er vel heller det at du ikke kan Java og java-biblioteket godt nok.
Jeg tror jeg vil skryte på meg en glemt eller fortrengt.

 

Bortsett fra det at du ikke får bestemt pressisjonen derimot.

Som var hele grunnen til at jeg ville avrunde tallet.

 

Hvis du skal skrive ut til skjerm er det også bare å bruke en System.out.printf
Akkurat ja, printf er jo en flott sak. Brukes "skjerm" mye på UiO?

 

På HiO brukte vi utelukkende Swing og ingenting ble printet bortsett fra debugdata direkte i JBuilders console.

Lenke til kommentar

skjerm brukes veldig mye på UiO. Hvertfall i de første kursene (INF1000, INF1010 og INF2220). For å lagre et tall med to desimaler for å skrive det ut med to i GUI vet jeg derimot ikke om det er noe innebygd, bruker Java veldig lite selv, var vel i bunn og grunn kun i INF1000, 1010 og 2220. Men en løsning, hvis det ikke er innebygd noe i swing (Kan ikke swing i det hele tatt), er jo f. eks. denne:

 

double tall = xx.xxxx;
int intTall = (int) (tall + 0.5) * 100; //For å lagre 2 avrundede desimaler
double tallForUtskrift = intTall * 0.01; //tallForUtskrift har nå 2 desimaler, HURRA:D

 

Vil vel ikke synes denne er så veldig skitten, sånn rent bortsett fra stygge variabelnavn. Nå er vel også java noe mer lavnivå enn PHP, så skulle egentlig bare mangle at en måtte gjøre en del mer selv.

Endret av NevroMance
Lenke til kommentar

Det er nok bare jeg som ønsker å bruke så mye intern logikk så mulig mens samtidig færrest mulig operasjoner for høyest ytelse.

 

Det å gange, dele, plusse og caste virker litt overdrevet, men som du sier er nok Java noe lavere enn PHP, så det er nok slik det bør gjøres.

 

Her er forøvrig et eksempel jeg googlet, ikke det mest intuitive:

bd = bd.setScale(2,BigDecimal.ROUND_HALF_UP);

 

Og eksemplet med DecimalFormat skal ikke nevnes engang.

Lenke til kommentar

Nå har tradisjonellt sett php og Java veldig forskjellige bruksområder også. Php er tradisjonellt sett mest brukt for server side webapplikasjoner og CLI script. Mens Java brukes til alt det og enda mer mot enterprise applikasjoner etc.

 

Personlig synes jeg Java er enklere og mer strukturert enn å utvikle i enn Php. Begge har også gode rammeverk og verktøy som støtter mer opp mot moderne utviklingsprosesser og programmeringsparadigmer (objektorientering, IoC, osv.).

 

Når det gjelder diskusjonen Java mot andre programmeringsspråk som introduksjon til programmering så er det ikke sikkert det er fordi Java nødvendigvis er lettere å forstå. Men absolutt en argumentasjon er at f.eks i kontrast til C/C++ som er veldig utbredt i applikasjonsutvikling så slipper man å tenke på pekere, allokering av minne etc. Noe som krever litt mer forhåndskunnskaper (eller relatert kurs man tar parallellt) for å forstå hvordan fungerer. Pluss at Java er cross-platform så man slipper å tenke på native biblioteker til forskjellige OS siden folk flest har en Windows PC eller en Mac hjemme men jobber på skolen med Linux og vil av og til programmere begge steder via hjemmeområdet.

 

Angående oblig2 så er det endel mer å gjøre ja. Man må ihvertfall ha forstått pensum hittil og helst prøvd seg litt på easyIO (evt. Scanner) for å den til. Tradisjonellt i kurset har også metoder som man må implementere i oblig2 falt hardt på nybegynnerne. Dette med parametere til metoder og returverdi.

Lenke til kommentar
Det er nok bare jeg som ønsker å bruke så mye intern logikk så mulig mens samtidig færrest mulig operasjoner for høyest ytelse.

Uten å påstå noe for hardnakket vil jeg tippe at antall instrukser er lavere slik det gjøres i java, enn i php. Når det gjelder ytelse blir det jo rart å sammenligne et scriptspråk som i utgangspunktet kompileres runtime, hver gang, med et språk som har en JIT kompilator. (Enda godt det ikke var C vi pratet om).

 

Når det gjelder å skrive mest mulig kompakt kode (er det det du mener med førrest mulig operasjoner - eller tenkte du faktisk på antall instrukser?) er egentlig ikke PHP et særlig godt valg. I mine øyne er PHP et slags "midt i mellom" språk. Det er på langt nær så elegant, fleksibelt og kompakt som flere andre scriptspråk, samtidig som det ikke har noen av fordelene til ikke-scriptspråk. Må innrømme at jeg har brukt det en del selv, men utelukkende til web. Årsaken er ganske enkelt at det er veldig enkelt å lage en god struktur når det gjelder webprogrammering.

Lenke til kommentar

Konklusjonen er hvertfall at Java er Java og PHP er PHP, og selv om begge er C-syntakset OO språk var det silly av meg å tro at det ene språkets struktur kunne overføres direkte på det andre. Tankesettet som brukes for å bruke 0.5ms på et request i stedet for 0.7ms er nok langt fra like nyttig i Java-paradigmet.

 

+1 for å ha brukt ordet paradigme og god natt. :)

 

( Og angående PHP-parsing hver gang, APC som lagrer parset kode i bytecode gir en pen ytelsesboost. )

Endret av JohndoeMAKT
Lenke til kommentar
( Og angående PHP-parsing hver gang, APC som lagrer parset kode i bytecode gir en pen ytelsesboost. )

Jupp. Det var derfor jeg skrev "i utgangspunktet" :new_woot:

 

Om man teller ms tror jeg både java og php er særdeles dårlige valg :D

 

Men jeg vet godt hva du prater om. Har programert perl siden 97, og hver gang jeg må bruke java sitter jeg og irriterer meg og lengter tilbake til perl

Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...