I of course agree that C++ is quite complex but the point I was jokingly making is this: if you just want to study a language for the sake of studying, any language that interests you is fine. Just do it; find out for yourself if it is worth studying. But if you want to write useful code in it, the context matters. If I want to contribute to a project using Java, I have to use Java. If I want to write a program where most of the essential libraries are in C++, it may make more sense to use C++ (or I have to use a language that has a decent FFI or write all of the equivalent code in my language of choice). Or only interface to other components via network protocols. At a prev. job I rewrote the C++ program I was supposed to fix in Go mainly because of the last condition. Another factor is this: if someone else is going to have to continue maintaining your code once you move on, you'd better use a language that is somewhat popular. A friend wrote all his code in CL for a non-profit org but at some point he had to give up control and the people who took over threw out all his code and implemented something worse but using common technologies. And I don't think my friend really saved any time; he was just scratching an itch. But no need to insult Lisp :-) CL is a fairly well thought out language (and I say that as a fan of Scheme and not CL). What matters is not design by committee but *who* is on the committee! On Dec 26, 2019, at 1:28 PM, David Arnold wrote: > > C++ is several different languages in one compiler. > > You can use it as a stricter C, as a C with some syntactic support of ADTs, as C++98-style OO, or as a C++17 style meta-programming system. And I’ve probably missed a few. > > The resulting complexity requires a lot of discipline to use successfully, especially in a large team. > > Java competes pretty successfully with the C++98-style OO subset. C11 now competes with the stricter C subset. > > The C++17 feature set competes with ... LISP, maybe? It’s a pretty clear winner for some application areas. > > > > d > >> On 27 Dec 2019, at 03:58, Bakul Shah wrote: >> >> You can write “cleaner C++” but you will also need to read, understand & possibly >> modify other people’s code. But don’t let the naysayers stop you. You must find >> out for yourself! You must speak the native language of the community you want >> to be part of. If you deride their local language and proselytize Esperanto, the >> natives may not take kindly to you! >> >>> On Dec 25, 2019, at 9:43 PM, Wesley Parish wrote: >>> >>> I will admit the modern version reads a lot more cleanly than the >>> older versions. They finally got rid of the pretense that a C++ header >>> file was the same sort of thing as a C header file. >>> >>> I tried to learn it back in the nineties with one of the Sams Teach >>> Yourself books and Borland's Turbo C++ compiler (before I switched to >>> Linux), but at the end I was still as mystified as before. It took >>> immersion into Java before I finally got the hang of object >>> orientation, and Java's still a lot smaller than C++. >>> >>> A friend wants me to write some utilities for a C++ project he's got, >>> so I figure I may as well help him out. Otherwise I'd be just as happy >>> without C++. I'll try to keep the complexity down to the limit >>> suggested by the Unix philosophy - a piece of code that does only one >>> thing and does it well. :) >>> >>> Wesley Parish >>> >>>> On 12/26/19, Larry McVoy wrote: >>>>> On Thu, Dec 26, 2019 at 02:44:06PM +1100, Dave Horsfall wrote: >>>>>>> On Thu, 26 Dec 2019, Wesley Parish wrote: >>>>>> >>>>>>> I'm thinking of finally learning C++. [...] >>>>>> >>>>>> C++? That way lies madness :-) I had to teach myself it once (with the >>>>>> aid >>>>>> of The Book) and was glad to leave it behind. Oh, it was also the >>>>>> first OO lang that I'd ever used, which probably didn't help. >>>>>> >>>>>> I can still read it, bot no way will I go back to writing in it... >>>> >>>> Amen, brother. Bell Labs did some great things, a lot of great things, >>>> but C++ is not one of them. >>>> >>>> I read the book and wanted to like it, I liked how constructors/destructors >>>> stacked, that seemed elegant to me. I wanted that for all the methods and >>>> soon found out only allocation/deallocation stacked. That seemed lame. >>>> >>>> C++ seems to encourage complexity and I hate complexity. I tolerate >>>> it when there is no other way, but as my math kids say, if you have the >>>> right answer, it is beautiful and simple. Complex is reserved for when >>>> you haven't figured it out yet. That's not totally fair, I've written >>>> some complex code but I did have the nagging feeling there must be a >>>> simpler way. >>>> >>>> C++ teams are riddled with rules "don't use this, don't use that". It's >>>> an interesting language to look at but I'll choose C over C++ every time. >>>> You can fake OO in C, Sun did it with vnodes and it worked just fine. I'd >>>> rather fake it and have it be simple than have C++ and have it be weird. >>>> >>>> That might be me just being an old fart but I have yet to have someone >>>> I admire tell me I need to use C++. >>>> _______________________________________________ >>>> COFF mailing list >>>> COFF at minnie.tuhs.org >>>> https://minnie.tuhs.org/cgi-bin/mailman/listinfo/coff >>>> >>> _______________________________________________ >>> COFF mailing list >>> COFF at minnie.tuhs.org >>> https://minnie.tuhs.org/cgi-bin/mailman/listinfo/coff >> >> _______________________________________________ >> COFF mailing list >> COFF at minnie.tuhs.org >> https://minnie.tuhs.org/cgi-bin/mailman/listinfo/coff >