Symbiatch - maailma on rikki

Carbide.c++ 1.2 beta

08.02.2007 17.37 - ohjelmointi 

Nyt on tullut hetki käyteltyä tuota Carbide.c++ 1.2:n betaa (mutta liian vähän että oikeasti siitä paljoa tietäisi) niin pitää hieman kirjoitella kokemuksia. Lisäilen myöhemmin jos tulee vastaan muita asioita. Positiivinen yllätys on ollut, pitää heti aluksi sanoa. Osa ongelmista johtuu Eclipsestä ja en voi sanoa olevani mikään osaava Eclipsen käyttäjä, joten jotkut ongelmat voivat hyvinkin olla "en vain osaa"-tyyppisiä.

MMP-editori

Aiemmin oli tuskaa kun piti naputella linkattavat kirjastot yksitellen ja lisäillä capabilityt ja muut käsin. Nyt on mukana MMP-editori jolla nämä hoituvat paljon helpommin. Vakiokirjastot ovat listassa ja siitä vain valitsemaan (jopa multiselect toimii, onneksi). Ja capabilityt hoituvat samoin. Kieliversiot voi myös hoitaa tuon avulla. Oikein kiva.

Debuggaus

Debuggauksessa ärsyttää se, että käynnistyksen jälkeen mennään aina koodin alkuun. Normaalistihan laitetaan breakpointteja sinne minne haluaa katkoa ja softa käynnistetään heti alkuunsa. Nyt vaatii yhden painalluksen aina lisää. Ja tämähän oli, kuten arvelinkin, asetusvika minun puoleltani. Tyhmä oletusasetus kuitenkin.

Laitedebuggaus on ihana. Usein on ollut tilanne, jossa emulaattorissa toimii mutta laitteessa ei. Nyt pääsee katselemaan mihin jämähti ja miksi. Muistidumppaus ei aina oikein tunnu toimivan eikä kaikkien muuttujien katselu mutta lyhyellä kokeilulla helpottaa elämää runsaasti.

Myöskin breakpointtien kanssa on vähän ongelmia, ainakin laitedebuggauksessa. Jos laitan tiettyyn kohtaan breakpointin, ei suoritus pysähdy siihen jos painan Resumea vaan pitää itse valita kohta ja käskeä ajamaan siihen kohtaan. Ei kiva jos on useita kohtia joissa pitäisi keskeyttää. Ehkä en vain osaa?

UI-editori

UI-editoria kokeilin vain hetken ja onhan se ihan nätti. Voi lätkiä labeleita ja muita ruudulle, en katsonut onko miten mahdollista skaalautuvuudet hoitaa, eli voiko sanoa "tämä on aina alareunassa ja tuo sitten sen päällä" jne. Ärsyttävää oli ainakin se, että esimerkiksi labelin tekstin väriä ei voinut vaihtaa mitenkään. Myöskin fonttivaihtoehtoja on vain kolme: normal, legend ja annotation. Mitenkään ei näytä voivan laittaa täsmälleen haluamaansa fonttia. Ja tietysti sekin ärsyttää vähän, että jos sanon labelille nimeksi label1, se onkin koodissa iLabel1.

Menuja voi editoida suoraan napsauttelemalla, vähän silmää särkee vain fonttivalinnat tuossa editoidessa, ei näytä ihan viimeistellyltä. Menuihin (ja muihinkin) voi määritellä suoraan eventtejä, eli koodigeneraattori tekee switch-caset koodarin puolesta ja kutsuu metodeja joissa voi sitten hoidella hommat. Ihan hyvä idea, vaikka luonnollisesti esimerkiksi .NETin oikeat eventit ovat ihan eri asia. Plussaa silti ettei Symbian/Nokia lähde laajentamaan C++:aa omilla eventtiviritelmillään :)

Myöskin navipanen kuvan, tekstin jne voi säätää suoraan editorista.

Vielä en kokeillut tehdä tabeja tai muita, nekin tuon kautta pitäisi onnistua helposti.

Kääntäminen

Nyt vihdoinkin kääntämisessä progressbaari päivittyy ja vähän näkee mitä tapahtuu. Vieläkin taisi silti SIS-generaattori pyörähtää vaikka koodi ei kääntyisikään, se hidastaa touhua ikävästi.

Käännösvirheiden kanssa on ongelmia aika paljon. Pitää aina katsoa sekä Problems- että Console-näkymät jotta tietää miten kävi. Joskus Consolessa näkyy kääntäjän virheilmoituksia vaikka Problems sanoo ettei mitään ollut vialla. Rasittavaa. Ja jostain syystä Problems-näkymä hyppää aina Warnings-kohtaan tässä koneella, pitää kelata ylöspäin että näkee virheet. Ei varoitukset niin kauheasti kiinnosta vakiona, vaikka tietysti pyrin tekemään koodia jossa ei niitäkään tule.

SDK:t

IDE tukee useita SDKita ja saman softan voi valita käännettäväksi millä tahansa yhdistelmällä. Ihan mukavasti tuntui toimivan, tietysti UI-editori vääntää 3rd edition -kamaa, joten sen kanssa voi joutua virittelemään jos haluaa vanhemmilla toimivaa. Myös UIQit on tuettuna.

