Gå til innhold

[Løst] Hvor burde jeg lære programmering og hvilket språk?


Anbefalte innlegg

Videoannonse
Annonse

For min del synes jeg det var greit. I forelesningene tok ikke vi opp det faktum at string var en klasse før vi hadde om klasser. Behandlet det bare som en vanlig datatype.

Samme med public static void greine. Vi fikk bare beskjed om å behandle det som noe rare greier som måtte være der. Fram til det ble forklart i en senere forelesning da alle var litt mer oppe å gå på hvordan ting faktisk fungerte.

 

Føler det blir litt sånn som i matte fag o.l. Det er ikke alt det lønner seg å forklare med en gang. Og tro meg, jeg er originalt veldig motstander av det å bare måtte godta ting, men noen ganger så må man bare. Kanskje fordi det krever kunnskap å forstå hva det er som egentlig skjer, og denne kunnskapen ikke er noe som er så greit å forstå før man har holdt på litt, eller forstått andre ting.

 

Off topic:

Litt gøy at tråden er satt som løst, og trådstarter var fornøyd med svaret på side 2, men vi holder på uansett og er nå på side 7 :p

Endret av Perrern
  • Liker 1
Lenke til kommentar

 

Hello World er en totalt verdiløs målestokk for programmeringsspråk.

For all del, men når noen foreslår Java fordi det er lett å lære samtidig som man plutselig får slengt alle disse konseptene i ansiktet må noen nesten ta til ordet.

 

Hvilke konsepter er det egentlig du tenker på? Det er med Java som med de fleste andre språk slik at du ikke trenger lære deg absolutt alt på en gang. Ja - du må forholde deg til at koden din bor inni en klasse, men herregud, hvis det er allerede der det butter ...

Lenke til kommentar

Så det er helt greit at noen konsepter er noe en bare må akseptere for så å håpe på forståelse senere? :--)

Ja, ellers blir det liksom litt vanskelig å driver med IT, og en del andre ting også. :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------)

Lenke til kommentar

Hvilke konsepter er det egentlig du tenker på? Det er med Java som med de fleste andre språk slik at du ikke trenger lære deg absolutt alt på en gang. Ja - du må forholde deg til at koden din bor inni en klasse, men herregud, hvis det er allerede der det butter ...

Konsepter:

#1: Method visibility

#2: static vs instance

#3: Class

#4: Array

#5: Global instance

 

Java er heller ikke spesielt lett å lære min sin bastardhybrid av primaries, objekter, høynivåkonstruksjoner og skrekkelig mange lavnivå.

 

--

 

De fleste ser ut til å ha samlet seg rundt idéen om at språket bør være lett å lære seg. Men om man gladelig kan ignorere en masse konsepter, i Javas tilfelle til og med være med, er det plutselig plenty av gode språk å bruke.

Endret av Lycantrophe
Lenke til kommentar

Jeg er enig med Lycantrophe. Java har for mye tvang på bruk av avanserte konsepter selv i banale programmer. Jeg vil si at det er direkte begynnerfiendtlig. Jeg lærte programmering i gode gamle Game Maker, der begynte man med drag and drop, så små kodesnippets, helt opp til muligheter for "vanlig programmering" med c-syntaks. En veldig gradvis introduksjon altså, helt motsatt av Java.

 

Deretter Delphi, som også er veldig egnet til gradvis læring, enten ved at man bruker GUI-designeren og fyller inn kode i event handlers, eller om man lager et pascal-program uten objekter, og deretter lærer en og en ting.

 

Begge hadde også detaljerte bruksanvisninger som var enkle å forstå fordi basisfunksjonene ikke er avhengig av avanserte konsepter.

Lenke til kommentar

problemet er vel heller at mange er interessert i å lære seg å lage programmer , på samme måte som de ønsker å bruke pcer mens det ikke er så veldig interessert i hvordan de er satt sammen.

 

