Danske datamatikere tvangsfodres med Java og C#

De objektorienterede sprog Java og C# dominerer fuldstændigt på de danske datamatikeruddannelser, viser en undersøgelse, som Version2 har foretaget. Det giver alt for snævre kompetencer, advarer kritikere.

Java og C#, erhvervslivets dominerende objektorienterede sprog, er over hele linjen det dominerende indslag på landets datamatiker-skoler. Det viser en undersøgelse, som Version2 har foretaget.

På første og andet år undervises de studerende især i Java. Tilvalgsfagene er også i høj grad indenfor samme miljøer med kun ganske få tilbud, som stikker udenfor, mellem dem Cobol, Objective C og C++.

Det er for snævert, mener industrien.

»Det er også for værktøjsorienteret. Vi mener, at det er nogle mere generelle færdigheder, man bør dyrke, fordi tingene udvikler sig så hurtigt, og fordi erhvervslivets behov bliver mere og mere komplekse,« siger Dansk It's næstformand, Klaus Kvorning Hansen, som også er områdechef i Pensam.

For kortsigtet

Systemprogrammør og Version2-blogger Poul-Henning Kamp kalder det snævre valg af sprog »utroligt kortsigtet«.

»Datamatikerne ender jo alle sammen som webdevelopers på den måde. Det er utroligt snæversynet,« siger han.

Ifølge Poul-Henning Kamp består det snævre består i, at begge sprog dækker er et begrænset område inden for, hvad computere benyttes til. Begge sprog handler groft sagt om webpræsentation, mener Poul-Henning Kamp, og det er fint nok med serviceorienterede arkitekturer og webapplikationer, men området er større end det.

»Jeg opfatter Java som et sandkasse-sprog, og du kan ikke bruge Java i embedded applikationer. Man kan ikke finde eller styre en scanner, eller hvad der nu sidder på i den anden side,« siger han.

Poul-Henning Kamp mener, at datamatikere skal lære alment om computere.

»Ellers er det ikke datamatikerne, som man skal regne kan løfte de andre dele af computerbranchen,« konstaterer han.

Poul-Henning Kamp peger på indlejrede programmer, netværksprogrammering og cluster-programmering som områder, der får en stedmoderlig behandling.

»Der er skåret et utroligt stort felt af,« siger han.

C er dødt

Brian Eberhardt, som leder konsulent- og kursusvirksomheden Superusers, har et helt andet syn på sagen.

»Det der med det maskinnære syntes jeg også for 15 år siden. Men en stor del af dem, som vi underviser i Java og C#, udvikler på indlejrede systemer, altså små sorte bokse, der sidder i en harddisk-recorder, eller hvor pokker de nu sidder. Tidligere udviklede man netop det i C eller det, der er værre, men det gør man efterhånden meget lidt. Vi holder meget få C-kurser. Jeg elsker C, men der er et meget lille marked for det i dag, fordi meget få anvender det i praksis,« siger han.

Brian Eberhardt har svært ved at se, hvad undervisning i eksempelvis C skulle give datamatikerstuderende.

»Det kunne tilføre en forståelse for noget underliggende, men jeg tror bare ikke, at der er behov for det mere. Jeg synes egentlig, at vi er på god grund,« vurderer han.

Erhverslivet vil have Java

Lektor på Datalogisk Institut på Københavns Universitet Torben Mogensen, som er blogger hos Verson2, ser heller intet problem i, at undervisningen fokuserer på Java og C#.

»Jeg må se i øjnene, at de sprog bliver brugt meget i erhvervslivet. Jeg er bare lidt ked af, at man kun underviser i én type sprog,« siger han.

Torben Mogensen peger på, at datamatikere ikke skal være dataloger. Uddannelsen er rettet imod, at de studerende direkte kan gå ud og besætte programmørstillinger i erhvervslivet.

»Men man kunne godt tænke sig, at der var lidt mere variation i det. Det er jo ikke sådan, at alle bruger Java og C#. Der bliver brugt ualmindeligt mange programmeringssprog rundt omkring i firmaer. Det bedste ville være, hvis alle datamatikeruddannelser underviste i to forskellige typer sprog, eller sekundært, at forskellige datamatikeruddannelser fokuserede på forskellige sprog.«

Det ville betyde, at de færdigklækkede studenter ville have en differentieret baggrund, mener Torben Mogensen.

Der er intet i vejen for, at enkelte datamatiker-uddannelser kunne fokusere på eksempelvist indlejret programmering.

»I datamatikerbekendtgørelse står der, at man skal lære en del omkring maskinarkitektur og implementering af programmeringssprog. I praksis er det prioritet lavt på datamatikeruddannelsen.«

Det er skolernes valg

Ifølge Torben Mogensen kræver mange typer it-job ikke en lang uddannelse, men de bliver ikke dækket af den nuværende datamatikeruddannelse.

»Inden for indlejrede systemer kunne man sagtens forestille sig, at virksomhederne i nogle tilfælde kunne klare sig med datamatikere i stedet for ingeniører, men det kan man så ikke bruge de nuværende datamatikere til,« mener Torben Mogensen.

Han peger også på scriptingsprog, som uddannelserne også kunne omfatte:

»Mange job vil også nu bruge scriptingsprog i stil med Ruby, Lua og Python, som også kunne være en del af pensum.«

Det er Brian Eberhardt fra Superusers nu ikke enig i:

»Scriptingsprog er meget kraftigt nedadgående. Der var et boost, da Javascript kom frem, men nu hedder det ASPX, og så er det C#. Kigger man på Windows 2008 og Power Shell, så er det ikke scripting, men 'code behind'. Det bliver brugt mindre og mindre,« fremhæver han.

*Version2's undersøgelse blev foretaget af researcher Tanja Hartmann. Alle danske datamatikeruddannelser blev spurgt, hvilke programmeringssprog,**eleverne undervises i som udgangspunkt samt kan få som tilvalg.*

Tips og korrekturforslag til denne historie sendes til tip@version2.dk
Kommentarer (64)
sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først
Torben Mogensen Blogger

Der er indenfor datamatikerbekendtgørelsens rammer mulighed for langt større variation mellem datamatikeruddannelserne, end tilfældet er i dag -- uanset, hvor du går hen, får du stort set det samme indhold. Man kunne sagtens lave en datamatikeruddannelse, der er rettet mod indlejrede systemer eller systemprogrammering.

Hvad angår sprog, så har jeg mødt en datamatiker fra Færøerne, der fik undervisning i Standard ML som første programmeringssprog!

  • 0
  • 0
Thomas Juul

Begge sprog handler groft sagt om webpræsentation

Gad vide om Poul-Henning Kamp selv benytter/kender .NET platformen, eller han blot google en smule...

Blot fordi man lærer C# er det ikke ensbetydende med at man skal udvikle Web Apps.

Andre muligheder:

  • PDA og Mobile Telefoner (.NET Compact Framework)
  • Embedded development (.NET Micro Framework)
  • Desktop Apps (WinForms / WPF)
  • 0
  • 0
Dennis Schwartz-Knap

Jeg forstår ikke helt denne artikel. En datamatikers job er (i mine øjne) ikke at han skal uddannes til at kunne mange forskellige platforme, men at han skal være specifik god på få platforme. Som det ser ud er datamatiker uddannelsen specificeret på windows platformen hvilket i og for sig ikke er noget problem eftersom det der virksomhederne primært efterspørger arbejdskraft.

