JAVA grundkurs Om skribenten av detta material Peter Stéen ([email protected]) är utbildad ingenjör inom telekommunikation och elektronik med datorer och satellitteknik. Peter har dock jobbat som lärare I systemteknik och elektronik sedan 1991 och egen företagare sedan 1997. Peter har undervisat och skrivit kompendier inom datortekniska området och programmering sedan i början av 90-talet. Peters karriär började med ABC80 som för många andra i hans generation. Focus för Peter har varit datorkommunikation med TCP/IP och i slutet av 80-talet bedrev och sponsrade han en BBS tillsammans med kompisar för att senare bygga upp sitt eget BBS-program med Fidonet under Pascal och C språket. Besök gärna Peters hemsida på: http://www.ludd.luth.se/~steen. Berätta för oss vad du tycker! Som läsare är du den viktigaste individen I utvecklingsarbetet för framtida utgåvor av kursmaterial och kompendier. Vi värdesätter dina intryck och kommentarer för att ständigt kunna förbättra och plocka bort eventuella felaktigheter. Du kan hjälpa oss att skriva bra kompendier och kursmaterial som tillgodoser dina behov och ger dig den vägledning du behöver för att förkovra och utveckla dig inom datorvetenskapen. Adress: Ingenjörsfirman Stéen Box 29 212 12 Malmö Introduktion Programmering är inte så svårt som folk tror, det är endast några få grundläggande principer och ideer som man behöver följa, faktiskt följer de flest av oss dessa varje dag utan att tänka på det. Det hela rör sig om att analysera, strukturera och planera samt utföra det man önskar göra. Det finns kraftfulla verktyg för att samordna detta om det rör sig om stora projekt med hundratals inblandade programmerare och tekniker. Programmering är också en fråga om tålamod och noggranhet, datorerna gör nämligen bara exakt det vi instruerar dem till att göra, har man glömt något så kommer den funktionen att utebli, första tipset är att aldrig ge upp. Hur som helst kommer du att ganska snabbt komma underfund med hur enkelt det kan vara att programmera efter några timmars studier. Vem som helst som kan programmera sin TV/Bilradio/Video kan lära sig att programmera. Java språket är ett utmärkt sätt att börja sin programmeringskarriär, lång såväl som kort, valet är ditt. Denna bok är avsedd just för dig som inte är programmerare, programmerare som vill se vad Java är och snabbt vill komma igång. Java är ett av de mest spännande programspråk som utvecklades under 90-talets mitt och senare hälft, just på grund av dess möjligheter och flexibilitet. Du kan göra enkla animeringar på en hemsida, skriva datorspel, tillverka verktyg, skapa grafiska gränssnitt, internet program, enbart din fantasi sätter begränsningarna. Detta material lär dig Javaprogrammering från grunden och upp. Som hjälp användes en mängd enkla pedagogiska programexempel, som du utprovar och exprimenterar med själv allt efter din egen smak. Du kommer att får erfarenhet av lite nätverksprogrammering, utveckla grafiska gränssnitt och objektorienterad programmering. Det kanske låter lite kryptiskt och hemligt just nu, en kunskap som enbart utvalda grupper av människor behärskar. Du skall snart se att det faktiskt inte är fallet, inom kort kommer även du förstå och ha lärt dig en hel del av detta språkJava… Steg 1 Att bli Programmerare Dataprogrammerare.. uj det är verkligen komplicerat. Det krävs toppbetyg i matematik, fysik och datateknik, långa universitets och högskolestudier (mist 4 år)! Dyta investeringar i datorer och programvaror för utvecklingsmiljöer. Förmågan att jobba i 30 timmarspass endast intagande av Pizza och Coca Cola samt mängder av Java-kaffe… Det är väl förmodligen det som man har hört som nybörjare. Frånsett Pizzor och kaffe är det bara rykten. Programmering är mycket enklare än vad folk tror. Här är några av de anledningar som grundar rytena: Data programmerare har sagt att programmering är svårt. Anledningen till detta kan vara att erhålla högre löner och arbete på kvällstid för att hinna klart. Databöcker i programmering är ofta skrivna för de invigda som kan alla termerna, en stor samling förkortningar utan förklaringar som utvecklats med åren, komplexa exempelkoder mest för att fylla ut och hjälpa den verkligt insatte med komplicerade problemlösningar. Programutvecklingsmiljöer har också klassiskt sett varit rätt dyra, lite för mycket för gemene man. På grund av Internets enorma tillväxt sedan mitten av 90-talet och många andra faktorer såsom drastiska sänkningar i priser för datorer och kringutrustning samt programvaror plus operativsystem, har allt ändrats i snabbt tempo. Man kan numera via Internet själv hämta verktyg och kompletta utvecklingsmiljöer för de flesta programspråk till en ringa kostnad och ibland till och med helt gratis. Om vi lyckas med uppdraget att göra om dig till programmerare kommer du att ha kunskaper nog i Java för att kunna vara till nytta och nöje för dig. Likväl som fara för dig själv och din omgivning när du är ute och forskar runt i Java-världen på egna stigar. Du kommer att ha kunskaper nog att skriva dina egna Java program, djupare studier i programmeringsböcker av mera komplicarad art och analysera andras program. Du kommer också att ha fått en djup inblick i ett av de mest intressanta programspråken hittills. Första delen av studiematerialet ger dig vägledning i programmering, hur du skall ställa i ordning din dators arbetsmiljö för Javaprogrammering. Följande moment kommer behandlas: Välja programspråk att börja lära sig at Java is Vad är Java ? Använda program för att styra din dator Hur program fungerar Hur programfel och buggar rättas till Anförskaffande av “Java Developer's Kit ” (Gratis) Att installera miljön JDK Förberedelser som krävs för att skriva program Välja ett språk Det viktigaste är att välja rätt programspråk för just dig och vilken typ av programmeringsuppdrag det rör sig om. Alla programspråk har olika uppdrag som de är avsedda för, andra programspråk kan kanske inte utföra det som andra kan. Microsoft Visual Basic kombinerar enkelhet med kraftfullhet för att skapa programvaror som skall enbart köras under Windows miljöer. Visual Basic Script är också populärt och sammanbinder enkelt hemsidor med Microsoftmiljön. Hursomhelst om man önskar hastighet och avancerad grafiska presentationer så passar kanske inte Visual Basic in längre, man kan då välja C++ programspråket vilket möjliggör bättre kontroll och större felxibilitet, men samtidigt ställer större krav på inlärningstiden för språket. Val och C++ språket möjliggör också enklare flytt av programmet till andra plattformar, datorsystem. Maskinspråk änvänds för de maskinnära miljöerna, till exempel styrfunktioner i processindustrier, nätverkskort, elektroniska konstruktioner med mera. Programspråket kräver då ännu mera av den som skall lära sig detta då inte enbart språket måste läras utan också hårdvaran. Maskinspråk kan var omöjligt att flytta då den är så specialicerad för sitt uppdrag att den nästan är en del av hårdvaran. Detta material lär ut Java språket och dess flavörer. Java är svårare att lära än Visual Basic, men är ändå en bättre utgångspunkt av flera anledningar. En de tyngsta anledningarna är att du kan använda Java i ”webben” på dina hemsidor för olika uppdrag. Du har säkert sett ett antal Java-script om du är ute mycket på Internet. Då vet du att dessa Javaprogram utför animeringar, blinkande knappar, ordebehandlare, databassökningar, spel och mycket annat. En annan tung anledning att lära Java är att den tvinga dig som programmerare att arbeta strukturerat och organiserat redan från början. Java programmen fungerar inte om man inte följer ett visst sätt att skriva programmen, det blir diverse klagomål och felkörningar. Av en del nybörjare och erfarna programmerare upplevs detta ofta som mycket störande. När du skriver ett programavsnitt erhåller du normalt en rad fel att ställa till rätta innan programmet är klart. En del av felen är rena syntaxfel medan andra är strukturfel och naturligtvis även tankefel för programmets utförande skull. Om du inte strukturerar programmet korrekt innan du börjar skriva är det lätt att allt blir lottorader. Man sparar massor av arbetstid och det blir mycket roligare om man har väl strukturerade program, därför tvingar Java dig att strukturera, det gör inte alla programspråk och det är lätt att komma in på återvändsgränder. Du kommer att lära dig hur du skall strukturera programmen och undvika fallgroparna. Lönen för mödan är att dina program blir snabbare och stabilare samt lättare att uppdatera och bygga vidare på. Java utvecklades av Sun Microsystems utvecklare James Gosling. Gosling ville ha en bättre väg att skapa datorprogram. Gosling ogillade de sätt som C++ till viss del styrde det projekt som Gosling utförde. Därför skapade han ett nytt programspråk som gjorde jobbet effektivare. Det skall sägas att det råder en stor debatt och ofta med ganska stormiga inlägg om hurvida Java verkligen är överlägset/bättre än andra programspråk. Programmerare finner ofta tycke för ett viss programspråk eller vissa medan de ogillar andra av helt naturliga skäl då deras programmeringsuppgifter varierar. Det har publicerats en hel del böcker om Java, över hundra, sedan Java introducerades. Var nu Java landar på skalan av de mest kompetenta programspråken så är Java ett bra språkval att börja med idag. Det finns massor av resurser, ofta gratis, på Internet, massor av arbetstillfällen, Java är också en tung del av Internets framtid med dess möjligheter och kommunikativt. De flesta moderna programspråk liknar varandra mer eller mindre, det där med strukturering och lego liknande modeller har de flesta implementerat. Så i vilket fall som helst så behöver du aldrig börja om från början för att lära dig ett nytt språk, vanligtvis brukar C++ programmerare finna det enkelt att lära sig Java, likaså Pascal programmerare. Vi har pratat mycket om C++ i inledningen ovan, C++ är en mera sostifikerad variant av det klassiska programspråket C. C++ heter språket därför att programmerare Bjarne Strostrop som utvecklade C++ tyckte det var kul att använda en sk uppräknare, du kommer att se att det är väldigt vanligt med räknare. Tala om för datorn vad den skall göra Ett datorprogram kallas ofta för mjukvara, mjukvara just därför att man enkelt kan ändra uppdraget som datorn skall utföra, tankekondens skulle kanske vara ett annat namn för program. Det som utför uppdraget kallas hårdvara så därför att det är något man kan ta på och ofta behövs lödpenna och borrmaskiner för att ändra uppdraget. Allt från det att datorn startas till dess att den stängs av styrs av olika programvaror liksom hårdvaror som utför uppdraget. Operativsystemet Windows 2000, Windows 95/98, MS-DOS, Unix, PacMan, Duke Nukem, Doom, Saddam (viruset) är alla program. Självfallet kan då dessa program ej vara något märkligt, vi tar en titt på något vardagligt. Schema för dagen: Utför 1: Städa kontorer Utför 2: Gå till affären Utför 3: Plocka { 3 liter Mjölk, 2 st Bröd och 1 st paket Runda Bords. } Utför 4: Betala Utför 5: Återvänd hem Men vad skulle hända om det inte fanns Mjölk eller om affären var stängd? Denna simpla instruktionslista skulle då haverera, eftersom ingen hänsyn till sådant finns I instruktionerna. En människa skulle ju däremot själv kunna fundera ut nya lösningar, baserat på lagrad kunskapsbank och andra omständigheter. Datorer följer sina instruktioner exakt, med få undantag när något går fel i hårdvaran eller språket i sig. Ett BASIC program som instruerar datorn att fråga om vi vill spela ett spel skulle kunna se ut på detta vis för att skriva ut en enkel textrad: 1 PRINT "Vill du spela ett spel?" 2 INPUT A$ Översatt till Svenska blir det: Utför 1: Skriv på bildskärmen, ”Vill du spela ett spel?” Utför 2: Avvakta svar från användaren och lagra detta i A$ Varje rad är en instruktion, men det visste du säkert redan. En dator utför instruktionerna i en speciell ordning, i fallet ovan radvis uppifrån och ner. Du kan likna det vid ett recept eller schemat för dagen ovan. Java använder sig dock inte av numrerade rader som BASIC och våra andra ”recept” ovan. I Java kan man använda sig av olika modeller för att utföra ett program, instruktionerna i listan är organiserade på olika sätt i grupper, men dock ändå specifierade efter varandra. Varför kanske du undrar, svaret är enkelt, det blir mycket bättre överblick om man grupperar instruktioner i stället för att se alla detaljer hela tiden. Att skylla på datorn när der är problem med program är inte helt korrekt, hårdvaran är en mycket striktare miljö och har mindre variationsmöjligheter, är det mera troligt att det är det program som du kör som strulat till det. Datorn gör ju bara exakt vad du instruerat den. Men det händer också i sällsynta fall att datorhårdvaran får problem, defekta komponenter typ hårddiskar, minnen, diskettstationer, nätverkskort eller djupare ner i elektroniken. Datorsystem skall också vara konstruerade så att man inte kan programmera sönder hårdvara, hursomhelst är det faktiskt möjligt att ”bränna” bildskärmar och slita upp hårddiskar och skriva virus som förstör datorns BIOS och annat. Hur program fungerar De flesta program är skrivna på samma sätt som du skriver ett brev, genom att skriva varje instruktion i en ordbehandlare av något slag. En del programspråk levereras med en speciell ordbehandlare medan andra kan användas med vilken ordbehandlare som helst som hantera plan ASCII text. Du kan använda Java Developer’s Kit med din favoritordbehandlare, det kommer du se senare. När du väl är klar med alla dina instruktioner till datorn (skrivit ditt program), så sparar du dessa instruktioner som vilket dokument som helst. Det bör noteras att olika programspråks instruktions dokument (programmets så kallade källkod-er) har deras eget efternamn. För Javaprogram slutar dessa på .java. Ett exempel skulle då kunna vara lotto.java för ett lottoprogram. Observera att de flesta ordbehandlare som till exempel Microsoft Word eller StarOffice lägger till styrkoder för olika typsnitt och fet text samt färger. Dessa styrkoder misstolkas av programspråpket, det är därför mycket viktigt att programmen du skriver är oformatterade! Notepad i Microsoft miljön erbjuder detta, dock även word om man ställer in och sparar som text. Under Unix kan man använda pico, emacs, vi eller xedit. Beroende på programspråk utförs instruktionerna på olika sätt. Det finns två huvudtyper av programspråk i detta avseende. Tolkande Kompilerade De tolkande språken har ett program som läser instruktionerna en efter en och orderar datorn att utföra dem. BASIC är ett klassiskt exempel på detta. Dessa språk gör det lätt att snabbt ändra och kontrollera samt avläsa felkoder som tolken skriver ut under körning. Nackdelen med dessa typer av språk är att de blir långsamma just på grund av tolkningen. De kompilerande språken kräver en kompilator eller översättare om du så vill, denna översättare översätter programinstruktionerna till maskinkod som passar datorhårdvaran och den centrala kontrollenheten däri CPU:n. Då erhålls en ny fil som brukar kallas för körbar fil med ett efternamn eller en flagga som avspeglar detta i Microsoft miljöer .exe eller .com och i Unixmiljöer filattributet x för körbar. Instruktionerna är då optimerade till hårdvarumiljön så gott kompilatorn kan göra detta, programmet blir oftast mycket snabbare än det motsvarande med Tolkning, man slipper också tolken, programmet är självstående i miljön. Däremot är det jobbigare att felsöka och testa kompilerade program, det är ju ett krav att återgå till de skrivna instruktionerna igen och kompilera om igen. I Java har man eftersträvat båda världarna, tolk och kompilator, de olika metoderna används för att optimera programkörning och programleverans. Det är också rätt ovanligt för ett programspråk att stå i båda världarna. Hur program INTE fungerar Många nya programmerare blir deprimerade när de börjar testa sina program. Det uppträder fel överallt, ofta kosntiga med kryptiska koder och förklaringar, några är syntaxfel, andra är logiska fel som kan vara svåra att upptäcka. När du nu börjar programmera måste du vara beredd på att du hela tiden stöter på fel och småproblem, misströsta inte, det är en helt naturlig del av programmeringens värld och förekommer för både nybörjaren och den erfarne. Programfel kallas för ”buggar” och tillrättaställandet kallas ”bugfix/debugging”. Ofta kan man läsa hela uppsatser med buggfixar till programvaror mellan de olika generationerna. Övning 1: hämta JAVA miljön Innan du kan börja lära dig att programmera måste du få tag på någon form av Java programmeringsmiljö. Det finns flera olika produkter och alternativ, vi vänder oss dock till Suns: Java Developer's Kit eller kort JDK. Denna innehåller en samling verktyg som låter dig både skriva och testa Java program. Det skall noteras att man kan bygga ut med grafiska gränssnitt osv. om så önskas. Det går också alldeles utmärkt att köpa en Java miljö för den som så önskar. Här nedan följer en liten lista med plattformar vilka stöds av JDK från JavaSoft: Microsoft Windows NT eller Windows 95/98 system SPARC Solaris systems med version 2.3 eller senare Intel x86 Solaris system Apple/Macintosh OS Linux FreeBSD Installationsförfarandet varierar en del beroende på vilken miljö ovan du jobbar. Denna version av Java Grundkurs beskriver hur då går tillväga för en Microsoftmiljö. Framtida versioner kommer att belysa hur Linux/FreeBSD versionerna skall installeras också. Figuren nedan visar hur det kan se ut när ett program blivit kompilerad med Javac och därefter provkörd: The Windows 95/NT version of the Kit is provided in two versions. One version is listed as an EXE file, which means that you can install it by clicking on the file's icon when you download it. This version is the easiest to set up. The World Wide Web page to download versions of the Kit is the following: Figure 1.2. JDK hämtar du enklast från: http://www.javasoft.com/products/JDK/1.1/ JDK finns också för de andra plattformarna och du finner ut hur du kan hämta och installera dem med hjälp av JavaSofts hemsida: http://www.javasoft.com/nav/read/faqindex.html vilken är en sk. FAQ fil. Sun tar icke ansvar för dessa programvaror då de ju är utvecklade eller portade av andra till olika plattformar. Om du nu har tur finner du ut att ditt system hantera JDK, det är då bara att följa instruktionerna för nedladdning och installation, dock är filerna ganska stora, mellan 5 Mbyte och 30Mbyte så med ett vanligt analogt modem kan detta sin tid. Sun erbjuder också CDSkivor med materialet på plus en stor samling exempel och hjälpkataloger. Om du beslutat dig att nedladda materialet från Internet är det lämpligt att starta en rejäl laddning Java kaffe och sätta sig i soffan en stund. Har du en CD med materialet får du nu lokalisera din plattform. Den identifieras genom en katalog med namnet på ditt operativsystem och/ellerCPU typ därunder. Alla exempel och laborationer fungerar med materialet på Suns CD-skiva. Övning 2: Installera JDK Efter din Java kaffepaus är det nu dags att installera mjukvaran. Du kommer att se att det inte alls är krångligt om du är noggrann och observant, skriv gärna ner de steg du gör så är det lätt att återvända om något går på tok. Ett gott tips är att spara undan det du laddade ner från nätet på ett säkert ställe innan du börjar installera ifall det skulle gå riktigt illa under installationen. Grundinstallation och uppställning för Microsoft Windows95/98 eller NT/2000 miljöer Först måste du se till att du har skapat en huvudkatalog (java root) däri JDK kan installeras. Exempelvis kan du kalla den JDK<versionsnummer>. Efter detta är gjort kopierar du JDK filen dit. Nu är det bara att dubbelklicka på den nedladdade filen. När du dubbelklickat kommer JDK installeras i den huvudkatalog du står i, dock i en katalog kallad Java om allt går rätt! Nyare versioner av JDK klarar däremot av jobbet ovan själv, du blir tillfrågad om var och vilken katalog som du vill installera Java i, det är ju bekvämt men kontrollera alltid att det gick som det skulle. I Autoexec.bat måste du lägga till för att command.com skall finna javaprogrammen; PATH=%PATH%;c:\JDK<versionsnummer>\bin Du måste också lägga till en rad efter “PATH” raden som läger till en ny miljövariabel; SET CLASSPATH=.;c:\JDK<versionsnummer>\lib\classes.zip Spara Autoexec.bat och starta om datorn eller manipulera miljön själv och kör vidare direkt! Vi har däremot inte kunnat konstatera att JDK själv manipulerar Autoexec.bat. P.S (<versionsnummer> ersätts med aktuellt versionsnummer av JDK!) Grundinstallation och uppställning för Unix/Linux baserade plattformar Dessa versioner levereras i komprimerade filer som ej är självuppackande. Deras filändelser avspeglar vilket program de packades ner med, .zip för pkzip .z för zip .tar för tape archive record osv. För att kunna packa upp dessa måste du ha respektive uppackningsprogram. Dessa är pkzip, Winzip, tar/untar, gzip, PKZip eller zip. Saknar du dessa måste du anskaffa dem. Du finner dem överallt på internet. www.shareware.com är ett sådant ställe där du finner en samling för de flesta operativsystemen. JDK själv levereras med särskilda instruktioner som krävs för en fullständig installation. Det finns också ytterligare hjälpdokument och en länk till Suns Java server på Internet där du finner ytterligare information: http://www.javasoft.com/products/JDK/ JDK levereras med en samling verktyg och program ,vilka kan verka förvirrande I början, de listade nedan är dock de viktigaste: Kompilatorn, javac, vilken tolkar och översätter Javaprogram till maskinspråk eller den form som datorn förstår, dess grundspråk, ettor och nollor. Tolken, java, kör programmen som är skapade av kompilatorn. Java Web browsing verktyget, appletviewer, tillåter dig att köra Javaprogram som är speciellt skrivna för att köras på hemsidor/webben. Två av dessa program illustreras I figur 1.2, javac och java för att kompilera och sen köra programmet. Officiell Java Dokumentation Den documentation som följer med JDK räcker ganska långt men det finns tilläggsdokumentation hos Sun, denna introduktion till Java kräver dock ej att du hämtar hem även denna. När du börjar skriva egna program kommer du att ha stor nytta av denna dokumentation. Dokumentationen är lagrad i olika format, HTML (Web) och som PDF. Hämtar du PDF dokument måste du ha en läsare för dessa, Adobe Acrobat är en sådan. Du finner manualer och dokumentation hos JavaSoft (Sun) på de sidor som erbjuder nedladdning av JDK och andra tilläggspaket för Java. Om du vill ta hem eller bara kolla upp något för tex JDK v1.1kan du gå till hemsidan:http://www.javasoft.com/products/JDK/1.1/docs/index.html Du erhåller då de senaste manualerna och dokumentet för just denna produkt från källan. Avslutningsvis Du har under denna inledning blivit bekant med hur programmering går till i grova drag. Att ge datorn en lista med instruktioner som beskriver i detalj vad denna skall göra. Du har också hämtat och installerat din Javamiljö JDK. Frågor och Svar 1. Vad erbjuder Internet som gör det enklare att lära sig att programmera Java ? Svar: Beroende på den snabba utvecklingen av World Wide Web försöker företag såsom Microsoft, Netscape, Sun Microsystems attrahera så många programmerare som möjligt till deras produkter och programspråk. Ett elegant sätt är då att erbjuda gratis eller väldigt billiga verktyg och programvaror såsom JDK och betaversioner av till exempel Visual Basic. Du kan enkelt leta vidare på nätet med Altavista och Yahoo för att finna flera produkter, se upp för Virus! 2. Programspråket BASIC verkar bra när man börjar skriva program, men efter ett tag kommer det problem med detta språk varför ? Svar: Något av det första du kommer att lära dig när det gller Java är att du måste strukturera ditt program ordentligt redan från början. Om du inte gör det kommer dina program inte att fungera korrekt. BASIC har inte detta krav på strukturering och det är du själv som måste anordna detta I Basic. Du kan i princip skriva BASIC program hur som helst utan ordning och hoppa fram och tillbaka I programraderna och få ditt program att fungera utmärkt, men programmet kommer senare att avar oläsbart och oförståeligt för andra programmerare. 3. BASIC? C++? Java? Vad menas med dessa namn? Svar: De flesta programspråks namn star för olika förkortningar eller projektnamn men ibland bara rent nyckfulla. BASIC är en förkortning för vad det var avsett att vara: Beginner's All Symbolic Instruction Code. C++ är ett programspråk som föddes ur C vilket föddes ur B språket. Java sår dock inte för något speciellt, kanske då Java KAFFE eller THE, men kanske var det ett namn som utvecklaren tyckte passade bra just den dagen. 4. Ok, men var finner jag böcker om Java om det nu är så bra? Svar: Det finns som sagt mer än 100 böcker skrivna om Java dags till dato. Du kan gå till World Wide Web sidan som Steve Pietrowicz skrivit, den listar upp en hel del kända och okända böcker om Java.: http://lightyear.ncsa.uiuc.edu/~srp/java/javabooks.html 5. Varför är tolkande språk långsammare än översättande(kompilerande)? Svar: AV det enkla faktum att tolken tvingas att under körningen av programmet tolka rad för rad och instruera datorn. Ett översättande språk översätter raderna en gang, därefter erhålls en instruktionslista som inte behöver tolkas, instruktionerna går direkt till datorn. Du kan göra en enkel jämförelse mellan en tolk som skall tolka mellan två personer som pratar olika språk och samma tolk om han får ett manuskript som han i lugn och ro översätter för att senare läsa upp.. 6. Är det svårare att lära Java än C++ ? Svar: Det finns inget svar på frågan, det är en uppfattningsfråga, men många menar att fallet är så. C/C++ var ursprungligen skrivna för att erhålla hastighet och exakthet, därför har de många krångliga verktyg och möjligheter som för en nybörjare kan tyckas krångliga. C/C++ var också framtagna av och för erfarna programmerare. Java går en något enklare väg och är ju också ett lite modernare språk och kan därför verka lite enklare än dess föregångare C/C++. Så so författare av detta så får vi se hur ni upplever Java som nybörjare. Java är i alla fall ett spännande språk. Kunskapsprov 1. Vilka av följande alternativ är anledningen till att folk anset att programmering ävr väldigt svårt och krävande ? (a) Programmerare spred rykten om att det var svårt för att kunna höja sina löner. (b) Förkortningar och fackord härbärjar överallt. (c) SÄPO och underättelsetjänsten har sprit rykten om att programmering ör svårt för att begränsa spridningen av virus och annat otyg. 2. Vilket av nedanstående verktyg utför ett dataprogram en rad år gången? (a) Ett långsamt verktyg. (b) En tolk (c) En kompilator (d) En Parser 3. Vilken var en av anledningarna till att James Gosling utvecklade Java? (a) Han var missnöjd med C som användes i det projekt han var delaktig. (b) C kan inte hantera lika mycke minne som Java. (c) Det gick inte att hämta bilder från Webben. Svar 1. a, b, 2. b , 3. a Övningar Besök JavaSoft hemsida: http://java.sun.com och läs de introducerande artiklar om Java som du finner spännande. I vilken artikel/stycke finner du Vad är Java?