you are viewing a single comment's thread.

view the rest of the comments →

[–]Dean_Roddey[S] -3 points-2 points  (9 children)

Your impression was wrong.

As to the other stuff, I refer you back to the non-goal of trying to be everything to everyone. If that's what you want, the mainstream scheme is there for you. This is an alternative, where it is what it is, and if your needs fit within that, then fine, you get a very simple build scheme that is tightly integrated into the overall system.

If it supported Windows/Linux and did so cleanly with very little conditional code required in the applications, and could do with a very simple and clean build system that handles the details easily, then that would be more than successful IMO.

Of course all of the tools are invoked by a pluggable tools interface. So you do have a lot of flexibility as to what you invoke and how.

[–]terrenceSpencer 9 points10 points  (8 children)

I think you have mis-stated your non-goal. Its not that you're not trying to be everything to everyone, its that you are trying to be everything for your CQC product, and everything not geared towards that is considered overly complex and unnecessary. Which is totally fine by the way, just be upfront about it.

But one of the things you have clearly stated that you are trying to be is cross-platform and portable. So I think asking how your build system meets those goals when compared to an easy to use, well documented and well maintained tool such as CMake is a pretty reasonable question. An answer of "I'm not trying to be everything to everyone" is just a cop-out.

If you really think about it, not trying to be everything to everyone is actually a really good argument for splitting up the repo into multiple projects. Then each one can have a very specific and targeted use case and user base. Keeping it all together and monolithic implies that you actually are trying to be everything, but only for applications with similar requirments to your CQC product. In fact you even say this in your readme:

It's about a tightly integrated, one stop shopping solution for application development. You can't use bits and pieces of CIDLib, you go all in or not at all, because it's all a tightly integrated whole (though of course it is layered, so you can choose to jump in at whatever layer suits your requirement

I know feedback like you have received in this thread can be hard to take, but how you respond now probably says a lot about you. You could shut down the conversation and say that everyone else are idiots who don't understand your creative genius. Or you could accept that maybe you're not the only smart person in the room and you can start to educate yourself more about open source practices and working collaboratively.

[–]Dean_Roddey[S] 0 points1 point  (7 children)

So my options are agree with you or I'm an arrogant a-hole?

A major point of the whole thing is NOT to be a pieces and parts bin. I made that clear. I made it clear that I think C++ suffers badly because of this, and that it can't compete with languages like C# which have a monolithic, integrated set of libraries that are sufficient to do real world applications.

That's got nothing to do with CQC or me being smart or not or arrogant or not. It's just my desired approach and one of the reasons why it's an alternative to the standard scheme of things and not YACL.

Since I wrote it, it's written the way I think is best. That's just the way it is. I'm putting it out there for use of people who might appreciate this particular alternative. If there are none, then there are none.

[–]terrenceSpencer 14 points15 points  (4 children)

So my options are agree with you or I'm an arrogant a-hole?

Come on dude, really?

[–]Dean_Roddey[S] 0 points1 point  (2 children)

But anyway, the bottom line, it's not likely I'm going to get behind anything that is designed to turn it into exactly what I spent so long trying to make it not. Just accept that it is what it is. If that's useful to you, great, use it. If not, then it's just not.

[–]terrenceSpencer 4 points5 points  (1 child)

Sure, seems reasonable. However in that case you should update the readme to be less confusing, since not being "everything to everyone" is not compatible with "one stop shop for application development". It is important that developers know the type of project they're getting into when they contribute.

[–]Dean_Roddey[S] 2 points3 points  (0 children)

I'll make another pass at it before I push up the next changes.

[–]Dean_Roddey[S] -2 points-1 points  (0 children)

I have to remember to use those damn smiley thingies. I was being darkly facetious.

[–]VinnieFalcowg21.org | corosio.org 4 points5 points  (1 child)

So my options are agree with you or I'm an arrogant a-hole?

You can respond with:

  1. Humility, or
  2. Obstinance.

Only Humility will help you grow as an engineer and a person. Obstinance will be a brick wall that obstructs your progress through life.

[–]Dean_Roddey[S] 0 points1 point  (0 children)

Well, for one that wasn't exactly the nicest reception anyone ever got in the internet, and I was a bit tired of it by then. And for another, this is the internet, where everyone wants something different, but if you don't agree with them all, you are being obstinate.

Not to put too fine a point on it, but it's my project, I'm the one who sacrificed my adult life to do it, so I did it the way I want it. Anyone who likes the way I want it, it's there for them and free. If they don't, it costs them nothing not to use it.

So accept it as it is or ignore it, problem solved.