Når vi nu drager den embeddede programmering ind i diskussionen, tager denne en anden drejning. Dette er en meget specifik platform som de færreste programmører i forvejen mestre, og typisk tager meget lang tid at blive god til. Selvom man siger at en god programmør skal kende hvordan hardwaren og dennes opbygning, så er der bare ikke tid på 2½ år, hvis en datamatiker både skal være hardcore til windows programmering og til den embeddede programmering. På DTU findes lige nu 2 uddannelser som henvender sig til netop det som denne artikel forespørger. Det er IT-DiplomIngeniør og E-DiplomIngeniør, hvor man får den brede uddannelse i både windows og den embeddede verden (IT-diplom), eller (hvis man ønsker) meget specik embeddede systemer (E-Diplom). Jeg læser selv IT-diplom, og har ikke specifikt kendskab til andre steder i landet hvor lignende konstellation gør sig gældende.

Men er spørgsmålet ikke mere hen i retningen af, hvorfor mange studerende vælger den embeddede verden fra?

  • 0
  • 0
Poul-Henning Kamp Blogger

Nu havde jeg ikke så meget tid til at svare Tania da hun ringede igår, så jeg tillader mig lige at uddybe mine kommentarer.

Jeg opponerer imod at alle datamatikerne kun oplæres i java og C#.

Det er helt OK med mig at nogen af dem den kun lære det, eller at de alle blandt andet lære det.

Det er med andre ord ensporingen jep opponerer imod.

Personligt mener jeg at alle der beskæftiger sig med programmering har brug for en basal forståelse af en computers natur og det får man hverken med Java eller C#
der begge er meget abstrakte miljøer.

En mekaniker skal stadig lære om otto motorens virkemåde og om hvorfor nogle motorer er 2-takt og andre er 4-takt,
selvom det meste af det de i praksis skal lave handler om at skifte de reservedele som computeren tilsiger dem.

På samme vis mener jeg at en programmør skal have prøvet at programmere i et "direkte" sprog som assembler, C, BASIC, COMAL eller Pascal, hvor der ikke er et objektorienteret runtimemiljø der skjuler de "svære detailler", såsom locking, memory management og buffering.

Når de har opnået en basal forståelse af hvad det er CPU chippen faktisk foretager sig, er det helt OK at lade dem slippe med højniveau sandkasse sprog.

Men man kunne håbe at en enkelt eller to havde fået smag for den lavniveau programmering som det er så populært at tale nedsættende om, men som ingen kan undvære når det kommer til stykket.

Poul-Henning

  • 0
  • 0
Jacob Christian Munch-Andersen

Der er efterhånden en del underliggende lag som flertallet ikke har sat sig ind i. Et hardware lag, et maskinkode lag, et operativ system lag og så et stadigt voksende lag af "magiske" funktioner som object systemer og garbage collectors der pakker avanceret data jonglering ind så man ikke selv skal rode med den slags.

Hvor meget basis kode skal der egentlig ligge i sådan en "sort boks" for at den kan køre Java?

  • 0
  • 0
Brian Rasmussen

Java og C# er gode sprog at kunne, da efterspørgelsen er stor. Man kan dog undre sig over behovet for at undervise i begge dele, da de trods alt ligner hinanden meget.

Ulempen ved begge sprog er dog, at de bliver solgt med en snak om, at man ikke behøver at kende noget til maskinarkitektur/os, og det, mener jeg, er forkert. Lige så snart man bevæger sig ud over det simple sandkasseniveau, er der en masse praktiske problemer, der kræver at man har en basal forståelse af de underliggende systemer og processer.

  • 0
  • 0
Anders Reinhardt Hansen

Jeg opponerer imod at alle datamatikerne kun oplæres i java og C#.

Det er helt OK med mig at nogen af dem den kun lære det, eller at de alle blandt andet lære det.

Jeg er ikke helt uenig, at det selvfølgelig ikke skal være ALLE der kun undervises i java og c# men jeg er lidt træt af at høre industrien brokke sig over datamatikere. Revolutionen i sprog valg kommer ikke fra datamatikere, datamatikere skal ud og producere kode, og hvis det mest udbredte paradigme hos virksomhederne er det objekt-orienterede så mener jeg helt klart at de to år bedst er brugt på at undervise på dette område. Desuden er det jo ikke rigtigt at det kun er dette de undervises i, også web teknologier, som jsp, aspx, webservices og meget mere er en del af undervisningen. Spørgsmålet er så om de skal lære at kode dette fra bunden i c?

Dataloger og informatik ingeniører er en anden snak.

Jeg støtter meget op omkring open source miljøet, men jeg vil tillade mig at påstå at der blandt open source miljøet næsten er et had til det objekt orienterede paradigme som er helt uberettiget.

  • 0
  • 0
Rasmus Nielsen

Det er muligt tingene har ændret sig, men da jeg blev datamatiker for 5 år siden lærte vi om maskinarkitektur, operativ systemer, embedded systemer, netværk osv (herunder også assembler)
Selvfølgelig er der ikke tid til at fordybe sig og afprøve alting som på datalogi studiet, men de basale emner bliver berørt.

Måske kommer det som en overraskelse for nogle af de kloge hoveder herinde, men mange steder bruger man faktisk de samme lærebøger som på datalogi studiet....

  • 0
  • 0
Michael Erichsen

De stillingsopslag, der slås op, hænger vel også lidt sammen med, hvad man forventer at kunne få ad denne vej?

Men jeg vil da gerne (endnu en gang) henlede oopmærksomheden på, at en pænt stor del af de store virksomheders og myndigheders systemer stadig afvikles på mainframes. Meget nyskrives i Java og andre mere hypede sprog, men meget er stadig skrevet i COBOL, PL/I og assembler. I denne del af verden er situationen den, at øget effektivitet, bedre værktøjer og outsourcing og sammenlægninger har sikret, at en svindende skare mennesker kan klare drift, vedligehold, systemarbejde og udvikling. Men i løbet af få år vil mange gå på pension, og det efterlader et hul, hvis vi ikke skal offshore det hele.

Så uddan de unge i Java og C#, men sørg også for, at COBOL, PL/I, z/OS assembler og kendskab til det "store jern" også bliver tilbudt.

  • 0
  • 0
Tobias Baunbæk

Jeg støtter meget op omkring open source miljøet, men jeg vil tillade mig at påstå at der blandt open source miljøet næsten er et had til det objekt orienterede paradigme som er helt uberettiget.

Det synes jeg nu ikke jeg kan genkende. Meget af det open source kode jeg har set er skrevet i Python. Python er multiparadigme, men alt er objekter. Og i mine oejne benytter de fleste det ogsaa meget fint, objektorienteret.

Jeg synes til gengaeld man ofte ser et mindre "had" mod Java og C#. Personligt har jeg det saadan at Javakode bare fylder for meget. Det er ikke saerlig "smart", og f.eks skal man lave try/catch om alt hvad der er nogenlunde interessant. Dette er ogsaa hvad jeg hoerer andre programmoerer sige.

Saa jeg tror ikke at du finder mange som har noget imod paradigmet. Blot noget imod Java. C# kender jeg ikke, men da rimer fint paa MS har det nok en hel del med sagen at goere.

Forresten, saa kig paa GNU Hurd, http://www.gnu.org/software/hurd/hurd.html, et operativsystem bygget af de her GNU/FSF folk. Dette er lavet objektorienteret.

  • 0
  • 0
Daniel Møller

