Nyhedsbrev

Få it-nyheder og blogs hver dag
og vind en Nintendo Wii.



feeds RSS Nyhedsfeed
Afstemning

Bruger du bruge samme password til alle websites?





Deltag i debatten

Programmeringssprog: Hvad blev der af APL?

En gang var programmeringssproget APL et af de mest avancerede programmeringssprog i verden, men hvor er sproget henne i dag?

I begyndelsen af tresserne udviklede Kenneth E. Iverson på Harvard universitetet et programmeringssprog, der ikke havde nogen lige. Han kaldte sproget nøgternt for A Programming Language, hvilket hurtigt blev forkortet til APL.

Det særlige ved sproget var notationen, der var en samling af græske bogstaver, pile og kasser, og for at gøre det hele lidt mere nørdet skulle logikken skrives baglæns.

Selv stødte jeg kort ind i APL i begyndelsen af firserne og oplevede magien i, at det var muligt at lave fuldt funktionsdygtige applikationer, der kunne stå på en (1) linje. One Liners blev det kaldt og var et mål i sig selv for hardcore APL-programmører.

Men hvor er APL i dag? Ifølge Wikipedia er der sket en betydelig udvikling, men er det et programmeringssprog, der helt har tabt pusten over for de nye og mere hypede sprog, eller er der stadig APL-entusiaster derude, der dyrker One Liners som en kunst?

Kom med dit bidrag og skriv historien om APL op til i dag.

Kommentarer (8)
af Bryan Rasmussen, 4. april 2008 14:29

Hej,

Det der 'sket' storset var at APL split i to eller tre (historien er meget mere kompliceret end de og meget kommer om hvem du taler med)

men: der er stadig nogle APL implementationer, jeg synes bedste er Dyalog http://www.dyalog.com/ Der er en Dyalog.Net implementering

Der har været en langt diskussion om hvad APL betyder, er det A Programming Language, Array Programming Language ? osv.

En Array programmerings sprog som hedder J blev lanceret af Iverson, der er mange tilhænger af J som mener at J er bare en anden forbedret version af APL, derfor er der altid mange slagsmål ude på APL grupperne om lige det emne (fordi mange APL'er mener det modsatte). J har en fordel over APL at du ikke behover en specielt keyboard til at bruge det men jeg synes også det har mange ting som gøre det meget dejlige at bruge, selvom jeg bruger det meget som en hurtigt calculator - kigge her http://www.jsoftware.com der er fri version til download, det er en meget lækker sprog.

En trejde sprog i samme stam er K, jeg tror K bliver brugt meget på Wall Street, jeg synes ikke selv om sproget, men der er nogen som kan lige det. Storste fordel med K ser ude til at være at du kan bruge kDb Database fra KX med denne http://kx.com/ og som koster ret mange penge.

For at holde opdateret med de forskellige vector sprog kan du kigge på http://www.vector.org.uk/?area=home som har altid gode artikler.

Jeg ville også sige at Jsoftware har nogle af de bedste bøger om matematisk programmering på sin hjemmeside, men jeg er ikke lige sikkert hvor de ligger nu. Kigge efter J og calculus, J og algebra osv.




af Martin Falck-Hansen, 4. april 2008 14:39

Jeg lærte APL på et kursus på økonomisk insitut tilbage i slutningen af 1990'erne.

Så vidt jeg ved så bruger Simcorp APL til udvikling, men om det stadig gælder og i hvilken udstrækning ved jeg dog ikke.

Lidt på samme måde som Algol er APL dødt i den forstand, at meget få bruger det i dag. Men -- igen ligesom Algol -- så er mange af ideerne overført til nyere sprog. F.eks. er ideen om at have operationer, der arbejder på en hel datastruktur i stedet for et enkelt element, brugt i de fleste funktionsprogrammeringssprog, Fortran (siden 1990) og kan også ses som en forløber for Linq i C#. Brugen af et specielt tegnsæt og særlige tastaturer er ikke overført, og det er måske også meget godt det samme. Dog har f.eks. sproget Fortress (http://projectfortress.sun.com/Proj...) mulighed for at vise programmer med særlige operatortegn, men man indtaster dem stadig som kombinationer af almindelige tegn.
af Bjørn Grønbæk, 4. april 2008 16:42

Jeg er stadig studerende, og havde ind til for ganske få uger siden aldrig hørt om APL. Men så til en karrieremesse var der et større softwarehus der afholdt en konkurrence. Man skulle bare lige svarer på 11 spørgsmål... korte stykker kode skrevet i APL.
Alle de studerende jeg talte med den dag havde været nødt til lige at bruge Google lidt for at komme i gang. Som en der stort set kun har programmeret objekt orienteret, kan jeg afsløre at APL kræver noget af et paradigme skift, og det tager lidt tid lige at få vredet sin hjerne rundt om syntaksen. Men jeg fik da 7 af 11 rigtige :-)
af Per Erik Rønne, 4. april 2008 20:23

