Softwareudvikling: Miljøer



Relaterede dokumenter
Programmering i C Intro og grundlæggende C 5. marts 2007

Test af It-komponent

02101 Indledende Programmering Introduktion til Eclipse

Lær Python dag 1 - modul 1

Grundlæggende netværksteknologi. Grundlæggende datatekniske begreber og operativsystemer.

Introduktion til C programmering

TCP & UDP. - de transportansvarlige på lag 4. Netteknik 1

Programmering C RTG

RMI introduktion. Denne artikel beskriver Java RMI (Remtote Method Invocation).

Systemkald DM Obligatoriske opgave. Antal sider: 7 inkl. 2 bilag Afleveret: d. 18/ Afleveret af: Jacob Christiansen,

Datatekniker med programmering som speciale H5

Kursus 02199: Programmering. Lidt om forelæseren. Velkommen til. Praktisk information: kursusaktiviteter. Praktisk information: forelæsninger

Introduktion Hvad er et OS? Hvordan virker Linux? Filosofi Design Hvem bruger Linux? Wine Gaming Installation End. Linux. Det frie styresystem

Embedded controller, almen.

Computer Networks Specielt om Infrastrukturer og Teknologi

LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam) { int wmid, wmevent; programmering med

Styresystemer og tjenester

DM507 Algoritmer og datastrukturer

University of Southern Denmark Syddansk Universitet. DM502 Forelæsning 2

Curriculum Vitae. Jeg har en god forståelse for information teknologi samt at analysere og løse problemer. Har arbejdet i både teams og selvstændigt.

DM502. Peter Schneider-Kamp

DM507 Algoritmer og datastrukturer

Arduino Programmering

SAS2WPS Workshop. Torben Christensen! Senior Partner, MSc.! tlf: Copyright UniQcus 2014

Arduino Programmering

MapBasic &.NET interaktion. MapBasic.NET. Jakob Lanstorp IT konsulent COWI. Odense 23. Juni jun 2011 MapBasic &.

OrCAD Capture TCL IDE med Eclipse

Programmering I Java/C#

DM507 Algoritmer og datastrukturer

Indstillinger. 1. Built-in viewer 2. Built-in viewer embedded 3. Ekstern viewer

System & Metode ApS præsenterer. En effektiv dokumentportal

AAU, Programmering i Java Intern skriftlig prøve 18. maj 2007

Programmering i C Programmering af microcontroller i C (4 af 4) 12. april 2007

Hardware og software på forskermaskinerne

En Kort Introduktion til Oracle

Hvordan vælger jeg dokumentprofilen?

Fujitsu Siemens Computer

Arkitektur for begyndere

DocBook SGML/XML. Forhistorien for Linux Friheden til at vælge Dokumentation. I bestemmer :-) Motivation for DocBook Alternativer til DocBook Docbook

Deling i Windows. - via NetBIOS eller Hjemmegruppe! Netteknik 1

Deling i Windows. Netteknik 1

Avancerede Datanet. Udviklingen i Netværksarkitekturer. Ole Brun Madsen Professor Department of Control Engineering University of Aalborg

Terese B. Thomsen 1.semester Formidling, projektarbejde og webdesign ITU DMD d. 02/

Lovkrav vs. udvikling af sundhedsapps

Udvikling af DOTNET applikationer til MicroStation i C#

DM507 Algoritmer og datastrukturer

2) 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.

WINDCHILL THE NEXT STEPS

01. feb, Indhold

3. Før elektriciteten. Antikythera-mekanismen

DANMARKS TEKNISKE UNIVERSITET

Forskellige Java versioner

Kapitel 1 I gang med C#

Opgaver til modul 1. Grundlæggende informationsteknologi

PID2000 Archive Service

Produktpræsentation. BA Systems. Control made easy

Speciale. Evaluering af Java til udvikling af indlejrede realtidssystemer ved brug af en eksisterende Java Optimized Processor (JOP)

Introduktion til versionsstyring

AVR MP Ingeniørhøjskolen i Århus Michael Kaalund

Datatekniker med programmering som speciale

Programmering. Udvidet Programmering. Kurserne. Kurset: programmering i sproget Java. Lærerne: Morten Larsen og Peter Sestoft

Grundlæggende OOA - OOD

Netværk & elektronik

PHP guide af Daniel Pedersen

IT-faglige kompetencer. IT funktions kompetencer. Navn: Adresse:

Microcontroller, Arduino

LINUX. Kurser & Certificeringer

en fælles opsætning af SAS som grundlag for samarbejde. Jesper Michelsen, Risikostyring Modeller

SAP R/3. Henrik Kroos

Metoder og værktøjer til programmering

Transkript:

Softwareudvikling: Miljøer Præsentation af mig Praktiske oplysninger Overblik Host-target setup UNIX, historisk UNIX egenskaber UNIX ulemper UNIX, netværk, X11, brugerflader Windows fordele/ulemper Øvelse 1, intro eksempler på værktøjer