Er selv uddannet datamatiker fra Århus, hvor vi anvendte Java under uddannelsen. Det er ikke mit indtryk at datamatikeruddannelsens formål i særlig høj grad er at uddanne "programmører" - sådan groft sagt. Dertil er der for meget fokus på virksomhedsforståelse, analyse, projektledelse, udviklingsmodeller (UP, vandfald, etc), økonomi og lign. handelsskole-prægede fag og det er altså en kun 2 årig uddannelse (+ et 3 mnd. projektforløb).

Det man kan forvente er at nyuddannede har en basal forståelse for objekt-orienteret programmering og kan anvende 1 eller 2 konkrete sprog, samt har en overfladisk forståelse for hvordan computere og netværkskommunikation fungerer.

Man er altså kun på de første trin af en lang trappe når man er færdiguddannet, herefter følger der et par års "lærlinge"-ophold i en virksomhed før man reelt har den erfaring der skal til for på egen hånd at løse konkrete udviklingsopgaver (folk har selvfølgelig forskellige forudsætninger, men generelt set er det hvad man kan forvente).

Det skal man som virksomhed altså være indstillet på, når man tager nyuddannede ind - tilgengæld er de ofte lærevillige, har ikke en masse dårlige vaner med i bagagen og synes ofte at selv trivielle opgaver er spændende og udfordrende. Men man bør samtidig have nogle erfarne kræfter som kan give deres erfaring videre - man skal ikke forvente at man bare kan hyre nogle nyuddannede datamatikere for at spare penge og at de så på fornuftig vis kan løse komplekse opgaver, det vil nok højest blive nogle dyre lærepenge.

Min pointe i forhold til artiklen værende at det ikke så meget er datamatikerens formål at forme de studerende (så er det snarere en helt anden uddannelse der efterlyses) - det er reelt først når de er uddannede at de er parate til at blive formet og specialiseret i en virksomhed og det skal man som virksomhed være indstillet på. Og det er ikke så væsentligt at uddannelsen har anvendt specifikke sprog og værktøjer, det handler om at lære koncepterne. F.eks. har Jydske Bank i mange år omskolet datamatikere til COBOL udvikling, hvilket trodsalt er forholdsvis langt fra Java og C#.

  • 0
  • 0
Anders Reinhardt Hansen

Det synes jeg nu ikke jeg kan genkende. Meget af det open source kode jeg har set er skrevet i Python. Python er multiparadigme, men alt er objekter. Og i mine oejne benytter de fleste det ogsaa meget fint, objektorienteret.

Jeg synes til gengaeld man ofte ser et mindre "had" mod Java og C#. Personligt har jeg det saadan at Javakode bare fylder for meget. Det er ikke saerlig "smart", og f.eks skal man lave try/catch om alt hvad der er nogenlunde interessant. Dette er ogsaa hvad jeg hoerer andre programmoerer sige.

Saa jeg tror ikke at du finder mange som har noget imod paradigmet. Blot noget imod Java. C# kender jeg ikke, men da rimer fint paa MS har det nok en hel del med sagen at goere.

Der er masser af Open source software til/i java, JBoss, Apache Tomcat, Hibernate med meget mere.
Java er et forholdsvis strikt sprog forstået sådan at mange best practices er indbyget i den måde man bør skrive i det. Dette gør det lettere for andre programmører at sætte sig til et projekt som andre har lavet. Det er derfor rigtigt at nogle ting tager længere at skrive i java. Men ideen er i mine øjne rigtig da 80% af software udvikling er re engineering af eksisterende kode i en eller anden form og derfor er læsbarheden vigtig.
Mener stadig ikke dog at det er grund nok til at hade sproget.
Og den med MS er sgu for gammel, hvis din kunde har baseret sine systemer på MS, skal man så pushe sit eget system ind på kunden fordi man har en religionspræget holdning til hvilket produkt der bør køres? Så får man nok ikke mere end en opgave hos den pågældende opgave.

  • 0
  • 0
Poul-Henning Kamp Blogger

Jeg støtter meget op omkring open source miljøet, men jeg vil tillade mig at påstå at der blandt open source miljøet næsten er et had til det objekt orienterede paradigme som er helt uberettiget.

Det var en af de mest forvredne påstande jeg nogen sinde har set fremført om OO, det må krævet en særdeles detailleret uvidenhed om OO historien at nå dertil :-)

Tværtimod var det alene pga. "open source miljøet" at OO teknologien undgik at gå i glemmebogen.

Mange Java & .NET folk overser at OO programmering ikke handler om hvilket sprog man bruger, men om hvordan man koder.

OO kan og bliver kodet i assembler (en god macro-processor hjælper) og i særdeleshed C.

Tag f.eks VFS interfacet i BSD-UNIX der er skrevet udelukkende i C.

Ikke alene er det er fuldstændig objekt orienteret, det tillader noget som de færeste OO sprog tillader: at nye metoder defineres for existerende objekter mens systemet kører.

Læs John Heideman's phd afhandling, den er fra 1995.

Poul-Henning

  • 0
  • 0
Anders Reinhardt Hansen

[quote]
Jeg støtter meget op omkring open source miljøet, men jeg vil tillade mig at påstå at der blandt open source miljøet næsten er et had til det objekt orienterede paradigme som er helt uberettiget.

Det var en af de mest forvredne påstande jeg nogen sinde har set fremført om OO, det må krævet en særdeles detailleret uvidenhed om OO historien at nå dertil :-)
[/quote]

Fair nok, omnavngiver det til næsten had til Java/.Net...
Men mener nu stadig at det er et problem, open source skal vel ikke handle om det hvorvidt vi bruger det ene sprog eller det andet men netop om open source, og java har et meget stort bagland af folk der udvikler til det og som også udlægger denne software under åbne licencer. Vi mangler selvfølgelig stadig at det er en åben Java VM som er standard.

  • 0
  • 0
Andreas Ryge

Så en fokusering på .NET og Java er da ganske fornuftigt.

Det afhænger vel af hvad man går efter.

Der er 4 gange så mange java-stillinger som c++-stillinger, men mit gæt er, at der er meget mere end 4 gange så mange ansøgere til java-stillinger end til c++-stillinger.

Umiddelbart vil jeg tro, at det er lettere for en nyuddannet c++ programmør at få arbejde end for end nyuddannet java/.NET-programmør (jeg har ingen data der kan bakke mig op i min påstand).

Mit indtryk, fra de arbejdsgivere jeg har kontakt med, er, at det er meget svært at finde c/c++ programmører.

  • 0
  • 0
Poul-Henning Kamp Blogger

Fair nok, omnavngiver det til næsten had til Java/.Net...

Se det er noget helt andet.

Ikke alene er jeg enig, jeg mener at hadet er berettiget.

Java udelukkede open source miljøet i meget lang tid, hvis man vil have venner der, skal man ikke pisse på dem.

.NET er blot endnu et M$ monopol-tiltag, det kan du heller ikke forvente at open source folket vil elske.

Poul-Henning

  • 0
  • 0
Kristian Østergaard

Det er INTET problem for nyuddannede datamatikere at finde arbejde.
Det er vel heller ikke jobmuligheder der diskuteres, hovedsagen er vel hvordan vi uddanner de bedste programmører.

Jeg blev selv færdig sidste år, og min opfattelse er at datamatikeruddannelsen er en meget komplet uddannelse, taget i betragtning af at den kun varer godt 2 år.
Jeg kender bachelorer (inden for andre naturvidenskabelige områder) der føler at de ikke kan bruge deres viden til ret meget. Jeg følte mig ret så færdiguddannet da jeg var færdig.

  • 0
  • 0
