473,789 Members | 2,337 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Why is C good??? any experts?

Hi,
I am new to C and curious to know some basic questions about C.
Why C is good?
In what way its better than any other languages?
If it is no longer a choice of programming language...why people still study
it?
And also its not an OO language either...is there any advantages in being
not an OO language?

I know one reason is that, IT started with C and so they are still using
them rather than changing it into new language.

Nov 14 '05 #1
39 2861
Suresh wrote:
Hi,
I am new to C and curious to know some basic questions about C.
Why C is good?
In what way its better than any other languages?
If it is no longer a choice of programming language...why people still study
it?
And also its not an OO language either...is there any advantages in being
not an OO language?

I know one reason is that, IT started with C and so they are still using
them rather than changing it into new language.


I think all of your questions boil down to "why choose C over something
else?"

There are two answers.

1. C is sometimes known as "portable assembler". The key concept
represented by this statement is that C is closer to the machine that
most other languages. It's possible to understand exactly what a C
program is doing because there isn't (necessarily) a lot of overhead
going on. You don't have to guess what other information the compiler
is including in order for things like polymorphism to work, and how that
additional information will impact things like memory layout of an
aggregate data structure.

2. C is everywhere. C is about as ubiquitous a language as anyone
could ever hope for. If you want to write a clean, portable, minimal
(few dependencies) program, there are very few systems where it won't
compile and run.

Nov 14 '05 #2
Suresh wrote:
I am new to C and curious to know some basic questions about C.
Why C is good?
In what way its better than any other languages?
If it is no longer a choice of programming language,
why people still study it?
New C programmers are required to maintain old C programs.
And also its not an OO language either...
is there any advantages in being not an OO language?
No.
I know one reason is that,
IT started with C and so they are still using them
rather than changing it into new language.

Nov 14 '05 #3
On Fri, 30 Apr 2004 01:06:25 GMT, "Suresh" <gs*****@rogers .com> wrote
in comp.lang.c:
Hi,
I am new to C and curious to know some basic questions about C.
Why C is good?
In what way its better than any other languages?
If it is no longer a choice of programming language...why people still study
it?
And also its not an OO language either...is there any advantages in being
not an OO language?

I know one reason is that, IT started with C and so they are still using
them rather than changing it into new language.


Your last statement is complete nonsense. IT started with FORTRAN and
COBOL as the high level languages, and other things like JCL.

--
Jack Klein
Home: http://JK-Technology.Com
FAQs for
comp.lang.c http://www.eskimo.com/~scs/C-faq/top.html
comp.lang.c++ http://www.parashift.com/c++-faq-lite/
alt.comp.lang.l earn.c-c++
http://www.contrib.andrew.cmu.edu/~a...FAQ-acllc.html
Nov 14 '05 #4
Chris Dutton wrote:
C is sometimes known as "portable assembler".
The key concept represented by this statement is that
C is closer to the machine that most other languages.
I don't know what that means.
Which "machine" is C "close to"?
Is C "farther" from machines that are not "close to"
the machine that C is "close to".
What sort of topology allows this sort of reasoning?
It's possible to understand exactly what a C program is doing
because there isn't (necessarily) a lot of overhead going on.
People who claim to know "exactly what a C program is doing"
are almost never correct.
You don't have to guess what other information the compiler
is including in order for things like polymorphism to work,
If you need to "guess" at these things,
you don't understand the programming language.
and how that additional information will impact things like
memory layout of an aggregate data structure.


