DEV Community

loading...

Discussion on: Is C still a high level language?

Collapse
delta456 profile image
Swastik Baranwal Author • Edited

I never said that C has no pointers. I meant C++ std::string.

I keep hearing that C is no longer a High Level Programming Language because it is no abstractions, has pointers, have to handle memory on our own, no string data type, unsafe etc.
Collapse
caiangums profile image
Ilê Caian

Actually, the tweet shared by this article said that, as you can see at this link:
twitter.com/ThePracticalDev/status...

About the STD: the C++ Standard Library is a implementation of common useful objects as abstractions. The existence of such thing in C++ doesn't invalidate that C has its own abstractions as I mentioned. I really suggest you to check how C language is constructed and how to implement some basic things such as a basic server with threads, open/read/write files or a basic calculator in C.

I have no intention to offend you but seems like you have no basic notion of how C language works or what is concepts like abstractions and basic data types.

Thread Thread
delta456 profile image
Swastik Baranwal Author • Edited

I get what you mean but people complain that they have to use char chr[] or char* chr for this.

Thread Thread
caiangums profile image
Ilê Caian • Edited

There's a big difference between people complaining about something and people being really mindful about knowing the options to it. Compare:

// C
char * str = "hello";
// C++
std::string str = "hello";

There are more letters to be written in C++ and you are including in your executable the full string.h header. Is that valid? Are you really using all of it? For a Desktop application, this makes no sense but for embedded systems, every byte counts.

  • "You can write using namespace std; and...": No. Do not do this in your code. Check this thread at StackOverflow and do some research about it and why is considered a bad practice.

For the 'string' issue, let me suggest another approach:

// C
typedef char * string;

string str = "hello";

As an answer to people who say things like: "C is bad because it doesn't have strings!", consider asking about what they are trying to do. In general, they are complaining about scapegoats.

Thread Thread
delta456 profile image
Swastik Baranwal Author

Definitely! I really agree with you. I hope Dev deletes/changes their tweet.