Anders Reinhardt Hansen

Se det er noget helt andet.

Ikke alene er jeg enig, jeg mener at hadet er berettiget.

Java udelukkede open source miljøet i meget lang tid, hvis man vil have venner der, skal man ikke pisse på dem.

.NET er blot endnu et M$ monopol-tiltag, det kan du heller ikke forvente at open source folket vil elske.

Poul-Henning

Derfor kan man jo godt vurdere sprogene på en saglig måde. Måske kan måske også påstå at det er forkert at spørge eksperter der mener sådan hvorvidt de synes at Java og .Net er gode sprog er undervise datamatikere i.
Lidt offtopic: Har dog meget respekt for dine indlæg og er ærgelig over at du ikke taler om lørdagen på opensource days... ;-)

  • 0
  • 0
Robert Larsen

Jeg blev færdig som datamatiker for otte år siden og følte mig bestemt også færdig uddannet...men jeg blev klogere.
Jeg fandt noget kode jeg skrev engang:

public class Upcase {
public static String formatName(String str) {
boolean first = true;
for (int i = 0; i < str.length(); i++) {
if (first && str.charAt(i) >= 'a' && str.charAt(i) <= 'z') {
str = str.substring(0, i) +
str.substring(i, i + 1).toUpperCase() +
str.substring(i + 1);
}
first = false;
if (str.charAt(i) == ' ') {
first = true;
}
}
return str;
}
public static void main(String args[]) {
String str = formatName("robert chris bang larsen");
System.out.println(str);
}
}

Det virker, men er ufatteligt dårligt skrevet. Men vi lærte ikke at optimere. Det skulle vi ikke bekymre os om, for det gjorde compileren for os. Det er først senere, at jeg har lært, hvad ovenstående kode rent faktisk gør, og det er MEGET skidt.
Det var faktisk først da jeg blev god til C at jeg rigtigt lærte, at kode ordentligt, så det kan godt være, at man i det virkelige liv vil have Java og C# kodere, men man bliver en bedre programmør af at lære C...og mange andre sprog.

Noget jeg virkelig synes mangler i datamatiker uddannelsen er brugen af værktøjer. Vi lærte stort set intet om debugging, profiling, build systemer, statisk analyse værktøjer, alternative editorer (IDE'et var gud), versions styring, issue tracking, og så meget videre.

Og i netværk var vi ikke nede og kigge i ordentligt i IP stakken. Vi lærte intet om ARP og ICMP og den slags. Til gengæld lærte vi om ALOHA protokollen af uvisse årsager.

  • 0
  • 0
Torben Mogensen Blogger

Hvad er det specielt ved datamatiker-uddannelsen? Så vidt jeg ved er det det samme på universiteterne.

Forskellen er, at Java eller C# ikke er det eneste sprog, der undervises i. På DIKU startes med Standard ML, dernæst Java, hvorefter andre kurser giver korte introduktioner til andre sprog, inklusive C. Når man kender SML, Java og C, så kan man forholdsvis nemt finde ud af nye sprog.

  • 0
  • 0
Henrik Kramshøj Blogger

Hvis der har været et had til Java i open source er det vist forduftet en hel del.

Der findes usandsynlig meget open source java programmering, en del bruger jeg selv.

Se bare http://jakarta.apache.org/ med Ant, Maven, samt Tomcat og mange andre.

Hvis man synes java er for tungt at skrive i kan man så prøve Groovy og Grails - det er dejligt nemt at komme igang med.

og enig ensidighed er ikke godt, men HAR datamatikerne tid til at putte mere nyt stof ind i uddannelsen? Så det er fint de introduceres til to programmeringssprog.

  • 0
  • 0
Daniel Møller

Jeg blev færdig som datamatiker for otte år siden og følte mig bestemt også færdig uddannet...men jeg blev klogere.

Det interessante er at den erkendelse aldrig rigtig stopper. Man kan næsten altid gå tilbage og kigge på kode man skrev for 1 år siden og se en udvikling. Klart at de første par år rykker mest ved tingene, men man lærer hele tiden noget nyt eller finder nye smarte måder at gøre tingene på, bliver mere erfaren i at lave en god arkitektur eller finder ud af at noget man troede var et smart design, måske ikke var så smart alligevel. Og det er vel noget af det der er så fascinerende ved at arbejde med softwareudvikling, man når aldrig det her punkt hvor man kan læne sig tilbage og tænke "Så nu kan jeg sgu ikke lære mere!" - der er altid noget nyt man kan kaste sig over.

Det vigtigste for en IT-uddannelse er reelt at sørge for at lære folk hvordan man tilegner sig ny viden og bevare begejstringen for at opsøge den - for det stopper ikke med uddannelsen, det fortsætter resten af livet hvis man vil være med indenfor den her branche.

Man plejer at sige at det tager 10 års erfaring at blive en dygtig udvikler og det er nok ikke helt ved siden af og jeg vover at påstå at det gælder uagtet grunduddannelse.

  • 0
  • 0
Mr Hackers

Det er/var det på AAU, bortset fra lidt C, men det var på et så grundlæggende niveau at det næsten var ligemeget hvilket sprog det foregik i (for og while løkker osv.). Men ok jeg har også indtrykket af at DIKU har et bedre forløb end AAU.

sry jeg kan ikke lige finde ud af at quote ordentligt

Personligt håber jeg på at C++ får en renæssance indenfor både uddannelserne og erhvervslivet med den nye standard der skulle komme i 2009. Det er et virkelig lækkert sprog hvis man tager sig tid til at lære det.

  • 0
  • 0
Anders Reinhardt Hansen

Det er/var det på AAU, bortset fra lidt C, men det var på et så grundlæggende niveau at det næsten var ligemeget hvilket sprog det foregik i (for og while løkker osv.). Men ok jeg har også indtrykket af at DIKU har et bedre forløb end AAU.

sry jeg kan ikke lige finde ud af at quote ordentligt

Altså funktionsprogrammering(ML/Haskell) benytter sædvanligvis ikke while løkker. Jeg tror at AAU er et af de universiteter der har bedst styr på deres forløb, i og med at det er de mest foretrukne færdiguddannede folk der kommer derfra. Det er ihvertfald en af de mest udbredte holdninger. Men det har vist intet at gøre med programmeringssprog men derimod fokus på projektarbejde. Kan lige tilføje at DTU idag ikke starter med ML som sprog men derimod java. Tidligere startede folk med ML dog.

  • 0
  • 0
Simon Holm

Du er altså helt i skoven her Mr Hackers, datalogistudiet på AAU har faktisk rimeligt pænt med kurser for programmeringssprog. Det egentlige kursus i C er ganske rigtigt en introduktion til programming, men det skal holdes sammen med kurser som "modeller og værktøjer til parallelitet" der bl.a. omhandler programming i C med pthreads og MPI og "principper for samtidighed og styresystemer" og "datamat og netværksarkitektur" der også understøtter systemprogrammering.

Udover et kursus i Java/C# er der også et kursus i programmeringsparadigmer der bringer dig omkring Prolog, Haskell, AspectJ, Scala og lamda-kalkulen.

Og nej, softwareingeniøruddannelsen har ikke indtil nu ikke haft kurset i programmeringsparadigmer, men jeg mener faktisk at det også er kommet på nu for dem.

  • 0
  • 0
Anonym

Kan lige tilføje at DTU idag ikke starter med ML som sprog men derimod java. Tidligere startede folk med ML dog.

Ak ja, alt degenererer jo - åbenbart også uddannelserne på DTU.

  • 0
  • 0
Mr Hackers

Det kan da godt være jeg tager fejl men udfra det du skriver gør jeg ikke - jeg kan ikke se nogle kurser i programmeringssprog udover dem jeg nævnte. Man lærer jo også om operativsystemer og lign. i datamatikeruddannelsen men det gør jo ikke at man lærer de sprog der bliver brugt til det.

  • 0
  • 0
Maciej Szeliga

Til gengæld lærte vi om ALOHA protokollen af uvisse årsager.

Tennenbaum: Computer Networks. Meget underholdende bog. Det var noget med at CSMA/CD blev godt præsenteret ved hjælp af Aloha. Det er så godt som irrelevant nu med fuld switchede netværk... men er fortsat aktuelt på trådløst (og det var vist også det Aloha var tænkt til).
Den bog gjorde mig helt pjattet med ATM... det er en meget farlig bog. ;-)

  • 0
  • 0
