Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Where are the C communities and enthusiasts? #298

Open
kytrinyx opened this issue Jun 2, 2018 · 6 comments
Open

Where are the C communities and enthusiasts? #298

kytrinyx opened this issue Jun 2, 2018 · 6 comments

Comments

@kytrinyx
Copy link
Member

kytrinyx commented Jun 2, 2018

As we move towards the launch of the new version of Exercism we are going to be ramping up on actively recruiting people to help provide feedback.

Our goal is to get to 100%: everyone who submits a solution and wants feedback should get feedback. Good feedback. You can read more about this aspect of the new site here: http://mentoring.exercism.io/

To do this, we're going to need a lot more information about where we can find language enthusiasts.

  • Is C supported by one or more large organizations?
  • Does C have an official community manager?
  • Do you know of specific communities (online or offline) that are enthusiastic about C? (Chat communities, forums, meetups, student clubs, etc)
  • Are there popular conferences for C? (If so, what are some examples?)
  • Are there any organizations who are targeted specifically at getting certain subgroups or demographics interested in C? (e.g. kids, teenagers, career changers, people belonging to various groups that are typically underrepresented in tech?)
  • Are there specific groups or programs dedicated to mentoring people in C?
  • Are there popular newsletters for C?
  • Is C taught at programming bootcamps? (If so, what are some examples?)
  • Is C taught at universities? (If so, what are some examples?)

In other words: where do people care a lot and/or know a lot about C?

This is part of the project being tracked in exercism/meta#103

@DrJPizzle
Copy link
Contributor

This one is a little tricky. The problem, and I am over-simplifying in a a way that will probably (rightly) upset some one, is that c is sort of done.

There are no groups discussing the language itself with any real momentum in the same way there is with more modern languages. In a similar way, there aren't many companies pushing c as it has not the same potential to be a competitive edge as emerging languages.

There are however groups interested though mainly in the finer points:

  • c is ubiquitous and not the safest language so is interesting from a security point of view.
  • Performance is very controlled in c which makes it interesting from a HPC point of view.
    Both of these have there own groups, but in my experience c is a means to an end there and they are mainly interested in the subject matter itself.
  • The embedded world uses c a lot and systems programming is almost exclusively c.
  • The people that write the compilers them selves are very knowledgeable. clang and gcc spring to mind.

These niches may well be interesting but maybe not the best place for an introduction.

It does have quite a strong background support though. If you ask a question on StackOverflow, it gets answered pretty quickly and often very well. This might well be a good place to go looking. See who has answered a lot of questions tagged with "c", though this may be seen a hostile as your in fairly direct competition for helping there.

Being helpful time:
Google uses C and allows their staff time to contribute to the community.
A lot of universities teach C often not just to computer science courses, and academics often use C. Also, they are often novice friendly.

I know that's not super positive, or as directly helpful as here's a URL of a c-enthusiast's chat room, but I hope that sheds a bit of light.

@kytrinyx
Copy link
Member Author

Thank you @DrJPizzle. This is really useful background to have!

@DrJPizzle
Copy link
Contributor

I'm glad I could help.

@bushidocodes
Copy link

I realize that this issue is a few years old, so this might be a zombie issue. However, I wanted to add a different perspective with some outreach suggestions.

I generally think the comment above describing C as "done" suggests that C is "dead," which I would say is incorrect. Many developers use this language, but they tend to be of the dark matter sort. Because C is so conservative about adding new features, a C programmer is probably not someone that would be a programming language enthusiast.

Pretty much all C programmers are low-level systems programmers. To be employable as a systems programmer, you need to know things like OS internals, assembly language, etc. The bar is high enough where you pretty much have to have picked this stuff up in an academic CS degree. The social network for these works tends to be in meatspace, not cyberspace. At GWU, systems-oriented students learn C via a sequence of systems programming courses. Undergrads have a systems programming club. Top undergrads do research with professors and PhD students. A fair number of these students do end up taking jobs where they write C. Others move onto C++, Rust, etc.

If you want to increase reach, my suggestion is to target academics. The Exercism platform could certainly be integrated into a 100 or 200 level systems programming course for undergrads for example.

I would say USENIX is the spiritual home of C and Unix. There is also FOSDEM and other conferences like this:
http://www.cs.technion.ac.il/~dan/index_sysvenues_deadline.html

A few "influencers"

In some tracks, I've noticed retired devs acting as prolific mentors. This might also be a good strategy. I'd suggest reaching out to the Unix Heritage Society. https://www.tuhs.org/

@cjsutton77
Copy link

I'll throw in my two cents. I work in seismic processing software development, and we deal with a lot of HPC and optimization: C is basically our lingua franca.

The statement about this being turned into a 100-200 level course is a great idea.

@Ashvith10
Copy link
Contributor

The lack of mentors is hurting this track. There are backlogs from request as old as 9 months. Although I am not an expert in C, I've volunteered for some easy questions. Personally, I am also in need of mentors for medium and hard questions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants