1. 8

    Hey at least it’s C++ and not Electron.

    For my own workflow I’ve found the git command line to be fine for the basic operations. But sometimes resolving merge conflicts can be tricky and for that I use a cheesy little tool called tkdiff. The default color scheme is not too pretty, so I have these color customizations:

    ~/.tkdiffrc:

    define bytetag {-background blue -foreground black}
    define chgtag {-background LightSteelBlue -foreground black}
    define currtag {-background Khaki -foreground black}
    define deltag {-background Tomato -font {Monaco 16 bold}}
    define difftag {-background gray -foreground black}
    define inlinetag {-background DodgerBlue -foreground black -font {Monaco 16 bold}}
    define instag {-background PaleGreen -foreground black -font {Monaco 16 bold}}
    define overlaptag {-background yellow -foreground black}
    define textopt {-background black -foreground white -font {Monaco 16} -wrap none}
    

    It’s nice because the tool has just one function, and you can make it integrate with git by doing:

    ~/.gitconfig:

    [diff]
    	tool = tkdiff
    [merge]
    	tool = tkdiff
    

    Then when you have a merge conflict, run git mergetool.

    1. 5

      I use Meld which is nice, but I’m always on the lookout for something better.

      1. 2

        You’ve got Semantic Merge a plain text and semantic diff and merge tool with really good visual component. It supports C++.

        http://semanticmerge.com/

        1. 2

          Thanks, I’ll check it out.

    1. 3

      Looks pretty nifty but I always feel there is a visual element missing there GMaster solves that brilliantly plus, if you work a supported language, some cool semantic stuff in it too:

      https://gmaster.io/

      https://gmaster.io/tour

      1. 1

        It’s extremely good.

        1. 10

          Since his volume was so high, I had assumed that pushcx was a bot, but looking at the profile I see I was wrong. Thanks (and to all contributors) for all the posts!

          1. 11

            @pushcx isn’t a bot.

            He’s actually a sockpuppet account for @michealochurch. :P

            1. 10

              He also runs barnacl.es!

              1. 7

                Hesitant to register squ.id

              2. 3

                For some time I thought av was a bot because sometimes half of the newsfeed is made up of submissions by him/her.

                1. 1

                  That crossed my mind. Shortly later, I saw his Barnacles comments. The AI’s & chatterbots just aren’t getting such deep insights yet. Much less presenting them at appropriate times. So, he’s Googling, submitting, and writing all this while working an IT job and trying to start a marketing business. Maybe having fun on the side, too. Leads right to next possibility: he doesn’t sleep or just allows 4 hours for it. A mutant power there’s ample precedent for, especially among entrepreneurs, die-hard coders, and doctors with lawyers on speed dial.

                  1. 4

                    Huh. This is one of those cases where the outside view looks radically different than the inside one. I generally feel ridiculously unproductive and lazy. Not that I am, but I’m pretty self-critical about what I do get done, which isn’t helpful. I need 8.5h of sleep per night to not feel pretty lousy the next day.

                    Maybe it’s worth reminding that I work 3 days/week, not full-time, and the marketing business is an outgrowth of stuff I picked up over years at work rather than a new skillset. And rather than watch TV 5 hours a day I spend my downtime reading.

                    1. 1

                      I was exaggerating it for humor but you being part-time does make more sense. Im like you on the sleep thing.

                1. 1

                  Release tag. Also, product spam.

                  1. 1

                    Had no clue about the tag, it didn’t pop up when filling in the form. Why product spam?

                  1. 19

                    I do feel this is also a good place to share it.

                    1. 1

                      Has anyone used it? Is it working fine and properly?

                      1. 8

                        Also interesting and worth taking the time to read: “Five Years, Five Wishes”.

                        1. 1

                          Indeed.

                        1. 2

                          Hispania.

                          1. 3

                            Cap'n Proto rocks!

                            1. 3

                              It truly does, i didn’t appreciate it enough till last week when i had to implement something which cap'n proto was suitable for but sadly it doesn’t support rpc for java yet so had to settle for gRPC (which is quite cool too)

                            1. 2

                              Neat idea.

                              1. 2

                                PVS works like a charm to me. And yes, that trial period is a must try.

                                1. 3

                                  Off Topic/Meta: How is this poorly tagged? The C tag covers C++ too

                                  1. 2

                                    I suspect that it’s due to the missing book tag, which I’ve added.

                                    1. 1

                                      Thenks! When adding tags, C and C++ belong to the same tag (with, I believe, C#). IMHO C and C++ should have different tags.

                                      1. 1

                                        According to the tag descriptions, C# belongs in dotnet, but not in c.

                                        1. 1

                                          You’re right. It’s Objective-C the one included in the same tag as C and C++.

                                    2. 1

                                      You downvoted the post for being poorly tagged when the tag did not exist? Oh god.

                                    1. 2
                                      1. 4

                                        C++ isn’t ‘back’ because it didn’t go anywhere. It has it’s use cases, as does Python, Java, Ruby, Node.js, Go, etc.

                                        The right tool for the right job.

                                        1. 8

                                          It definitely didn’t go anywhere, but I think C++11/14/17 helped revitalize it, as much as I hate to say it I think Microsoft is also helping by making/keeping it a first class citizen in their new APIs. Being able to mix C++ with Objective C is quite well done on Mac and iOS. It would have been nice if Android had used 100% C++ instead of Java, although that is my number 2 language. I’d like to see C++ become the university compsi lingua franca again, maybe C++11/14/17 will help that.

                                          1. 2

                                            True, both. It had never gone, but its like it had let himself go a little. It seems both the language and the environment are keeping up with the times.

                                          2. 3

                                            Pretty damn good use cases though:

                                            http://www.lextrait.com/vincent/implementations.html [→ from the book]

                                          1. 2

                                            What is the source of these “quotes”?

                                            1. 2

                                              Sorry, I’m not a journo but maybe Bjarne was in ACCU? An interview? Don’t really now. It was brought up in a work meeting and took for granted it was real.

                                              UPDATE [French]: http://www.developpez.com/actu/84487/Bjarne-Stroustrup-publie-les-fonctionnalites-proposees-pour-Cplusplus-17-quelles-nouveautes-voulez-vous-voir-integrer-a-la-norme/

                                              1. 2

                                                No problem :) I was just wondering how accurate this report is. And thanks a lot for the link on developpez.com: the comments are really insightful!

                                            1. 1

                                              Nice!

                                              1. 3

                                                I agree, although I consider groupBy as an indicator of how well-designed and mature an implementation is.

                                                I think it is quite interesting to see the spread of such libraries.

                                                One problem I see is that we are still missing a good word to distinguish between libraries in which xs.map(...).filter(...).sum amounts two three traversals vs. libraries in which it amounts to one.

                                                “Lazy” doesn’t really feel right.

                                              1. 5

                                                The author never actually explains why not paying for what you don’t use will lead to the decline of C or C++. The author just says solving problems is hard in C and C++ and the ecosystem isn’t so great. That is a completely different point.

                                                Not a very good article, IMO.

                                                1. 1

                                                  I guess the train of thought goes along these lines (always difficult to summarize the content in a title):

                                                  The motto don’t pay for what you don’t use is certainly true in terms of potential of the languages and the achievable resources efficiency, but totally misleading in terms of development process, its efficiency, and the useless time someone has to pay for. And C++ is the highest-paying programming language.

                                                  1. 2

                                                    I guess I just don’t understand the premise of the article. These are the exact reasons someone uses C or C++.

                                                    1. 2

                                                      You are right, the title of the article was pretty confusing. Now has been changed. It has also been extended a bit the reasoning behind it: it is more efficient in terms of CPU speed and memory, but not so efficient in terms of development time. And other languages, especially Rust IMO will get nearly as much efficiency in 90% of the cases, and development will be less painful. So those modern languages actually have the potential to produce the Sunset of C and C++, and the premise is that is not mainly because of the syntax of the language or cool features as safety, but due to the build and dev tools around it.

                                                      1. 3

                                                        Because not only CPU cycles count, but also developers’ time

                                                        No kidding! This has been the standard industry perspective since the 2000s, at least. Why do you think Python and Ruby are so popular??

                                                        1. 2

                                                          Thats the point of the article. Up to now, Python and Ruby had the cool features of modern dynamic languages plus nice dependencies managers that makes developing with them a pleasure (I love python too, I develop many hours a day with it since 2 years ago), but their performance was clearly inferior. But now, Go and especially Rust have both things, modern features, compiled and efficient binaries and builtin features for managing dependencies. And it seems that a large part of the communities of C and C++ have still not realized it, and they are excited about the evolution and modernization of the languages, but dont pay the same attention to the other components that actually account for most development time inefficiencies. And that could change the trends in computing languages and cause a decline in C and C++ usage. I think so, and was trying to convey this idea to C and C++ audiences. It is likely that I havent succeeded in the task, I am probably not good at expressing myself writing posts, I prefer writing code, not posts :)

                                                1. 4

                                                  Pretty eager to see this project move out of beta.

                                                  1. 1

                                                    I really like it. It’s still in beta and there’s room for improvement but I see it becoming a really solid tool.