Anders Reinhardt Hansen

[quote]
Kan lige tilføje at DTU idag ikke starter med ML som sprog men derimod java. Tidligere startede folk med ML dog.

Ak ja, alt degenererer jo - åbenbart også uddannelserne på DTU.
[/quote]

Jeg sagde ikke at der ikke undervises i ML på DTU, blot at det ikke er et startfag, men jeg mener nu at det er en del af mindst et obligatorisk kursus.
Jeg vil nu mene at man godt kan lære programmering uden at først at skulle igennem ML. Jeg kan nu godt lide ML, ikke som et sprog jeg laver brugbar kode i, men det er meget sjovt at rode med.

  • 0
  • 0
Simon Hoxer

Datamatikerskolerne bruger formentlig Java udfra en vurdering, der indebærer parametre som flere debattører her, ikke har helt indsigt. Jeg forestiller mig læringsværdien er højere ved Java og C# i forhold til kompetenceforøgelsen end ved noget andet sprog. Da jeg gik der, var Skive IT Akademis målsætning ikke at undervise et bestemt sprog, men principperne i programmering og datastrukturer. Det blev aktualiseret gennem Java og nu C#, hvilket er en fantastisk god idé, set fra en IT-pædagogisk synsvinkel. Datamatikerstudiet er desuden en KVU, hvor meget kan man forlange, at de studerende skal lære? Selvfølgelig skal man kun lære principperne gennem ét sprog, og eventuelt andre igennem tilvalgsfag.

Jeg blev ikke tvangsfodret med Java, jeg blev forberedt på at lære nye sprog, uden læringskompleksiteten unødigt blev forøget gennem introduktion af flere sprog (alt sammen mangfoldighedens navn)

  • 0
  • 0
Kim Schulz

Du glemmer det faktum at dem som skriver jobannoncerne ofte smider en masse buzz words i som de tror at de unge vil have. Dette gøres for at de kan virke smarte og blive dem som de unge vælger frem for andre firmaer.
Problemet er bare at i realiteten er det ikke nødvendigvis det som virksomheden har brug for. Hvordan kan en virksomhed f.eks. have brug for .NET programmører? .NET har i dag bindinger til over 50 forskellige sprog (nogle sprog har endda flere forskellige bindinger). Det vil sige at når en virksomhed siger at de søger .NET programmører så kan de både søge om C programmører (CSCC bindingen), COBOL programmører (NetCOBOL bindingen), javascript programmører(Javascript.NET bindingen), Perl programmører (PerlNET bindingen) osv osv.
Folk antager ofte at C# og .NET er selv samme ting. I virkeligheden er (var) .NET bare et udvidelses library til C# (og i dag altså et hav af andre sprog).
Det er forøvrigt ikke kun på datamatiker uddannelsen af vi ser denne forfald hvor kun OOP buzz sprogene bliver undervist i. Selv samme problem eksisterer på universiteterne hvor man f.eks. stort set ikke kan finde C og Assembler undervisning på nogen af universiteterne. Det er skræmmende og meget hæmmende for den del af industrien som har med f.eks. embedded at gøre.
Danmark var engang store inde for Mobil Industrien - Det er vi sgu ikke mere og dette er en af årsagerne!!

  • 0
  • 0
Anders Reinhardt Hansen

Du glemmer det faktum at dem som skriver jobannoncerne ofte smider en masse buzz words i som de tror at de unge vil have. Dette gøres for at de kan virke smarte og blive dem som de unge vælger frem for andre firmaer.
Problemet er bare at i realiteten er det ikke nødvendigvis det som virksomheden har brug for. Hvordan kan en virksomhed f.eks. have brug for .NET programmører? .NET har i dag bindinger til over 50 forskellige sprog (nogle sprog har endda flere forskellige bindinger). Det vil sige at når en virksomhed siger at de søger .NET programmører så kan de både søge om C programmører (CSCC bindingen), COBOL programmører (NetCOBOL bindingen), javascript programmører(Javascript.NET bindingen), Perl programmører (PerlNET bindingen) osv osv.

Det er i bedste fald naivt, og i værste fald fordrejning af sanheden at sige at .Net ikke er et efterspurgt sprog ude i virksomhederne. Hvorfor skulle jobannoncører skrive at de søgte .Net programmører hvis de ikke havde brug for dem? Så ville du automatisk udelukke alle dem der havde de fornødne krav, men som ikke kunne .Net ? Det er en meget søgt påstand.

Folk antager ofte at C# og .NET er selv samme ting. I virkeligheden er (var) .NET bare et udvidelses library til C# (og i dag altså et hav af andre sprog).
Det er forøvrigt ikke kun på datamatiker uddannelsen af vi ser denne forfald hvor kun OOP buzz sprogene bliver undervist i. Selv samme problem eksisterer på universiteterne hvor man f.eks. stort set ikke kan finde C og Assembler undervisning på nogen af universiteterne. Det er skræmmende og meget hæmmende for den del af industrien som har med f.eks. embedded at gøre.
Danmark var engang store inde for Mobil Industrien - Det er vi sgu ikke mere og dette er en af årsagerne!!

Det passer simpelthen ikke at der ikke undervises i C og assembler på universiteterne. På DTU er det en del af de obligatoriske fag at man undervises i maskinkode. Men der undervises i mindre omfang end tidligere i disse sprog. Til gengæld er der fag der specifikt beskæftiger sig med embeddede applikationer herunder mobiltelefoni, og her undervises i C og assembler. Nogle ville kalde det forfald, andre kalder det en naturlig udvikling som følger med når programmeringssprog udvikler sig.
Java og .Net er også på vej til mobil platformen se f.eks. Google Android, men det har selvfølgelig ingen fremtid WHATSOEVER.

Du kan vælge fuldstændig at afvise den empiriske undersøgelse som er vist ovenfor, eller du kan acceptere realiteterne som de er.

  • 0
  • 0
Jacob Christian Munch-Andersen

Virksomheder ved ikke noget som helst, kun medarbejderne ved noget. Valget af programmeringssprog tilfalder personer, ofte desværre personer som har det meste af deres viden om programmeringssprog fra reklamer. Men uanset om personen som foretager valget er kvalificeret eller ej så er det sådan at i rigtigt mange tilfælde er valget stort set hip som hap. Det tungeste argument for valget af et sprog frem for et andet bliver let at det bliver der undervist i de fleste steder. Og omvendt på uddannelsesinstitutionerne.

