Hvilket sprog er hurtigst
|
|
- Erling Davidsen
- 6 år siden
- Visninger:
Transkript
1 Denne guide er oprindeligt udgivet på Eksperten.dk Hvilket sprog er hurtigst Denne artikel forsøger at aflive forskellige myter om hvilke sprog der er hurtigst. Den forudsætter ikke noget særligt. Skrevet den 05. Feb 2009 af arne_v I kategorien Programmering / Generelt Historie: V1.0-14/01/ original V1.1-31/01/ forbedret formatering V1.2-07/04/ lave gruppering for at tydeliggøre resultaterne Påstande og fakta Et ofte stille spørgsmål blandt programmører er "hvilket sprog er hurtigst?". Og mange har meget bestemte meninger: - C++ er hurtigere end Delphi - Java er langsomt i forhold til native -.NET er ligeså langsomt som Java - gratis compilere er meget langsommere end kommercielle etc.etc. Jeg har lavet et lille eksempel til at undersøge sagen. Der er både en integer og en floating point version. Det er ikke nogen perfekt bencmark. Det er et meget meget lille program. Men: - det er så nemt at man kan kode en version i ethvert sprog som måtte mangle hvis man vil sammenligne - det er godt nok til faktisk at give forskelle Lad os se nogen resultater. Testene er lavet på en Athlon XP (1667 MHz) med 512 MB RAM og Windows 2000 Professional. Integer test: SUN JVM = 30 seconds SUN JVM = 5 seconds BEA JRockIt JVM 8.0 = 7 seconds IBM JVM = 3 seconds G = 5 seconds G = 8 seconds
2 G = 7 seconds G = 3 seconds G = 7 seconds G = 7 seconds MS VC++ 6 standard = 6 seconds MS VC++ 6 /Ox /G5 = 4 seconds MS.NET 1.1 SDK C# = 3 seconds Borland C++ Builder 5.5 = 3 seconds Borland Delphi 6 = 3 seconds Hvilket indenfor den usikkerhed der nu er må kunne opsummeres som: gruppe 1 (3-4 sekunder) : IBM Java, MS VC++, C#, C++ Builder, Delphi gruppe 2 (5-8 sekunder) : SUN Java, BEA Java, GCC Floating point test: SUN JVM = 23 seconds SUN JVM = 19 seconds BEA JRockIt JVM 8.0 = 24 seconds IBM JVM = 10 seconds G = 25 seconds G = 20 seconds G = 20.5 seconds G = 24.5 seconds G = 20 seconds G = 19 seconds MS VC++ 6 standard = 20 seconds MS VC++ 6 /Ox /G5 = 9.5 seconds MS.NET 1.1 SDK C# = 18 seconds Borland C++ Builder 5.5 = 21 seconds Borland Delphi 6 = 19 seconds Hvilket indenfor den usikkerhed der nu er må kunne opsummeres som: gruppe 1 (9-10 sekunder) : IBM Java, MS VC++ gruppe 2 (18-25 sekunder) : SUN Java, BEA Java, GCC, C#, C++ Builder, Delphi Vi konkluderer udefra kombinationen af integer og floating point resultaterne at: * Delphi er ligeså hurtigt som C++ * de bedste JVM er ligeså hurtige som native kode *.NET er ligeså hurtigt som native kode * gratis compilere er sommetider ligeså hurtige som kommercielle Husk at det kun er en enkelt simpel test. Så dem med bestemte meninger kan naturligvis fortsat have dem. Nogle vil påpege, at der ikke indgår objekter, så at Java og C# ikke skal garbage collecte. Det er rigtigt, men eksemplet er et arithmetik eksempel og arithmetik bruger ikke garbage collection. Iøvrigt viser test normalt at garbage collection ikke forringer overall performance markant, men at den kun giver dårligere real time egenskaber.
3 Reelt er sprogene rimeligt ens i hastighed. Men det er der heller ikke noget overraskende i. Fordi: * de kører på samme CPU * compilere udviklerne studerer naturligvis hinandens arbejde og låner gode ideer til forbedring * compiler teknologi har udviklet sig rigtigt meget de sidste 30 år med hensyn til optimering * compilere fra samme levandør vil ofte dele compiler backend (compiler frontend = source code parsning, compiler backend = kode generering) Den største forskel i compiler teknologi er nok mellem Java og.net, hvor optimeringen foregår runtime, og de native, hvor optimeringen foregår på compile tidspunkt. Og så lige en lille efternote: betydningen af sprogs hastighed er kun relevant for en meget lille del af de applikationer som skrives idag. Det er normalt den fremmede kode (operativ system, database etc.) som bruger langt størstedelen af resourcerne idag, mens ens egen kode med high level logik betyder meget mindre. Og så betyder et sprogs hastighed ikke ret meget. CPU kraft er billigt. Får 5000 kr. får man en superhurtig PC. Software udvikling er dyrt - rigtigt dyrt - et sted mellem 500 og 1500 kr. i timen. Hvis en applikation kun skal køre på en eller ihvertfald få PC'ere, så skal man vælge sprog efter hvad der giver kort udviklings tid og billig vedligehold fremfor efter hastighed. Koden Her komme kilde teksten, så kan folk selv compile og teste deres compilere på deres egen PC. Java public class Test { private static final int N = ; public static void main(string[] args) throws Exception { long t1 = System.currentTimeMillis(); int sum = 0; long t2 = System.currentTimeMillis(); if(sum!= N) { System.out.println("Error"); else { System.out.println(N + " operations in " + ((t2 - t1) / 1000) + " seconds");
4 C++ #include <iostream> #include <time.h> using namespace std; const int N = ; int main() { time_t t1 = time(null); int sum = 0; time_t t2 = time(null); if(sum!= N) { cout << "Error" << endl; else { cout << N << " operations in " << (t2 - t1) << " seconds" << endl; Fortran PROGRAM TEST INTEGER N, I, SUM, T1, T2, SCALE PARAMETER (N = ) CALL SYSTEM_CLOCK(T1, SCALE) SUM = 0 DO 100 I = 0,(N - 1) SUM = ((SUM + 1) * 2 + 1) / 2; 100 CONTINUE CALL SYSTEM_CLOCK(T2, SCALE) IF(SUM.NE.N) THEN WRITE(*,*) 'Error' ELSE WRITe(*,*) N, ' operations in ', (T2 - T1) / SCALE, ' seconds' ENDIF END C# using System; class SpeedTest { private const int N = ;
5 public static int Main() { long t1 = DateTime.Now.Ticks; int sum = 0; long t2 = DateTime.Now.Ticks; if(sum!= N) { Console.WriteLine("Error"); else { Console.WriteLine(N + " operations in " + ((t2 - t1) / ) + " seconds"); return 0; Delphi program Test; {$APPTYPE CONSOLE uses Windows, SysUtils; const N = ; var t1, t2, sum, i : integer; begin t1 := GetTickCount; sum := 0; for i := 0 to (N - 1) do begin sum := ((sum + 1) * 2 + 1) div 2; end; t2 := GetTickCount; if(sum <> N) then begin writeln('error'); end else begin writeln(n:1, ' operations in ', ((t2 - t1) div 1000):1, ' seconds'); end; end. Java public class TestFP { private static final int N = ; public static void main(string[] args) throws Exception { long t1 = System.currentTimeMillis();
6 double sum = 0; long t2 = System.currentTimeMillis(); if(math.abs(sum-1.5*n) > 1) { System.out.println("Error"); else { System.out.println(N + " operations in " + ((t2 - t1) / 1000) + " seconds"); C++ #include <iostream> #include <time.h> #include <math.h> using namespace std; const int N = ; int main() { time_t t1 = time(null); double sum = 0; time_t t2 = time(null); if(fabs(sum-1.5*n) > 1) { cout << "Error" << endl; else { cout << N << " operations in " << (t2 - t1) << " seconds" << endl; Fortran PROGRAM TEST INTEGER N, I, T1, T2, SCALE DOUBLE PRECISION SUM PARAMETER (N = ) CALL SYSTEM_CLOCK(T1, SCALE) SUM = 0 DO 100 I = 0,(N - 1) SUM = ((SUM + 1) * 2 + 1) / 2; 100 CONTINUE CALL SYSTEM_CLOCK(T2, SCALE)
7 IF(ABS(SUM-1.5*N).GT.1) THEN WRITE(*,*) 'Error' ELSE WRITe(*,*) N, ' operations in ', (T2 - T1) / SCALE, ' seconds' ENDIF END C# using System; class SpeedTest { private const int N = ; public static int Main() { long t1 = DateTime.Now.Ticks; double sum = 0; long t2 = DateTime.Now.Ticks; if(math.abs(sum - 1.5*N) > 1) { Console.WriteLine("Error"); else { Console.WriteLine(N + " operations in " + ((t2 - t1) / ) + " seconds"); return 0; Delphi program Test; {$APPTYPE CONSOLE uses Windows, SysUtils; const N = ; var t1, t2, i : integer; sum : double; begin t1 := GetTickCount; sum := 0; for i := 0 to (N - 1) do begin
8 sum := ((sum + 1) * 2 + 1) / 2; end; t2 := GetTickCount; if(abs(sum - 1.5*N) > 1) then begin writeln('error'); end else begin writeln(n:1, ' operations in ', ((t2 - t1) div 1000):1, ' seconds'); end; end. Kommentar af borrisholt d. 16. Aug Alle de test jeg har deltaget i viser at optimeret kode er lige hurtig i c++ og i Delphi. Jeg synes du laver en fin gennemgang. Do glemmer du en vigtig detalje : Borland er dygtigere til at skrive Compilere!!! Det ultimative bevis for dette findes i at Microsoft forud for stører sastsninger på deres compiler har de altid købt en mand fra Borland. I øvrigt har Borland uden sammenligning den laveste compile tid!! Kommentar af simonvalter d. 15. Jan Interessant! Kommentar af bearhugx d. 24. Jan Interessant læsning - og fik da punkteret nogle myter hos mig selv :-=) Kommentar af skwat d. 31. Oct pussig lille sag. Kommentar af hermandsen d. 22. Jan God artikel med en interessant konklusion! Helt sikkert værd at læse! Kommentar af skovenborg d. 04. Feb Ja, så fik man det slået på plads. Meget interesant må man sige ;-) Kommentar af athlon-pascal d. 15. Jan God artikel :o) Spændende resultat. Kommentar af xodeus d. 15. Jan Meget interessant artikel. men eftersom man skriver mindst kilde i java og C# så er de da forholdsvis lige hurtige? Kommentar af cronck d. 03. Feb
9 Så er du ikke i tvivl længere Kommentar af chrha22 d. 02. Jul Kommentar af ib-rene-cairo d. 19. Feb Overskriften "Hvilket sprog er hurtigst" er misvisende. Testen viser jo tydeligt at det er valget af compiler, der er afgørende for hastigheden og IKKE hvilket programmeringssprog man vælger. Konklusionen "Delphi er ligeså hurtigt som C++" er noget vrøvl. Det er kun sandt, hvis begge compilere er fra firmaet Borland. Oversigten viser klart at de fleste C++ compilere er langsommere end Borlands Delphi. Kommentar af mikkelbm d. 15. Jan Fint lille eksempel til at illustrere forskellene. Kommentar af trer d. 24. Jan Fin artikel, savner dog en sammenligning på strengoperationer og med varianttyper. Kommentar af sandbox d. 15. Jan Interessant. Især konklusionen. Kommentar af tigertool d. 24. Aug Kommentar af nlf d. 08. May Kommentar af visualdeveloper d. 15. Aug genial artikel! Kommentar af asgerm d. 15. Apr "Hvilket sprog er hurtigst" ja men mangler der ikke nogle sprog for det her gælder jo KUN for Java, C++, Fortran, C# og Delphi, hvor er ASM, Pascal, VB og Python m.m.??
Tilfældige tal. Denne artikel introducerer generering af tilfældige tal og viser lidt om hvad man kan og ikke mindst hvad man ikke bør bruge.
Denne guide er oprindeligt udgivet på Eksperten.dk Tilfældige tal Denne artikel introducerer generering af tilfældige tal og viser lidt om hvad man kan og ikke mindst hvad man ikke bør bruge. Den forudsætter
Læs mereHvilket sprog skal jeg lære?
Denne guide er oprindeligt udgivet på Eksperten.dk Hvilket sprog skal jeg lære? Denne artikel snakker lidt løst og fast om den kendte problem stilling med hvilket sprog man skal lære (generelle programmerings
Læs mereSingleton pattern i Java
Denne guide er oprindeligt udgivet på Eksperten.dk Singleton pattern i Java Denne artikel beskriver Singleton pattern og implementation i Java. Den forudsætter kendskab til Java men ikke til Singleton.
Læs mereForskellige Java versioner
Denne guide er oprindeligt udgivet på Eksperten.dk Forskellige Java versioner Denne artikel beskriver lidt om de forskellige Java versioner. Den forklarer J2SE/J2ME/J2EE, plugin/jre/sdk og Sun Java/Microsoft
Læs mereHvilket sprog skal jeg lære?
Denne guide er oprindeligt udgivet på Eksperten.dk Hvilket sprog skal jeg lære? Denne artikel snakker lidt løst og fast om den kendte problem stilling med hvilket sprog man skal lære (generelle programmerings
Læs mereSend fra Java. Denne artikel fortæller hvad man skal bruge og hvordan man skal kode for at sende fra Java.
Denne guide er oprindeligt udgivet på Eksperten.dk Send email fra Java Denne artikel fortæller hvad man skal bruge og hvordan man skal kode for at sende email fra Java. Simple eksempler ikke noget vildt
Læs mereRMI introduktion. Denne artikel beskriver Java RMI (Remtote Method Invocation).
Denne guide er oprindeligt udgivet på Eksperten.dk RMI introduktion Denne artikel beskriver Java RMI (Remtote Method Invocation). Den beskriver teorien bag RMI, viser et simpelt kode eksempel og forklarer
Læs mereDen forudsætter kendskab til C++ og lidt kendskab til SQL og MySQL C API.
Denne guide er oprindeligt udgivet på Eksperten.dk Brug af MySQL i C++ Denne artikel bygger ovenpå artiklen "MySQL C API" og forklarer hvordan man kan programmere mere objekt orienteret. Den forudsætter
Læs mereAnvendelse af metoder - Programmering
Denne guide er oprindeligt udgivet på Eksperten.dk Anvendelse af metoder - Programmering En forhåbentlig rigtig god forklaring på hvad metoder er og hvordan de anvendes. Lidt om private og public, retur
Læs mereThreads i Java. Denne artikel giver en introduktion til threads i Java. Den beskriver hvad tråde er og forklarer hvordan de bruges i Java
Denne guide er oprindeligt udgivet på Eksperten.dk Threads i Java Denne artikel giver en introduktion til threads i Java. Den beskriver hvad tråde er og forklarer hvordan de bruges i Java Den forudsætter
Læs mereUndtagelseshåndtering i C#
Denne guide er oprindeligt udgivet på Eksperten.dk Undtagelseshåndtering i C# I modsætning til C++ kan man i C# ikke skrive et program uden undtagelseshåndtering, så derfor har jeg skrevet denne guide
Læs mereSingleton pattern i C#
Denne guide er oprindeligt udgivet på Eksperten.dk Singleton pattern i C# Denne artikel beskriver Singleton pattern og implementation i C#. Den forudsætter kendskab til C# men ikke til Singleton. Der er
Læs mere//Udskriver System.out.println("Hej " + ditfornavn + " " + ditefternavn + "."); System.out.println("Du er " + dinalder + " aar gammel!
Denne guide er oprindeligt udgivet på Eksperten.dk Brugerinput i Java Denne her artikel gennemgår diverse ting ved brug af brugerinput i Java. Den starter med det simple og fortæller derefter skridt for
Læs mereapplikation----x----odbc driver manager----foobar ODBC driver----foobar database
Denne guide er oprindeligt udgivet på Eksperten.dk ODBC i C/C++ Denne artikel beskriver hvordan man bruger ODBC i C/C++. Der er beskrivelse af build med forskellige compilere. Den forudsætter lidt kendskab
Læs mereDen forudsætter kendskab til XML og C# men ikke til brug af XML i C#.
Denne guide er oprindeligt udgivet på Eksperten.dk Brug af XML i C# Denne artikel vil vise lidt om hvordan man kan bruge XML i C#. Den forudsætter kendskab til XML og C# men ikke til brug af XML i C#.
Læs merePrepared Statements. Denne artikel beskriver hvorfor prepared statements er gode. Den forudsætter lidt kendskab til Java og JDBC.
Denne guide er oprindeligt udgivet på Eksperten.dk Prepared Statements Denne artikel beskriver hvorfor prepared statements er gode. Den forudsætter lidt kendskab til Java og JDBC. Skrevet den 18. Feb 2010
Læs mereHvad er Objekter - Programmering
Denne guide er oprindeligt udgivet på Eksperten.dk Hvad er Objekter - Programmering En rigtig god gennemgang af hvad objekter er! Hvordan de oprettes og anvendes! Det er helt klart til nybegyndere, som
Læs mereDatabase design for begyndere
Denne guide er oprindeligt udgivet på Eksperten.dk Database design for begyndere Denne artikel beskriver hvordan man kommer fra ide til database design. Den stopper inden normal former. Den forudsætter
Læs mereParameters. Denne artikel beskriver hvorfor parameters er gode. Den forudsætter lidt kendskab til C# og ADO.NET.
Denne guide er oprindeligt udgivet på Eksperten.dk Parameters Denne artikel beskriver hvorfor parameters er gode. Den forudsætter lidt kendskab til C# og ADO.NET. Der findes en tilsvarende artikel med
Læs mereLogging i Java. Den forudsætter kendskab til Java og noget generel udviklings erfaring. Denne guide er oprindeligt udgivet på Eksperten.
Denne guide er oprindeligt udgivet på Eksperten.dk Logging i Java Denne artikel beskriver baggrunden for logging frameworks og viser hvordan man bruger 2 af de mest almindelige: Apache Log4J og J2SE/Java
Læs mereBits, bit operationer, integers og floating point
Denne guide er oprindeligt udgivet på Eksperten.dk Bits, bit operationer, integers og floating point Denne artikel beskriver hvordan data gemmes som bits og hvordan man kan manipulere med bits. Den forudsætter
Læs mereEndnu mere om tilfældige tal
Denne guide er oprindeligt udgivet på Eksperten.dk Endnu mere om tilfældige tal Denne artikel bygger oven på de to forrige artikler om tilfældige tal. Den indeholder lidt matematik og anvendelse på PHP
Læs mereArkitektur for begyndere
Denne guide er oprindeligt udgivet på Eksperten.dk Arkitektur for begyndere Denne artikel beskriver forskellige basale n-tier arkitekturer. Som man bør kende og have valgt inden man går igang med at udvikle
Læs mereTest med JUnit 3. Denne artikel introducerer JUnit 3. Den forklarer ideen med JUnit. Og den viser hvordan man konkret bruger det.
Denne guide er oprindeligt udgivet på Eksperten.dk Test med JUnit 3 Denne artikel introducerer JUnit 3. Den forklarer ideen med JUnit. Og den viser hvordan man konkret bruger det. Den forudsætter kendskab
Læs mereMySQL C API. Denne artikel beskriver hvordan man bruger MySQL C API. Der er beskrivelse af build med forskellige compilere.
Denne guide er oprindeligt udgivet på Eksperten.dk MySQL C API Denne artikel beskriver hvordan man bruger MySQL C API. Der er beskrivelse af build med forskellige compilere. Den forudsætter lidt kendskab
Læs mereDelphi - CrackMe og Keygen
Denne guide er oprindeligt udgivet på Eksperten.dk Delphi - CrackMe og Keygen Dette er min første artikel! :) Men jeg synes nu den er blevet meget god! :D Jeg giver et et eksempel på hvordan man kan lave
Læs mereIntroduktion til AOP i C#
Denne guide er oprindeligt udgivet på Eksperten.dk Introduktion til AOP i C# Denne artikel giver en introduktion AOP (Aspect Oriented Programming) i C#. Den forudsætter et pænt kendskab til programmering,
Læs mereKursusarbejde 2 Grundlæggende Programmering
Kursusarbejde 2 Grundlæggende Programmering Arne Jørgensen, 300473-2919 klasse dm032-1a 31. oktober 2003 Indhold 1. Kode 2 1.1. hotel.h.................................................... 2 1.2. hotel.cc...................................................
Læs mereTest med NUnit. Denne artikel introducerer NUnit. Den forklarer ideen med NUnit. Og den viser hvordan man konkret bruger det.
Denne guide er oprindeligt udgivet på Eksperten.dk Test med NUnit Denne artikel introducerer NUnit. Den forklarer ideen med NUnit. Og den viser hvordan man konkret bruger det. Den forudsætter kendskab
Læs mereSådan skriver du artikler til Eksperten!
Denne guide er oprindeligt udgivet på Eksperten.dk Sådan skriver du artikler til Eksperten! Når du skriver artikler handler det om at få den ud til de rigtige personer, og vise den frem så den er let forståelig.
Læs mereIntroduction til.net remoting i C#
Denne guide er oprindeligt udgivet på Eksperten.dk Introduction til.net remoting i C# Denne artikel beskriver teorien bag.net remoting og viser nogle simple kode eksempler i C#. Den forudsætter kendskab
Læs mereRMI avanceret. Denne artikel beskriver nogle mere avancerede features i RMI. Den gør det muligt at lave mere realistiske applikationer.
Denne guide er oprindeligt udgivet på Eksperten.dk RMI avanceret Denne artikel beskriver nogle mere avancerede features i RMI. Den gør det muligt at lave mere realistiske applikationer. Den forudsætter
Læs mereDatabase tips. Den forudsætter lidt kendskab til SQL men er for mindre erfarne. Denne guide er oprindeligt udgivet på Eksperten.dk
Denne guide er oprindeligt udgivet på Eksperten.dk Database tips Denne artikel vil give nogle forskellige små praktiske råd om ting man skal tænke på når man arbejder med databaser og applikationer som
Læs mereUdvikling af DOTNET applikationer til MicroStation i C#
Udvikling af DOTNET applikationer til MicroStation i C# Praktiske tips for at komme i gang. Gunnar Jul Jensen, Cowi Hvorfor nu det? Mdl og Vba kan det hele Fordelene er : udviklingsmiljøet er eksternt
Læs mereSkrevet den 18. Feb 2010 af arne_v I kategorien Programmering / Visual Basic.NET
Denne guide er oprindeligt udgivet på Eksperten.dk Parameters Denne artikel beskriver hvorfor parameters er gode. Den forudsætter lidt kendskab til VB.NET og ADO.NET. Der findes en tilsvarende artikel
Læs mereKursusarbejde 3 Grundlæggende Programmering
Kursusarbejde 3 Grundlæggende Programmering Arne Jørgensen, 300473-2919 klasse dm032-1a 21. november 2003 Indhold 1. Kode 2 1.1. forestillinger.h............................................. 2 1.2. forestillinger.cc.............................................
Læs mereJNI. Denne artikel beskriver JNI (Java Native Interface) som er måden hvorpå Java kan kalde native kode.
Denne guide er oprindeligt udgivet på Eksperten.dk JNI Denne artikel beskriver JNI (Java Native Interface) som er måden hvorpå Java kan kalde native kode. Den viser et simpelt eksempel og forklarer hvordan
Læs mereXML parsning i Java. Denne artikel beskriver hvordan man parser XML i Java. Den beskriver W3C DOM, SAX og JDOM.
Denne guide er oprindeligt udgivet på Eksperten.dk XML parsning i Java Denne artikel beskriver hvordan man parser XML i Java. Den beskriver W3C DOM, SAX og JDOM. Den forudsætter kendskab til Java og XML.
Læs mereIntroduction til.net remoting i VB.NET
Denne guide er oprindeligt udgivet på Eksperten.dk Introduction til.net remoting i VB.NET Denne artikel beskriver teorien bag.net remoting og viser nogle simple kode eksempler i VB.NET. Den forudsætter
Læs mereUniversity of Southern Denmark Syddansk Universitet. DM502 Forelæsning 2
DM502 Forelæsning 2 Repetition Kompilere og køre Java program javac HelloWorld.java java HeloWorld.java Debugge Java program javac -g HelloWorld.java jswat Det basale Java program public class HelloWorld
Læs mereDatabase programmerings tips
Denne guide er oprindeligt udgivet på Eksperten.dk Database programmerings tips Denne artikel vil introducere nogle problem stillinger med flere samtidige brugere, som man skal tænke på, når man udvikler
Læs mereUniversity of Southern Denmark Syddansk Universitet. DM503 Forelæsning 11
DM503 Forelæsning 11 Generics Pakker Exceptions Indhold Generics Nedarvning og Generics Generics Nedarvning og Generics Husk Box fra sidst Generics public class Box {! private T object;! public void
Læs mereDen forudsætter kendskab til XML og VB.NET men ikke til brug af XML i VB.NET.
Denne guide er oprindeligt udgivet på Eksperten.dk Brug af XML i VB.NET Denne artikel vil vise lidt om hvordan man kan bruge XML i VB.NET. Den forudsætter kendskab til XML og VB.NET men ikke til brug af
Læs mereObjektorienteret Programmering
Objektorienteret Programmering Struktureret Systemudvikling Jan Bendtsen Automation and Control Indhold Lidt om programmeringssprog Klasser i Java Klasser i C++ Oversættelse og kørsel af kode Et eksempel:
Læs mereSpeciale. Evaluering af Java til udvikling af indlejrede realtidssystemer ved brug af en eksisterende Java Optimized Processor (JOP)
Speciale Evaluering af Java til udvikling af indlejrede realtidssystemer ved brug af en eksisterende Java Optimized Processor (JOP) Speciale efterår 2005 Teknisk Informationsteknologi Jan Lauritzen & Mads
Læs mere2) Det er let at være produktiv med Python, da Python som regel kun har mellem 67 og 80% færre linier end tilsvarende C eller Java kode.
Denne guide er oprindeligt udgivet på Eksperten.dk I gang med Python I denne artikel vil jeg forsøge at give et kort og hurtigt indblik i programmeringssproget Python, der desværre er alt for overset.
Læs mereAbstrakte datatyper C#-version
Note til Programmeringsteknologi Akademiuddannelsen i Informationsteknologi Abstrakte datatyper C#-version Finn Nordbjerg 1/9 Abstrakte Datatyper Denne note introducerer kort begrebet abstrakt datatype
Læs mereJava web applikationer med Tomcat
Denne guide er oprindeligt udgivet på Eksperten.dk Java web applikationer med Tomcat Denne artikel beskriver hvordan man kan konfigurere container managed security og en database connection pool i Tomcat.
Læs mereArrays i PHP. Denne guide er oprindeligt udgivet på Eksperten.dk. Skrevet den 04. Feb 2009 af taskmgr I kategorien Programmering / PHP
Denne guide er oprindeligt udgivet på Eksperten.dk Arrays i PHP De fleste som har skrevet omfattende scripts, er før eller siden stødt på problemet med at de bliver vanskelige at overskue hvis man bruger
Læs mere.NET 4.5 og C# 5.0. Denne artikel beskriver nogle af de nye features i.net 4.5 og C# 5.0. Den forudsætter et vist kendskab til.net og C#.
Denne guide er oprindeligt udgivet på Eksperten.dk.NET 4.5 og C# 5.0 Denne artikel beskriver nogle af de nye features i.net 4.5 og C# 5.0. Den forudsætter et vist kendskab til.net og C#. Skrevet den 11.
Læs mereIT projekt person galleri
Denne guide er oprindeligt udgivet på Eksperten.dk IT projekt person galleri Denne artikel forsøger at forklare lidt om hvilke funktioner der ligger bag ved de forskellige titler som deltagerne i et IT
Læs mereTest af It-komponent
Test af It-komponent I programmeringssproget Java Programmet Login service Elev: Mads Funch Klasse 2.4 Mat, It, Programmering Skole: Roskilde Tekniske Gymnasium HTX Underviser: Karl Dato: 31-08-2016 Side
Læs mereA Profile for Safety Critical Java
A Profile for Safety Critical Java Martin Schoeberl Hans Søndergaard Bent Thomsen Anders P. Ravn Præsenteret af: Henrik Kragh-Hansen November 8, 2007 Forfatterne Martin Schoeberl Udvikler af JOP processoren
Læs mereTredjepart webservices
Tredjepart webservices 4. juni 2015 USS Dok. Klik her for at angive tekst. 1/12 Indholdsfortegnelse Introduktion... 3 Miljøer... 3 Adgang... 3 API kald... 4 GET: /authorizations... 4 Input 4 Output 4 Output
Læs mereJava Klasse nedarvninger
Denne guide er oprindeligt udgivet på Eksperten.dk Java Klasse nedarvninger Et let lille overblik i hvordan klasse nedarvning virker i java Skrevet den 07. dec 2011 af mochners I kategorien Programmering
Læs mereKontrol-strukturer i PHP
Denne guide er oprindeligt udgivet på Eksperten.dk Kontrol-strukturer i PHP Denne artikel gennemgår kontrolstrukturer i PHP. 'if', 'switch', 'while' og 'for' bliver gennemgået. Den forudsætter lidt grundlæggende
Læs mereI denne artikel vil vi bruge en User klasse som vi så vil gruppere på forskellige måder.
Denne guide er oprindeligt udgivet på Eksperten.dk Collections i.net Når du kigger i namespacet System.Collections finder du over 10 forskellige klasser. At vælge den rigtige til netop din applikations
Læs mereExceptions i Delphi. Try except
Exceptions i Delphi Exceptions er en teknik til at fange fejl under programafviklingen. Ikke programmeringsfejl, men fejl der opstår i forskellige situationer, f.eks. en fil der mangler en fil der er skrivebeskyttet,
Læs mereAAU, Programmering i Java Intern skriftlig prøve 18. maj 2007
AAU, Programmering i Java Intern skriftlig prøve 18. maj 2007 Opgavebesvarelsen skal afleveres som enten en printerudskrift eller som et passende dokument sendt via email til fjj@noea.dk. Besvarelsen skal
Læs mereDatabaseadgang fra Java
Databaseadgang fra Java Grundlæggende Programmering med Projekt Peter Sestoft Fredag 2007-11-23 Relationsdatabasesystemer Der er mange databaseservere Microsoft Access del af Microsoft Office MySQL god,
Læs mereDM01 DM01. 3. Obl. Afl. Jacob Christiansen, 130282, jacob.ch@mail.tdcadsl.dk. D12, Elias 18/3-2003. Side 1 af 11
DM01 DM01 3. Obl. Afl. Jacob Christiansen, 130282, jacob.ch@mail.tdcadsl.dk D12, Elias 18/3-2003 Side 1 af 11 DM01 Indholdsfortegnelse: BILAG:...2 1 FORMÅL:...3 2 KLASSER:...4 2.1 DILEMMA:...4 2.1.1 METODER:...4
Læs mereMozilla Firefox (tidligere Firebird): Fremhæve ord
Denne guide er oprindeligt udgivet på Eksperten.dk Mozilla Firefox (tidligere Firebird): Fremhæve ord Du kender sikkert Google Værktøjslinjen til Internet Explorer, ellers har du sikkert hørt om den. I
Læs mereArduino Programmering
Microcontroller, Arduino I teknologi skal vi lære at lave programmer til uc for at have muligheden til eksamen at kunne lave intelligente el-produkter. I hvert fald skal vi have set mulighederne, og forstået
Læs mereGeografisk lokalisering i ASP.NET
Denne guide er oprindeligt udgivet på Eksperten.dk Geografisk lokalisering i ASP.NET Denne artikel forklarer lidt om hvorfor og hvordan man laver geografisk lokalisering og viser noget kode. Der er andre
Læs mereLær Python dag 1 - modul 1
Lær Python dag 1 - modul 1 Introduktion, basis python Steffen Berg Klenow Jonas Bamse Andersen Syddansk Universitet Indhold 1. Velkommen 2. Programmering i python 3. Typer, variabler og udtryk 1 Velkommen
Læs mereGenerisk programmering - opgave 2 - Doxygen
Generisk programmering - opgave 2 - Doxygen Morten Wendelboe Datalogisk Institut, Københavns Universitet Universitetsparken 1, 2100 København Ø morty@diku.dk Resumé. Denne opgave ser på mulighederne for
Læs mereKursus 02199: Programmering. Lidt om forelæseren. Velkommen til. Praktisk information: kursusaktiviteter. Praktisk information: forelæsninger
Velkommen til Kursus 02199: Programmering ved Anne Haxthausen IMM, DTU 4. september, 2001 1. Praktisk information 2. Introduktion til faget (a) kursusmål og motivation (b) hvad er en datamaskine, et program,
Læs mereIntroduktion til funktioner, moduler og scopes i Python
Denne guide er oprindeligt udgivet på Eksperten.dk Introduktion til funktioner, moduler og scopes i Python Denne artikel er fortsættelsen af "I gang med Python", som blevet publiceret her på sitet for
Læs mereDenne artikel gennemgår kort nogle mulighederne for brug af XML i ASP. Det sker ved brug af eksempler. Eksemplerne vil være i VBS.
Denne guide er oprindeligt udgivet på Eksperten.dk XML i ASP Denne artikel gennemgår kort nogle mulighederne for brug af XML i ASP. Det sker ved brug af eksempler. Eksemplerne vil være i VBS. Den forudsætter
Læs mereAsymptotisk analyse af algoritmers køretider
Asymptotisk analyse af algoritmers køretider Analyse af køretid Recall: Vi ønsker at vurdere (analysere) algoritmer på forhånd inden vi bruger lang tid på at implementere dem. De to primære spørgsmål:
Læs mereIntroduktion til SQL queries
Denne guide er oprindeligt udgivet på Eksperten.dk Introduktion til SQL queries Denne artikel beskriver nogle forskellige muligheder i SQL queries. Eksemplerne skulle gerne være standard SQL og virke i
Læs mereMicrocontroller, Arduino
Microcontroller, Arduino Programmerbar elektronik. uc Vi skal lære at lave programmer til uc for at kunne lave el-produkter. Forstå princippet i programmering af en uc og se mulighederne. Programmeringen
Læs mereGoogle App Engine. Google App Engine som platform. Claus Myglegaard Vagner og Jacob von Eyben
GoogleAppEngine GoogleAppEnginesomplatform ClausMyglegaardVagnerogJacobvonEyben Abstract CloudcomputingerenteknologidervinderfremidengenerelleITinfrastruktur. SocialemediersåsomLinkedIn,TwitterogFacebookharøgetbehovetfor
Læs mereMed register_globals = On får du automatisk adgang til en række variabelnavne i dit script.
Denne guide er oprindeligt udgivet på Eksperten.dk Register Globals Off Lad os slå en ting fast med det samme - register_globals = Off er en god ting, i hvert fald set ud fra et sikkerhedsmæssigt synspunkt.
Læs mereStudiepraktik. Thomas Bøgholm Mikkel Hansen Jacob Elefsen
Studiepraktik Thomas Bøgholm boegholm@cs.aau.dk Mikkel Hansen mhan@cs.aau.dk Jacob Elefsen jelefs12@student.aau.dk 1 Studiepraktik -- program Program onsdag 10.00 10.15 Registrering af fremmøde og gennemgang
Læs mereKursus i OOP og Java. Kursus i Objektorienteret programmering i Java
Kursus i OOP og Java Kursus i Objektorienteret programmering i Java Åben Dokumentlicens Dette foredragsmateriale er under Åben Dokumentlicens (ÅDL) Du har derfor lov til frit at kopiere dette værk Bruger
Læs mereEkstra hastighed med array's i Excel-VBA
Denne guide er oprindeligt udgivet på Eksperten.dk Ekstra hastighed med array's i Excel-VBA Brugen af arrays til indlæsning af og skrivning til celler i Excel kan give betragtelige hastighedsforøgelser
Læs mereMere om tilfældige tal
Denne guide er oprindeligt udgivet på Eksperten.dk Mere om tilfældige tal Denne artikel bygger oven på den forrige artikel om tilfældige tal. Den forudsætter at man har læst den forrige artikel og har
Læs mereDelphi og Databaser for begyndere
Denne guide er oprindeligt udgivet på Eksperten.dk Delphi og Databaser for begyndere Denne artikel handler om hvordan man udnytter noget af det bedste i Delphi: Dets gode muligheder for integrering med
Læs mereUniversity of Southern Denmark Syddansk Universitet. DM502 Forelæsning 6
DM502 Forelæsning 6 Klasser og objekter Introduktion Math-klassen Indhold Klasser vs. objekter Først et tænkt eksempel: Vi vil lave en bil i Java 1. spørgsmål: Hvad karakteriserer en bil? Model År Farve...
Læs mereKursusarbejde 1 Grundlæggende Programmering. Arne Jørgensen, 300473-2919 klasse dm032-1a
Kursusarbejde 1 Grundlæggende Programmering Arne Jørgensen, 300473-2919 klasse dm032-1a 3. oktober 2003 Kode //File Name: kaalhovede.cc //Author: Arne Jørgensen //Email Address: arne@arnested.dk, arnjor@niels.brock.dk
Læs mereNye features i Java 1.5/5.0
Denne guide er oprindeligt udgivet på Eksperten.dk Nye features i Java 1.5/5.0 Denne artikel beskriver nye features i Java 1.5/5.0, som lige er kommet i final (ikke-beta) udgave. Den forudsætter et vist
Læs mereLige siden den elektroniske computers opfindelse i slutningen af 1940, har det været muligt at få en computer til at beregne ting.
Denne guide er oprindeligt udgivet på Eksperten.dk C++ Historie og Programmering - Del 1 Denne guide er til dig der altid har undret dig over hvordan du får en computer til at udføre specifikke opgaver.
Læs mereGeografisk lokalisering i JSP
Denne guide er oprindeligt udgivet på Eksperten.dk Geografisk lokalisering i JSP Denne artikel forklarer lidt om hvorfor og hvordan man laver geografisk lokalisering og viser noget kode. Der er andre artikler
Læs mereLRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam) { int wmid, wmevent; programmering med
LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam) int wmid, wmevent; PAINTSTRUCT Introduktion ps; til HDC hdc; programmering med switch (message) case WM_COMMAND: wmid = LOWORD(wParam);
Læs mereFlerbruger miljø, opdel database
Denne guide er oprindeligt udgivet på Eksperten.dk Flerbruger miljø, opdel database Denne artikel henvender sig primært til begyndere og let øvede brugere af Access der ønsker at vide noget om flerbruger
Læs mereCurriculum vitae. Personlige oplysninger. Præsentation. Projekterfaring
Curriculum vitae Personlige oplysninger Navn: Michael Sig Adresse: Hesseløgade 4, 3.th. 2100 København Ø Telefonnr.: 40 97 50 49 www: www.sig-logik.dk Email: michael@sig-post.dk Alder: 32 år (født d. 21.9.1974)
Læs mereOffset til terminalskærm i Java
Denne guide er oprindeligt udgivet på Eksperten.dk Offset til terminalskærm i Java Ikke en atikkel - men en Classe til java der gør det nemt at skrive ud på avancerede måder når man kun opererer i dosvindue.
Læs mereBRP 6.9.2006 Kursusintroduktion og Java-oversigt
BRP 6.9.2006 Kursusintroduktion og Java-oversigt 1. Kursusintroduktion 2. Java-oversigt (A): Opgave P4.4 3. Java-oversigt (B): Ny omvendings -opgave 4. Introduktion til næste kursusgang Kursusintroduktion:
Læs mereSAX Simple API for XML.
SAX Simple API for XML. En API (Application Programming Interface) et bibliotek eller et sæt af funktioner eller metoder. SAX er et sådant bibliotek af abstrakte metoder som f. eks. startdocument() eller
Læs mereSom sagt kræves der helst lidt viden om OOP hvis man virkelig vil lærer noget, og ikke bare lave copypaste
Denne guide er oprindeligt udgivet på Eksperten.dk Indkøbsvogn i PHP I denne artikel vil jeg prøve at lave en indkøbskurv som let kan udvides, og som ikke er svær at forstå. Det er bedst med viden om OOP(klasser),
Læs mereVisual Basic for begyndere
Denne guide er oprindeligt udgivet på Eksperten.dk Visual Basic for begyndere I denne artikel vil jeg gennemgå Visual Basic (IKKE.NET / Visual Basic 2005 Express Edition) på et begynder-niveau. fed kursiv
Læs mereHvorfor skal vi bruge objekt orienteret databaser?
OODBMS Vs. RDBMS 1 Indholdsfortegnelse Hvorfor skal vi bruge objekt orienteret databaser?... 3 OODBMS i erhvervslivet... 4 Bagsiden af medaljen... 5 OODBMS i praksis... 6 Konklusion... 8 2 Hvorfor skal
Læs mereAndreas Lauge V. Hansen klasse 3.3t Roskilde HTX
IT -Eksamen Andreas Lauge V. Hansen klasse 3.3t Roskilde HTX [Vælg en dato] Indhold Indledning... 2 Teori... 3 Hvorfor dette design... 4 Produktet... 4 Test og afprøvning... 9 Konklusion... 10 Indledning
Læs mereStart på Arduino og programmering
Programmering for begyndere Brug af Arduino Start på Arduino og programmering EDR Hillerød Knud Krogsgaard Jensen / OZ1QK 1 Start på Arduino og programmering Sidste gang (Introduktion) Programmeringssproget
Læs mereMartin Olsen. DM507 Projekt Del I. 19. marts 2012 FOTO: Colourbox
Martin Olsen DM0 Projekt 0 Del I. marts 0 FOTO: Colourbox Indhold Indledning... Opgave... Opgave... Opgave... Opgave... Opgave... Opgave... Opgave... Kildekode til SimpleInv.java... Kildekode til MergeSort.java...
Læs mereLærevejledning. - en introduktion til maskinarkitektur. faraz@butt.dk Faraz Butt mads@danquah.dk Mads Danquah doktor@dyregod.dk Ulf Holm Nielsen
Lærevejledning - en introduktion til maskinarkitektur faraz@butt.dk Faraz Butt mads@danquah.dk Mads Danquah doktor@dyregod.dk Ulf Holm Nielsen Roskilde Universitetscenter Naturvidenskabelig Basisuddannelse
Læs mereAsymptotisk analyse af algoritmers køretider
Asymptotisk analyse af algoritmers køretider Analyse af køretid (RAM-modellen vs. virkeligheden) public class Linear { public static void main(string[] args) { long time = System.currentTimeMillis(); long
Læs mereIntroduktion til NAnt
Denne guide er oprindeligt udgivet på Eksperten.dk Introduktion til NAnt Denne artikel beskriver NAnt, som er et værktøj til at builde.net applikationer med. Den beskriver nogle af de mest brugte NAnt
Læs mereMicrocontroller, Arduino
Microcontroller, Arduino Kompendium til Arduino-programmering i Teknologi. Vi skal lære at lave programmer til uc for at kunne lave el-produkter. Vi skal forstå princippet i programmering af en uc og se
Læs mere