Giving up SSTS (for now? for ever?)
So I have been working on this project that I called "SSTS" or Super Simple Type System. It is neither a "Type System" or "Simple".
I have been working on this on and off for two-three years. I started it on a whim, I wanted to learn what makes GLib and GObject tick, so I set out with the simple goal of implementing something like GObject but without all the nasty type-tracking and what not. It started out well, with a base object type that I could use to implement other stuff and call methods using the base object's interface.
"This is easy!" I thought to my self, it was easy, cus' it was nothing special. Then I wanted to add something like the GObject's notify system. But for that I needed some sort of map structure... But to implement a Map structure I needed a Dynamic Array and a Linked List...
It is now almost two years since I started faffing about with this, and get lots of help from the guys over at the C Programmers community on G+, and now I had hit a road block. I got double frees... And I just could not figure out what was wrong.
I posted a query to the community page, but got told I needed more tests. At this point I just give up. I am sick of this. Not of the people trying to help, but at my self, I have spent two years on some code that no one will ever care about. And I just do not care enough to write test cases, the code is not written in a "test friendly" way.
Sure, I have learned a lot by the experience but I just see no end in sight for the project. If I were to implement the object notify system I would start with the next thing (Streams), which would require something else(an Event Loop).
At this point I see nothing but an other two years till I would be finished, and I just do not want to care about it any more.
Design and good intentions
I like how I have focused on making the function calls not feel to "C"-y. I wrote wrappers for string functions to return strings, so if feels like something like Java or something. And this philosophy is everywhere. "Make it not feel too much like C."
I did not want any of the internals leaking out like some kind of horror show. I did not want the user to have to deal with checking if a function returns a positive or negative value. That is scuff that the user can be without.
This good intentions makes for code that is harder to test than "normal" C code where you get some error value from a function when it fails. It can not just check "is this negative" over and over again and see it go through. No to test these things I have to go through and write complex tests for edge cases that I never thought of when writing it.
I just no not want to deal with that.
I give up... I have had enough of my ineptitude.
Inga kommentarer:
Skicka en kommentar