Thread: Programming Language Snobbery

  1. #1
    Registered User
    Join Date
    Oct 2006
    Posts
    3,445

    Programming Language Snobbery

    There's a facebook page of which I am a member, for programmers of the freedom-loving ilk. A recent post by the page's administrator questioned the validity and usefulness of server-side javascript. Granted, I'm not a huge fan of Javascript, and would rather write code in just about any other language, but the use case for server-side Javascript, a la Node.js, is pretty clear. Web developers, who are adept in HTML, CSS, and JS, can write end-to-end web applications, and leverage all of their existing skills, without having to spend time learning another language. Time to market can be reduced, and for what it's good at, Node does a great job. The guy on the FB page just couldn't get it through his head that there's a time and a place for everything. Would Node be a good fit for the back end of something as big as Google? Certainly not, but for your average web developer, looking to build a web application with persistent storage, it's exactly what the doctor ordered.

    I understand that it's natural to defend the things you love, but to start talking trash about something that works very well in its niche is disrespectful to the programmers who do it, and weakens the entire software development community as a whole, making us look very petty and immature.

    I've seen it here too. Users insisting that C is a dead language, and should be avoided, in favor of C++. While I generally agree with that particular statement, in practice, it's not always that simple. Plenty of platforms, particularly in the embedded world, don't have a C++ compiler, because the complexity of developing one is just too great. The C language is much easier to implement, especially if you don't need to have a complete standard library implementation for your platform, and when it comes to cost/benefit, for the device manufacturers, C will win most of the time.

    It's like Chevrolet or Ford truck owners, who take the Chevy versus Ford rivalry a little too seriously. At the end of the day, just like programming languages, both will help you to get a lot of work done.

    </rant>
    What can this strange device be?
    When I touch it, it gives forth a sound
    It's got wires that vibrate and give music
    What can this thing be that I found?

  2. #2
    (?<!re)tired Mario F.'s Avatar
    Join Date
    May 2006
    Location
    Angola
    Posts
    8,445
    There is certainly a line between those who legitimately support that such and such language should not be used under any circumstances and those who legitimately argue such and such language has its uses. Clearly node.js belongs to the second group. But you also heard me argue for the first group on the "count to ten thread".

    One of the most troubling aspects of this time and age of social warriors, is that in an attempt to fight some kind of injustice we end up defending the extreme position at the other end. Take current nonsense of the Ze pronoun. So, snobbery exists for sure and that idiot surely qualifies. But I just need to point out (and I know this is not what you said) that not every similar position should be constructed as snobbery.
    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.

  3. #3
    Registered User
    Join Date
    Oct 2006
    Posts
    3,445
    Quote Originally Posted by Mario F. View Post
    There is certainly a line between those who legitimately support that such and such language should not be used under any circumstances and those who legitimately argue such and such language has its uses. Clearly node.js belongs to the second group. But you also heard me argue for the first group on the "count to ten thread".
    I did see your comments on that thread, and I actually agree with the points you made for that particular language. BASIC dialects of that style (non-procedural, with no concept of data structures) is really not useful for any meaningful programming tasks. Even assembly language is better in nearly every way.

    Quote Originally Posted by Mario F. View Post
    One of the most troubling aspects of this time and age of social warriors, is that in an attempt to fight some kind of injustice we end up defending the extreme position at the other end. Take current nonsense of the Ze pronoun. So, snobbery exists for sure and that idiot surely qualifies. But I just need to point out (and I know this is not what you said) that not every similar position should be constructed as snobbery.
    I agree. Some technologies are simply obsolete, and should be retired, for all purposes except nostalgia and hobby use.
    What can this strange device be?
    When I touch it, it gives forth a sound
    It's got wires that vibrate and give music
    What can this thing be that I found?

  4. #4
    Registered User MutantJohn's Avatar
    Join Date
    Feb 2013
    Posts
    2,665
    Node is good as a drop-in replacement for basic PHP. I think just like PHP, it's meant for smaller tasks. And you're 100% correct, it's amazing at this. Kind of. It's easy to saturate your event queue if you begin to move away from a CRUD back-end.

    If you also look at what goes into deploying a full Node app, it makes `sudo apt-get install lamp` seem a lot nicer. Node's about as low-level as C is in terms of abstraction but with none of the boons.

    Then you have Node kids. These are the ones that try to re-implement data structures you'd implement in C in terms of JS, ship their projects with Makefiles and try their hardest to pretend that Node is Haskell because it's functional programming, you just wouldn't get it, gosh, Dad, I'll take out the trash later! Ugh!

    Edit:

    I take that back. Generating HTML is straight-forward and simple in PHP. Node gives you the fun choice of either implementing an HTTP server or choosing from one of the 5 popular ones or from the 1000's of other implementations. Then you have to choose a templating engine and figure out how to ingegrate it into your particular server implementation.

    Basically, I think Node's ecosystem is needlessly low-level, there's no sense of standards anywhere and you don't get much benefit.

    The only thing Node does is easier than the other stacks is authentication. So it has that going for it at least.

    Edit edit:

    One thing I am sort of planning on doing is taking the Ramda library and seeing if I can re-implement it in terms of emscripten so basically it'll be a C++ representation of Ramda but then compiled to Ramda, one of the better JS libraries.
    Last edited by MutantJohn; 12-20-2016 at 10:06 AM.

  5. #5
    Registered User
    Join Date
    Oct 2006
    Posts
    3,445
    I'll just be happy when I can write code for Node in C++, and compile it to webassembly.
    What can this strange device be?
    When I touch it, it gives forth a sound
    It's got wires that vibrate and give music
    What can this thing be that I found?

  6. #6
    Registered User
    Join Date
    Oct 2016
    Location
    Wales, UK
    Posts
    12
    Quote Originally Posted by Elkvis View Post
    I did see your comments on that thread, and I actually agree with the points you made for that particular language. BASIC dialects of that style (non-procedural, with no concept of data structures) is really not useful for any meaningful programming tasks. Even assembly language is better in nearly every way.
    Just some points of correction. BBC BASIC is a procedural and structured BASIC. It's design was influenced by Pascal and COMAL. The use of GOTO and GOSUB, for example, is and always has been frowned upon within the BBC BASIC community. BBC BASIC for Windows, the implementation being used for the commercial applications discussed, does indeed support data structures. BBC BASIC for Windows also incorporates an assembler; so you can incorporate assembly code into your BASIC when needed.

  7. #7
    Registered User MutantJohn's Avatar
    Join Date
    Feb 2013
    Posts
    2,665
    Man, you're really into BASIC, Richey O_o

    I'll just be happy when I can write code for Node in C++, and compile it to webassembly.
    I'm very excited for wasm to come out.

  8. #8
    Registered User
    Join Date
    Oct 2016
    Location
    Wales, UK
    Posts
    12
    Quote Originally Posted by MutantJohn View Post
    Man, you're really into BASIC, Richey O_o
    I've come here to try and break the habit

    Seriously, I'll always love BASIC but I'm really enjoying learning C

  9. #9
    Code Goddess Prelude's Avatar
    Join Date
    Sep 2001
    Posts
    9,897
    making us look very petty and immature
    We are petty and immature. What's the problem again?
    My best code is written with the delete key.

  10. #10
    and the hat of int overfl Salem's Avatar
    Join Date
    Aug 2001
    Location
    The edge of the known universe
    Posts
    37,600
    Quote Originally Posted by Elkvis View Post
    There's a facebook <yawnnnnnnnnnnnnnnn>
    Sorry, gave up at that point.
    farcebook is the mos eisley of the internet.

    Programming Language Snobbery-2115997043_4c19ff1b52_o-jpg

    In the end, it's just being smart enough to use 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.

  11. #11
    Its hard... But im here swgh's Avatar
    Join Date
    Apr 2005
    Location
    England
    Posts
    1,687
    Learn binary it's impossible since it's machine-dependent language but you learn that no language will ever compete with it.

    On a serious note though, that flow chart that Salem posted more or less sums up most of the arrogance of the programming community when it comes to the language wars. People get frowned upon for using or even learning Visual Basic.NET over C# -- case and point - different languages but both compile to the same instruction set using the same Microsoft compiler.interpreter. Apples and oranges. I learned "Ada" when I was younger, most people I speak to now about the language are like.. " err, yeah but she's dead isn't she?" I rest my case.
    Double Helix STL

  12. #12
    Registered User MutantJohn's Avatar
    Join Date
    Feb 2013
    Posts
    2,665
    C++ programmers must consider themselves better than at least some other kind of programmer. Um... I would say maybe the Rust programmers? But no one's even using that language and if they are, they broke down and just put everything into unsafe blocks which defeats the purpose of the language!

    Edit:

    Oh, I just saw that the C++ - C# thing went both ways. Okay, that makes me feel a bit better.
    Last edited by MutantJohn; 12-21-2016 at 09:45 AM.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Importance of english language in programming language
    By Lea Pi in forum General Discussions
    Replies: 10
    Last Post: 04-17-2015, 07:43 AM
  2. What's the Difference Between a Programming Language and a Scripting Language?
    By Krak in forum A Brief History of Cprogramming.com
    Replies: 23
    Last Post: 07-15-2005, 04:46 PM
  3. which programming language should be used for socket programming?
    By albert_wong_bmw in forum Networking/Device Communication
    Replies: 8
    Last Post: 06-04-2004, 08:12 PM
  4. That other programming language
    By volk in forum A Brief History of Cprogramming.com
    Replies: 3
    Last Post: 05-14-2003, 05:42 PM
  5. C++ th programming language
    By moemen ahmed in forum A Brief History of Cprogramming.com
    Replies: 12
    Last Post: 02-09-2003, 04:09 PM

Tags for this Thread