Ergo er det mange som kunne tenke seg å lage programmer men de har ikke ork og tid til å sette seg inn alt som kreves før man kan begynne med salve programmene.

Det er heler ikke særlig givende når alt blir endret rett før man er i mål slik at man må begynne helt på nytt

 

Skal man lære alt på kort tid så må man gå kurs , flere kurs

ofte medfører det også at man må bruke mye penger på dette , mer penger an det man egentlig har råd til

Da har man lært "alt" før det blir endret

 

Dette er fryktelig irriterende

Lenke til kommentar
er det plutselig plenty av gode språk å bruke.

 

 

Bingo. Det er mye å surre seg bort i. Med PHP kan det sikkert bli mye om man prøver å lære html og sql i samme slengen, eller konfigurere opp apache, med java kan det være et herk å måtte sloss med javac og classpath på kommandolinja eller prøve å begripe et komplekst IDE for å slippe kommandolinja. Problemet er ikke at det dukker opp et par språklige konstruksjoner som ikke er superrelevante akkurat der og da. Du trenger ikke bry deg om muligheten til å lese kommandolinjeparametre fra et array når du skal spytte ut en "hallo". Det er rett og slett ikke der skoen trykker. Det er en del andre ting som kan bli knotete i møte med Java, men du har ikke egentlig vært inne på noen av dem. Vi kan begynne med "print" vs. "System.out.println" ... io i Java er ikke rettfram f.eks., selv om heller ikke dét bør være noe hinder i en helloworld-sammenheng.

Lenke til kommentar

Jeg er enig med Lycantrophe. ...

Deretter Delphi, som også er veldig egnet til gradvis læring, enten ved at man bruker GUI-designeren og fyller inn kode i event handlers, eller om man lager et pascal-program uten objekter, og deretter lærer en og en ting.

 

Begge hadde også detaljerte bruksanvisninger som var enkle å forstå fordi basisfunksjonene ikke er avhengig av avanserte konsepter.

 

Bruksanvisninger? Vel ...

 

Jeg syns ikke noe av det du skriver henger på greip. For det første lærer man ikke programmering ved å fylle ut felt og trykke på knapper i et IDE.

 

For det andre blir man da eksponert for uendelig mer komplekse konstruksjoner enn de du forsøker å kritisere Java for å eksponere nybegynnere for.

 

Det virker også som heller ikke du klarer å skille mellom språk og IDE. En vanlig bivirkning av å lære programmering med Delphi?

 

Og om du velger å programmere ikkeobjektorientert i Object Pascal eller i Java blir vel nøyaktig helt ekvivalent?

 

Hvis man først skal lære seg det helt grunnleggende ved programmering gjennom å prøve seg på noe såpass avansert som GUI-programmering, ikke noe jeg ville anbefale mao, så kan jeg være enig i at Java's Swing nok er en større kanon å skyte seg i hodet med enn f.eks. Forms i VB eller GUI-greiene i Delphi.

Endret av quantum
Lenke til kommentar

En annen negativ ting med Java og Python er at de har garbage collection. Etter min mening er dette en katastrofe i et begynnerspråk. For det er et avansert konsept, og det er usynlig, den kombinasjonen er idiotisk i et begynnerspråk.

 

Du må vel nesten ned på maskinkodenivå for å unngå avanserte og usynlige konsepter som ligger og lurker i bakgrunnen. Og nedenfor softwarenivået finner vi CPU'en og alskens ... huffhuff.

Lenke til kommentar

problemet er vel heller at mange er interessert i å lære seg å lage programmer , på samme måte som de ønsker å bruke pcer mens det ikke er så veldig interessert i hvordan de er satt sammen.

 

Ergo er det mange som kunne tenke seg å lage programmer men de har ikke ork og tid til å sette seg inn alt som kreves før man kan begynne med salve programmene.

 

