+ 8
Strength of C language.
What are the strengths of C language?
9 ответов
+ 4
C is a great language, definitely a master piece (was and still is)
👉 talking about advantages I feel (that most other languages have derived from it) are powerful set of low level tools, close h/w layer interaction, great yet simple definitions, cool dynamic tools, all the advantages that programmers with a machine level thought and a programmer with high level language thoughts intend to exploit, and the best part - you can build everything over it. In short, its just great ! proud to learn it :)
👉 some negatives I can add are (although they can be avoided by a skillful programmer) - buggy and lengthy code, pointers (they are seriously the most powerful ones but can lame you out if not taken care of, but I love pointers). Seriously I never intended to add negative points, I love this language more than any other one.
+ 10
PhantomWare I don't know where heard this.
C is one of the fastest languages available to us as of right now, and has been around for many years. It is extremely close to the hardware level of system architecture, and has, in turn, many strengths.
It is used in real-time response mechanisms, it is the base for many languages (including Python), it is used to write resource consuming applications and technologies, it is used in lower level and more intelligent technologies (you won't see a Mars rover written with a lot of Python). Overall, it is one of the strongest languages as of now, behind C++ in my opinion.
+ 4
PhantomWare It's true that swords were replaced by other weapons historically, but not technologically. Where swords were used before, today they use guns and bombs and other technology, but all of the modern stuff is not based on the concept of a sword and that's where the sword vs. gun picture is going wrong.
We tend to kill people from a distance nowadays, that's why swords are obsolete, but when you try to kill someone with a hand grenade in a one on one situation, you'll most likely kill yourself too. You can't use most of the modern weapons where swords were used before. They don't have the same purpose.
I code almost exclusively in python, so I'm even a bit biased towards 'modern' languages, but I'm positive that neither python nor any other existing language is ever going to replace C. Probably things are going to change drastically when quantum computing etc. becomes a thing, but as long as the technologically basically stays the same as 30 years ago...
+ 4
(2/2) ...and only relatively minor changes happen (32 -> 64 bit etc.), C will always be used and needed to write drivers, operating systems and basically all 'low level' stuff that makes things work. Python and other higher level languages wouldn't exist nor work without C. There wouldn't be an OS to run on and new features to implement if it weren't for C. In many ways, languages like python or Java are terribly slow and useless compared to C. We're definitely not at a point where the death of C is imminent, it's about to be replaced by some other language and it will be only learned by some nostalgic geeks. This might happen in a couple of decades, but today it's definitely too soon to discourage other people from learning C because it is 'obsolete'.
+ 4
The UNIX Kernel is written in C, most drivers are written in C, Windows NT is mainly written in C. (I think MS went on to C# with Win10)
Obviously nobody wants to rewrite those codes in another language.
C definitely isn't dying, but it's kind of a niche. The most encouraging thing about learning C is that this language is very low-level and basic.
Sometimes you need 100 lines of code for something that you can do in C++ with only 2 lines of code because you have access to more libraries. That sounds bad, but the challenge is actually fun and you learn a lot from it.
I think that every programmer should at least write a few C codes, even if it's only so he starts appreciating the easiness of modern languages.
But I doubt that anyone who pursues a programming career will choose C as his main language - it's fast, but with C++ (which is only slightly slower) you'll get results 100 times faster, and while you're at it, it teaches you some C, too.
+ 1
Strength and weakness are both how far you can fall down the rabbit hole.
Basic C isnt hard to grasp but further along the learning path it seems to branch into multiple paths.
C has pointers which lead to data structs and memory management.
You can fall into embedded C which leads to learning how computers work, and store info. This leads to assembly, hex and binaray which all can be used in data struct, pointers etc and you have this weird map now that have two paths that converged that seemed to be going in opposite directions.
The more you learn the more you begin to realize that more paths converge and that even paths you thought were mapped have more paths connecting to it thay you didnt see.
- 1
C has already been replaced with C# and C++ using the .NET Framework. You can complete hundreds of lines of code in C with a few commands in C# using the .NET framework. C IS old and it has had its time and the baton has been passed on to C# and C++ while still using C, but through a framework to make it easier for developers.
- 2
Why would we need C if we now have better, faster languages such as C# or ++? C is decreasing in popularity as well as, but not as much, C++. Why? Because they are old. More optimized languages are out there, and will soon be ready to take the baton from C. blackwinter galaxies will one day die, and so will languages. C’s EOL is coming soon as well as the world of programming is changing. I wouldnt recommend learning C by this point.
- 3
Metaphores won’t prove your point. Facts are really what makes up someone’s mind. The universe itself will someday die away. C is archaic and is soon going to be replaced. That’s how everything works. That’s not to say it will NEVER be used again, it just will hardly be used. For example: Swords. They were the beginning of all weaponry. It was used for many things. Hunting, war, shishcabob sticks ( xD ) etc. But now they have been replaced with guns, bombs, and other weapons that are more powerful and proficient than the sword. The sword is still used, but rarly. The same thing is and will happeb to C.
This is just one of those things that are very debatable and has pros and cons on both sides. It really all depends on what the user wants to do. Out of all the things you will do when it comes to development, you will rarly have to use C for anything.