salah Skrevet 18. november 2009 Del Skrevet 18. november 2009 Jeg leter, leter og leter etter svaret, men får ingen. Jeg har søkt rundt om på utallige diskusjonsforumer med tråder om "Python vs. Java" og lignende. Ingen har noe svar utenom "Python & Java: A Side-by-Side comparison" av Steve Ferg, nederste (5.) kommentar hvor "Daniel" skriver: Comaring python to Java is like comparing a bicyle to a car. Sure, it’s easier to learn to ride and you don’t need to struggle with the licencse, but as soon as you want to go more than 10 miles (“write an enterprise application”), the only choice of the two is the car. Han sitter med et godt poeng her, at ved større programmer vil man velge det som er best. Personlig har jeg programmert PHP i 3-4 år og dette holder meget godt til web, men så skal jeg jobbe i en bedrift som driver med programmering til sommeren og trenger å forberede meg til å kunne programmere igjen. Jeg har også programmert en del i Python og noe i Java og jeg er ikke i tvil om at koden er enklere å skrive i Python enn Java. Men jeg har også innsett det store problemet med at Python rekker egentlig ikke i det store laget, spesielt ikke når det gjelder f. eks. sensitive data, eller kode som ikke skal kunne leses rett fra Notepad. Derfor trenger jeg et programmeringsspråk som kan gjøre disse oppgavene, ha god støtte for GUI og at "folk flest" skal kunne åpne det med et klikk uten å måtte ha installert f. eks. Python. Jeg er også klar over at Python kan konverteres om til binærkode, men dette er kronglete og ikke en ideel måte for større applikasjoner. Spørsmålet er om Java da er et språk å investere i? Er dette virkelig så fremtidsrettet som jeg har inntrykk av, når jeg har lest diverse steder? For meg er oversiktlighet og det å kunne lage programmer som lett kan åpnes viktig. De aller fleste har Java installert, de som ikke har det greier som regel å skaffe seg dette enklere enn Python (fordi det er populært i forhold). Dessuten vil jeg ikke binde meg til Microsoft fordi det ikke er utelukket at det kodes programmer til mobile enheter (f. eks. Android). Hva er det dere som kan mer enn meg, mener om dette? Bør jeg gå for Java, bruke utallige timer på å krangle meg fram til resultater, rive av meg masse hår, svette og tårer? Lenke til kommentar
zotbar1234 Skrevet 18. november 2009 Del Skrevet 18. november 2009 Jeg har også programmert en del i Python og noe i Java og jeg er ikke i tvil om at koden er enklere å skrive i Python enn Java. Men jeg har også innsett det store problemet med at Python rekker egentlig ikke i det store laget, spesielt ikke når det gjelder f. eks. sensitive data, eller kode som ikke skal kunne leses rett fra Notepad. Beklager, men du må spesifisere bedre hva du mener her (leses rett fra Notepad? Ble et språk utilstrekkelig pga. et komplett udugelig verktøy? Jeg _må_ ha misforstått budskapet). Derfor trenger jeg et programmeringsspråk som kan gjøre disse oppgavene, ha god støtte for GUI og at "folk flest" skal kunne åpne det med et klikk uten å måtte ha installert f. eks. Python. "folk flest" kan ikke kjøre et kompilert C++-program uten en loader og (ofte) en rekke delte biblioteker samt en linker. Det finnes verktøy for å "pakke" pythonprogrammer sammen med passende biblioteker i en eksekverbar fil, hvis det er av interesse. Men med noen særdeles få unntak er dette en uinteressant egenskap. Jeg er også klar over at Python kan konverteres om til binærkode, men dette er kronglete og ikke en ideel måte for større applikasjoner. Nøyaktig hva er ikke-ideelt? For meg er oversiktlighet og det å kunne lage programmer som lett kan åpnes viktig. $ less hello-world.py Det kan *ikke* gjøres enklere. De aller fleste har Java installert, de som ikke har det greier som regel å skaffe seg dette enklere enn Python (fordi det er populært i forhold). Eh, what? Hvordan er det vanskelig å dobbelklikke på en exe-fil? Eller klikke på en pakke i en passende package manager? Og hva Javas tilgjengelighet angår, forleden installerte jeg windows xp i en virtualbox-instans. Windowsinstallasjonen kom *vitterlig* uten Java og uten Python. Gentoo-installasjonen min dog kom med python. Hva er det dere som kan mer enn meg, mener om dette? Bør jeg gå for Java, bruke utallige timer på å krangle meg fram til resultater, rive av meg masse hår, svette og tårer? Du bør bruke den nødvendige tiden for å tilegne deg kunnskap om begge språk. Iallfall hvis du skal kunne ta et velbegrunnet valg. Det uavhengig av hva du bestemmer deg for. Lenke til kommentar
Jankee Skrevet 18. november 2009 Del Skrevet 18. november 2009 (endret) Python og java vil neppe vere ideell til same del av eit prosjekt, men det kan veldig lett utfylle kvarandre. Berre gå for eit programmeringsspråk blir som å gå for bilen men du gløymte å bestille dekka. Det er ein opppfatning (spesielt blant homogene utvkilingsmiljø) at det lønner seg å berre kunne det eine gjeldande, dette er så innihampen feil då det er mangfoldet som gjer ein til ein god programmerer og seinare god løysningsarkitekt. Å kunne sjå problemet løyst å frå ulike måter gir ein stor fordel når dei beste løysningane skal implementeres. Ein kan komme i situasjoner der ein kjapp python-app rævkjører ein java-app til dei grader, men når ein kan berre java så vil ein gå for java-appen uansett. Og som zotbar1234 seier: tilegn deg kunnskap om begge. Endret 18. november 2009 av Jankee Lenke til kommentar
Sokkalf™ Skrevet 18. november 2009 Del Skrevet 18. november 2009 En god programmerer kan ofte flere enn ett språk. Python og Java kan jo potensielt utfylle hverandre ganske godt, spesielt ved hjelp av ting som Jython. Jython programs can seamlessly import and use any Java class. Lær deg begge, og lær deg å kombinere dem for å dra nytte av både Javas og Pythons sterke sider. Lenke til kommentar
GeirGrusom Skrevet 18. november 2009 Del Skrevet 18. november 2009 Selv synes jeg Java er et litt dårlig designet språk, men det har sine styrker. Du finner aldri et ideelt språk, fordi det eksisterer ikke. Forskjellige språk er egnet til forskjellige oppgaver. Lenke til kommentar
inaktiv000 Skrevet 18. november 2009 Del Skrevet 18. november 2009 (endret) Gå over til Java. Er du vant med PHP og Python tror jeg det vil være en fin overgang til å begynne med objektorientering (kanskje du har brukt det i PHP? Jeg gjorde ikke da jeg for mange år siden kodet litt PHP). Bonus: da kan du lage Android-apps! Så ser du litt på en C-variant, skal du lage Windows-GUI er kanskje C# interessant. Er du interessert i elektronikk/lavnivå, kan du prøve vanlig C. Kommer du over Matlab, lag noen greier der og. Etter hvert vil du ikke merke hvilket språk du koder i (syntaxmessig), og da er du litt mer frigjort Jeg opplevde dette for ikke lenge siden - lagde et testprogram for en robot som samler inn måledata i C, og skrev Matlab-program til å analysere dataene. Jeg har aldri vært noen røver i Matlab, men ettersom jeg visste hva jeg kunne forvente skulle finnes (av string-funksjoner for eksempel), var svarene noen google-søk unna. Så skulle jeg teste litt koding for Android, og det var fascinerende enkelt å komme i gang med (de har noen tutorials på developer-sidene). Som andre sier, ikke øv deg på å bli fastlåst til ett språk (men lær deg gjerne mer om særegenhetene/fordelene/mulighetene/ulempene/virkemåten til de ulike) Endret 18. november 2009 av cecolon Lenke til kommentar
jonnor Skrevet 18. november 2009 Del Skrevet 18. november 2009 (endret) Comaring python to Java is like comparing a bicyle to a car. Sure, it’s easier to learn to ride and you don’t need to struggle with the licencse, but as soon as you want to go more than 10 miles (“write an enterprise application”), the only choice of the two is the car.Han sitter med et godt poeng her, at ved større programmer vil man velge det som er best. En dårlig bil-analogi gjør ikke et godt poeng. Personlig har jeg programmert PHP i 3-4 år og dette holder meget godt til web, men så skal jeg jobbe i en bedrift som driver med programmering til sommeren og trenger å forberede meg til å kunne programmere igjen. Jeg har også programmert en del i Python og noe i Java og jeg er ikke i tvil om at koden er enklere å skrive i Python enn Java. Men jeg har også innsett det store problemet med at Python rekker egentlig ikke i det store laget, spesielt ikke når det gjelder f. eks. sensitive data, eller kode som ikke skal kunne leses rett fra Notepad. Du kan ikke lese .pyc filer i Notepad, men det er riktignok trivielt å deassemble de til lesbar kode. Men det er ikke spesielt vanskelig i Java heller. Når det gjelder beskyttelse av sensitiv data så har det lite til ingenting å gjøre med programmeringsspråket du bruker. Java er muligens mer fremtidsrettet enn Python, ihvertfall hvis du har tenkt til å jobbe for det gjengse utviklingselskap. Ikke fordi det er et bedre språk, men fordi "alle" bruker det. Endret 18. november 2009 av jonnor Lenke til kommentar
GeirGrusom Skrevet 18. november 2009 Del Skrevet 18. november 2009 Jepp. Java er vel et av de språkene som lettest vil gi deg jobb i fremtiden. Lenke til kommentar
steingrim Skrevet 18. november 2009 Del Skrevet 18. november 2009 Men jeg har også innsett det store problemet med at Python rekker egentlig ikke i det store laget, spesielt ikke når det gjelder f. eks. sensitive data, eller kode som ikke skal kunne leses rett fra Notepad. Jeg tror ikke du får noen fornufige svar før du forklarer hva du mener med dette. Som andre har påpekt, sensitive data har ingenting med programmeringsspråk å gjøre. Jeg har bash-script som håndterer svært sensitive data. Hvis du mener at "kildekoden er tilgjengelig", så er den like tilgjengelig i Java og C# om du kjører class-filen/assemblyen gjennom henholdsvis Jad eller Reflector. Men som nevnt, det er ikke avgjørende for hva slags data man behandler. Når det er sagt, jo flere språk, plattformer og rammeverk du kan, jo "bedre". Kunnskapene tilegnet på et område påvirker hvordan du løser problemer på andre områder. Lenke til kommentar
inaktiv000 Skrevet 18. november 2009 Del Skrevet 18. november 2009 Når vi kommer med sitater: Å si at Java er bra fordi det kan kjøres på alle plattformer, er som å si at analsex er bra fordi det kan kjøres på alle kjønn Lenke til kommentar
symbolicweb2 Skrevet 18. november 2009 Del Skrevet 18. november 2009 (endret) Om en antar at du har frie tøyler m.t.p. valg av språk og verktøy og at dette kanskje er et nytt prosjekt er det du som må finne ut av dette selv. Dette er en del av jobben din som programmerer. Jeg ville da forsøkt å skape en oversikt over hva prosjektet går ut på. Web? Database? Embedded type utvikling? 3D? Grafikk? Video? Lyd? Kommunikasjon? .. o.l. .. o.s.v. .. Om en går ut i fra at du skal jobbe på en allerede eksisterende kodebase ville jeg funnet ut av hvilke språk og verktøy andre utviklere i bedriften bruker og gått for det samme som dem. Det er en del direkte faktafeil og det er gjort endel feilaktive (eller kanskje bare utydelige?) slutninger i innlegget ditt, men det gjør ikke så mye -- og jeg antar at det du egentlig tenker er at Java har flere "tunge" verktøy og biblioteker tilgjengelig for seg enn Python og dét stemmer. Det betyr ikke nødvendigvis at dette er noe du har behov for, derfor forslagene mine over .. Endret 18. november 2009 av symbolicweb2 Lenke til kommentar
inaktiv000 Skrevet 18. november 2009 Del Skrevet 18. november 2009 Hva skjer dersom du blir en mester i Java men bedriften forventer at alle skriver C#? Da må du bruke 10 minutter på å venne deg til syntaksen, og et par dager til å bli kjent med tilgjengelige biblioteker og IDE. Til gjengjeld sitter du kanskje med forventninger om biblioteker som finnes i Java og kan komme på gode løsninger C#-folkene ikke tenkte på, eller har lært deg noen design patterns som er vanlig i Java og kan overføre de til C#. Alt i alt mener jeg at det man lærer i ett språk veldig fort kan overføres "billig" til et annet Lenke til kommentar
GeirGrusom Skrevet 18. november 2009 Del Skrevet 18. november 2009 Å lære seg syntaks tar kort tid, men det kan ta litt lenger tid før en lærer seg de lure triksa i andre språk (fordi en er vandt til andre triks i andre språk). I tillegg tar det vesentlig lenger tid før en har forståelse for standardbiblioteket som språket bruker. Det er også noen språk som er mindre egnet(var det noen som sa VB?) som utgangspunkt enn andre. C og C++ er selvsagt alltid et godt utgangspunkt, men det er ikke like ettertraktet som Java, C# eller Visual Basic på jobbmarkedet. Lenke til kommentar
___ Skrevet 19. november 2009 Del Skrevet 19. november 2009 Du burde titte litt på Scala. Det er et morsomt språk, der programmene kompileres til Java bytekode og kjører på Java VM. Werner Lenke til kommentar
Wattengård Skrevet 20. november 2009 Del Skrevet 20. november 2009 Spørsmålet er hva du ønsker å gjøre i fremtiden. Vil du utvikle store bissnissløsninger? C#/Java (kanskje til en viss grad VB, men helst ikke) Vil du kode kule web2.0 applikasjoner? Ruby/Python/PHP Vil du jobbe nærmere "metallet"? C++ Selv har jeg høyskoleutdanning basert på Java, men sitter å koder C# nå. En veldig enkel overgang. Syntakset er nesten kliss likt, bare å lære seg bibliotekene. Scala, Go, Groovy og andre lignende tør jeg påstå er for spesiellt interesserte. En kul hobby, men sjelden man får bruk for i arbeidslivet. Erlang, Lisp, Lua etc har jeg sett noen få annonser med, men da har det ofte vært veldig spesialiserte stillinger. -C- Lenke til kommentar
Azidops Skrevet 23. november 2009 Del Skrevet 23. november 2009 Skal ikke lage opprør i menigheten med å fortelle hva jeg synes er best, men hvis det er karriereplanlegging du holder på med ville jeg anbefalt Java eller C#. Holder på å søke jobb nå og det er som regel disse to språkene det søkes folk i. Ser relativt sjeldent at man søker etter hovedkompetanse i PhP og Phyton. Er det webteknologi så er det som regel på .NET plattformen. Lenke til kommentar
Wattengård Skrevet 23. november 2009 Del Skrevet 23. november 2009 Det er vel ikke helt riktig... Tror heller man må skille mellom "Web 2.0" apps og RIA/business webapps. Sistnevnte er nok mye .NET og Java, men jeg tror nok brorparten av "Web 2.0" går på Ruby, Python, PHP etc. Spørsmålet er ikke lenger så mye hvilket språk man skal lære seg, men hvilke teknologier. -C- Lenke til kommentar
Veix Skrevet 23. november 2009 Del Skrevet 23. november 2009 Programmeringsspråk som er populære i industrien for tiden er Java, PHP, C# og C. Ingen av disse kommer nok til å forsvinne med det første, og det er vel de mest sannsynlige språkene å se i jobbannonser fremover. Likevel gjelder det å velge rett språk til rett oppgave. Alle språk har svake og sterke sider. Det mange glemmer når man diskuterer dette på nettet, er hvor lett det er å få tak i folk som kan jobbe med det. For en bedrift hjelper det lite om Ruby er et flott språk dersom få ansatte kan det, og rekrutteringsmulighetene er mye mindre enn for f.eks. Java. Mye buzz genereres på mailinglistene om populære språk, så det er lett å få inntrykk av at et språk er mer utbredt enn det egentlig er. Men hvis du kan flere språk, så mer makt til deg Hvis du har kodet kjerneapplikasjonen til bedriften din i Haskell, så har du i det minste litt jobbsikkerhet Lenke til kommentar
Sokkalf™ Skrevet 24. november 2009 Del Skrevet 24. november 2009 Har sett flere eksempler på apps som er kodet i f.eks Java på backend, med Ruby, Python o.l på frontend. Ting som Jython og JRuby, Groovy, Scala etc. har også gjort litt mer "eksotiske" språk mer akseptert i såkalte "java-shops". Opprettholder min anbefaling om å lære Java og Python. Hvis du har minst erfaring med Java ville jeg nok fokusert på å lære dette skikkelig først, for deretter å se på hvordan du kan kombinere det med Python. Å kunne flere språk er uansett en bonus, og gir deg litt nyttig tillegg på CVen, selv om en evt. arbeidsgiver kun leter etter en java-programmerer, f.eks. Lenke til kommentar
Azidops Skrevet 24. november 2009 Del Skrevet 24. november 2009 Det er vel ikke helt riktig... Tror heller man må skille mellom "Web 2.0" apps og RIA/business webapps. Sistnevnte er nok mye .NET og Java, men jeg tror nok brorparten av "Web 2.0" går på Ruby, Python, PHP etc. Benekter du fakta?? :!: Ingen tvil om at nevte språk er fantastiske til Web 2.0, men nå nevnte jeg hva jeg ser i jobbannonser. Der ser jeg lite til Ruby og Python, i hvert fall her i Bergen. Er også enig i at jo flere språk gir deg en bredere fagkompetanse, men nå spør OP om konkrete råd til neste språk han bør lære seg. Jeg er tilhenger av å lære seg et språk av gangen og mitt konkrete tips er Java eller C#, evt. det språket bedriften OP skal starte i arbeider med. 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å