Thread: similarity between programing languages

  1. #1
    Registered User
    Join Date
    Apr 2010
    Location
    Vancouver
    Posts
    132

    similarity between programing languages

    I read on math help forum that "all programming languages are the same, learn one well and the rest are trivial exercises". Is this true? I guess this is sort of saying that the first programing language a person learns is the hardest, and I guess that might be true.

    Also the same person seems to claim that computer algebra systems are programing languages. I know you can program Maple, but would it be correct to say Maple is a programing language?

  2. #2
    and the hat of int overfl Salem's Avatar
    Join Date
    Aug 2001
    Location
    The edge of the known universe
    Posts
    39,660
    Personally, I don't see how knowing C will teach you anything about how to program in say Prolog.

    Plus, there are so many varieties
    If you dance barefoot on the broken glass of undefined behaviour, you've got to expect the occasional cut.
    If at first you don't succeed, try writing your phone number on the exam paper.

  3. #3
    Make Fortran great again
    Join Date
    Sep 2009
    Posts
    1,413
    The saying is referring to how most all programming languages have say, for loops, if statements, etc. The phrase should really read "if you can write out logical statements well, you can program in any language" or something like that. That's a gross over simplification, but you get the idea.

  4. #4
    Banned
    Join Date
    Aug 2010
    Location
    Ontario Canada
    Posts
    9,547
    Well... lets see...

    I started out with ASM on z80 systems, then moved to BASIC... steep learning curve.
    Then I moved from BASIC to Pascal ... moderate learning curve.
    Then from Pascal to Delphi... crash and burn.
    Then from Pascal to C ... vertical learning curve, at first, easier now.
    Then from C to C++ ... another crash and burn.
    So, I stick with C...

    From my experience OOP languages and Procedural languages are from different planets. I get procedural stuff pretty much, object oriented stuff might as well be Klingon Secret Code in my eyes.

    C and Pascal are very similar in many ways, but there is enough difference that learning one does not imply knowing the other.

    ASM and C are worlds apart, even though they are often used together (PellesC even includes an assembler).

    So, no, I would not say this guy's claim is true...

    Changing or adding new programming languages implies at least a short period of intense learning.

  5. #5
    Registered User VirtualAce's Avatar
    Join Date
    Aug 2001
    Posts
    9,607
    Programming languages are all similar but never exactly the same. I wouldn't stand behind the broad statement that they are all the same b/c that would imply if you knew how to program in one you would know how to program in them all. Sort of true....but still a huge stretch. I will say the more languages you learn the easier it becomes to learn new ones after that. My philosophy is if you can program in C++ you can pretty much learn any language fairly quickly. It might be a poor philosophy but I'm sticking to it.

  6. #6
    C++ Witch laserlight's Avatar
    Join Date
    Oct 2003
    Location
    Singapore
    Posts
    28,413
    Quote Originally Posted by CaptainBlack
    In a sense all programming languages are the same, learn one well and the rest are trivial exercises.
    It seems to me that CaptainBlack's statement was a reaction to Jskid's stress to "be careful of what type of programing language you are learning". In this context, I can agree with a statement to the effect that after you have learnt one programming language, picking up another one, especially one that does not require you to adapt to a different programming paradigm, is relatively easy ("trivial exercise" being an exaggeration).

    But besides this exaggeration, the problem is that what CaptainBlack appears to have in mind is a different issue:
    Quote Originally Posted by CaptainBlack
    Not really, what can be computed can be computed by not very sophisticated systems. Programming languages are conceptually just an aide to writing a tape for a UTM.
    There is truth in this, and it does mean in a sense that "all (Turing-complete) programming languages are the same" because they are equivalent in power, but just because various programming languages are equivalent in power in this way does not mean that "all programming languages are the same" in the sense that "learn one well and the rest are trivial exercises".
    Quote Originally Posted by Bjarne Stroustrup (2000-10-14)
    I get maybe two dozen requests for help with some sort of programming or design problem every day. Most have more sense than to send me hundreds of lines of code. If they do, I ask them to find the smallest example that exhibits the problem and send me that. Mostly, they then find the error themselves. "Finding the smallest program that demonstrates the error" is a powerful debugging tool.
    Look up a C++ Reference and learn How To Ask Questions The Smart Way

  7. #7
    (?<!re)tired Mario F.'s Avatar
    Join Date
    May 2006
    Location
    Ireland
    Posts
    8,446
    His statement doesn't shock me. I'm taking note he did start it with "In a sense". So he obviously wanted to make a gross generalization that shouldn't be minutely dissected.

    Unfortunately, he never replied to the poster that called his attention to the fact that what really differentiates programming languages is the programming paradigm(s) they adopt. And here programming languages can be made vastly different from one another. Had he done that -- and agreed to that poster -- he's stance would only have been made stronger since we knew he didn't want to contemplate that aspect of language comparison. But because he didn't answer to that, he comes across a bit arrogant and dismissive of the challenges of programming and the importance of choosing the right language for the right task.

    His loss.

    EDIT: Actually that last sentence of mine is wrong. He's speaking only about learning the language. So it should read: he comes across a bit arrogant and dismissive of the challenges of learning another programming paradigm.
    Last edited by Mario F.; 11-24-2010 at 07:11 AM.
    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.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. deliverance from complicated programing languages?
    By sept in forum A Brief History of Cprogramming.com
    Replies: 79
    Last Post: 02-28-2008, 12:44 AM
  2. Strange loop
    By D@rk_force in forum C++ Programming
    Replies: 22
    Last Post: 12-18-2004, 02:40 PM
  3. Languages dying
    By Zewu in forum A Brief History of Cprogramming.com
    Replies: 31
    Last Post: 07-29-2003, 10:08 AM
  4. Languages
    By KrAzY CrAb in forum A Brief History of Cprogramming.com
    Replies: 23
    Last Post: 02-18-2003, 12:23 PM
  5. Programming Languages
    By DarkViper in forum A Brief History of Cprogramming.com
    Replies: 3
    Last Post: 12-12-2002, 02:28 PM