tqdm / tqdm.cpp

C++ port of tqdm
Other
318 stars 29 forks source link

File naming #1

Open CrazyPython opened 8 years ago

CrazyPython commented 8 years ago

Let's agree on what to name the file, .H, .h++, .hh, .hxx, .h or .hpp? (to make merging easier)

Personally, I'd go with .h.

CrazyPython commented 8 years ago

@o11c

o11c commented 8 years ago

Since the repo is named .cpp (and that's the most common anyway), there's no point in further bikeshedding about .cc, .cxx, .C, .c++ - and headers should not mismatch, but that does leave .h.

Personally, I always use .hpp for C++-only headers, and .h for C-compatible headers. I can envision a limited C-compatible API here, so I think the difference makes sense.

Of course, one of our products will likely be a single-file header-only include (similar to what sqlite does) - that will not be C-compatible. But for people doing the full multiple-headers + library install method, C-only makes sense.

Note that there are also 2 types of special-purpose headers (not included directly by users): template definitions (.tcc is common because of libstdc++, but I've seen a couple of variants such as .tpl and .inl) and X-macros (.def is most common these days, but I've also seen .x especially for older stuff).

CrazyPython commented 8 years ago

@o11c Let's worry about C++ first then C compatibility. And the fastest C code isn't always the fastest c++ code. So .cpp and .hpp I guess?

CrazyPython commented 8 years ago

@o11c Unrelated but: can you send a pull request with just boilerplate code? I have no experience with writing C++ libraries.

casperdcl commented 8 years ago

guys. calm down! loving the enthusiasm though. I'll push my idea of what the framework should look like, then we can discuss ;)

On 9 Aug 2016 5:29 p.m., "CrazyPython" notifications@github.com wrote:

@o11c https://github.com/o11c Unrelated but: can you send a pull request with just boilerplate code? I have no experience with writing C++ libraries.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/tqdm/tqdm.cpp/issues/1#issuecomment-238609671, or mute the thread https://github.com/notifications/unsubscribe-auth/AKR9m9gvQrys733zA8RX_QzeC_IFjSq_ks5qeKrygaJpZM4JgLc8 .

CrazyPython commented 8 years ago

@casperdcl Hm, don't seem to have direct push access anymore. I want it just to be able to set milestones/labels. No direct commits (except for simple stuff like .gitignore).

CrazyPython commented 8 years ago

Got it now. Thanks!

CrazyPython commented 8 years ago

A nice, soothing, purple design label.

lrq3000 commented 8 years ago

I'll leave it up to @casperdcl to do a draft and set up the goals for a first working release :)

Just my 2 cents about C++ vs C support: if you want to implement tqdm-cpp in an object-oriented fashion similarly to the current version of tqdm for python, then you'll surely need C++ and drop C support for now, but I have limited experience with C++ so maybe it's possible to do something compatible.

However if you were to implement the older tqdm approach before object-oriented, then you can easily implement that in C, but then you'll lose many interesting features (for example manually updatable bars and nested loops).

2016-08-09 19:08 GMT+02:00 CrazyPython notifications@github.com:

A nice, soothing, purple design label.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/tqdm/tqdm.cpp/issues/1#issuecomment-238621371, or mute the thread https://github.com/notifications/unsubscribe-auth/ABES3glFV9FIXWRievnqkKLtVFpX5wVkks5qeLQRgaJpZM4JgLc8 .

CrazyPython commented 8 years ago

@lrq3000 I think if we're going to support C at all, we should do it in a separate file. Iterate-range is really useful. I'm going to put my thoughts on releases and versioning in a separate issue. v0.1 shouldn't include C support.

lrq3000 commented 8 years ago

I would love to see a C version, but yeah it's a sensible decision to focus on C++ and create another file for C later on.

2016-08-09 21:03 GMT+02:00 CrazyPython notifications@github.com:

@lrq3000 https://github.com/lrq3000 I think if we're going to support C at all, we should do it in a separate file. Iterate-range is really useful. I'm going to put my thoughts on releases and versioning in a separate issue. v0.1 shouldn't include C support.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/tqdm/tqdm.cpp/issues/1#issuecomment-238656792, or mute the thread https://github.com/notifications/unsubscribe-auth/ABES3nXBxm6ElGN705L5J0bpcoJchaR3ks5qeM7ugaJpZM4JgLc8 .

CrazyPython commented 8 years ago

@casperdcl @lrq3000 Please give o11c write access. We're working on setting up coverage and CI stuff.