Post by Uncle Buddy on Apr 13, 2022 16:41:06 GMT -8
I often quote myself as saying, "Forget GEDCOM. Just share the whole program." So, instead of sharing GEDCOM, everyone should have something as good as Treebard is supposed to be someday, and then just share Treebard so the recipient of your file can use the file in its native format. This would make sense in a perfect world where everyone wanted the same thing.
On second thought, if everyone wanted the same thing, we wouldn't need a world. I think the reason we have a whole world to play in is so everyone can be different. So I know that my slogan is idealistic to the extreme as well as unrealistic.
But still: if we're going to replace GEDCOM some day with a file sharing utility that actually works, then we need to start over, forget GEDCOM, and build something from scratch based on the experience we've gained trying to use GEDCOM for decades.
I'm only one novice programmer, vastly short on experience, and I know very little about GEDCOM. I do admit we need an actual file sharing utility so we can import and export genealogy databases between applications. That's about all I know about GEDCOM except it doesn't work very well. The better the application you're using to save your data, the worse GEDCOM will be able to deal with it. By "better" I mean more realistic, a better reflection of how people, places, events, and the other elements of genealogy actually interact with each other.
As an admitted beginner I would like to humbly submit my opinion based on my own experience in trying to learn how to write code. To me, the most significant thing I've ever learned, and one of the first things I learned, from trying to teach myself how to use Python, SQLite and Tkinter, is this: if you start with a broken model, you will produce bad results. If the model is broken badly enough, you will never produce any results. You have to roll back to before you broke your code, to when it was doing something right, and build on that.
In other words, you can't fix bad code. No doubt, in the real world of commercial programming where backwards compatibility is so important to the customer, fixing bad code is done all the time. But I'm talking about the ideal of creating a program that does not depend on being the firstest with the mostest in order to grab the biggest share of the market. I'm talking about creating a file sharing program that actually works right, instead of building some patched-together band-aid job from the fixer-upper that is GEDCOM.
No doubt in some respects I have no idea what I'm actually talking about. But in my small experience, if the code you're having problems with is seemingly impossible to improve on, in spite of its being inadequate, then the only reasonable course of action is to start over from scratch, relying on your experience to build something better than an extension of the yucky yucky garbage you built back when you were even more ignorant than you are now.
Just a thought.
On second thought, if everyone wanted the same thing, we wouldn't need a world. I think the reason we have a whole world to play in is so everyone can be different. So I know that my slogan is idealistic to the extreme as well as unrealistic.
But still: if we're going to replace GEDCOM some day with a file sharing utility that actually works, then we need to start over, forget GEDCOM, and build something from scratch based on the experience we've gained trying to use GEDCOM for decades.
I'm only one novice programmer, vastly short on experience, and I know very little about GEDCOM. I do admit we need an actual file sharing utility so we can import and export genealogy databases between applications. That's about all I know about GEDCOM except it doesn't work very well. The better the application you're using to save your data, the worse GEDCOM will be able to deal with it. By "better" I mean more realistic, a better reflection of how people, places, events, and the other elements of genealogy actually interact with each other.
As an admitted beginner I would like to humbly submit my opinion based on my own experience in trying to learn how to write code. To me, the most significant thing I've ever learned, and one of the first things I learned, from trying to teach myself how to use Python, SQLite and Tkinter, is this: if you start with a broken model, you will produce bad results. If the model is broken badly enough, you will never produce any results. You have to roll back to before you broke your code, to when it was doing something right, and build on that.
In other words, you can't fix bad code. No doubt, in the real world of commercial programming where backwards compatibility is so important to the customer, fixing bad code is done all the time. But I'm talking about the ideal of creating a program that does not depend on being the firstest with the mostest in order to grab the biggest share of the market. I'm talking about creating a file sharing program that actually works right, instead of building some patched-together band-aid job from the fixer-upper that is GEDCOM.
No doubt in some respects I have no idea what I'm actually talking about. But in my small experience, if the code you're having problems with is seemingly impossible to improve on, in spite of its being inadequate, then the only reasonable course of action is to start over from scratch, relying on your experience to build something better than an extension of the yucky yucky garbage you built back when you were even more ignorant than you are now.
Just a thought.