Tourist Trap wrote:
marcov wrote:IMHO the first is reasonable, the second is counterproductive. If you want so much compatibility without thinking, just keep using old versions.
Any project is a balance between conservatism and progressive forces. If you don't want to compromise, branch now, and be conservative forever.
I mean, would someone be happy if C vanished from earth and left the whole space for C++?
Conservatism is fine, but it should not be gratuitous. What do the conservative forces plan to contribute to keep their codebases in FreeBasic working?
It's a little extreme ok, dont take this for anything but an example, but we all like to know that one thing won't change, it's C, and that no fear there, it will be kept maintained and pass the time sticking to a considerable amount of backward compatibility.
IMHO it is a bad example because C and C++ don't come from the same source. It is a doubleplus bad example (excuse my newspeak) because usercommunities spent vast amounts of resources in standardization efforts to ensure a reasonably acceptable upgrade path from e.g. K&R to ISO C, and to keep the procedural subset of C++ compatible to C.
What I try to say is that my feeling is that freebasic is by nature a language that has in its ADN a kind of nostalgia, combined with power and modernity in the case of freebasic. It's , I would say, a key feature here, not a side effect.
You can't freeze a project like that and at the same time talk about its modernity. Unless you are talking about the modernity as it was in the year 2000(or not even that).
About namespaces, I will never be against them in principle. I love this feature. My concern is about the fact that the way it works today, this will lead to a kind of shadowing of instructions of fb code that would be working fine without, and won't anymore with (again if I understand well). If this is true, then I'm sure that, my opinion here, I wouldn't like the things to go this way. For the sake of what I think is a real key feature, yet misapreciated maybe (or it s me that is just errent) , I mean compatibility with our code.
Any new development is a potential risk to compatibility. Intentional or not. If you are that concerned about it, and don't want to invest in it, keep using old versions. They are 100% compatible!
Just sharing anyway, I don't really know if multiple simultaneous namespaces couldn't be implemented or whatever workaround compatible with the improvement. Why not (true question) ?
My point is that starting out disallowing even the smallest incompatibility is not constructive. Compatibility is fine, but it doesn't have to be effortless. And worse, if there are only takers for compatibility (as in users), and no givers (as in contributing users or developers) it is dead in the water.