Skulle I ikke være bekendt med flokeffekten så kan jeg fortælle at den for de fleste mennesker i mange situationer vil være altoverskyggende. Selv i situationer hvor den fører til det åbenlyst forkerte valg kan flokeffekten få overtaget.

De reelle argumenter for valget af et sprog frem for et andet er ofte meget langt væk i debatten. Eksemplerne på dette er ikke langt væk :-(

Indtil nu har vi hørt et argument for Java og C# som begyndersprog, det er det industrien vil have. Det er ikke noget argument for at de er gode begyndersprog, måske grunden til at industrien vil have Java og C# også er et argument for at sprogene er gode som begyndersprog. Men indtil nu er den eneste foreslåede grund at det er fordi det er det de kan få.

Uden at dømme vil jeg gerne spørge om vi kan få nogle rigtige argumenter på banen, tak!

  • 0
  • 0
Kim Schulz

Uhmm Android er skrevet i C/C++ og det er først på det øverste lag at vi snakker om at det er java.
Det er linux i bunden (der finder du ingen java), her ovenpå kommer så deres Native Libs (som er skrevet i C/C++). Der ovenpå ligger Dalvik VM samt Java Core libs og så først her ovenpå igen begynder de egentlige java lag at komme (Framework og Apps). Disse har selvsagt hooks ned i Native Libs, men kun I det omfang Google finder det nødvendigt.

Jeg fik forøvrigt selv undervisning i C og assembler på DTU i tidernes morgen, men allerede dengang blev der hurtigt hoppet vidre til andre sprog (dengang C++ og Java). Assembler fik jeg kun I form at special kurser hvor jeg rodede med embedded. På Aalborg Universitet har jeg flere gange haft diskussionen med programmerings afdelingen om hvorfor de stort set ikke underviser i C og lignende. Svaret har ofte været at der er flere penge i at undervise i de andre sprog. Heldigvis giver Universitetets arbejdsmetoder med intensivt gruppearbejde de studerende mulighed for selv at sætte sig ind i C/Assembler hvis de har lyst og de kan stadig få god støtte til det af vejledere og undervisere (hvis de bare opsøger dem).

  • 0
  • 0
Simon Hoxer

"Uden at dømme vil jeg gerne spørge om vi kan få nogle rigtige argumenter på banen, tak!"

De argumenter skal du ikke bruge til noget som helst, medmindre du er midt i en beslutningsprocess for en IT uddannelses studieordning.
Status Quo er at Java eller C# umiddelbart er det bedste sprog at undervise i, fordi materialet, rutinen og erfaringen er til stede. Vi har, som jeg har nævnt før, ikke indsigt i hvad og hvorfor ét sprog virker bedre som basis for undervisning end andre. Det har skolerne derimod.
Det er desuden ikke relevant at argumentere FOR java (det er jo allerede integreret). Det er derimod relevant at diskutere retfærdiggørelsen af at skifte programmeringssprog ;-)

  • 0
  • 0
Preben Høj Holmberg

Her nogle anbefalinger, far en af de helt store eksperter i programmering, Eric Steven Raymond..som maaske er lidt fundamentalistisk, hvad angaar platforme..mener jo at Open Source paa Unix, GNU og Linux er det eneste rigtige.

Eric Steven Raymond har skrevet nogle interessante smaa essays ..bl.a. omkring valg og raekkefoelge af programmeringssprog..her er et eksempel |

http://www.catb.org/~esr/faqs/hacker-howto.html#believe1
...som er oversat til dansk, af Ole Michaelsen
http://www.olemichaelsen.dk/hacker-howto.html#skills1

......

Uddrag af hans anbefalinger |

Det engelske sprog er essentielt at beherske paa et rimeligt hoejt niveau...ihvertfald teknisk engelsk.

Til folk der aldrig har set programmeringskode / anbefales HTML eller XHTML som et sprog der er let at laere..og giver en god fornemmelse omkring, hvad kodning, struktur og disciplin betyder........og nybegyndere faar jo ogsaa hurtige resultater, som kan vises i deres browser.

Af rigtige programmeringssprog, anbefaler han PYTHON som det foerste.

PERL mener han ogsaa er et godt begyndersprog...Et sprog,som enhver IT-professionel skal beherske, ihverfald skulle man gerne kunne laese PERL-kode.

JAVA mener han ikke man skal begynde med...endog anbefaler han, at man inden JAVA skal kende en hel del til C og LISP.

Sammenfatningsvis, mener han at man skal beherske PYTHON, PERL,LISP, C, C++ og JAVA.....med disse seks sprog, saa skulle man have en all-round toolbox til programmering...
Og med et solidt kendskab til disse, saa er det en smal sag at tilegne sig alle andre sprog !!?

  • 0
  • 0
Anders Reinhardt Hansen

@Jacob Christian Munch-Andersen,

Jeg tror at du forstyrrer diskussionen lidt ved at trække emner som menneskers adfærd ind. Jeg vil mene at man som ansvarlig udvikler lytter til kunden og baserer sine beslutninger på hvad kunden vil have. Man skal selvfølgelig følge sund logik, men jeg vil ikke mene at det er sund logik at bygge hele sit CRM fra bunden af i C. Men det er så min holdning, du kan selvfølgelig basere din succesfulde virksomhed på noget andet. Faktum er at rigtig mange virksomheder søger .Net udviklere og Java udviklere. At det så åbenbart er det dummeste overhovedet de kan gøre i dine øjne må de jo så tabe penge på...

Jeg har tidligere i denne tråd efterspurgt at folk stillede forslag til hvilke sprog der så skulle undervises i som startsprog. Python er nævnt hvilket nok ikke er en dårlig ide.

@Kim
Jeg sagde vist ikke at android var bygget på java, nævnte bare at java bliver mere og mere udbredt på mobilplatformen. I mine øjne er dette en god ide.
Jeg tror vi er enige om at det er en god ide at der undervises i mange forskellige sprog på universiteterne, og det gøres der jo også. Så jeg kan ikke se hvorfor du er så mobset?

  • 0
  • 0
Daniel Møller

Argumentet for at anvende Java og C#/.NET er at det er meget uniforme platforme som spænder meget bredt. Uanset om man vil kode en applikation til en mobiltelefon, udvikle små eller enterprise scale websites, lave GUI applikationer, batch-processering eller måske enterprise-scale SOA-baserede serverløsninger så kan man gøre det med det samme sprog og det samme framework.

Når man først ved hvordan frameworket er struktureret så er det meget nemt at sætte sig ind i nye områder - da der er holdt en rød tråd igennem hele frameworket. Det er begyndervenligt og øger i den grad indlæringsprocessen!

Man kunne så sagtens have valgt et andet sprog end lige C# til at kode op imod .NET frameworket, men det er nu engang det sprog som der er lavet specifikt til formålet og det er et meget pænt, letlæseligt, men samtidig fleksibelt sprog. Managed C++ er langt mindrer læseligt, omend C++0x ser ud til at rette en del op på det. Samtidig er der ikke langt fra C# til at lære Java, javascript, C/C++ da der er mange ligheder - derfor vinder C# som begyndersprog over VB, det giver en lettere overgang til andre teknologier og mere low-end sprog hvis man får behov eller er nysgerrig efter at lære disse.

Snakker vi derimod unmanaged C++, som jeg er sikker på at der er en del tilhængere af herinde, så ryger uniformiteten og man skal mestre en masse forskellige frameworks med hver deres filosofi om hvad der er et godt framework design.