"Intellisense"

Intellisense-kopio on erittäin hidas, tämähän on Eclipsen vika. Saa odotella useita sekunteja että lista tulee, jopa saman olion/luokan kohdalla. Ikävä tulee Visual Studiota. Täydennys ei myöskään toimi kaikkialla, varsinkaan joidenkin Symbian/S60-luokkien kohdalla. Omien suhteen toimii aika hyvin.

Import 1.1:stä

Jos valitsee 1.1:n workspacen, päivitys menee aika kivuttomasti. Kaikki ei ihan aina toimi, mutta melko pitkälti. Sen sijaan jos yrittää importilla ladata vanhasta, projekti ei toimi ellei tuhoile asetustiedostoja. Tämä korjattaneen myöhemmin. bld.infistä importtaus toimii paremmin.

Yhteenveto

Kaiken kaikkiaan oikein hyvä parannus 1.1:stä, luonnollisesti uudempi Eclipse ja CDT auttaa asiaa myös. Odotan mielenkiinnolla miten tästä vielä muuttuu ja tietysti toivon että Nokia antaa kiltille minulle ilmaiseksi version että voin jatkaa kilttinä oloa ;)

Kommentoi

Kommentit

Tommi Vilkamo (anon, 09.02.2007 10.34) kotisivu

Thanks, forwardoin linkin suoraan Markus Ahoselle, joka vetää Carbide C++ -hanketta.

Markus Ahonen (anon, 09.02.2007 16.18) kotisivu

Moi Sami,

Hyviä kommentteja. Tässä vähän palautetta mun suunnalta...

- Laitedebuggauksen ongelmat halutaan toden teolla ratkoa. Jos et ole vielä pitänyt näistä meteliä betassa, olisi hyvä jos pitäisit :-) Pidän silmällä tota resume-juttua; ehkä siihen löytyy joku hyvä/huono selitys

- UI Designer on vielä työn alla; löytämäsi puutteet korjataan 1.3 aikataulussa. Skaalautuvuus toimii alasvetovalikosta, jossa näkyy ruutujen resoluutiot. Tämän avulla layoutin pitäisi automaattisesti muuttua.

- Käännösvirheiden ongelmallisuus kuulostaa vakavalta. Voitko ottaa asian esille beta-ryhmässä? Ymmärrän täysin miten toi voi nyppiä.

- Intellisense / Code Assist tulee nopeutumaan seuraavassa beta-releasessa; evaluoimme tällä hetkellä josko siirtyisimme lopullista tuotetta varten yhteen ensimmäisistä CDT 4.0 buildeista, jossa on lähinnä indeksoijaan liittyviä bugikorjauksia. Indeksoija on syynä Intellisense-toiminnallisuuden hitauteen.


Terveisin,

//markus

Old and tireed (anon, 10.02.2007 00.20)

Tuohon "Intellisenseen"
Nyt juuri ennen kuin ryhdyin kirjoittamaan tätä, niin huomasin Ahosen jo vastanneen mistä meinaan kirjoittaa - hiukkasen.
Kuitenkin lykkään asiani tähän.

Se "Intellisense" on yksi parhaista avuista,joka nopealla toiminnallaan on auttamassa koodausvaiheessa tekijäänsä. Ei kait tästä kannata sen enempää mainita, että se vaan säästää aikaa ja rahaa, kun ei tarvitse painella nappeja ja odotella dokumenttien latautumista nenän alle, josta sitten kopioidaan parametrit tyyppeineen omaan koodiin.

Suoraan laitteeseen debuggaus.
Joo, työstin jo vuonna 2002 Windows CE laitetta, ja niin vaan meni langattomasti verkon yli ja takaisin kehityskoneelle breakpointit ja muuttujien arvot kuten on Visual Studiossa tänäänkin.

Mikähän pannahinen siinä on näiden kahden asian kanssa, että eivät toimi näissä Symbian laitteiden ohjelmistojen kehitysympäristössä vielä siedettävällä tasolla?

Niin, voihan olla tuon Intellisensen kanssa,
että se on Javalla kirjoitettu Eclipse/Carbideen. Siihen kaiketi ei tule parannusta, kuten tuossa Sami haikaili Visual Studion perään.

No, tulipa tässä taas näitä perusasioita Symbian maailmasta, johon tullaan edelleen odottamaan parannuksia kuten on jo odotettu vuosia. Markus Ahoselle en laita paineita, kun kerran olen Saminkin lauseista havaitsevani, että edistystä on tapahtunut "kaivoslamppujen maailmassa".


Old and tireed II (anon, 10.02.2007 01.02)

Heh, tulipa jekku mieleeni ja laitankin
"karbiidilampun nykyvaiheita katsottavaksi tästä linkistä".
Vanhakin voi olla kaunista ja toimivaa :

http://www.ironminers.com/mineforum/viewtopic.php?t=633

Jutut.fi  |  Omat jutut  |  Muiden jutut  |  Kategoriat  |  kirjaudu