C logo


One of the most widely used programming languages of all time
+ 1

What is C?

C is a tool in the Languages category of a tech stack.

Who uses C?

1139 companies reportedly use C in their tech stacks, including Twitch, GitHub, and Telegram Messenger.

4408 developers on StackShare have stated that they use C.

C Integrations

WebAssembly, Nim, Conan, OpenVZ, and KDevelop are some of the popular tools that integrate with C. Here's a list of all 9 tools that integrate with C.
Pros of C
Hardware level
Embedded apps
Performance of assembler
Great for embedded
Compiles quickly
No garbage collection to slow it down
Decisions about C

Here are some stack decisions, common use cases and reviews by companies and developers who chose C in their tech stack.

Pablo Largo
Software Developer at AvaiBook · | 7 upvotes · 10.5K views
Shared insights

Hi! I'm working on some components in PHP for system administration to be released as reusable packages, to build some kind of server control panel with some time and patience.

I'm working on a credentials component to check things like the current user running the PHP process, the ability to change the password (which I would do through a shell command), and a very important feature: the ability to login with OS credentials.

For that purpose I'm already considering LDAP, but I want to support first an easy setup, like I would do for a small VPS. I want to login to my future panel with my Linux root credentials. This is very easy by parsing the /etc/passwd and /etc/shadow files, but I want to be multiplatform from the beginning.

How could I check a username/password in a similar way to login on Windows without having to configure Active Directory and similar things? I allow myself to use FFI to make external calls to native DLLs, so if the answer is on a Windows internal API it will not be a problem.

So, here is the question: is there any shell/C /C++ way to check if a given username and password matches a real Windows credential? Is there any way to check if that account is a root user? Thank you so much!

EDIT: If there's not any API to check a login, could it be done through reading the hashed password of a user, and hashing the provided one to check if they match? If so, how can you get the hashed password of a user, and how can you encode a password to compare both hashes?

See more
Shared insights

I want to make a website but im learning C and C++, and i dont know what language should i use.

See more
Shared insights

Hi I am currently doing my Final Year Project for uni. Basically i would like to build an android mobile application that has features such as translation from picture to text to synthetic speech (using google cloud api) and also integration with other IoT devices and Google AIY Voice Kit. I am wondering which framework will be best to use.

As for language, I have some experience with HTML, JavaScript, PHP, MySQL from creating a website for a school project and also very basic experience with Python and C. I have to complete this project by February. Hope I can get some help. Thank you in advance!

See more

Blog Posts

C Alternatives & Comparisons

What are some alternatives to C?
Java is a programming language and computing platform first released by Sun Microsystems in 1995. There are lots of applications and websites that will not work unless you have Java installed, and more are created every day. Java is fast, secure, and reliable. From laptops to datacenters, game consoles to scientific supercomputers, cell phones to the Internet, Java is everywhere!
Python is a general purpose programming language created by Guido Van Rossum. Python is most praised for its elegant syntax and readable code, if you are just beginning your programming career python suits you best.
C# (pronounced "See Sharp") is a simple, modern, object-oriented, and type-safe programming language. C# has its roots in the C family of languages and will be immediately familiar to C, C++, Java, and JavaScript programmers.
Objective-C is a superset of the C programming language and provides object-oriented capabilities and a dynamic runtime. Objective-C inherits the syntax, primitive types, and flow control statements of C and adds syntax for defining classes and methods. It also adds language-level support for object graph management and object literals while providing dynamic typing and binding, deferring many responsibilities until runtime.
Rust is a systems programming language that combines strong compile-time correctness guarantees with fast performance. It improves upon the ideas of other systems languages like C++ by providing guaranteed memory safety (no crashes, no data races) and complete control over the lifecycle of memory.
See all alternatives

C's Followers
3970 developers follow C to keep up with related blogs and decisions.