De får jo da bare finne på noe annet å gjøre ... det er faktisk KUN helloworld-nivå programmering som ikke krever ganske mye arbeid. Men du har generelt et veldig godt poeng i det du skriver først her synes jeg. Hvis et språk skal være nogenlunde lett og interessant å lære, bør man kunne komme igang med et passelig stort subsett av språkkonstruksjoner, samtidig som man må slippe å bli forstyrret av de mer avanserte tingene.

 

Her kommer Java til kort, ikke på grunn av språket, men på grunn av bibliotekene man må bruke. Å skrive "Hello" på skjermen går til nød, men når man kommer litt videre og skal drive med io mot fil f.eks., er det lett å gå seg vill. Noen læresteder tilbyr elevene enklere grensesnitt mot de mest komplekse Java-grensesnittene, og det må nok til.

Lenke til kommentar

Det er GUI som gjelder hvis man skal lage programmer , kom ikke å påstå at man skal begynne med tekstbasert brukergrisesnitt i 2014

 

ved å dra objekter på en form så spares man også for mye koding ( som tar mye tid for få til å virke ).

 

Nå er det heller ikke særlig givende å må skrive en halv side med kode for å få det første skikkelige programmet til fungerer.

 

Som delphi bruker har jeg en sterk mistanke om at ikke alle er helt klar over hva Delphi eller .lignede verktøy er for noe

på samme måte som mange mener at man ikke har granlugg for klage på windows 8

Lenke til kommentar

 

Som det ble nevnt tidligere, for min del var det mye artigere å bare få noe til "å skje" kontra å gjøre alt korrekt i begynnelsen. Jeg er IKKE en person som lærer på forelesninger, jeg lærer svært lite av bøker som forklarer meg at: slik og slik skal du programmere.

Jeg lærer av å teste koden, feile for så å etter en stund kunne lese koden med enkelhet.

 

 

Hva lærer du egentlig på den måten der? Hvor lang tid tar det?

 

Tjah, omtrent like fort om ikke fortere enn for de som dro på forelesninger... Hvis du vil ha tidsaspekt, så ca 1-2 uker på å få til en veldig basic grunnforståelsen av java, 1 måned før jeg begynte å få noe som begynte å ligne på fart på kodingen. Med Python, så fikk jeg litt fart etter ca 2 uker. Jeg aner ikke hvor lang tid det skal ta å få på plass koding. (Forskjellen er at i Python, så skjønte jeg hva jeg gjorde rimelig fort og fikk en grunnleggende forståelse enkelt og greit) Når jeg startet med Java, så ble det en god del mer (jeg limer inn dette her på denne plassen, fordi det virket forrige gang) Etter en stund fikk jeg oversikten. Men, for min del, hadde jeg synes jeg det var ganske greit å få feedback når jeg skrev noe og ikke trengte å skrive så vanvittig mye for å få noe "til å skje" java i begynnelsen føles som om man må skrive gankse mye for å få en liten ting til å skje, mens man i f.eks Python kan gjøre det samme med mye mindre tekst.

 

Til spørsmålet om hva jeg lærer? Tjah, omtrent det jeg ønsker å lære meg, iallefall ifølge karakterene mine.

Lenke til kommentar

Det er GUI som gjelder hvis man skal lage programmer , kom ikke å påstå at man skal begynne med tekstbasert brukergrisesnitt i 2014

 

Dette handler om programmeringsspråk og læring av disse. Det handler ikke om hvilke brukergrensesnitt som er relevante i 2014. For en stor del er det web-baserte grensesnitt som gjelder, og det kan man med fordel vente med å sette seg inn i inntil man har tilegnet seg grunnleggende ferdigheter i et programmeringsspråk. Om det er SQL du får i fjeset når du stikker hodet ned i databasen eller html når du stikker hodet ut i gui blir på en måte litt det samme, ikkesant?

 

