måndag, oktober 30, 2006

Kompilator-HMI

Det bedrivs en hel del forskning rörande HMI (human-machine-interaction/interface) vars mål är att förenkla interaktionen mellan en krånlig och lynnig pjäs (datorn/maskinen) och en krånlig och lynning varelse (människan). Ett fält av HMI är datapresentation, dvs hur man ska presentera (textuellt, visuellt, etc) information så att en människa kan ta till sig det lätt, snabbt, exakt, osv.

Och nu till poängen -- idag på jobbet när jag skrev ett test fick jag följande felmeddelande av GCC:
SdtRcrTest.cc:264: error: no match for 'operator==' in '(*(eu->sgt::rcr::SdtRcr::_vptr.Object + 100u))(eu) == (*((*(((SdtRcrTest*)this)->SdtRcrTest::_cell[1]->sgt::rcr::RcrLeclInfo::_vptr.RcrLeclInfo + 24u))(((SdtRcrTest*)this)->SdtRcrTest::_cell[1])->sgt::rcr::SfInfo::_vptr.SfInfo + 8u))((*(((SdtRcrTest*)this)->SdtRcrTest::_cell[1]->sgt::rcr::RcrLeclInfo::_vptr.RcrLeclInfo + 24u))(((SdtRcrTest*)this)->SdtRcrTest::_cell[1]))'
Snacka om HMI! Trots att jag kan min både min kod och GCC ganska bra så säger det där felmedelandet mig inte ett smack (ok, det säger mig lite -- det verkar vara något med en metodpekare...). Det hade varit precis lika informativt om GCC istället sa:
SdtRcrTest.cc: ?SYNTAX ERROR.
Men jaja, det kanske finns någon här i världen som inte är lika krånlig och lynning som jag som förstår det där medelandet.
(Klassnamn etc i felmeddelandet har ändrats för att inte avslöja några eventuella hemligheter).

Etiketter: ,

torsdag, oktober 26, 2006

Brahetsmått

Jag har inte undersökt saken så noga, men jag är övertygad om att det finns diverse mått på hur bra ett programmeringsspråk är. En sak jag uppskattar är en enkel och konsistent syntax samt ett stort standardbibliotek med kraftfulla funktioner/klasser.

(defun has-consistent-syntax? (language)
(or (string-equal language "lisp")
(string-equal language "scheme")
)
)

bool SyntaxAnalyzer::
hasConsistentSyntax(std::String language) {
return !((language == "C++") || (language == "C"));
}


Ett annat mått på hur bra ett språk är är "'fuck's per source file", eller mer generellt "antal svordommar per källkodsfil" (nej, detta är inte ett seriöst mått, men likväl ett mått med viss mått av värde).

Google Code Search
är en söktjänst som ger möjlighet att söka i open source-källkod efter vad man nu önskar. Detta utnyttjades här för att uppskatta hur bra några vanliga språk är. (Notera speciellt andelen 'fuck' per källkodsfil som C har).

Etiketter: ,