Tölvumál - 01.10.1992, Blaðsíða 29
Október 1992
Gallarnir eru hins vegar
áþreifanlegir:
- Sjálfvirka ruslasöfnun skortir.
- Hverfitími er hár miðað við
t.d. Smalltalk, Actor og Visual
Basic. (Hverfitími er hér not-
að sem sá tími, sem líður frá
því að forriti er breytt og þar
til það verður tilbúið til
keyrslu.)
- C++ er bastarður, þ.e. ekki
hreint og tært hlutbundið for-
ritunarmál.
- Margir af göllum C erfast.
Paradís
endurnýtingarinnar?
Eitt af lykilatriðum hlutbund-
innar forritunar er endurnýting.
Menn hafa séð fyrir sér klasasöfn
sem hilluvöru og að hug-
búnaðargerð muni felast í því
að púsla saman klösum úr
aðskiljanlegum klasasöfnum.
Hugtakið "Software IC" hefur
verið notað í þessu sambandi.
Eftir lestur slíkra yfirlýsinga og
framtíðarsýna, þá sér maður fyrir
sér að geta t.d. notað klasasafn
frá einum framleiðanda, sem sæi
um gluggakerfið, annað klasa-
safn frá öðrum framleiðanda,
sem sæi um gagnasafnshlutann,
eitt klasasafn sem sæi um
útreikninga, enn annað klasasafn
sem sæi um hljóðvinnslu, eitt
safn sem sæi um greiningu á
íslensku (t.d. með því að fara
yfir stafsetningu og að finna
mögulega stofna orða) og svo
mætti lengi telja. Og það sem
meira er: maður ætti að sjá fyrir
sér að virkjun þessara klasasafna
í einu forriti ætti að ganga vand-
ræðalaust fyrir sig.
Allt virðist þetta ætla að ganga
upp þar til yfir okkur hellist
ískaldur raunveruleikinn:
- Nöfn klasa verða að vera
einkvæm.
- Enginn staðall er til fyrir algeng
klasaheiti eins og "String",
"Set", "OrderedCollection",
"Dictionary", "Bag", "Stack".
Það að nöfn klasa verði að vera
einkvæm þýðir að engin stoð er
fyrir "módúla" af klasasöfnum.
Þar sem enginn staðall er til fyrir
algeng klasaheiti, þá er árekstur
milli nafna mjög líklegur og raunar
tryggður eins og klasasöfn eru
hönnuð í dag. Sem dæmi má
nefnaklasann "String", sem fyrir-
finnst bæði í Borland klasasafninu
og C++/Views klasasafninu. Ekki
er hægt að nota Borland 2String"
í sama forriti og C++/Views
"String".
C++/Views Browser: adprent (window.cpp)
File Application Edit Search View Classes Members Make
Window: Display
Public Methods
Class
Hotifier
Object
Ossoc
Displag
llindow
Uiew
AppUieu...
PopupWindow
Dialog
fldloqin
uoid update(Rectangle«,boolean)
boolean user(unsigned,short,long)
long winDispatch(Eoent&)
~Window()
Window()
Window(float,float,float,float,Window*,short)
Window(int,int,int,int,Window*,short)
Window(Frame&,Window*,short)
WinType winType()
uoid wrtText(char»,int,int)
uoid wrtText(Strinq»,int,int)
m
Copyright (c) CNS Inc., 199«. flll rights reserued.
$Date: 91/02/89 10:20:57 $
V
$Reuision: 1.3 $
*/
$source include$
extern "C" {
ttinclude <string.h>
ttinclude <stdarg.h>
Mynd 2. Blaðarinn í C++/Views.
29 - Tölvumál