Re: Въпрос относно собствена библиотека за pic32mx
Всички искаме душата в рая и онова до края
Хем да следваш стандарти, хем да можеш да правиш каквото си искаш. Много е трудно това. Стандартът малко или много те вкарва в един коловоз и излизането от него е не просто трудно, ами те кара да се замислиш за чий ти е тоя коловоз, ако няма да го ползваш.
Много са малко библитечките, които позволяват различни стандарти, различни РТОС, различни компилатори и т.н. Всъщност не че са малко, ами малко са тия, които са го постигнали без да се омажат яко. Повечето са пенкелери, дето уж трябва да пасват навсякъде, но всъщност никъде не пасват добре.
Моята логика в това отношение е колкото се може по-прости и по-универсални стандарти, за да мога да си ги спазвам навсякъде. Това обяснявах на Гичо с 1394 и как едно просто интерфейсче дава само възможности. Там и да искаш да кривнеш няма как просто, защото имаш само четене/писане и нищо друго. Няма как да излезеш от тоя коловоз, даже и да искаш. За съжаление аз лично не винаги постигам толкова изчистени концепции, но това не ми пречи да ги харесвам.
Стандарти които не мога да следвам навсякъде, както да речем POSIX не се и старая да следвам. Не че е лош, ако можех да си натъманя моите концепции към него бих го направил. Но не мога и затова не се и опитвам. По същия начин и в начало бях решил да поддържам чисто С, различни компилатори и т.н. Не е лошо като идея, но на практика е тежест, която трябваше да мъкна без да ползвам. Спрях да я влача естествено. Има разплетени краища и някой (ако е много упорит) би могъл да ми преправи кода. Обаче това е абсурдно просто, то няма желаещи да го ползват as is, пък да го преработват са направо отрицателно имагинерно число. И ако ми кажеш, че трябва да се съобразявам с подобни хипотези... ми няма да го направя. А и то не се налага, защото примерно когато ползвам някоя posix библеотечка аз си я преправям. Няма нужда авторите й да са мислили за моята архитектура. Даже аз предпочитам да са спазвали posix твърдо, защото така знам какво превеждам.
Та с две думи:
- прости интерфейси
- малко на брой (интерфейси, примитиви, техники). Не сменяйте техниките само заради дребни оптимизации. Разнообразието в случая не е екстра. Трудно се поддържа, постоянно трябва да внимаваш къде какво точно си имал предвид. Трудно се портва и т.н.
Това са нещата, които съм се опитал да следвам и в драйверната си система и затова си я рекламирам. Не е съвършена определено. Може да изглежда неразбираемо като код, но като концепция и правила от това по-просто не мисля, че може да стане. По-сложно да. Имам неща които ще е добре да се добавят, но все няма време