Der er meget at hente i uniforme frameworks som .NET og Java for både uddannelsessteder og virksomheder, det giver et bredt kompetenceområde indenfor mange forskellige områder og man kan i høj grad gå til kernen af problemstillingen uden at skulle se på en masse forudsætninger og teknikaliteter for at kunne anvende den pågældende teknologi.

Man kan så diskutere om det kommer på bekostning af lock-in til en given platform, som der er mange der argumenterer for.
Man skal her huske på at det er det første sprog der er LANGT det sværeste at lære og hvis bare studiet kan klare den opgave, så er man nået langt og så skal andre sprog og værktøjer nok komme til senere. De fleste programmører er heldigvis nysgerrige af natur.

  • 0
  • 0
Anders Reinhardt Hansen

Der har været mange gode argumenter, dels det at der findes gode start udviklingsmiljøer (BlueJ), dels at der er mange lærebøger og det dermed er billigere for de studerende, dels at man kun har 2 år til at lære sig sprog på datamatiker og det dermed giver god mening at holde sig inden for den samme sprogform. De bruger jo java til både simple client app's og web apps med meget mere.

Det er så nogle af argumenterne for Java, hvilke argumenter er der for andre sprog. Og lad nu være med at bruge mudderkastning og kom med gode argumenter for andre sprog. (for de findes jo!)
Iøvrigt så siger Eric Raymond at der skal 10 år til at blive programmør eller hacker som han kalder det, det vil jeg så mene er et problem når man kun har 2 år på datamatiker. Men så burde vi selvfølgelig forlænge uddannelsen.

  • 0
  • 0
Kim Schulz

@Anders
Java har faktisk været et "stort" sprog på mobil platformen i mange år - hvis man snakker applikationer. Det er selve hostsystemet på mobilen som ikke er java og derfor skal man have fat i folk som kan andre mere lav-niveau sprog i stedet.
Personligt rager det mig en høstblomst at datamatikerne kun lærer Java og C# - Det betyder flere jobst til os andre. Det som irriterer mig er den måde hvorpå at nogen nøjes med at undervise i disse sprog uden at give eleven værktøjer til at komme videre med programmering. Jeg føler at der mangler den rette info om at man vælger sprog ud fra opgaven og der mangler den undervisning i alle grundprincipperne der gør at eleven let kan omstille sig til nye sprog, nye paradimer og nye platforme.
jeg ønsker IKKE at man underviser i OS specifik programmering, platform specifik programmering eller paradime specifik programmering. Der skal undervises i fordele/ulemper, grundteori og elementær datastruktur forståelse.

  • 0
  • 0
Anders Reinhardt Hansen

jeg ønsker IKKE at man underviser i OS specifik programmering, platform specifik programmering eller paradime specifik programmering. Der skal undervises i fordele/ulemper, grundteori og elementær datastruktur forståelse.

Jeg kan ikke være mere enig. Jeg vil så mene at afhængigheden af windows som platform er et meget større problem end afhængigheden af java. Da java jo faktisk kan køre på rigtig mange platforme. Java skaber i mine øjne mindre afhængighed af system end mange andre sprog gør. C/C++ f.eks. er meget platformsafhængige.

Men der er et problem som du hopper hen over igen og igen, og det er at de studerende kun har 2 år til at lære det i. Og så må der altså prioriteres, og der mener jeg at java er et godt sprog fordi det har så mange muligheder og fordi det er hvad virksomhederne beder om. Datamatiker uddannelsen blev faktisk skabt som en reaktion på at der var for få programmører og det tog for lang tid at udddanne dataloger og lignende.

  • 0
  • 0
Kristian Østergaard

jeg ønsker IKKE at man underviser i OS specifik programmering, platform specifik programmering eller paradime specifik programmering. Der skal undervises i fordele/ulemper, grundteori og elementær datastruktur forståelse.

Så skulle du da have været datamatiker!

Jeg vil så mene at afhængigheden af windows som platform er et meget større problem end afhængigheden af java

Jeg blev færdig sidste år, og jeg ved ikke rigtig noget om windows, til gengæld ved jeg rigtig meget om unix og mainframe!

  • 0
  • 0
Anders Reinhardt Hansen

Jeg blev færdig sidste år, og jeg ved ikke rigtig noget om windows, til gengæld ved jeg rigtig meget om unix og mainframe!

Det var ikke så meget en kommentar på datamatikere som generelt diskussion om brugen af windows.
Dog vil jeg sige at det ofte kræver at man selv gør en indsats for at lære sig *nix. Har dog også haft mainframe kurser på DTU.

  • 0
  • 0
Kim Schulz

@Anders
På de universitets uddannelser jeg har været i forbindelse med, der fylder selve grundundervisningen <2år. Det er ved siden af at man har alle de andre grundfag, så samlet set kunne det hele klares på et semester eller 1½. Herefter kan de studerende så begynde at specialisere sig og lære mere om et specifikt sprog/paradime, platform eller for den sags skyld et eller andet framework.
Jeg har arbejdet med en del, ellers intelligente, datamatikere og det er altså ikke fordi nogen af dem ligefrem skiller sig ud med overlegne egenskaber i programmering. Jeg ved ikke om det er fordi universitets undervisningen er mere fokuseret eller om det er fordi eleverne er mere modtagelige, men jeg ville forvente at man efter 2år med relativt meget undervisning i programmering ville kunne mere end det jeg har set hos disse datamatikere. Dem som virkeligt kan programmere godt, er ofte dem som kunne programmere inden de startede på datamatiker studiet og derfor allerede havde snuset en del til emnet på egen hånd.
Der findes med garanti datamatiker uddannelser hvor der undervises fantastisk godt i programmering og hvor eleverne bliver super programmører. Desværre har jeg personligt ikke mødt nogen datamatikere som (via studiet) har tilegnet sig disse egenskaber og jeg tror meget af ansvaret for dette kan pålægges bl.a. valget af programmeringssprog.

  • 0
  • 0
Preben Høj Holmberg

@ Kim Schulz

"Jeg føler at der mangler den rette info om at man vælger sprog ud fra opgaven og der mangler den undervisning i alle grundprincipperne der gør at eleven let kan omstille sig til nye sprog, nye paradimer og nye platforme.
jeg ønsker IKKE at man underviser i OS specifik programmering, platform specifik programmering eller paradime specifik programmering. Der skal undervises i fordele/ulemper, grundteori og elementær datastruktur forståelse."

Rigtigt Kim !!

Tommetykke, og dyr litteratur om Java, C# og .NET....og investering i .NET programudviklingsmiljoer, som for nybegyndere er som at "skyde graespurve med kanoner", men professionelt ser det ud....Og det er ikke beregnet til nybegyndere...men til professionelle udviklere, som selv kan gennemskue hvad de mange visuelle vaerktoejer generer af sofistikeret kode..

Minder om webdesignere(begyndere) der anskaffer aveancerede editeringsprogrammer som genererer diverse MarkupLanguage-koder, scripts..etc....men som dybest set ikke kan gennemskue hvad der sker naar deres produkter eksekveres i deres browser.

.........

Mon ikke der ligger pengeinteresser bagved..baade fra Microsoft, kursusudbydere med kurser til flere hundrede kr. i timen, underviseres "aftaler" med diverse interessenter ...etc. !?

