Peter Ussing, du har 50 års erfaring med at arbejde med programmering, hvad oplever du er et godt programmeringssprog?
- Et godt programmeringssprog er et, som er konkret velegnet til at løse den konkrete opgave. Da de opgaver, der løses, typisk er vidt forskellige, vil det "rigtige" programmeringssprog variere fra opgave til opgave.
Hvis man tager fra starten af din karriere i it og til nu – hvad er der sket med programmering og sprogene siden da?
- Der er sket en betydelig udvikling i programmeringssprog. En af de væsentlige årsager er, at de maskiner, der anvendes, har fået langt højere kapacitet.
Det har betydet, at tidligere tiders stærke fokus på effektiv og hurtig afvikling af programmerne er blevet afløst af et fokus på at lave programmer, som fleksible at udvikle og ændre i. De fleste af de metoder, der understøttes af moderne programmeringssprog, har været kendt i mange år. Så der er ikke så på den måde så meget nyt under solen.
Små og store sprog
Hvor mange sprog kan du programmere i?
- Her kommer det så an på, hvad der er et programmeringssprog. Jeg betragter f.eks. ikke HTML og SQL som generelle programmeringssprog. Spørgsmålet er så, om for eksempel rapportgeneratorer er programmeringssprog. Jeg vil betragte dem som specialiserede programmeringssprog. Så er (macro) assembler sprog, der typisk er bygget til en enkelt maskinarkitektur med understøttelse af funktioner fra operativsystemet. De er i sagens natur heller ikke generelle, da de er baseret på maskinstruktioner der findes på de enkelte systemer.
- Macroassembler blevet mindre anvendte på grund af mindre fokus på performance - og performance var netop deres stærke side.
- Og hvad med scriptsprog til at beskrive jobs til driftsafvikling?
- Og hvad med Excel der jo har stærke faciliteter til at udføre beregninger samt lave rapporter og diagrammer? Jeg vil betragte Excel med brug af dets avancerede funktioner et programmeringssprog.
- Jeg har vel selv brugt små 10 generelle programmeringssprog. Og 2 macroassembler sprog til henholdsvis IBM 370 og DEC PDP-11 systemer.
- Og så et antal rapportgeneratorer og sprog til driftsafvikling såsom IBM JCL og Digital DCL. Og så SQL til datamanipulation. Plus det løse gennem årene.
Hvad tror du er normalt for udviklere at kunne – flere eller få sprog?
- De fleste udviklere vil over tid lære sig nye sprog - både af nysgerrighed og på grund af behov for det.
Er der forskel på sværhedsgrad?
- Ja, der er stor forskel på sværhedsgrad. Alle programmeringssprog kræver en forståelse af dets underliggende koncepter. Jo mere specialiserede (og snævre) sprogene er, desto lettere er de typisk at mestre.
Hvor lang tid tror du det tager, hvis du tager udgangspunkt i egne erfaringer at lære et nyt sprog?
- Det kommer an på, hvor stor sproget er (inklusive de pakker af funktion man bruger), samt hvor meget i dybden, man skal. Rigtig dyb forståelse af et stort og komplekst sprog tager typisk flere år. En rapportgenerator tager ofte nogle få dage. Excel kan man hurtigt komme i gang med, men brug af de avancerede funktioner er typisk tidskrævende første gang de bruges.
Skal man være nørdet – eller er det noget de fleste kan lære?
- Nej, det er ikke nørdet. Og det er noget de fleste kan lære. Men der findes naturligvis programmeringsopgaver, der er vanskelige at løse. Dette kan f.eks. være fordi programmet er tidsmæssigt afhængigt af, hvornår et givet input kommer. Det kan også være programmering af såkaldte drivere som danner grænsefladen mellem en computer og elektroniske interfacekort der modtager eller afleverer data til eksterne enheder. Eller store og komplekse systemer der mange samtidige opdateringer og læsninger.
Følelser for sit sprog
Hvor lang tid tager det at mestre?
- Det kommer an på, hvor stor en del af sproget man har. Ofte kan man blive ved med at lære noget nyt i lang tid.
Er det ligesom med fodboldhold, enten sværger man til det ene eller andet, og fans af forskellige hold kan godt komme op at skændes?
- Ja, der er der i høj grad. Den samme opgave kan selvfølgelig løses på mange forskellige måder. Afhængigt af hvilket sprog ser programmører forskellige strukturer. En god faglig diskussion kan være belærende for alle parter. Men det er så lidt jeg ved sjældent det kommer til håndgribeligheder.
Lige nu er JavaScript/TypeScript, Python og Java de mest brugte/efterspurgte sprog, hvorfor tror du det forholder sig sådan?
- Javascript (og Typescript) bruges i forbindelse med design af brugergrænseflader. Der anvendes typisk en lille smule JavaScript til at alle HTML billeder.
- Både Java og Python har store mængder af funktionsbiblioteker, som kan hjælpe med at implementere standardfunktioner og der gør sprogene hurtige at skabe resultater med - og meget populære.