mboost-dp1
Hjælp en nybegynder.
- Forside
- ⟨
- Forum
- ⟨
- Programmering
To relevante sider er:
http://java.sun.com/docs/books/tutorial/
http://javabog.dk/
Jeg er ikke uptodate med hvad der er gode begynder bøger. Formentligt er det bedst at gå efter en anerkendte pædagigisk forfatter (Horton, Eckel, Schildt etc.).
http://java.sun.com/docs/books/tutorial/
http://javabog.dk/
Jeg er ikke uptodate med hvad der er gode begynder bøger. Formentligt er det bedst at gå efter en anerkendte pædagigisk forfatter (Horton, Eckel, Schildt etc.).
#1
Jeg kan anbefale følgende bøger (i rækkefølge):
Learning Java (Paperback)
Java Examples in a nutshell
Professional Java 6 JDK 6 Edition
Jeg kan anbefale følgende bøger (i rækkefølge):
Learning Java (Paperback)
Java Examples in a nutshell
Professional Java 6 JDK 6 Edition
#3
O'Reilly og Wrox bøger er normalt gode.
Jeg er dog ikke sikker på at Wrox Professional matcher "introducere ... helt begynder niveau".
Normalt gælder det at for Wrox at:
Professional Xxxx er for dem som kan Yyyy og Zzzz og skal have fakta i komprimeret form.
Beginning Xxxx er for dem som ikke kan nogle andre sprog/teknologier og skal have forklaret det hele fra bunden af med masser af screen dumps.
O'Reilly og Wrox bøger er normalt gode.
Jeg er dog ikke sikker på at Wrox Professional matcher "introducere ... helt begynder niveau".
Normalt gælder det at for Wrox at:
Professional Xxxx er for dem som kan Yyyy og Zzzz og skal have fakta i komprimeret form.
Beginning Xxxx er for dem som ikke kan nogle andre sprog/teknologier og skal have forklaret det hele fra bunden af med masser af screen dumps.
#3
Det gør den heller ikke, den står som nummer 3 på listen. Den går dybere ned i de almene features fra version 5-6 og introducerer lidt flere hands-on topics og en god gennemgang af tools og design patterns.
Jeg husker bare, at da jeg startede som programmør, så var der for mange bøger som bare introducerede sproget og tilhørende API's, men ingen havde best practices eller fortalte hva faen de skulle bruges til. Man fik altså ikke et overview.
Men på listen, dét skal den! :)
Jeg er dog ikke sikker på at Wrox Professional matcher "introducere ... helt begynder niveau".
Det gør den heller ikke, den står som nummer 3 på listen. Den går dybere ned i de almene features fra version 5-6 og introducerer lidt flere hands-on topics og en god gennemgang af tools og design patterns.
Jeg husker bare, at da jeg startede som programmør, så var der for mange bøger som bare introducerede sproget og tilhørende API's, men ingen havde best practices eller fortalte hva faen de skulle bruges til. Man fik altså ikke et overview.
Men på listen, dét skal den! :)
Jeg vil anbefale dig Bamse og Kylling.
Alle, der starter på en naturvidenskabenlig uddannelse på Århus Universitet, skal have kurset Introduktion til Programmering, hvilket vil sige at selv folk med en meeeget lidt teknisk baggrund skal introduceres til Java-programmering. I kurset benyttes ovenstående bog. Den er meget pædagogisk og den lærte nogle af mine holdkammerater at programmere, selvom de ikke havde oddsne med sig. ;-)
Alle, der starter på en naturvidenskabenlig uddannelse på Århus Universitet, skal have kurset Introduktion til Programmering, hvilket vil sige at selv folk med en meeeget lidt teknisk baggrund skal introduceres til Java-programmering. I kurset benyttes ovenstående bog. Den er meget pædagogisk og den lærte nogle af mine holdkammerater at programmere, selvom de ikke havde oddsne med sig. ;-)
#9
Der er mange som er glade for BlueJ, men jeg er altså lidt skeptisk overfor den.
Der er mange som har lært "Java" med den som ikke aner noget som helst om hvordan man programmerer i Java.
Det er muligt at jeg er gammeldags, men jeg er stadig tilhænger af:
1) man starter med en helt normal editor og builder command line for at lære javac, java, classpath etc.
2) man switcher til en rigtig IDE (Eclipse, NetBeans etc.) for at blive mere produktiv
3) man begynder at bygge med ant og kun bruge IDE som editor
Der er mange som er glade for BlueJ, men jeg er altså lidt skeptisk overfor den.
Der er mange som har lært "Java" med den som ikke aner noget som helst om hvordan man programmerer i Java.
Det er muligt at jeg er gammeldags, men jeg er stadig tilhænger af:
1) man starter med en helt normal editor og builder command line for at lære javac, java, classpath etc.
2) man switcher til en rigtig IDE (Eclipse, NetBeans etc.) for at blive mere produktiv
3) man begynder at bygge med ant og kun bruge IDE som editor
arne_v (10) skrev:Der er mange som har lært "Java" med den som ikke aner noget som helst om hvordan man programmerer i Java.
Ja, jeg kan godt se din pointe. Måske bruger de BlueJ på universitetet fordi det er fint nok for de fleste, som følger kurset. Geologer, fysikere osv. behøver nok ikke at lære om rigtige IDE'er.
Jeg foreslog Barnes og Kölling fordi jeg mener, det er en fin måde hurtigt at få nogle successoplevelser med at programmere. Der var i hvert fald nogle ikke-tekniske piger fra mit hold, som lige pludselig fandt det meget sjovt at skrive programmer i BlueJ.
Hvis #0 mener det seriøst, så skal han nok lære om ant, javac osv. uanset om han starter med BlueJ eller hvad han gør, tror det er vigtigere at man hurtigt føler, at det bliver til noget.
Endvidere tror jeg, at den måde objekter bliver visualiseret i BlueJ gør det nemmere for nybegyndere at forstå den objekt orienterede tankegang.
Jeg ved egentlig ikke hvor godt java og andre OO-sprog er for en nybegynder. Da jeg lærte at programmere i java (jeg havde ikke lavet så meget andet i forvejen, og det var lidt sporadisk), havde jeg svært ved at forstå det med objekter. Jeg tror det kan gøre det unødigt komplekst.
F. eks. kan man spørge sig selv hvorfor man skal skrive
for overhovedet at skrive Hello World. Og hvorfor skal man skrive System.out.println(...); for at skrive til stdout?
Hvis man skal forklare det, begynder det at blive RET indviklet for et første program.
#10
Jeg kender en på datalogi som jeg udfordrede til at compile det han skrev i java fra commandlinen. Det kunne han simpelthen ikke finde ud af! For det første var der problemer med Windows, nemlig at man ikke bare kan skrive javac SourceFile.java uden først at lave nogle tricks. Men det er så det; han kunne heller ikke finde ud af at sætte classpath op!
IDEer som eclipse og netbeans kan nemt skjule detaljer som faktisk er (meget) relevant for nybegyndere. Så jeg tilslutter mig at man kun skal bruge en IDE af den type når man godt ved hvad der sker "under the hood".
Han forstår heller ikke hvordan jeg kan programmere i gedit og vim. "Hvad gør du uden auto-completion?!". Han importerer også bare det første og det bedste i eclipse uden nogen tanke.
Jeg synes BlueJ egentlig er god til at vise hvordan det objekt orienterede virker. På den måde synes jeg det er fint nok. Så vidt jeg husker gav den nogle gange nogle underlige compiler-fejl. Måske husker jeg forkert..
F. eks. kan man spørge sig selv hvorfor man skal skrive
public class Something {
public static void main(String... args) {...} //Jeg ved ikke hvorfor newz.dk vil smide det ned på en ny linie. Pissetræls
}
for overhovedet at skrive Hello World. Og hvorfor skal man skrive System.out.println(...); for at skrive til stdout?
Hvis man skal forklare det, begynder det at blive RET indviklet for et første program.
#10
Jeg kender en på datalogi som jeg udfordrede til at compile det han skrev i java fra commandlinen. Det kunne han simpelthen ikke finde ud af! For det første var der problemer med Windows, nemlig at man ikke bare kan skrive javac SourceFile.java uden først at lave nogle tricks. Men det er så det; han kunne heller ikke finde ud af at sætte classpath op!
IDEer som eclipse og netbeans kan nemt skjule detaljer som faktisk er (meget) relevant for nybegyndere. Så jeg tilslutter mig at man kun skal bruge en IDE af den type når man godt ved hvad der sker "under the hood".
Han forstår heller ikke hvordan jeg kan programmere i gedit og vim. "Hvad gør du uden auto-completion?!". Han importerer også bare det første og det bedste i eclipse uden nogen tanke.
Jeg synes BlueJ egentlig er god til at vise hvordan det objekt orienterede virker. På den måde synes jeg det er fint nok. Så vidt jeg husker gav den nogle gange nogle underlige compiler-fejl. Måske husker jeg forkert..
#12
Sådan er nogen sprog, herunder Java designet. Det virker måske som overkill til små programmer, og dertil kan jeg da personligt anbefale Python fx, hvis du vil skrive quick n' dirty programmer. Men du kommer sateme ikke udenom om den OOP agtige måde at tænke på, og du kommer til at sætte pris på den jo større projekterne bliver. Læs en bog om OOP og du vil få et større indblik.
Det behøver du egenligt heller ikke. Siden Tiger (1.5) har der været en shortcut til at skrive statiske metoder...
Ikke alle der studerer datalogi er ligegode, det samme gælder for datamatikere. Jeg er datamatiker, MEN kan dog sagtens finde ud af at compile fra kommando-prompten! (dog helst fra Ant) :-P
F. eks. kan man spørge sig selv hvorfor man skal skrive
public class Something for overhovedet at skrive Hello World.
Sådan er nogen sprog, herunder Java designet. Det virker måske som overkill til små programmer, og dertil kan jeg da personligt anbefale Python fx, hvis du vil skrive quick n' dirty programmer. Men du kommer sateme ikke udenom om den OOP agtige måde at tænke på, og du kommer til at sætte pris på den jo større projekterne bliver. Læs en bog om OOP og du vil få et større indblik.
Og hvorfor skal man skrive System.out.println(...); for at skrive til stdout?
Det behøver du egenligt heller ikke. Siden Tiger (1.5) har der været en shortcut til at skrive statiske metoder...
import static java.lang.System.out;
public class CalculateTaxOnPinkDildo{
public static void main(String[] args) {
out.println("Hello newz.dk!");
}
}
Jeg kender en på datalogi som jeg udfordrede til at compile det han skrev i java fra commandlinen. Det kunne han simpelthen ikke finde ud af!
Ikke alle der studerer datalogi er ligegode, det samme gælder for datamatikere. Jeg er datamatiker, MEN kan dog sagtens finde ud af at compile fra kommando-prompten! (dog helst fra Ant) :-P
squad2nd (13) skrev:
Sådan er nogen sprog, herunder Java designet. Det virker måske som overkill til små programmer, og dertil kan jeg da personligt anbefale Python fx, hvis du vil skrive quick n' dirty programmer.
Og det kan faktisk nemt blive mere grumset ved det nemme.
Eksempel:
C.groovy
class C {
}
o = new C()
Indrømmet - fejlbeskeden er rimeligt god.
#13
Jeg har udmærket styr på OOP nu, tak :)
Problemet, som jeg ser det, er at OOP tit ikke gavner for f. eks. en fysiker der kun skal bruge programmering til at lave beregninger.
Det er rigtigt nok at du kan importere printstreamen fra System. Men det er dårlig stil, da man på den måde skjuler hvilken printstream man bruger. Og det gør det jo ikke simplere for en nybegynder, for spørgsmålet om hvad System er (og hvad out er) er der stadig.
Det er jo sådan set heller ikke så svært at compile fra commandline. Der er bare nogen der aldrig rigtigt lærer det fordi det bliver pakket for meget ind i en IDE, og det er skadeligt, mener jeg.
Sådan er nogen sprog, herunder Java designet. Det virker måske som overkill til små programmer, og dertil kan jeg da personligt anbefale Python fx, hvis du vil skrive quick n' dirty programmer. Men du kommer sateme ikke udenom om den OOP agtige måde at tænke på, og du kommer til at sætte pris på den jo større projekterne bliver. Læs en bog om OOP og du vil få et større indblik.
Jeg har udmærket styr på OOP nu, tak :)
Problemet, som jeg ser det, er at OOP tit ikke gavner for f. eks. en fysiker der kun skal bruge programmering til at lave beregninger.
Det er rigtigt nok at du kan importere printstreamen fra System. Men det er dårlig stil, da man på den måde skjuler hvilken printstream man bruger. Og det gør det jo ikke simplere for en nybegynder, for spørgsmålet om hvad System er (og hvad out er) er der stadig.
Det er jo sådan set heller ikke så svært at compile fra commandline. Der er bare nogen der aldrig rigtigt lærer det fordi det bliver pakket for meget ind i en IDE, og det er skadeligt, mener jeg.
Personligt er jeg stor tilhænger af, at købe papir-udgaven af Javabog.dk. Danske bøger (hvis de findes) indeholder generelt meget mindre BS og er derfor rare, når man skal lære noget nyt.
Når du har tygget den igennem et par gange og skal til 1337-tingene, så vil Google lære dig resten ;)
Når du har tygget den igennem et par gange og skal til 1337-tingene, så vil Google lære dig resten ;)
onetreehell (15) skrev:Jeg har udmærket styr på OOP nu, tak :)
Problemet, som jeg ser det, er at OOP tit ikke gavner for f. eks. en fysiker der kun skal bruge programmering til at lave beregninger.
En fysiker der skal lave modeller, har da netop meget stor glæde af OOP.
Det kan godt være du har styr på OOP, men er du sikker på du også tænker OO.
Man kan jo sagtens lave alle programmer uden brug af OOP, men i de fleste tilfælde kan det gøre opgaven langt mere simpel. Det kræver dog man ser opgaven fra den rigtige vinkel.
#20
Min erfaring er at scientific computing ofte klarer sig glimrende med procedural programmering.
Flere årsager:
- matematik er ikke specielt objekt orienteret i natur
- maintenance/udvikling er langt lavere i scientific computing end i business computing og derfor er der ikke det samme behov for encapsulation etc.
Min erfaring er at scientific computing ofte klarer sig glimrende med procedural programmering.
Flere årsager:
- matematik er ikke specielt objekt orienteret i natur
- maintenance/udvikling er langt lavere i scientific computing end i business computing og derfor er der ikke det samme behov for encapsulation etc.
#20
Ja, når jeg skriver OO. Hvilket jeg oftest gør, men ikke altid.
Min kritik går ikke på OOP per se, men at nybegyndere ikke har det største krav til nemt at kunne vedligeholde sine programmer (hello world?) eller kunne modellere store komplekse systemer (eller watever).
Det er lidt et problem, synes jeg, at folk tænker OO på ALTING! Også selvom det slet ikke er relevant. OOP har masser af forcer, men... det er altså ikke altid det eneste rigtige valg til enhver given situation.
Det kan godt være du har styr på OOP, men er du sikker på du også tænker OO.
Ja, når jeg skriver OO. Hvilket jeg oftest gør, men ikke altid.
Min kritik går ikke på OOP per se, men at nybegyndere ikke har det største krav til nemt at kunne vedligeholde sine programmer (hello world?) eller kunne modellere store komplekse systemer (eller watever).
Det er lidt et problem, synes jeg, at folk tænker OO på ALTING! Også selvom det slet ikke er relevant. OOP har masser af forcer, men... det er altså ikke altid det eneste rigtige valg til enhver given situation.
#25
Jeg tænker på modellering af fx. kaotiske systemer.
Hvad enten det er til avanceret lineær algebra, eller mere simpel vector regning, vil jeg da mene, der med fordel kan benyttes OOP.
OOP kan i flere tilfælde erstatte lineær algebra. Om der er en god ide ved jeg ikke.
Så vidt jeg ved, så undervises fysikstuderende i java med henblik på bla. simulering.
Jeg tænker på modellering af fx. kaotiske systemer.
Hvad enten det er til avanceret lineær algebra, eller mere simpel vector regning, vil jeg da mene, der med fordel kan benyttes OOP.
OOP kan i flere tilfælde erstatte lineær algebra. Om der er en god ide ved jeg ikke.
Så vidt jeg ved, så undervises fysikstuderende i java med henblik på bla. simulering.
Gå til top
Opret dig som bruger i dag
Det er gratis, og du binder dig ikke til noget.
Når du er oprettet som bruger, får du adgang til en lang række af sidens andre muligheder, såsom at udforme siden efter eget ønske og deltage i diskussionerne.