Gjest medlem7055 Skrevet 9. desember 2011 Del Skrevet 9. desember 2011 (endret) Det er dog litt vanskelig å tenke seg at en som ønsker autofullfør funksjonalitet i det hele tatt gidder å bruke en debugger Auto fullfør, og debugger har en ting til felles: begge sparer deg for både tid og arbeid. Selv bruker jeg begge deler. Endret 9. desember 2011 av medlem7055 Lenke til kommentar
GeirGrusom Skrevet 9. desember 2011 Del Skrevet 9. desember 2011 Jeg vil gjerne at dere presiserer hva man faktisk husker bedre av å skrive det manuelt, og isåfall hvilken nytteverdi det har. Er det hensiktsmessig å huske alle argumentene som en funksjon tar for å slippe slå det opp hver gang, eller er det bedre med et idé som slkår det opp automatisk? Er det nyttig å kunne skrive et program i notepad uten hjelp? Dette er en ikke-eksisterende øde-øy-problematikk i mine øyne. Jeg skjønner hva du sier, forstår hvordan du tenker. Jeg mener likevel det vil være en forskjell på hvordan du tenker, hvordan du ser for deg kode, hvordan du angriper problemer, hvor lett det er for deg å kode, om så mye som mulig sitter dypt plantet i hjernen og i "muskelminnet". Det er ikke lett håndgripelige ting dette her, men jeg forsøker å sette ord på hva jeg mener. IntelliSensen i Visual Studio er forøvrig alt for treig for meg når jeg koder, jeg foretrekker auto-complete i Vim som bare er basert på enkel ord-søk i filene jeg har åpne. En annen ting er at god kjennskap til API'er gjør at du selv lager gode og konsekvente API'er - med fast argumentrekkefølge som følger konvensjoner osv. Men det er bare et lite aspekt i denne sammenhengen. Saken er at text er vårt medium. Mange ønsker andre typer grensesnitt for programmering, men i bunn og grunn er vi ASCII-trollmenn! Å mestre å strukturere kode på egenhånd er en basis-ferdighet. Men det kan hende jeg er farget av at jeg programmerer i 10-20 ulike språk, og ikke er fornøyd med å bruke kun ett, og kun ett miljø som aldri forandrer seg. Jeg har likevel hatt denne oppfatningen siden jeg begynte å programmere, og tro det eller ei, men jeg kodet ASP.NET i to år i TextPad før jeg tok i bruk Visual Studio!! Kjekt å bli utfordret på holdninger som det ikke er lett å forklare hvorfor man har. Men du forklarte likevel ikke hvorfor du mener det. Det at du synes det er like greit er irrelevant. Du må underbygge påstanden din om hvorfor du synes akkurat dette! Min mening er at læringskurven ikke blir så bratt (fordi du bruker ikke all tid på å slå opp alle mulige funksjoner og argumenter, Eclipse serverer dette til deg fortløpende). Du sitter også mindre og plundrer med feil, fordi du får tilbakemelding om feil mens du skriver uten å trenge å rekompilere (på store prosjekter er dette verdt ganske mye tid). At dette er en ulempe for nybegynnere må du nesten forklare, for jeg kan ikke se hvorfor. Det at ting som navn på medlemmer av strukturer og argumenter til funksjoner skal sitte i hjernebarken kan jeg ikke fatte. En annen ting er at god kjennskap til API'er gjør at du selv lager gode og konsekvente API'er - med fast argumentrekkefølge som følger konvensjoner osv. Men det er bare et lite aspekt i denne sammenhengen. Dette lærer du like godt av auto-complete med mindre du er blind eller analfabet. 1 Lenke til kommentar
torbjørn marø Skrevet 9. desember 2011 Del Skrevet 9. desember 2011 (endret) Men du forklarte likevel ikke hvorfor du mener det. Det at du synes det er like greit er irrelevant. Du må underbygge påstanden din om hvorfor du synes akkurat dette! Jeg forsøkte jo å forklare. Vi snakker ikke om et konkret tema her med ett fasitsvar, vi snakker om hvordan mennesker lærer og hvordan hjernen vår fungerer. Hvordan trening påvirker oss, og hvilken trening som gir hvilket resultat. Et klart svar som du forventer kan jeg ikke gi, for dette vet vi alle for lite om. Vi ser ikke årsakssammenhengene du ber meg beskrive fordi vi ikke vet alt om hvordan vi blir dem vi blir og lærer det vi lærer. Inntil vi har foretatt kvalitative undersøkelser på dette må vi blant annet kunne støtte oss til intuisjonen til dem som har erfaring. Jeg forsøker å lytte til min egen... Jeg tenker på musikere som i årevis trener på enkle skalaer på klaveret eller gitaren. De gjør ikke dette fordi de skal bli flinke på å spille skalaer. Hvis de hadde hatt en maskin som kunne spille skalaene for dem så hadde de heller ikke brukt den. De må spille skalaer til det blir en del av dem, til det blir "second nature". Det former mønstre i hjernen. Jeg hevder utviklere bør trene på noenlunde samme måte. Hvis du tenker dette blir veldig "far fetched" eller new age så er det helt greit. Men det er altså min forklaring. Dette lærer du like godt av auto-complete med mindre du er blind eller analfabet. Nei, det gjør du ikke. Du behøver ikke bruke hjernen på samme måte når du ikke må huske det selv. Det blir som å si at du blir flink til å spille piano av å høre andre spille. Eller du blir flink til å skrive bøker av å lese mange bøker. Det skal mere til. Auto-complete er et bra verktøy for å kunne benytte et rikt API. Det er tidsbesparende. Men det gjør deg også sløv. Det er derfor jeg tror det vil være bra om man starter å lære uten, for så å benytte det når man skal være produktiv. Eller veksler på, for å kontrollere seg selv og aktivere nye nerveceller. Endret 9. desember 2011 av torbjørn marø 1 Lenke til kommentar
OldMan Skrevet 9. desember 2011 Del Skrevet 9. desember 2011 (endret) Jeg er enig med Torbjørn her. Når man skal lære seg noe så vanskelig som f.eks C++, ta deg tid til å lære og forstå systemet, verktøyene og språket fra bunn av. Det er faktisk nyttig å lære seg hvordan en make file lages, selv om man i de fleste arbeidssituasjoner senere i livet vil jobbe med en ide. Det er også en god ide å lære seg å lage linked lists, trær, hashmaps etc selv, selv om de fleste stort sett vil bruke stl/boost eller liknende senere. Lag din egen shared_ptr template etc så du virkelig forstår hva det innebære og hvordan og når de skal brukes. Det handler om å ha en god forståelse for hva man bruker av verktøy. Har/tar man tid til å lære seg det grunnleggende godt har man nytte av det i stort sett alle språk og utviklingsoppgaver man kommer borti senere. Endret 9. desember 2011 av OldMan 1 Lenke til kommentar
LostOblivion Skrevet 9. desember 2011 Del Skrevet 9. desember 2011 (endret) Jeg er til dels enig med at man burde lære seg å programmere først, og så delve inn i hjelpeverktøyer som IDE-er. For å sette det litt på spissen, kan man egentlig spørre hvor man skal sette grensen, ettersom man nesten like gjerne kunne argumentere for at man burde bruke verktøy som spring og hibernate i starten også, noe som selvfølgelig er sprøyt. De fleste som har programmert Java har vært borti spring og hibernate, og IDE-er er de-facto og et must når man utvikler software med en god størrelse. Men dette er verktøyer og rammeverk som egentlig ikke har noen ting med selve kjernen i programmering--det viktigste er først og fremst å lære seg syntax, konvensjoner, stilren kode, raskt kjørbar kode (ikke så viktig lengre), og også hvordan et program faktisk kompilerer, linkes og eksekverer på maskinen (instruksjoner, osv). Dette er ting man vil bruke lengre tid på om man i tillegg til de nevnte skal sette seg inn i hvordan eclipse fungerer, for ikke minst å nevne det faktum at eclipse kompilerer hele tiden for å sjekke syntaxfeil, o.l., noe som gir et feil inntrykk av hvordan hele denne prosessen egentlig foregår. I de fleste tilfeller skjønner ikke nybegynnere engang hvorfor man burde assosiere klassene sine med prosjekter, hva classpath er, hvorfor en trenger pakker/namespacer, klasser, singletons, osv, og et IDE på toppen av dette vil kun forville dem desto mer. I min mening burde en først starte med å lære seg å programmere fra en terminal, i Notepad++, eller vim, for så å kjøre en cc -o main main.c, eller javac Main.java. Når man har drevet på med dette en stund, kan man først begynne å titte forsiktig på IDE-er. Endret 9. desember 2011 av LostOblivion 1 Lenke til kommentar
torbjørn marø Skrevet 10. desember 2011 Del Skrevet 10. desember 2011 Jeg kom over <a href="http://www.rebol.com/cgi-bin/blog.r?view=0497">et lite følelsesutbrudd fra Carl Sassenrath</a>, mannen bak Amiga OS blant annet, som er på en måte er relevant til diskusjonen her. En av kommentarene sier: Carl, complexity IMHO arises from how computer science is being taught nowadays. We've lost the sense that programing is also an art. And that like for all art you need to understand and even be able create your own tools, not just use them. Ironically, I did a few semesters in visual arts (at university) recently, and that reasoning has somewhat found its way into arts to! Teachers all had their own cheap easy to use and purpose-built custom tools ex: a stick with a needle, a crude cardboard holding handle which allows you to cut and replace the cardboard (for painting & sculpture), etc. but then, they ask their students to buy tools which do the same, cost a lot of money and limit creativity. ironic. People don't realize that when you create tools, you will inevitably innovate, you will WANT things to remain simple so will indirectly find new solutions which create new opportunities. Med mine ord: Programmerer du med støttehjulene på hele tiden så vil du ikke bli like god å sykle.., jeg mener til å programmere. 1 Lenke til kommentar
GeirGrusom Skrevet 10. desember 2011 Del Skrevet 10. desember 2011 (endret) Dette lærer du like godt av auto-complete med mindre du er blind eller analfabet. Nei, det gjør du ikke. Du behøver ikke bruke hjernen på samme måte når du ikke må huske det selv. Det blir som å si at du blir flink til å spille piano av å høre andre spille. Eller du blir flink til å skrive bøker av å lese mange bøker. Det skal mere til. Jeg ville sagt det er mer som å spille piano og ha noen som foreslåt at du spiller slik eller slik. Auto-complete programmerer ikke for deg, den foreslår ting. At "auto-complete" gjør deg sløv er et helt ufattelig vagt utsagn. På hvilken måte gjør det deg sløv? I hvilke tilfeller er det nyttig å memorisere argumentene til bind() fremfor å la verktøyet ditt liste dem opp? Endret 10. desember 2011 av GeirGrusom 1 Lenke til kommentar
torbjørn marø Skrevet 10. desember 2011 Del Skrevet 10. desember 2011 (endret) At "auto-complete" gjør deg sløv er et helt ufattelig vagt utsagn. På hvilken måte gjør det deg sløv? I hvilke tilfeller er det nyttig å memorisere argumentene til bind() fremfor å la verktøyet ditt liste dem opp? Enten forsøker du å vinne diskusjonen ved å hevde at jeg må komme med en konkret argumentasjonsrekkefølge, noe jeg nettopp har sagt at jeg ikke kan gjøre - eller du klarer ikke tenke abstrakt nok til å se at det kanskje kan være noe i det jeg sier. Du unngår i alle fall å kommentere det jeg snakker om. Men jeg er i godt humør, og skal likevel forsøke å komme med et konkret svar på akkurat det du spør om, selv om det er "beside the point": Det kan være lurt å kjenne argumentrekkefølgen når du leser kode. Da kan du oppdage argumenter som er sendt inn i feil rekkefølge. Hvis du ikke kjenner rekkefølgen kan dette være helt umulig. Leseferdigheter er minst like viktig som skriveferdigheter for en utvikler. Andre ting auto-complete gjør deg sløv på er at du ikke gjør deg tilstrekkelig kjent med APIet du bruker, sånn at du ikke har full oversikt over hvilke metoder du har tilgjengelig. Kanskje det finnes en bedre metode for det du skal gjøre enn den første du fant i IntelliSense-listen?! Men det jeg mener når jeg sier at auto-complete gjør deg sløv er ikke noe av dette. Når jeg koder C# slår gjernen min opp i en egen auto-complete-liste lenge før jeg trykker ned punktum-tasten og får den opp i Visual Studio. Jeg har allerede visualisert for meg selv hele metoden jeg holder på og skrive, hvordan den vil bli oppfattet av andre, hvordan den vil bli brukt, osv. Hvis man kun er vandt til å bli fortalt hvilke muligheter man har hele tiden utvikler man ikke en hjerne som ligger i forkant og tenker kreativt. Tror jeg da. Programmering er mye rart. Det er en disiplin. En vitenskap. Et håndtverk. Kreativitet. Kompleksitetshåndtering. En kunst. Jo mer av språket og mulighetene i bibloteket som sitter dypt forankret i intuisjonen, jo mer tror jeg hjernen kan få utfolde seg, eksperimentere med å sette sammen byggeklossene på nye og spennende måter for å løse oppgaven. Kanskje vi ikke har kompatible personlighetstyper, og at jeg er for idealistisk? Håper uansett du vil kommentere kjernen i det jeg sier! Endret 10. desember 2011 av torbjørn marø 2 Lenke til kommentar
LonelyMan Skrevet 22. desember 2011 Del Skrevet 22. desember 2011 autocomplete gjør deg kanskje ikke mer sløv, men det gjør deg mindre istand til å plutselig forflytte deg over til manuelt arbeid i en periode. Du vil føle deg helt lammet når du plutselig forsvinner fra "smukken". Been there, done that. Om du planlegger å bruke en slik ide, så går det nok greit i ett år eller to, men om du driver på i år etter år så lager du ett handicap for deg selv. Lenke til kommentar
zotbar1234 Skrevet 22. desember 2011 Del Skrevet 22. desember 2011 At "auto-complete" gjør deg sløv er et helt ufattelig vagt utsagn. På hvilken måte gjør det deg sløv? I hvilke tilfeller er det nyttig å memorisere argumentene til bind() fremfor å la verktøyet ditt liste dem opp? Man kan jo lese en nokså kjent person veie inn på problemstillingen. Lenke til kommentar
LonelyMan Skrevet 22. desember 2011 Del Skrevet 22. desember 2011 (endret) Jeg har noen bøker med Charles Petzold, utrolig interessant microsoft mann. Blant annet "datamaskinens skjulte verden" av charles petzold. Endret 22. desember 2011 av LonelyMan 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å