blog.garaż.net

04 czerwiec 2015

Plusy i minusy Obj-C i platformy iOS

Po ostatniej rozmowie zacząłem się poważnie zastanawiać dlaczego nie lubię Androida i czego tak naprawdę w nim nie lubię, ale to temat na osobny wpis. W tym tekście postanowiłem się podzielić przemyśleniami na temat Objective C i platformy iOS, do których skłoniły mnie właśnie przemyślenia nad Androidem.

Na początku muszę zaznaczyć, że twardo odcinam się od dwóch rzeczy. Pierwsza to polityka firmy Apple, która również i mi nie leży (pozwy, patenty na totalne bzdury, itd.), druga to wciskanie sprzętu po zawyżonej cenie. Po prostu Apple jak każda większa firma, ma swoje chwyty na klientów i wychodzi na tym całkiem nieźle.

16 marzec 2014

Mikrokontolery - pierwsze poważne starcie cz. 2

Jakiś czas temu pisałem o małym projekcie wykorzystującym mikrokontrolery. Przez ten weekend postanowiłem posiedzieć trochę i zgodnie z postanowieniami nieco przepisać całość aby pozbyć się kilku potencjalnych problemów - lepiej założyć, że warunki laboratoryjne są sprzyjające. ;)

Część czasu spędziłem oczywiście nad optymalizacją i analizą wygenerowanego kodu. I to prawda, że kompilator potrafi zrobić naprawdę sporo świetnej roboty, ale trzeba mu w tym czasami pomóc…

Przykładowa funkcja:

void checkAndSendPing ()
{
    if (activeChannals)
    {
        ticksToSendPingLow = 0;
        ticksToSendPingHigh = 0;
    }
    else if ( ! ++ticksToSendPingLow && ++ticksToSendPingHigh >= 22)
    {
        ticksToSendPingLow = 0;
        ticksToSendPingHigh = 0;
        addByteToQueue(0xff);
    }
}

Przy odrobinie chęci można byłoby to zapisać tak:

void checkAndSendPing ()
{
    if (activeChannals)
        goto CHECK_AND_SEND_PING_RESET;
    else if ...