programmering..... hvor skal jeg begynde?

Tags:    programmering

<< < 12 > >>
Hej jeg er en dreng på tretten år som går i 7. klasse som er fascineret af programmering.

Jeg kunne godt tænke mig at lære det hele fra bunden men er i tvivl om hvilke bøger/hjemmesider jeg skal kigge i/på og jeg er forvirret over de mange programmerings sprog man kan vælge. jer er villig til at smide meget tid og arbejde ind i det.

jeg overvejer at tage 9. klasse på efterskole med fokus på IT og programmering, hvis i kender nogle må i meget gerne vedhæfte et link.

På forhånd tusind tak :D

ps. hver venlig ikke at kommentere min alder eller mine færdigheder.

pss. jeg undskylder for stavefejl ;)



17 svar postet i denne tråd vises herunder
3 indlæg har modtaget i alt 6 karma
Sorter efter stemmer Sorter efter dato
hvilke dårlige skikke viser den, nu er jeg nysgerrig?


1) Kode på dansk:
Fold kodeboks ind/udKode 


Hold danske tegn væk fra koden. I det hele taget da du ikke kan undgå det engelske, er det god skik og letter kodelæsningen at holde sig til engelsk. API'et er på engelsk så at blande engelsk navngivne klasser med danske er dårlig stil og kan være svært at vænne sig fra, og de fleste firmaer har en kodekonvention, som kræver engelsk navngivning og kommentarer.

2) Oversættelse af kodebegreber til dansk. Det hedder en exception...ikke en undtagelsestilstand. Citat fra Wikipedia:
Fold kodeboks ind/udKode 

Enhver programmør kender derimod til exceptions, og han oversætter mange andre ord...det giver ikke bedre mening, og du får nok bare problemer, når du kaster dig over en engelsk bog, og det kan man næsten ikke undgå.

3) Brugen af ikke-sigende variabel navne:
Fold kodeboks ind/udKode 


4) Tilgang til Swing komponenter udenfor Swing tråden: http://javabog.dk/OOP/kapitel17.jsp
Det må man nemmerlig ikke: http://java.sun.com/javase/6/docs/api/javax/swing/package-summary.html#threading

...og så videre. Det var lige et par hurtige klik rundt i bogen, men der er generelt bare mange kritikpunkter til den bog.



endnu endnu en gang tusind tak for alle svarene...;) jeg har været nede i arnold busck og bestille bogen Java 2 Grundbogen (på dansk, jeg kiggede efter bøger på engelsk, men så go rækker mit engelske altså ikke:( endnu ;))som omhandler Java 1.4 så vidt jeg har forstået, den virker god med mange illustrationer og mange programmer man kan skrive løbene. nogle forslag til hvad jeg kan gøre efter den ;)håber ikke at jeg allerede er færdig med Java efter den :)

på forhånd mange tak :)



endnu endnu en gang tusind tak for alle svarene...;) jeg har været nede i arnold busck og bestille bogen Java 2 Grundbogen (på dansk, jeg kiggede efter bøger på engelsk, men så go rækker mit engelske altså ikke:( endnu ;))som omhandler Java 1.4 så vidt jeg har forstået, den virker god med mange illustrationer og mange programmer man kan skrive løbene. nogle forslag til hvad jeg kan gøre efter den ;)håber ikke at jeg allerede er færdig med Java efter den :)

på forhånd mange tak :)


hmm...ja hvis du ikke forstår engelsk, er der ikke så meget andet at gøre, end at vælge dansk litteratur. Java 2 Grundbogen har så alle de samme problemer som javabog.dk plus den er stærkt forældet. Se at få lært engelsk, så du kan læse de bedre bøger :-)



Der findes en overordnet tråd der styrer alt GUI (en singleton i JVM (eller per. applikation)?. Denne kalder man (f.eks. med invokeLater eller invokeAndWait) når man vil give "tasks" til Swing.


Well...ikke en singleton, men korrekt at der er én tråd som håndterer UI'en. Swing er IKKE trådsikkert implementeret, for det ville være en stor performancemæssig degradering, så for ikke at falde i alle de andre trådmæssige problemer, såsom race conditions, så skal denne ene tråd udføre alle opdateringer af brugerfladen.

Her er et eksempel:
Fold kodeboks ind/udKode 


Start programmet med et stort tal (på min maskine er 1000000000 passende):
Fold kodeboks ind/udKode 


Den starter brugerfladen op og fortæller, at den arbejder på problemet. Den starter så en tråd, som beregner summen af alle tal fra 1 til det givne tal (der findes smartere måder, men jeg skulle bare bruge et problem, som man kunne bruge noget tid på at løse). Der bruges en anden tråd, for at brugerfladen ikke skulle blive uresponsiv. Når tråden så har regnet færdig, skal den opdatere brugerfladen med resultatet, men det må kun Swing tråden, så et Runnable objekt bliver lagt i Swings jobkø.

Håber det er til at forstå, ellers må du sige til :-)



Mange tak for forklaringen.

Har dog et spørgsmål mere. Har lavet et JPanel som ikke bruger de indbyggede paint() metoder som repaint() og lignende (fordi de ikke så "pålidelige"). Derfor tegner jeg til en buffer som så bliver smidt på panelet, f.eks. 60 gange i sekundet, gennem denne metode:
Fold kodeboks ind/udKode 


Graphics er en AWT klasse. Ved ikke hvordan det er med AWT og trådning. Men er denne kode trådsikker eller skal dette køres i gennem Swing tråden? Hvilket faktisk ville gøre denne form for opdatering ved bestemte interval umuligt?




Lige en ting mere. Alle metoder der "stammer" fra en EventListener bliver kørt gennem GUI tråden, korrekt?



Indlæg senest redigeret d. 10.01.2010 20:07 af Bruger #14645
Lige en ting mere. Alle metoder der "stammer" fra en EventListener bliver kørt gennem GUI tråden, korrekt?

Korrekt



<< < 12 > >>
t