Thread: Battle of the languages?

  1. #1
    That weird Java guy xniinja's Avatar
    Join Date
    Jun 2010
    Posts
    231

    Battle of the languages?

    Hello guys, I have a question that doesn't pertain to one programming language or another but all programming languages.

    That question would be why do people fight over the "best" programming languages? (do they really? I have seen a few posts of people timing operations in different languages)

    for example some people might argue that Java is better than C or Vice Versa. The thing is after taking a leave of absence from this forum for quite a while I have taken formal classes for VB (.net :P) and Java (next up VB advanced then C), and I have also learned a little javascript from Unity (I feel so stupid saying that (and .net))

    But after taking a quick lap around the house, not quite a walk around the block. I have realized that the reason there are so many programming languages is so you can have flexibility. For example if you want to make a nice looking application quick make it with VB. If you want to make something that will run on a lot of different stuff make it with Java. If you want to make it run on anything make it with C++. if you want it to run on Apple Products make it with Objective C.

    You probably get my point by now.

    I don't really know why I posted this, just wanted to get this off my chest.

    What is your take on this...


    I hope I don't anger anyone.

  2. #2
    and the hat of int overfl Salem's Avatar
    Join Date
    Aug 2001
    Location
    The edge of the known universe
    Posts
    39,659
    Absolutely right.

    Carpenters long ago gave up the "chisel vs. saw" wars and just settled down to using the right tool for the job at hand.
    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
    Registered User
    Join Date
    Jun 2005
    Posts
    6,815
    The main reason is ignorance. People assume that, because they like a language and because it is useful for what they do, that everyone else will agree.

    The other main reason is salesman spiel (which feeds on ignorance). People or companies who create a particular language, or sell services related to a particular programming languages, have a vested interest in portraying that language as best. Apart from its merits (of which it has plenty) a lot of the advocacy of Java came about because of a concerted marketing push by Sun Microsystems as a vehicle for grabbing market share from Microsoft.

    I also see the same sort of religious fever surrounding certain operating systems, compilers, development environments, and other tools.

    There is also quite a bit of religious fever in the opposite sense, such as those who religiously hate certain languages or products.
    Right 98% of the time, and don't care about the other 3%.

    If I seem grumpy or unhelpful in reply to you, or tell you you need to demonstrate more effort before you can expect help, it is likely you deserve it. Suck it up, Buttercup, and read this, this, and this before posting again.

  4. #4
    C++まいる!Cをこわせ!
    Join Date
    Oct 2007
    Location
    Inside my computer
    Posts
    24,654
    Quote Originally Posted by grumpy View Post
    I also see the same sort of religious fever surrounding certain operating systems, compilers, development environments, and other tools.

    There is also quite a bit of religious fever in the opposite sense, such as those who religiously hate certain languages or products.
    I think this nicely sums it up. It's human nature.
    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.

  5. #5
    (?<!re)tired Mario F.'s Avatar
    Join Date
    May 2006
    Location
    Ireland
    Posts
    8,446
    I'd say the religious fervor about one language or another is the result of misplaced honesty. We don't like certain languages. That's just it. The syntax, the development environments, the semantics of the language, they simply may not fit with a certain personality or background. This is fine. However we keep committing the sin of trying to justify our preferences by associating them with virtuousness. As if our preferences somehow validated us.

    It's a mistake. We in fact may like many things which aren't exactly good or better than other things. I like pot and republicans, for instance. And we may like things that contradict other things we like or dislike. I like animals very much and am in love with my planet, but don't like Global Warming pundits, for instance.

    In an attempt to justify our idiosyncratic nature, or validate ourselves through the things we like or dislike, we just go on about the business of being fools. Thankfully, as we take the role of professional software developers, some of it will die and we'll come to terms with the fact that most programming languages are in fact excellent creations and very useful tools. Depending mostly on the type of software development one does, they will no doubt come to use more than one programming language. In fact, you can -- usually -- measure the experience of a programmer by calculating the inverse of his or her zealotry level. But be careful. If said programmer is criticizing a programming language in the context of a well defined environment (he's talking about a system or a type of application), he's in fact very likely to be doing an objective and useful analysis.
    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.

  6. #6
    Registered User VirtualAce's Avatar
    Join Date
    Aug 2001
    Posts
    9,607
    Most of us here agree it is ignorant to argue over languages which really boils down to arguing over tools. I view languages and scripts as tools or as a means to an end. That being said I was in a training conference recently and the instructor said that he based his like or dislike of a language on whether it had made him any money in the past. Quite humorous but does show that most people dislike what they have not been exposed to or have not used.

    I have been developing quite nearly every day in C++, C++/CLI, C#, and Lua and I love and hate them all at the same time for different reasons. C++ is my favorite language b/c I feel it offers me the most control at the expense of also allowing me to shoot myself in the foot and cut it off if I so desire. I have not used Java but it obviously has its place in the world and has been used in many very successful projects and software products. There is not one language I have used that I would call the 'perfect' language but most of them are very good in their own right.

    I think a lot of the arguing ensues when a religous zealot for a certain language starts to make claims that this or that language or technology will replace or somehow deprecate another. I used to be involved in the ministry and since changing my career to computers I can honestly tell you I have met more zealots, preachers, and evangelists in computer science than I ever met while holding a position at a local church. It does not just stop at languages, though. You get people who tout this development process as the only process to use or this design as the only one to use and it goes on and on and on.

    As has been said it happens simply due to human nature. It probably will never change. The older I get the less I care about such trivial matters and things don't really seem like such a big deal as they did before.

    If you think this issue pertains only to computers go visit a Chevy forum or a Ford forum and watch the insanity. Heck you can even visit a Subaru forum and they will swear by their STI's and WRX's while the Dodge folks will swear the Neon SRT-4 was the best thing ever built. Go over to a racing forum like NASCAR and watch the same exact thing. Head over to the APPLE iPad forums and watch them debate iPad 1 vs iPad 2 and all things iPhone. Head over to CNN or FOX or MSNBC and watch them all pick apart various candidates, issues, and each other. Look at some TV show sites and watch people claim their show is the best ever or this show is the worst ever. To sum it up it happens everywhere people are.

    But it's not all bad because if all of us were exactly alike with the same exact opinions and viewpoints the world would be a boring place. Variety is the spice of life.
    Last edited by VirtualAce; 10-16-2011 at 10:38 PM.

  7. #7
    That weird Java guy xniinja's Avatar
    Join Date
    Jun 2010
    Posts
    231
    Yea, I think you summed it up pretty good their. I am the same way with COD and Battle Field 3. Its not that I don't think that COD sucks because I am just blindly accusing them of sucking, its that they haven't updated their engine in 4 years, and probably won't for a while. On the other hand Frostbite 2 should be awesome as it has been in production for the 4 years the COD engine was just sitting their.

    Oh well who cares, people will be people.

  8. #8
    Registered User
    Join Date
    Sep 2011
    Posts
    38
    An interesting topic to discuss on, so i hope no one minds if i open a can of worms add to this discussion.

    I'm sure we are all aware that lanague develop/evo/spin off over time a few examples is C and C++, VB and .net framework. Now I think there's a new inovative framework built on C++ named QT Framework. I haven't play around in it yet because I'm still quite novice in C++. This lanauge provide C++ to be more flexible to be run on any OS (eg.window,mac, lunix, some mobile...) from just a few simple change to the code. It also try to emulate VB's GUI and give the developer a easier time to create GUI application, while still offering the option of command line development. If I were forced to be able to learn one language, I think I would go with C++.

    I'm quite novice in programming, so I quite interested in what experienced programmers have to say.

  9. #9
    C++まいる!Cをこわせ!
    Join Date
    Oct 2007
    Location
    Inside my computer
    Posts
    24,654
    Qt is hardly new. It has been around for a long time.
    All-in-all, from what little I know it, it is a very nice looking GUI framework.
    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.

  10. #10
    Just a pushpin. bernt's Avatar
    Join Date
    May 2009
    Posts
    426
    Quote Originally Posted by airesore
    VB
    *sees acronym tag, compulsively hovers over it to see the tooltip*
    I love how the forum software is pretentious enough to assume that VB = vbulletin :P
    Consider this post signed

  11. #11
    Registered User
    Join Date
    Sep 2011
    Posts
    38
    oh, why hasn't many people taken advantage of cross platform programming? With my limited knowledge I think it cover most of what a programmer would want just on it's own.
    I seen quite a few QT workshops in universities and I think i saw one employer than recommended QT during my 4 months of job searching. So I thought it was getting popular.
    Do you think new graduates who want to be on the industy standard should invest time in learning it?

  12. #12
    Just a pushpin. bernt's Avatar
    Join Date
    May 2009
    Posts
    426
    oh, why hasn't many people taken advantage of cross platform programming?
    Many people have. There's a large selection of software that uses qt, and there are several other cross-platform frameworks to choose from, if qt's own popularity isn't enough.
    Consider this post signed

  13. #13
    (?<!re)tired Mario F.'s Avatar
    Join Date
    May 2006
    Location
    Ireland
    Posts
    8,446
    Quote Originally Posted by airesore View Post
    Do you think new graduates who want to be on the industy standard should invest time in learning it?
    Depends on the type of industry. Cross-platform GUI development isn't anywhere near being widespread (or being interesting) in the business software industry, for instance.

    However Qt is just and simply a library. And one that abstracts away a large portion of cross-platform development challenges. So to keep on top in this type of development -- being that you are interested in it -- you'd best invest your studies in cross-platform C++ development, and look at Qt is a mere tool that will facilitate you putting into practice that knowledge.
    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.

  14. #14
    Officially An Architect brewbuck's Avatar
    Join Date
    Mar 2007
    Location
    Portland, OR
    Posts
    7,396
    It's not like one platform is from Mars and another is from Venus, they are all from Earth and despite their differences they are just "more of the same." Learning a Windows-specific API is no different that learning a Linux-specific API or an Android-specific API or anything else.

    What *is* a valuable skill is the ability to recognize when code is generic and write that code in a way that does not depend *needlessly* on platform details. But I don't really understand what "cross-platform programming" means as a skill. It's really just asking, are you capable of learning stuff and making good decisions.
    Code:
    //try
    //{
    	if (a) do { f( b); } while(1);
    	else   do { f(!b); } while(1);
    //}

  15. #15
    Registered User
    Join Date
    May 2003
    Posts
    1,619
    At the root, the language isn't really all that important, especially if all you're discussing are languages with similar feature sets. So long as you choose something that isn't wildly inappropriate for the task at hand, you'll be fine.

    Far more important than the languages you know is your ability to design. My company hires hundreds of programmers every year, and due to the fact we use a language that makes FORTRAN look commonplace by comparison, all of our new hires have never used the language before. It actually takes less than two weeks of training to get them to the point that a person experienced in that language would be at; the remainder of the training is our company's API and data structures, which anyone from outside would need to learn.

    The ability to design is far more important than the ability to implement the design, and unfortunately most programming courses only teach the latter. That's like teaching people how to read and write English and expecting that should be enough to become the next Hemingway. Yes, you need to know how to read and write before you can become an author, but coming up with WHAT to write is far more important than knowing HOW to write.

    It's the same way with code. Like a good story, a good design is usually relatively language-neutral, and the design is harder than the implementation.
    You ever try a pink golf ball, Wally? Why, the wind shear on a pink ball alone can take the head clean off a 90 pound midget at 300 yards.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Battle Ship AI
    By IdioticCreation in forum Game Programming
    Replies: 10
    Last Post: 01-05-2007, 11:22 PM
  2. what languages are fading ? what languages remain ?
    By dot_rain in forum Tech Board
    Replies: 32
    Last Post: 03-04-2004, 09:25 AM
  3. Battle Pong
    By DOlson in forum Game Programming
    Replies: 13
    Last Post: 01-08-2003, 11:32 PM
  4. Battle.net servers
    By muttski in forum Game Programming
    Replies: 12
    Last Post: 05-14-2002, 04:08 PM
  5. The battle.
    By Sentaku senshi in forum A Brief History of Cprogramming.com
    Replies: 10
    Last Post: 03-25-2002, 05:28 PM