Host/Target vs. Native software development Cross-development Host and target often have different architecture and operating system. Host/target is often used for embedded systems Multiple platforms Debugging using communication links Prototyping Examples: Host: Linux, Windows, Solaris Target: Atmel, Pic, VxWorks, RT-linux, RTAI.

UNIX historie Udviklet i 1969 på Bell Labs, AT&T på en PDP-7 af Ken Thomson og Dennis Ritchie Tidligere to hovedretninger BSD, Berkeley Software Distribution System V, AT&T Senere to hovedretninger: Linux BSD UNIX filosofi Lad hvert program gøre en ting godt. Skriv hellere et nyt end komplicere gamle programmer Forvent at output fra programmet bliver input til et andet, endnu ukendt program. Undgå specielle input formater, Insister ikke på interaktion. Ex: ps -ef grep or more

Mange varianter Senere: HP-UX, SunOS, Solaris, Linux and other workstations

UNIX egenskaber Flytbart, 90% C kode Mange platforme Lavet af programmører for samme Lille kerne, mange programmer Fleksibelt Multi-task, multi-user Devices og filer behandles ens Typeløse filer Interaktivt, tekst/(grafisk) Kraftfulde kommandofortolkere Baggrundsjobs (&)

UNIX ulemper Uoverskueligt for almindelige brugere Dårlig dokumentation (kun reference) Mange varianter gør flytbarhed svær Kun kildetext kan flyttes, modsat Windows Udvides ved knopskydning Mange obskure options til kommandoer

Windows baggrund og fordele/ulemper MS-DOS styresystem til IBM-PC foran CP/M MS-DOS er et system til små systemer med flere designmæssigt dårlige ting (640Kbyte grænse mm. bootproblemer mm) Ikke multitasking, ikke multiuser, ikke reentrant. Windows er oprindelig en overbygning til DOS Versionsnumre noget uoverskuelige: Windows 3.11 Windows 95 Windows 2000 Windows XP Windows.NET MEGET udbredt Binære programmer kan udveksles Windows NT er oprindelig udviklet til IBM (OS/2) og har en sundere basis. Windows Pocket PC 2002 til embedded systemer?? Meget fokus på brugerens behov og programmer Stor integration med Web Konkurrerer med Linux, mest på servermarkedet. Administration, Fleksibilitet

UNIX relaterede aspekter Netværk, Internet TCP/IP, sockets Mail, News ftp, telnet NFS network file system X11, client/server baseret grafisk brugerflade CDE mfl. talk, chat mm World Wide Web, Netscape Java Standardisering POSIX, API standard OpenGroup, X/Open. + OSF ejer UNIX varemærket Unix95, Unix98 Public FSF, GNU Linux X11

UNIX fremtid Linux Windows.NET Killer Apps Real-time, RT-Linux, RTAI Embedding, uclinux

Sprog I asm C, oversat, udbredt, ANSI. #include <stdio.h> int main(void) { printf("linux er sjovt\n"); return 0; C++, oversat, ANSI Java, objektorienteret, platformsuafhængigt, byte-code, Internet class HelloJava { public static void main(string[] args) { System.out.println("Dette er Java!"); pascal fortran, lisp m.fl.

Sprog II Shell, fortolket, mange dialekter #!/bin/sh echo "Hello World" tcl/tk, macrosprog, fortolket, grafisk interface tk #!/usr/bin/wish -f label.l -text "Filename:" label.l2 -text "Editor:" set fname testfil set editor emacs entry.e -relief sunken -width 30 -textvariable fname entry.e2 -relief sunken -width 30 -textvariable editor pack.l -side left pack.e -side left -padx 1m -pady 1m bind.e <Return> { exec xterm -e $editor $fname pack.l2 -side left pack.e2 -side left -padx 1m -pady 1m bind.e2 <Return> { exec emacs $f name MATLAB

Sprog III python, fortolket, objektorienteret, indrykning int i = 0; while (i!= 256) { printf("%d\n", i); i++; i = 0 while (i!= 256): print i i = i + 1 perl, fortolket, textmanipulation #!/usr/bin/perl @a="hej"; @b=(@a,"igen"); print "Arrayet \@b har værdierne : @b\n"; printf "Der er %i elementer i \@b\n",$#b+1; foreach $indeks (@b) { print "Ud kommer $indeks fra arrayet\n"; $c = "hvad med at "; $d = "sætte strenge sammen"; $e = $c.$d; print "Variablen \$e har værdien : $e\n";

IDE vs. separate tools Integrated Development Environment Første, Compass/ Poly Pascal Integrerer, edit-> compile -> link -> debug og code control, documentation Ofte dele man ikke kan lide Ofte ses muligheder for at anvende plug-ins Separate Tools make, hjælper med kompilering awk, fortolker til mønstergenkendelse mm. lex/flex, lexical analysis yacc/bision, kompiler bygning cc/gcc, C-kompiler SCCS, rcs, cvs, Source Code Control System termcap, terminal database sgml, dokumentationsgenerering tex/latex formaterer dokumenter