is C appropriate for intro to computers?

This is a discussion on is C appropriate for intro to computers? within the A Brief History of Cprogramming.com forums, part of the Community Boards category; C is not advanced enough. It's an old language unfit for today's commercial needs (and due to its lacking functionality, ...

  1. #76
    C++まいる!Cをこわせ! Elysia's Avatar
    Join Date
    Oct 2007
    Posts
    22,595
    C is not advanced enough. It's an old language unfit for today's commercial needs (and due to its lacking functionality, also a poor choice for private software).
    It will most likely produce buggy, unreliable code unless you put in lots and lots of hours into it. And those hours could be used to create more, better functionality. On in other words, it's time that could have been spent in other areas for improvement.

    Quote Originally Posted by Mario F. View Post
    So, is it you advocate against C because you GENERALLY think you should, or because you SPECIFICALLY think you should?

    Do you honestly think people should listen to you if you can be coherent in the course of a single thread, if you don't understand the difference between design and implementation, and you don't have the smallest clue of the industry?

    I refrain from commenting on the rest because I see where robwhit is taking it... albeit I fear is as useless as any other attempt so far. You lack humility.
    What you don't seem to understand is that sometimes I voice opinions, but I cannot convert long-time C users to C++ or any other language. Am I trying? No. Because I know I cannot succeed.
    But it doesn't stop me from voicing opinions and trying to stray newbies from C, by attempting to explain why C is to be used only when necessary (it's obviously up to them in the end - no one is allowed to choose for another).
    And I do it, because frankly, I'd like to see faster quality software, with few bugs and lots of features. You don't get that with C.
    Last edited by Elysia; 10-07-2008 at 01:40 PM.
    Quote Originally Posted by Adak View Post
    io.h certainly IS included in some modern compilers. It is no longer part of the standard for C, but it is nevertheless, included in the very latest Pelles C versions.
    Quote Originally Posted by Salem View Post
    You mean it's included as a crutch to help ancient programmers limp along without them having to relearn too much.

    Outside of your DOS world, your header file is meaningless.

  2. #77
    pronounced 'fib' FillYourBrain's Avatar
    Join Date
    Aug 2002
    Posts
    2,297
    Quote Originally Posted by Elysia View Post
    C is not advanced enough. It's an old language unfit for today's commercial needs (and due to its lacking functionality, also a poor choice for private software).
    It will most likely produce buggy, unreliable code unless you put in lots and lots of hours into it. And those hours could be used to create more, better functionality. On in other words, it's time that could have been spent in other areas for improvement.
    by that rationale, you should abandon C++ in favor of C# and Java
    "You are stupid! You are stupid! Oh, and don't forget, you are STUPID!" - Dexter

  3. #78
    C++まいる!Cをこわせ! Elysia's Avatar
    Join Date
    Oct 2007
    Posts
    22,595
    Quote Originally Posted by FillYourBrain View Post
    by that rational, you should abandon C++ in favor of C# and Java
    Why would I do that?
    What does Java and C# have that C++ does not (except for "safety")?
    Quote Originally Posted by Adak View Post
    io.h certainly IS included in some modern compilers. It is no longer part of the standard for C, but it is nevertheless, included in the very latest Pelles C versions.
    Quote Originally Posted by Salem View Post
    You mean it's included as a crutch to help ancient programmers limp along without them having to relearn too much.

    Outside of your DOS world, your header file is meaningless.

  4. #79
    pronounced 'fib' FillYourBrain's Avatar
    Join Date
    Aug 2002
    Posts
    2,297
    more type safety, garbage collection, binary cross platform capability, reflection...

    Note that I don't advocate Java over C++, but I'm simply presenting your argument for it.
    "You are stupid! You are stupid! Oh, and don't forget, you are STUPID!" - Dexter

  5. #80
    Malum in se abachler's Avatar
    Join Date
    Apr 2007
    Posts
    3,189
    Quote Originally Posted by nonoob View Post
    Maybe programming is 99% frustration nowadays. But it didn't used to be. I wouldn't have lasted 30 years in this biz if it had.
    They used to teach generalized problem solving, now they teach them to use pre-fab solutions.
    Until you can build a working general purpose reprogrammable computer out of basic components from radio shack, you are not fit to call yourself a programmer in my presence. This is cwhizard, signing off.

  6. #81
    Registered User
    Join Date
    Oct 2001
    Posts
    2,129
    Quote Originally Posted by Elysia View Post
    C is not advanced enough. It's an old language unfit for today's commercial needs (and due to its lacking functionality, also a poor choice for private software).
    It will most likely produce buggy, unreliable code unless you put in lots and lots of hours into it. And those hours could be used to create more, better functionality. On in other words, it's time that could have been spent in other areas for improvement.
    Was that in response to my post?

  7. #82
    C++まいる!Cをこわせ! Elysia's Avatar
    Join Date
    Oct 2007
    Posts
    22,595
    Quote Originally Posted by FillYourBrain View Post
    more type safety, garbage collection, binary cross platform capability, reflection...

    Note that I don't advocate Java over C++, but I'm simply presenting your argument for it.
    More type safety? How?
    Garbage collection is... well, garbage. That's one reason I choose C++ over C# & Co.
    Binary cross platform capability means no need to recompile for each target machine? If so, then I don't rally care. Not my area of need.
    Reflection is not something I know what it is...

    Quote Originally Posted by robwhit View Post
    Was that in response to my post?
    Yes.
    Quote Originally Posted by Adak View Post
    io.h certainly IS included in some modern compilers. It is no longer part of the standard for C, but it is nevertheless, included in the very latest Pelles C versions.
    Quote Originally Posted by Salem View Post
    You mean it's included as a crutch to help ancient programmers limp along without them having to relearn too much.

    Outside of your DOS world, your header file is meaningless.

  8. #83
    Registered User whiteflags's Avatar
    Join Date
    Apr 2006
    Location
    United States
    Posts
    7,699
    >> C is not advanced enough. It's an old language unfit for today's commercial needs (and
    >> due to its lacking functionality, also a poor choice for private software).

    Your DNA is old; that doesn't make it unfit for keeping you alive. Are you positively certain that today's budding fields like nanotech, biotech, and robotics have no room for C? Or let's make it even worse, assembler? Please think about studying some of these topics in your spare time, they can be an eye opener. These fields will have programming needs that managed languages cannot address.

    I think Mario (or someone) had it right when they expressed their opinion that C is the primordial ooze of programming. You might not need it for a lot of applications programming, but when you're doing something new, you might be forced to use a feature light, procedural language.

    I defer to my earlier post in lieu of further comment.

  9. #84
    Registered User
    Join Date
    Oct 2001
    Posts
    2,129
    Quote Originally Posted by Elysia View Post
    C is not advanced enough. It's an old language unfit for today's commercial needs (and due to its lacking functionality, also a poor choice for private software).
    It will most likely produce buggy, unreliable code unless you put in lots and lots of hours into it. And those hours could be used to create more, better functionality. On in other words, it's time that could have been spent in other areas for improvement.
    I was not arguing whether the whole language was suitable. Please reread my question.

  10. #85
    C++まいる!Cをこわせ! Elysia's Avatar
    Join Date
    Oct 2007
    Posts
    22,595
    I also express my concerns that C is not needed since we have C++, which is an evolution of C, still close to the hardware, backwards compatible, yada yada.
    The two languages have been known to actually cause harm (or at least delays) in each other's standards.

    Even so, even if C was made the only language from small systems such as embedded systems, it still doesn't justify people using it for applications programming for modern systems, which some tend to do.

    This is also what I tend to try to make public, as well. Use the right tool for the job.
    Use C where applicable, where a modern language such as OOP C++ or managed just can't work.
    But DON'T use C where you can use a modern language such as C++, Java, C#, etc.
    Quote Originally Posted by Adak View Post
    io.h certainly IS included in some modern compilers. It is no longer part of the standard for C, but it is nevertheless, included in the very latest Pelles C versions.
    Quote Originally Posted by Salem View Post
    You mean it's included as a crutch to help ancient programmers limp along without them having to relearn too much.

    Outside of your DOS world, your header file is meaningless.

  11. #86
    Registered User whiteflags's Avatar
    Join Date
    Apr 2006
    Location
    United States
    Posts
    7,699
    >> Even so, even if C was made the only language from small systems such as embedded
    >> systems, it still doesn't justify people using it for applications programming for modern
    >> systems, which some tend to do.

    Keep in mind that no one claimed this yet. Your assumption was that we somehow all came to the defense of C in response to the original topic. The original topic concerned with how students were learning to program for the first time. It was a fine discussion until, with little provocation, you suggested that C be eliminated from the general curricula due to it's idiosyncrasies.

    Many people took offense.

    Myself in particular because you seemed to be confused about what was really wrong with the language. You mixed up the definition of a fundamental term (function invocation/calling), then it grew into something else entirely. You seemed to doubt that C was a human work with any purpose, because it was old. I disagree with this course of action because of the need procedural programming fulfills in other academic disciplines.

    And as I said, I don't care which procedural language they use to teach. C still may be used in the workplace though, so I reckon that people will still be learning C. So excuse me and the rest of the board for not joining your book-burning campaign (Fahrenheit 411).

    Your comments on this topic are very off-topic. If you really take exception to the fact that the boards will discuss C, you are welcome to leave.

    [/thread]

  12. #87
    pronounced 'fib' FillYourBrain's Avatar
    Join Date
    Aug 2002
    Posts
    2,297
    C is a fine choice if you are comfortable with C. Don't get so high and mighty about any imperfect language.
    "You are stupid! You are stupid! Oh, and don't forget, you are STUPID!" - Dexter

  13. #88
    pronounced 'fib' FillYourBrain's Avatar
    Join Date
    Aug 2002
    Posts
    2,297
    Quote Originally Posted by citizen View Post
    Your comments on this topic are very off-topic. If you really take exception to the fact that the boards will discuss C, you are welcome to leave.
    I second this motion.
    "You are stupid! You are stupid! Oh, and don't forget, you are STUPID!" - Dexter

  14. #89
    (?<!re)tired Mario F.'s Avatar
    Join Date
    May 2006
    Location
    Portugal
    Posts
    7,460
    Quote Originally Posted by Elysia View Post
    This is also what I tend to try to make public, as well. Use the right tool for the job.
    The right tool for the job is not the same as the best tool for the job. Something that is never advertised, and you insist in not understanding. The right tool is a measure of your own personal knowledge and the requirements of the task at hand.

    If my knowledge of C is far superior to your knowledge of C++, I'll put you in a shoe on about every type of application I develop. Conversely, many programmers in C# can produce better and faster even with only moderate knowledge than I can in C++. The quantum leap from C++ to C# is huge, much more than from C to C++, as much as it pains me to admit.

    Your crusade against C or any other language for that matter is a measure of your ignorance. As a programmer you should know. The fact you don't grasp this simple concept is revealing. And I feel compelled to write you a cease and desist letter:

    ...

    Elysia,

    Every tool is right for the task, it's programmers that are wrong. At the core of the programming task there is only place for humility, not ego and not faith.

    Any attempt to politicize programming languages makes you look dumb. And it is also a dangerous thing since you are passing on the wrong message to those who can't tell right from wrong. As once I had the opportunity to say, you abuse your knowledge by forcing it in a devious way. You use it to support your own programming language religion down the throats of those who are defenseless and can't tell right from wrong -- It's the makings of a tyrant.

    The fact you can't seem to grasp the simple concept that no language is fundamentally wrong, every language has its place, and that programming languages can cross over their own domains being only dependent on the programmer ingenuity and intelligence, reveals however your lack of knowledge in all things computer related. It is thus safe to assume you are not in a position to tell anyone what they should do and what they should use.

    In a similar fashion, any language provides the programmer with the tools to perform their task and a self-contained environment where they can hone their skills, which will only further their general knowledge of the task of programming.

    Because, having before being told this much on numerous occasions, and having repeatedly ignored such requests, I hereby forbid you to ever again try to instruct newcomers on what languages they should or should not use.

    You are free to answer such queries with only general non-binding information and let the real answer to those who can do a better job than you. Which is, pretty much everyone else.

    The fact you insist in spreading your opinions as mere opinions is no excuse. You are legally bound to your opinions and the consequences when you chose to spread them. Understand this when your next order of business is to spread the opinion every gay person in the world should be shot to death.

    Failure to comply to this letter will result in punishment,

    Sincerely,
    Mario Figueiredo
    The programmer’s wife tells him: “Run to the store and pick up a loaf of bread. If they have eggs, get a dozen.”
    The programmer comes home with 12 loaves of bread.


    Originally Posted by brewbuck:
    Reimplementing a large system in another language to get a 25% performance boost is nonsense. It would be cheaper to just get a computer which is 25% faster.

  15. #90
    Malum in se abachler's Avatar
    Join Date
    Apr 2007
    Posts
    3,189
    Quote Originally Posted by Elysia View Post
    C is not advanced enough. It's an old language unfit for today's commercial needs (and due to its lacking functionality, also a poor choice for private software).
    It will most likely produce buggy, unreliable code unless you put in lots and lots of hours into it. And those hours could be used to create more, better functionality. On in other words, it's time that could have been spent in other areas for improvement.
    WTF!?!?! That only holds true if you are a sloppy programmer, in which case anythign you write will be buggy and unreliable. It has nothing to do with the language you impliment it in. Most fo the people I have talked to that feel liek you do were just unable to learn C/C++ because it doesnt spoon feed you solutions. It is far more flexible than other languages and due to its INHERENT EXPLICIT support for custom libraries and API's its functionality is easily extensible. It is the ultimate glue language, always intended to allow the use of libraries written in different languages such as assembly, fortran, pascal, ada, etc. If it lacks some feature you need its not an issue of the language, but that noone has written a compliant library providing that functionality yet.
    Until you can build a working general purpose reprogrammable computer out of basic components from radio shack, you are not fit to call yourself a programmer in my presence. This is cwhizard, signing off.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Numeric addresses for computers
    By great in forum C Programming
    Replies: 4
    Last Post: 08-23-2010, 11:53 AM
  2. Computers as authors
    By hk_mp5kpdw in forum A Brief History of Cprogramming.com
    Replies: 8
    Last Post: 11-22-2004, 07:55 PM
  3. Industrial vs home computers
    By nbo10 in forum Tech Board
    Replies: 10
    Last Post: 09-01-2004, 02:04 AM
  4. Matrix and vector operations on computers
    By DavidP in forum A Brief History of Cprogramming.com
    Replies: 11
    Last Post: 05-11-2004, 06:36 AM
  5. Love programming, hate computers
    By PJYelton in forum A Brief History of Cprogramming.com
    Replies: 15
    Last Post: 12-14-2002, 12:04 PM

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21