Nov 14 '05 #5
You speak like C is an obsolete language. Most of the Linux (or most *n?x)
operating system and the programs that run inside it are written in C not to
mention countless applications that are still in very much active
development.
I don't speak on behalf of the newsgroup here, but I simply don't like
object orientation. I find it obfuscates things in my mind and doesn't
provide many advantages in most non-gui situations. So to answer your
question about object orientation, OO is not necessarily the Way
Forward(tm), it just has some advantages in some situations.
I just started teaching myself C recently and if my reason for using it
would interest you; I'm replacing a lot of old Perl and PHP scripts I wrote
which were performing things that PHP in particular wasn't designed to do,
namely running as daemons and doing a lot of statistical calculations.
Compiled C beats Perl and PHP in speed and reliability hands down on both
these applications (assuming well written PHP/Perl vs. well written C).
Another thing that draws me to C over interpreted languages like Perl and
PHP is that if a program performs oddly, I can usually make the assumption
that it's my code that's broken rather than the language I'm writing it in.
Yes, there have been several occasions on which this hasn't been the case
with PHP.
Maybe this answers your question, I've explained why I like C in preference
to object orientated languages like C++ or Java *spit* and I've explained
why I like C over other procedural languages (if you count PHP and Perl as
programming languages rather than scripting languages).
--
~Kieran Simkin
Digital Crocus
http://digital-crocus.com/

"Suresh" <gs*****@rogers .com> wrote in message
news:lE******** **************@ twister01.bloor .is.net.cable.r ogers.com...
Hi,
I am new to C and curious to know some basic questions about C.
Why C is good?
In what way its better than any other languages?
If it is no longer a choice of programming language...why people still study it?
And also its not an OO language either...is there any advantages in being
not an OO language?

I know one reason is that, IT started with C and so they are still using
them rather than changing it into new language.


Nov 14 '05 #6


"E. Robert Tisdale" wrote:
Chris Dutton wrote:
C is sometimes known as "portable assembler".
The key concept represented by this statement is that
C is closer to the machine that most other languages.
I don't know what that means.
Which "machine" is C "close to"?
Is C "farther" from machines that are not "close to"
the machine that C is "close to".
What sort of topology allows this sort of reasoning?


CPUs execute Op-Codes. The CPU does not know about languages.
C gives you more control over what the CPU will get.
..NET and Java... are not under the Programmers control.

It's possible to understand exactly what a C program is doing
because there isn't (necessarily) a lot of overhead going on.
People who claim to know "exactly what a C program is doing"
are almost never correct.


Then do not guess. Look at the .LST file and be sure.

You don't have to guess what other information the compiler
is including in order for things like polymorphism to work,
If you need to "guess" at these things,
you don't understand the programming language.


Then explain Java and VB

and how that additional information will impact things like
memory layout of an aggregate data structure.


C effectively the next step above Assembly.
It gives more control over memory usage and hardware access.
You pay for the control with more responsibility. More code to do the
same task.
And you get to watch for buffer overruns and memory leaks.

Nov 14 '05 #7
"Suresh" <gs*****@rogers .com> wrote in message news:<lE******* *************** @twister01.bloo r.is.net.cable. rogers.com>...
Hi,
I am new to C and curious to know some basic questions about C.
Why C is good?
Because you can create useful programs using it and...
In what way its better than any other languages?
No overwhelming way, but it is very flexible in allowing a multitude
of approaches and 'styles' of programming, has good facility for
'lower level' systems programming and is widely implemented with an
ISO standard to help programmers who port apps from one platform to
another.
If it is no longer a choice of programming language...why people still study
it?
Because it is, still, a choice for many.
And also its not an OO language either...is there any advantages in being
not an OO language?
Perhaps in the implmentation of compilers, for many it makes C easier
to learn (initially) too.
I know one reason is that, IT started with C and so they are still using
them rather than changing it into new language.


IT started way before C, but indeed the huge amount of legacy code,
especially in systems code, ensures C's future as much if not more
than any other language characteristic.
Nov 14 '05 #8
"Suresh" <gs*****@rogers .com> wrote in message news:<lE******* *************** @twister01.bloo r.is.net.cable. rogers.com>...
Hi,
I am new to C and curious to know some basic questions about C.
Why C is good?
In what way its better than any other languages?
I'm not sure that it is better than any other languages, but it has
certain advantages:

* There are C bindings available for many libraries, probably more
than any other language.
* It is relatively simple. This means that it's not unreasonable to
understand nearly all of the language. Its much harder to reach a
good understanding of a more complex language like C++.
* If you understand the machine you are using its possible to write
quite fast C.
If it is no longer a choice of programming language...why people still study
it?
And also its not an OO language either...is there any advantages in being
not an OO language?
No, except you don't have to understand the OO parts. Which in most
languages I've used are really complicated.
I know one reason is that, IT started with C and so they are still using
them rather than changing it into new language.


