6 ms·
Good question, but a majority of this post is links to cppcon videos. (I do appreciate the shoutout to LLVM). I think the C community: * Should have a C confe
by ndesaulniers 8y ago
Good question, but a majority of this post is links to cppcon videos. (I do appreciate the shoutout to LLVM).
I think the C community:
* Should have a C conference.
* Actually be more aggressive in adding features to the language. For example, there are some really great GNU C extensions that are long overdue be added to the standard. Compiler vendors should work with the standards bodies more, rather than shipping language extensions, compiler builtins, and various compiler plugins in isolation outside of standards bodies (because then codebases become tightly coupled to the compiler; ie. the Linux kernel).
- oneplane 8y agoThe main problem with that is there is no single C community. Imagine trying to get ANSI C, Win32 C, GNU C and every flavor of embedded C together.
- ndesaulniers 8y agoNonsense, that is the C community. They need to be put in a room together to sort out their differences. The differences exist due to communication breakdown which leads to divergence over time.
- cjhanks 8y agoWhat about the various RTOS people or embedded firmware people? Or the mathematicians... or the... It's like saying, "Let's get everyone who speaks English speakers together to agree on our favorite tea."
- staticassertion 8y agoSeems more like saying "Let's get a bunch of tea drinkers together, who all drink tea for different reasons, and different types of tea, to discuss tea", which sounds like a great thing for a bunch of people interested in tea. Maybe the fact that there are many split communities is even evidence that a conference would be beneficial. Get some cross pollination of ideas going on.
- type0 8y agoEven the functional language communities arrange joined conferences to learn and exchange ideas, so why can't C?
- monocasa 8y agoSeriously, check out TI's C++ support for their DSPs. Last time I checked they were so behind the curve they didn't even support templates.
- saagarjha 8y agoThat might because they are targeting Embedded C++, which explicitly eschews these features.
- monocasa 8y agoFull C++11 support has been on their roadmap for years. http://e2e.ti.com/support/tools/ccs/f/81/t/542711 http://e2e.ti.com/support/tools/ccs/f/81/t/542711 And IMO, the final Embedded C++ spec is such a terrible idea that it doesn't absolve them. Having written a C++14 RTOS, if I had to give up multiple inheritance, namespaces, sane casts, and templates, I would have just written the damn thing in C to start off with. The value proposition of institutionalized C with Classes doesn't do it for me. See https://www.youtube.com/watch?v=TYqbgvHfxjM https://www.youtube.com/watch?v=TYqbgvHfxjM for what you need to do to have C level perf while using the type system to still get you something.
- saagarjha 8y agoYou may want to take a look at Apple's Embedded C++ implementation for I/O Kit, which is grounded strongly in object-oriented programming and inheritance: https://developer.apple.com/library/archive/documentation/DeviceDrivers/Conceptual/IOKitFundamentals/Features/Features.html https://developer.apple.com/library/archive/documentation/De.... Of course, it does drop the very features you seem to enjoy, namely multiple inheritance, namespaces, and templates, but I think there is more reason to this apart from "these things are complicated to implement/hard to use"–I/O Kit was based on NeXTSTEP's DriverKit, which was written in Objective-C and offered none of these features.
- ManDeJan 8y agoTemplate metaprogramming is very useful on embedded :) https://github.com/kvasir-io/kvasir https://github.com/kvasir-io/kvasir
- deleted 8y ago[deleted]
- rickycook 8y agoEarly 2000s: The main problem with that is there is no single JavaScript/HTML community. Imagine trying to get IE, Netscape, Opera and every flavor of embedded HTML viewer together.
- jcelerier 8y ago2018: "This website only works optimally on Google Chrome"
- Narishma 8y agoWhy does C++ not have that problem? It too has many communities but they manage to go to the same conferences without any issues.
- oneplane 8y agoMostly due to the less diverse nature of the communities I guess. Because C is older and used a lot more low-level you get a lot more strange C versions and C users. Most of the C developers/users are going to be interested in their topic, which is often already having a conference of their own. Think Linux Kernel Plumbers conference which is just about the kernel, and since practically all of it is written in C that's where you'd find all the people you'd want to meet on your C-topic. There would be no point in going to a conference that is about using win32 and C when you are not using win32 as virtually nothing (besides the basics, but those basics aren't why you'd attend a conference) ports to your own environment. Because C++ has a lot of extras that can be used in a variety of cases that cross platforms and APIs all the same, and because it has a different development and dispersion ecosystem, you'd get more of a C++ oriented conference without the information being non-portable.
- Sir_Cmpwn 8y agoI strongly disagree. C should is adding langauge features at a pace other languages could stand to emulate. C is stable, trusted, and supported everywhere for this very reason. Codebases should not be using extensions, and Linux is wrong to do so.
- news_to_me 8y ago> Codebases should not be using extensions, and Linux is wrong to do so. Poppycock. Codebases should use any and all tools available to them to accomplish their goals, given the tradeoffs. Using non-standard language extensions is a tradeoff, and if it suits the Linux community and their goals, there's nothing wrong with that.
- ddingus 8y agoThat is one way non-standard extensions become standard.
- stochastic_monk 8y agoFor example, the [[maybe_unused]] and similar annotations in C++17 grew out of gcc builtins.
- saagarjha 8y agoOf course, C++ is much more aggressive in stealing popular features from the community, especially Boost.
- bstamour 8y agoBoost came about from a few members of the ISO C++ committee as a way to iterate on library features. It would be a shame if none of that work made it's way back into the standard.
- jcelerier 8y agoBoost was created as a place to beta-test future C++ features. Its whole point is to move stuff from boost:: to std::