Jeg bruger closures hele tiden, men jeg kan sagtens følge Martin i, at Java bør stabilisere i stedet for hele tiden at få tilføjet nye features. Sprog bør standardiseres og derefter holde i minimum fem år, inden der kommer ændringer, og de bør primært være for at rette op på problemer i det oprin...
Hvis vi derfor laver et ny OS API der ikke kan bruges fra C, så har vi helt sikkert malet os ud i et hjørne.
Det har du ret i. Men et API, der bruger kommunikation over kanaler som basis og ikke deler data i lageret kan netop bruges fra alle sprog, som understøtter kommunikation over kanaler.
Erlangs concurrency er grundlæggende set pi-kalkule, og en stor del af API'en i Erlang bruger netop asynkront kommunikerende processer.
Et godt resume af, hvad som kendetegner Erlangs programmeringsmodel kan ses på
http://ulf.wiger.net/weblog/2008/02/06/what-is-erlang-style-concurrency/...
Den hjemmedatamat (Acorn Archimedes A310), som jeg købte i 1987, havde en meget enkel løsning på printning: Alting blev lavet om til bitmaps, inden det blev sendt til printeren. Så at tilføje en ny printer var blot at beskrive printerens grafiske opløsning og de koder, der skulle til for at skri...
Trykfølsomme skærme fandtes langt før 1983. En af de tidlige var Plato IV (http://en.wikipedia.org/wiki/PLATO_System) fra 1972.
Jeg er ikke selv voldsomt stor tilhænger af trykfølsomme skærme. Ikke alene bliver de snavsede af fingeraftryk, man dækker også over det, man vil trykke på, med finge...
Min kone fortalte om en episode fra før vi mødtes. Hun var til en fest og blev budt op til dans af en fyr, og bagefter satte de sig og snakkede sammen. Fyren fortalte, at han læste jura og havde startet sig eget firma, og spurgte så, hvad hun lavede.
-- Jeg studerer også. -- Nåh, til sygeplej...
Udover at spare udgiften til Windows-licenser, så tillader Linux også brug af andre processorarkitekturer, som kan være billigere og/eller mindre strømforbrugende i forhold til ydeevnen.
Enkelte minibærbare bruger allerede kinesiske MIPS-kloner (se f.eks. http://www.reghardware.co.uk/2008/05/23/...
Jeg er fuldstændig enig i, at overloading bør være begrænset sådan at nemt kan finde definitionen ud fra typen. Jeg synes godt om Haskell's måde at gøre det på med typeklasser. Typen af funktionen
[code=haskell]
f x y = x+y*x
[/code]
er
[code=haskell]
Num a => a -> a -> a
[/...
"Alle referencer kan potentielt være nulreferencer, så der skal checkes for dette overalt."
Det tyder på ualmindeligt dårligt programdesign, hvis det er tilfældet.
Så er både JVM og .NET dårligt design, for de checker begge for nulreferencer ved hver dereference.
Pointen er, at det...
På luksusvarer er der en indbygget status i prisen og i købsstedet, så folk vil ikke nødvendigvis finde tingen billigst muligt og slet ikke på internettet. Hvis man kan sige, at man købte den (i forvejen højt prissatte) designerting i Harrods til en formue, så er status højere, end hvis den er k...
Din ide er god nok, men som du siger er den O(n^2). En bedre metode, der bruger samme grundlæggende ide er at sammenligne this.last() med y.last().
Det giver dog stadig et væsentligt overhead, for uden testen er tidsforbruget af x.concat(y) O(|x|), mens det med testen er O(|x|+|y|), hvor |x| er...
[quote]Apropos inputvalidering, hvad ville du bruge til concat-metoden i mit eksempel?
Et forslag kunne være at implementere interfacet Comparable.[/quote]
Jeg kan ikke lige se, hvad det skulle hjælpe. Kan du uddybe?
Og forklar så, hvordan det vil fange problemet i følgende kode:
[code=ja...
Rene skriver:
Fejlen er at dit singleton pattern kun returnerer instansen første gang den bliver kald.
Que? return-sætningen er uden for if-sætningens virkefelt, så indholdet af instance bliver returneret hver gang. Eller også har jeg slemt misforstået Java's syntaks og semantik.
Rene skriver
Til Torben: Hvad er dine erfaringer med OO siden du er så skræmt af det?
Jeg er ikke skræmt -- jeg har nok programmeret i mange flere forskellige sprog meg mangle flere forskellige paradigmer end dig, så der skal meget til at skræmme mig. Men jeg har stirret OO-programmering i ...
Jeg er ikke ekspert i alle detaljer omkring Java, så jeg ved ikke, om det betyder noget, at konstruktøren er erklæret private. Hvis ikke, så ser jeg ingen grund til at erklære den eksplicit, for defaultkonstruktøren gør det samme (initialiserer felter til nul). Hvis "private" betyder,...
"1) Identificer den lovlige delmængde af inputværdier fra populationen.
2) Skriv test for afprøvning af denne delmængde."
Det virker ku, hvis du er sikker på, at dine metoder aldrig bliver kaldt med værdier udenfro denne mængde, så hvis ikke typen i sig selv sikrer dette, så skal din...
Man kan ganske rigtigt ikke bevise et (ikke-trivielt) program fejlfrit med test (det er Dijkstra's lov om test).
Men hvis tests ikke kommer bare nogenlunde rundt i rummet af mulige brugsmønstre, så er de intet værd. Så kan du være nok så glad over at have lavet unit tests på alle metoder...
Rune skriver:
"Det er f.eks. helt åbentlyst at bruge OO til at kunne dele en opgave ud på flere personer der så hver især kan udvikle dele af applikationen, unit teste den og til sidst sætte den sammen uden at skulle ændre noget i de dele der allerede er unit testet."
Bevares, det kan...
... men det er nok ikke af deres gode hjerte, at Via laver et åbent design -- designet bruger Via's egen processor og Via's egne chipsets, så enhver anvendelse af designet er penge lige i lommen til Via.
Såvidt jeg husker lavede Intel et lignende referencedesign til deres "...
Kommentarer
Closures er seje
Re: Fremtidstænkning
Re: Kan du give et eksempel, Torben?
Re: Velkommen i klubben
Printerdrivere
Plato
Re: Det vender også den anden vej
God ide
Re: Løsning: Drop operator overload
Re: Ned med Klatch!
Forskel på varer
Re: Re: Re: Misforstaaet koncept
Re: Re: Re: Misforstaaet koncept
Re: Re: Re: Re: Misforstaaet koncept
Re: Re: Re: Re: Misforstaaet koncept
Re: Re: Misforstaaet koncept
Re: Re: Misforstaaet koncept
Re: Misforstaaet koncept
Re: Re: Unit testing i funktionelle sprog
Unskyld, at jeg er lidt kynisk...