Kig hos boghandlerne, der saelger til de Datamatiker-studerende.....der er ikke meget litteratur, som ikke er forbundet til kommercielle produkter..

  • 0
  • 0
Død Profil

De argumenter skal du ikke bruge til noget som helst, medmindre du er midt i en beslutningsprocess for en IT uddannelses studieordning.

Nu er der jo en debat her, hvor de også kunne være interessante at få frem ;-)

Status Quo er at Java eller C# umiddelbart er det bedste sprog at undervise i, fordi materialet, rutinen og erfaringen er til stede. Vi har, som jeg har nævnt før, ikke indsigt i hvad og hvorfor ét sprog virker bedre som basis for undervisning end andre. Det har skolerne derimod.

Hvis argumentet er erfaringen, og mange af datamatiker underviserne er dataloger, så burde de vel også undervise i ML, Haskell og hvad der ellers kender fra universiteterne?

Der er heldigvis nogen som har kigget på hvorfor et sprog virker bedre end andre, så det er ikke helt rigtigt at vi ingen indsigt har.

Et eksempel på en undersøgelse (de kommer her frem til C som det bedste for begyndere, men det er selve analysen som er det interessante):
http://doi.acm.org/10.1145/1027313.1027320

Mvh,
Søren

  • 0
  • 0
Søren Straarup

Tilbage til det med at forstå computeren.

F.eks. hvis man allokere noget hukomelse skal man jeg frigive det igen, ikke sandt?

Eller bør man "bare" bruge et sprog som har garbage collection?

Noget ala man er færdig med at drikke sin dåse cola, hvor efter man bare efterlader den hvor man nu er, og ikke i en affaldsspand?

Hvis man kigger på vores omgivelser er det nok løsningen med garbage collection man har valgt.

  • 0
  • 0
Rasmus Holmann Sørensen

Søren du må virkelig være startet tidligt med øllene i fredagsbaren , ellers havde du nok ikke skrevet hvad du skrev.

Du har lige sammenlignet udviklere som bruger Java og C#, samt (set i lyset af denne tråd) datamatikere med miljøsvin som dumper deres dåser alle andre steder end i skraldespanden.

Kunne det tænkes, at de udviklere som bruger et sprog med garbage collection rent faktisk også selv kan finde ud af at frigive system ressourcer, hvis de skal lave en applikation, som skal køre i et ressource fattigt miljø? Jeg tænker overordnet på filosofien om, at vælge det værktøj som passer til opgaven.

Men når du engang bliver ædru, så kan du jo passende uddybe hvad du mente og evt. fortælle mig om jeg har fejltolket dit indlæg.

  • 0
  • 0
Rasmus Holmann Sørensen

Hvis jeg nu skal lege med på dit eksempel, så bliver jeg nødt til at rette det ud fra den tankegang, at de folk som bruger sprog med garbagecollection kun stiller deres dåser fra dem overalt, fordi de ved at der inden for kort tid kommer en skraldemand, hvis eneste mening i livet er, at samle deres dåser op.

  • 0
  • 0
Simon Hoxer

Nu er der jo en debat her, hvor de også kunne være interessante at få frem ;-)

Jeg kan fornemme, at jeg er en anelse mere pragmatisk end dig og måske flertallet her. Jeg tillader mig at uddybe: Nytteværdien af at diskutere om Java er et kvalificeret sprog er lig nul, fordi den diskussion ikke giver et konkret bud på en erstatning til java/C#. Den debat som artiklen lægger op til er, i mine øjne, ikke at diskutere om Java/C# er godt eller skidt, snarer om valget af ét sprog til undervisningen er en ulempe er de studerende (og virksomhederne). Vi har været omkring problemet med, at der ikke er tid nok til flere sprog (hvis kvaliteten af undervisningen skal bevares), så nu er spørgsmålet: Findes der et bedre sprog, der klæder datamatikerne bedre på til at lære nye sprog?
Mens det spørgsmål afgøres virker det som et tilbageskridt at diskutere om Java/C# er godt eller skidt.

Mht til artiklen, tak for linket. Jeg kan se at de objektorienterede princip er afgørende for valget mellem C/C++/Java. Jeg er selv begejstret for OO og det påvirker selvfølgelig min holdning til Java. Jeg mener OO er vigtigt, men ikke alle deler den holdning.

Til det med garbage collection: I min undervisning blev der sat en meget tyk sort streg under Javas garbage collection. Det er ikke en ting man skal tage for givet i alle sprog. Og mit pragmatiske perspektiv siger også at hukommelsessvineri er helt i orden, hvis hukommelsesoptimering ikke fremgår af kravspecifikationen. Jeg ved at nogen gør hukommelsesstyring til et princip, men jeg mener nu, at programmets kontekst må være afgørende.

  • 0
  • 0
Død Profil

Den debat som artiklen lægger op til er, i mine øjne, ikke at diskutere om Java/C# er godt eller skidt, snarer om valget af ét sprog til undervisningen er en ulempe er de studerende (og virksomhederne). Vi har været omkring problemet med, at der ikke er tid nok til flere sprog (hvis kvaliteten af undervisningen skal bevares), så nu er spørgsmålet: Findes der et bedre sprog, der klæder datamatikerne bedre på til at lære nye sprog?

Jeg synes ikke helt der er en lukket diskussion på emnet om valg af et sprog. Hvad er kvalitet i undervisningen? At man kan nå en smule specialisering i f.eks. C# eller Java, eller at man kan komme omkring et bredere udsnit (f.eks. dække flere paradigmer af sprog der understøter dem direkte)? Omkring 1995 mente man det sidste, mens i dag mener man åbentbart en smule specialisering er bedre. Man kan så tage den videre derfra og analysere på hvad som er ændret, og hvorfor, hvilket er min mening om hvad artiklen lægger op til :-)

Mht til artiklen, tak for linket. Jeg kan se at de objektorienterede princip er afgørende for valget mellem C/C++/Java. Jeg er selv begejstret for OO og det påvirker selvfølgelig min holdning til Java. Jeg mener OO er vigtigt, men ikke alle deler den holdning.

Udfra præmissen, at man kun kan vælge et sprog, giver det mere mening at vælge et "rigtigt" OO sprog (gætter på at for mange står af hvis de skal "simulere" OO i andre sprog for at lære det).

Mvh,
Søren

  • 0
  • 0
Kjeld Flarup Christensen

Jeg ser egentligt ikke det store problem i at unge mennesker lærer java, det giver en mere erfaren person som mig flere job muligheder.

Nå spøg til side. Selvom jeg ofte forbander Java på embeddede systemer, så går også programmering bort fra det maskinnære. Der er intet unaturligt i at abstraktionsniveauet vokser.

Jeg synes selv at jeg er en heldig kartoffel at jeg har fået det hele med, så jeg kender alle hjørner af de underliggende lag, men skal man være produktiv så er der ikke plads til den slags.

Ja, jeg bruger stadigt C++ og perl som mine foretrukne sprog. Så jeg er sikkert forældet!
C++ har jeg ikke nogen tanker om at udskifte, men perl kunne måske smutte til fordel for Ruby.

Men C har stadigt sine højborge. Linux kernen er f.eks. baseret på C. Og alle compilerne er mere eller mindre afhængige af C. Så det dør ikke lige med det samme.

Jeg kunne blot godt tænke mig at vide hvilket sprog der vil afløse C til kernebrug. Eller vil C bliver et intermediate sprog på linie med Assembler.

  • 0
  • 0
Log ind eller Opret konto for at kommentere