No it didn't, but it is used heavily today.
Nov 14 '05 #9
Neil Kurzman wrote:
"E. Robert Tisdale" wrote:
Chris Dutton wrote:
C is sometimes known as "portable assembler".
The key concept represented by this statement is that
C is closer to the machine that most other languages.


I don't know what that means.
Which "machine" is C "close to"?
Is C "farther" from machines that are not "close to"
the machine that C is "close to".
What sort of topology allows this sort of reasoning?


CPUs execute Op-Codes. The CPU does not know about languages.
C gives you more control over what the CPU will get.
.NET and Java... are not under the Programmers control.


_______________ ______
/| /| | |
||__|| | Please do not |
/ O O\__ | feed the |
/ \ | Trolls |
/ \ \|_____________ ________|
/ _ \ \ ||
/ |\____\ \ ||
/ | | | |\____/ ||
/ \|_|_|/ | _||
/ / \ |____| ||
/ | | | --|
| | | |____ --|
* _ | |_|_|_| | \-/
*-- _--\ _ \ | ||
/ _ \\ | / `
* / \_ /- | | |
* ___ c_c_c_C/ \C_c_c_c_______ _____

--
Chuck F (cb********@yah oo.com) (cb********@wor ldnet.att.net)
Available for consulting/temporary embedded and systems.
<http://cbfalconer.home .att.net> USE worldnet address!
Nov 14 '05 #10

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

24
3617
by: matty | last post by:
Go away for a few days and you miss it all... A few opinions... Programming is a craft more than an art (software engineering, not black magic) and as such, is about writing code that works, first and foremost. If it works well, even better. The same goes for ease of maintenance, memory footprint, speed, etc, etc. Most of the time, people are writing code for a use in the *real world*, and not just as an academic exercise. Look at...
28
3308
by: David MacQuigg | last post by:
I'm concerned that with all the focus on obj$func binding, &closures, and other not-so-pretty details of Prothon, that we are missing what is really good - the simplification of classes. There are a number of aspects to this simplification, but for me the unification of methods and functions is the biggest benefit. All methods look like functions (which students already understand). Prototypes (classes) look like modules. This will...
39
7665
by: Mike MacSween | last post by:
Just spent a happy 10 mins trying to understand a function I wrote sometime ago. Then remembered that arguments are passed by reference, by default. Does the fact that this slowed me down indicate: a) That I don't know enough b) Passing arguments by ref is bad
20
5144
by: Clark | last post by:
Hi all. I'm looking for good C source code to study and be able to advance my C programming skills. Do you recomend any open source project in particular that in your opinion has good writen C code? Thanks.
17
3807
by: Kevin Hall | last post by:
C++ is one of my favorite languages to work in. This is because it has so many differrent strengths. But there is also a number of blemishes in the language -- some could potentially be fixed, others are not likely. I wanted to open a discussion on what people think are the good and bad things about C++. Here are my lists: Good things about C++ --------------------- - multi-paradigm language. - const-specifications
22
3434
by: Jon Skeet [C# MVP] | last post by:
I'm looking to write a C# book fairly soon, and the publisher I've approached wants me to do a bit of market research to find out what people like and don't like in this kind of book. I've read loads of reviews of best-selling books on Amazon, so I've got some ideas from there, but I'd be very interested in hearing what you all think makes a good C# book. I'm interested primarily in stylistic things - how light-hearted, what kind of...
206
8376
by: WaterWalk | last post by:
I've just read an article "Building Robust System" by Gerald Jay Sussman. The article is here: http://swiss.csail.mit.edu/classes/symbolic/spring07/readings/robust-systems.pdf In it there is a footprint which says: "Indeed, one often hears arguments against building exibility into an engineered sys- tem. For example, in the philosophy of the computer language Python it is claimed: \There should be one|and preferably only one|obvious...
0
9506
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
10403
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
10193
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
0
9978
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
1
7524
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
5546
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
4087
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
2
3695
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
3
2904
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.