Gå til innhold

  

18 stemmer

  1. 1. Hvilket språk anbefaler du?

    • Object-C, Cocoa -> iPhone SDK
      1
    • C++
      13
    • HTML, Javascript, php
      4


Anbefalte innlegg

Etter mange år med java på skole og fritid, ønsker jeg å fordype meg i ett annet språk. Språket må kunnes utvikles på Mac OSX. De språkene jeg overveier er;

  • Object-C for å spesialisere meg mot programmering på Mac OSX og iPhone.
  • C++ har ingen innsikt i dette språket, men jeg ønsker ett "universelt" språk som lett kan kompileres til å kjøre på både Mac og Windows. Noe ala Spotify klienten.
  • HTML(5), Javascript, PHP. Jeg tror nå sterkt at fremtiden ligger i programmer på nett, men er teknologien moden for at man kan spesialisere seg på nettløsninger? Husker nå fremdeles .com knekken som kom.

Grunnen til at jeg ønsker å gå bort ifra Java, er at jeg ønsker ett rammeverk som går mer mot plattformen den er utviklet for. Det er jo ingen hemmelighet at rene java programmer er trege pga JVM.

 

Ønsker erfaringer ifra utviklere som primært utvikler på Mac OSX.

Endret av picatta
Lenke til kommentar
Videoannonse
Annonse

Svaret på spørsmålet ditt kommer jo helt an på hva du ønsker å lage, og det sier du egentlig fint lite om synes jeg.

 

Selv utvikler jeg en del for iPhone og også web-applikasjoner. Web-appene skriver jeg nesten utelukkende i Python og Django.

Lenke til kommentar

Det er jo ingen hemmelighet at rene java programmer er trege pga JVM.

 

Dette er bare tull og tøys. Det var nok mye sannhet i det de to-tre første årene etter at språket ble lansert. Det går lengre og lengre tid mellom hver gang jeg hører dette argumentet, og når jeg hører det, er det som regel fra folk som ikke har peiling. Jeg trekker din Java-kompetanse i tvil når du kommer med slikt oppgulp.

 

Radlekatt

Lenke til kommentar

Det er jo ingen hemmelighet at rene java programmer er trege pga JVM.

 

Dette er bare tull og tøys. Det var nok mye sannhet i det de to-tre første årene etter at språket ble lansert. Det går lengre og lengre tid mellom hver gang jeg hører dette argumentet, og når jeg hører det, er det som regel fra folk som ikke har peiling. Jeg trekker din Java-kompetanse i tvil når du kommer med slikt oppgulp.

 

Radlekatt

 

Du kan godt trekke min Java-kompetanse i tvil, jeg påstod aldri at den var toppers, og jeg er ihvertfall ingen guru innen java. Den konklusjonen var tatt ifra min bruker-erfaring av de Java programmer jeg har brukt, som på GUI-front oppleves som trege. Mye av grunnen til dette er muligens GUI-bibliotekt som er i bruk? Tenker da på Swing vs. SWT vs. QT.

Lenke til kommentar

Den konklusjonen var tatt ifra min bruker-erfaring av de Java programmer jeg har brukt, som på GUI-front oppleves som trege. Mye av grunnen til dette er muligens GUI-bibliotekt som er i bruk? Tenker da på Swing vs. SWT vs. QT.

Java slet lenge med tregt og tungvindt GUI - særlig AWT. Swing hjalp noe, men det tok noe tid for ytelsen til den ble grei. SWT virke for meg som å være noe raskere enn Swing. Men der er tregere enn QT og WxWidgets.

 

Skal du utvikle for kryss-platform, så er nok GUI bibliotekene QT og WxWidets de to som bør vurderes. Da støtter du Mac, Unix og Windows. Om du velger å bruke C++ eller Python som prgrammerings-språk er opp til deg.

Lenke til kommentar

QT, GTK, MFC, Windows Forms, Thunderforms, Swing, AWT ++++ er alle tynne lag skrevet i C++ som ligger over et system skrevet i C. Jeg har liten tro på at det er noen spesiell merkbar ytelsesforskjell på disse, men dette sier jeg uten å ha testet dette eksplisitt. Men for meg er det mer sannsynlig at det er selve programmet som fører til at disse oppfører seg tregt, enn noen innebygget latency problem i disse. Men som sagt kan jeg ta feil her.

 

Utover det, vil jeg si C++ fordi du sannsynligvis vil lære deg veldig mye nyttig fra det, og du kanskje vil se på programmering fra et annet synspunkt etter at du har lært deg C++. Jeg blåser i GUI og lignende, fordi en bruker programmeringsspråk utifra behov, og ikke utifra subjektive meninger (se tråd om Delphi)

At GUI er raskere i C++ enn Java ser jeg ikke på som noen selvfølgelighet, tvert imot.

 

Det er heller ingen hemmelighet at Java er ikke tregt på grunn av JVM. I likhet med andre løsninger som bruker virtuell maskin, så kompilerer javaprogrammer til maskinkode Just-In-Time, og vil derfor teoretisk være vel så raskt som et program skrevet i C++ og til og med raskere, ettersom disse kan bruke prosessornyvinninger uten at programmet må kompileres på nytt for dette. Java har også fordelen med flyttbare programmer, og ikke bare flyttbar kode som C++. Dessuten må et C++ program skrives spesielt for å være flyttbart, for det er ingen selvfølgelighet at de er det.

Nå er ikke jeg noen Java-fan, fordi jeg synes det mangler mye viktig ("Java made lambda expressions famous by not supporting them") men å si at Java er tregt pga JVM er ikke riktig.

 