Når det gjelder programmering generelt, ikke læringssituasjonen, er det arbeidet man sparer ved hjelp av slike wysiwyg-verktøy ganske lite siden koden som kreves akkurat for å vise de enkle elementene man ønsker på skjermen er ganske ubetydelig i forhold til koden som styrer resten av logikken i programmet. I systemer med "realistisk" størrelse på gui ender man som regel opp med kode som er dårlig strukturert og vanskelig å vedlikeholde hvis den er generert av slike verktøy, som tross alt har en ganske naiv tilnærming til strukturering av kode...

Endret av quantum
Lenke til kommentar

 

Det er GUI som gjelder hvis man skal lage programmer , kom ikke å påstå at man skal begynne med tekstbasert brukergrisesnitt i 2014

 

Dette handler om programmeringsspråk og læring av disse. Det handler ikke om hvilke brukergrensesnitt som er relevante i 2014. For en stor del er det web-baserte grensesnitt som gjelder, og det kan man med fordel vente med å sette seg inn i inntil man har tilegnet seg grunnleggende ferdigheter i et programmeringsspråk.

 

Men da går det 2 år før man i de hele tatt får til noen fingrende program .

De fleste har ikke så god tålmodighet

 

Dessuten så kan man ikke kjøre alle programmene via nettet

så god dekning har man ikke selv her i Norge , tro det eller ei

 

Her er poenget mit at hvis man ikke får til noen program så lære man heller ikke språket

Det er også stor fare for at man rett og slett gir opp før man har begynt fordi man ser ikke nytten av det man driver med

Endret av den andre elgen
Lenke til kommentar

Til spørsmålet om hva jeg lærer? Tjah, omtrent det jeg ønsker å lære meg, iallefall ifølge karakterene mine.

 

 

Altså, hva du *egentlig* lærer og hvor fort det går osv. blir det litt vanskelig å mene noe om på generelt grunnlag, men poenget var bare å påpeke at prøve-og-feile-metoden - som det unektelig høres ut som du benytter deg av - er veldig ineffektiv, fremfor å oppsøke ulike kilder til informasjon. Når det funker på et vis for deg likevel så vil jeg tro det kommer av at du forholder deg til et pensum og løser oppgaver, da styres du tross alt på riktig vei i læringsløpet ditt likevel. Programmering er i stor grad noe man lærer gjennom å praktisere, så en rent "teoretisk" tilnærming ville ihvertfall ikke fungert, det er også et poeng her.

 

Jeg vil likevel påstå du er litt "på villspor". Programmering innebærer å kjenne til mange såkalte best-practices, patterns, algoritmer osv. osv. og for å få med seg slike ting - som tross alt er helt essensielt - må man vende blikket litt mer utover, det skjer ikke ved at man bare sitter og eksperimenterer for seg selv (i såfall bør du straks tildeles et kraftig stipend :o)

 

Og om du velger å programmere ikkeobjektorientert i Object Pascal eller i Java blir vel nøyaktig helt ekvivalent?

Nei.

 

Og forskjellen ligger i hva da?

Endret av quantum
Lenke til kommentar

Her er poenget mit at hvis man ikke får til noen program så lære man heller ikke språket

Det er også stor fare for at man rett og slett gir opp før man har begynt fordi man ser ikke nytten av det man driver med

 

 

Jeg er helt enig i at det ikke må være så komplisert at man gir opp før man kommer igang. Men man må nok rett og slett forholde seg til at det man lager når man er i begynnelsen av lærefasen ikke har noen annen nytte. Man må lære å krabbe før man lærer å gå, som det heter.

 

I forhold til å lære seg grunnleggende programmering er det helt irrelevant hvaslags nettdekning det er her i landet, og om klienter bør være tykke eller tynne, det flukturerer jo fram og tilbake, som med de fleste trender.

 

Men - det er jo unektelig litt slik at nytteverdi og tilgjengelighet går hånd i hånd, og en enkel nettside med enkel funksjonalitet, kan godt komme til nytte for ganske mange, mens et enkelt program med et enkelt "tykkt" gui vil ha en distribusjonsutfordring som gjør at det rett og slett aldri vil fly...

Endret av quantum
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...