Ja, se bare på dette link:

<http://www.thefreecountry.com/compi...>

APL kan bare downloades til massevis af platforme, ganske gratis, og i forskellige udgaver.

Personligt kunne jeg nu ikke vænne mig til APLs manglende operatorhierarki. Dengang jeg lærte sproget på datalogistudiet.
af Niels Bo, 5. april 2008 23:12

APL programmering kræver et særligt tastatur, og mens dette var relativt udbredt på IBM 3270 terminaler, så blev det aldrig særligt udbredt til PC'er.
APL er først og fremmest et genialt sprog til tal gymnastik herunder matriksoperationer.
af Michael Deichmann, 11. april 2008 20:34

Som flere er inde på var APL ret hot i slutningen af 70'erne og i særdeleshed første halvdel af 80'erne og ganske rigtigt på IBM mainframes. Iverson implementrede APL i sin tid sammen med IBM på IBM mainframes, så det er der ikke så meget mystisk i.
Der fandtes inden IBM PC en dedikeret APL mikro - en IBM 5150 tror jeg den hed og jeg ved at A.P.Møller bl.a havde nogen dengang. Omkring 82 - 83 opstod et begreb i de store IT installetioner - Banker og forsikringsselskaber bl.a. et begreb der hed "Bruger Service Center" hvor APL eller APL baserede produkter spillede en central rolle. Det var i denne tid IBM's PC for alvor kom på banen og meget af det man havde brugt APL til på mainframe blev nu lavet med Lotus 1-2-3 på PC'en.
Specielt i Danmark har en tidligere APL freak, som direktør for SAS Institute succes med at få SAS ind istedet for APL og BSC'erne bliver i stor stil baseret på SAS pakkerne frem for APL.
APL kommer også til PC'erne - nogen mere succesfulde end andre - den suverent værste jeg kender var Sharp APL for PC hvor man lavede en S/370 emulator til Intel 8088 hvor man så kunne køre mainframe udgaven af Sharp APL på sin PC - performance taler vi ikke om, men de tog helt seriøst penge for det! :-)
Indtil for nylig havde jeg mest for sjov IBM APL2 for PC på min laptop og med moderne PC'ere kører det ganske fornuftigt.
Der kunne skrives en hel Wiki om hvordan der var spin offs af diverse APL varianter også ud over J og K.
Det var tider.
af Claus Bruun, 14. april 2008 15:21

IBM's APL2 er vel stadig referencen. Den datamodel, som blev indført med APL2 var laaaaangt forud for sin tid mht. abstraktion, modellering og objekt orientering.

Syntaks og operator hieraki er vel ikke så vigtigt. - Der hvor APL virkelig adskilte sig var, at det var bygget på en matematisk tankegang/model, hvor matematisk tænkende mennesker, der ikke har noget imod at mappe et problem op i 5-6 dimensionale matriceer for så at reducere ned til et resultat, var i deres es.

Og det er vel også grunden til sprogets (halv)død: Procentdelen af programmøre med denne baggrund er idag forsvindende lille...

Derudover er det et fortolker sprog, hvor det er yhyre nemt at lave prototyper uden at skulle en halv km kode.

E-mail:   Adgangskode:  
Ikke bruger? Opret en brugerkonto og deltag i debatten
Seneste blog-indlæg