Det var mine tanker om emnet.

Lenke til kommentar

Som den eneste har jeg stemt HTML og Javascrip, av den enkle grunnen at det er noe du burde ha en viss kjennskap til (etter min mening). PHP kan du dog legge på hyllen dersom du kan Java og ikke skal jobbe spesielt med PHP. Ref andre diskusjoner her: PHP er jo uansett så enkelt å sette seg inn i at du er ekspert på en uke :p

 

Litt på siden, kan en av grunnen til at Java ofte fremstår som tregt være at Java typisk benyttes på store enterprice applikasjoner, altså programmer som er store og tunge og derfor virker trege?

Lenke til kommentar

C/Objective-C/C++ kan være en god retning å ta. Du kommer til å lære noe du kanskje ikke har mye erfaring med: Manuell minnebehandling. Tror du kommer til å få noen aha-opplevelser over hva som faktisk skjer "under-the-hood". :)

 

Å "gå videre" til C/C++ etter Java, er vel et skritt i feil retning.

 

Jeg synes alle burde starte med C, for deretter å gå over til Java.

 

Jeg hev meg på Mac-bølgen for fire år siden, og i den forbindelse begynte jeg å titte på Objective-C. Jeg har syslet endel i Objective-C litt fra og til de siste par årene, og laget ting både for OS X og iPhone. Jeg kan ikke akkurat si at det å lære seg Objective-C var noe framskritt i forhold til Java. Da var det heller et langt steg tilbake. Nå er jo ikke Objective-C noe særlig nytt heller. Det så dagens lys i 1992. Objective-C 2.0 kom i 2006. Syntaksmessig er Objective-C en katastrofe.

 

Men, så lenge Objective-C er the language of choice i Apples verden, så er man nødt til å forholde seg til det.

 

Radlekatt

Lenke til kommentar
Det er heller ingen hemmelighet at Java er ikke tregt på grunn av JVM.
Du sier altså at det ikke er JVM som er årsaken til at Java er tregt? Hva er da årsaken?

Forøvrig, at det tar noe tid å starte JVMen betyr ikke at java i seg selv er treigt.

 

I hastighet stiller C++ og Java i samme klasse, mens man har de laverenivå språkene over der igjen, da C, assembly etc.

Lenke til kommentar
Java er ikke tregt.

Mulig av JVCen har blitt bedre de siste årene. Men så nylig som 2005 husker jeg at BitTorrent-klienten Azureus fort kunne bruke 25-50% prosessorkraft på min A64 3400+ når jeg lastet ned to torrenter samtidig. µTorrent til sammenligning brukte ~0% prosessorkraft på de samme torrentene.

Lenke til kommentar

Man kan da skrive trege programmer i alle språk.

 

Selv synes jeg ikke noen av retningene virker særlig spennende. Men dersom jeg skulle velge så må det nok bli Objective-C, uten at jeg har noe særlig grunnlag for å si det. Synes C++ hverken er fulg eller fisk eller elegant eller pragmatisk eller noe.

Lenke til kommentar
Java er ikke tregt.

Mulig av JVCen har blitt bedre de siste årene. Men så nylig som 2005 husker jeg at BitTorrent-klienten Azureus fort kunne bruke 25-50% prosessorkraft på min A64 3400+ når jeg lastet ned to torrenter samtidig. µTorrent til sammenligning brukte ~0% prosessorkraft på de samme torrentene.

Det er det samme som Apple sier: Man lager dårlige programmer i Flash. (Fordi det bruker flere lag)

 

At det finnes Flash applikasjoner som er dårlige er jo en ting, men det betyr jo ikke at alle flash applikasjoner er dårlige.

På samme måte finnes det gode java applikasjoner, og dårlige java applikasjoner. For min del synes jeg Azureus var ekstremt bloated. Det var meget bra før, brukte lite minne og var generelt raskt, omtrent som µtorrent er nå.

Og det var før 2005, på en eldre PC.

 

Jeg vil anbefale trådstarter å se litt på HTML, litt javascript og php, men fokusere på C++, evt. Java enterprise. Det er vel det som er standarden i markedet for øyeblikket.

Egentlig er det vel en smakssans. Ønsker du å jobbe på bakrommet bør du ta Java enterprise og C++, og ønsker du å jobbe med brukergrensesnitt kan du jo se på HTML5, javascript og de greiene der. Bruker du litt tid på å lære deg dette vil det nok komme godt med så som fler og fler programmer flyttes over til skyen.

Lenke til kommentar

Kanskje jeg må bite dette i meg senere, men jeg har veldig liten tro på at cloud computing vil bli noe annet enn for spesielt interesserte.

Utover det er helt klart Java og .NET det som er mest lønnsomt jobbmessig, men jeg mener at du vil lære veldig mye nyttig, og sikkert ha en del "Aha!" opplevelser av å jobbe litt med C++. Du trenger ikke akkurat bli ekspert (ettersom C++ muligens er det mest omfattende språket du kan lære deg) men det kan brukes til alt fra mobiltelefoner til enterprise programmer, og er blitt brukt til alt dette mer mer eller mindre stort hell.

 

En ting jeg ihvertfall synes var gøy, var å jobbe med OpenGL i C++. Det er i varierende grad komplisert (avhengig av hva du skal gjøre) men du får veldig mye tilbake av å jobbe med det, både av veldig direkte resultater som imponerer andre enn kun likesinnede, og mer kunnskap om hvordan ting fungerer under panseret.

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å
×
×
  • Opprett ny...