Slashdot Mirror


Ask Slashdot: How Often Do You Switch Programming Languages?

An anonymous Slashdot reader writes: I always see a lot of different opinions about programming languages, but how much choice do you really get to have over which language to use? If you want to develop for Android, then you're probably using Java...and if you're developing for iOS, then you've probably been using Swift or Objective-C. Even when looking for a job, all your most recent job experience is usually tied up in whatever language your current employer insisted on using. (Unless people are routinely getting hired to work on projects in an entirely different language than the one that they're using now...)

Maybe the question I really want to ask is how often do you really get to choose your programming languages... Does it happen when you're swayed by the available development environment or intrigued by the community's stellar reputation, or that buzz of excitement that keeps building up around one particular language? Or are programming languages just something that you eventually just fall into by default?

Leave your answers in the comments. How often do you switch programming languages?

7 of 331 comments (clear)

  1. Well... by Pseudonym · · Score: 1, Insightful

    ...about every 2 hours, on the current job.

    Having said that, I speak over 60 programming languages (to varying levels of fluency) at last count, and I do the Pragmatic Programmers thing of doing another one every year. I may not be the best person to ask.

    --
    sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
    1. Re:Well... by Anonymous Coward · · Score: 1, Insightful

      Having said that, I speak over 60 programming languages (with the same fluency as a first-semester German student trying to speak Russian, because, 'hey, close enough, amirite?')

      FTFY

      Unless you have been programming for about 300 years, there is zero chance you have achieved fluency in more than 2 or 3 of these programming languages. Being able to print "Hello world," does not count as fluency, any more than being able to say, "Hello, my name is Robert," counts as fluency in a human language.

    2. Re:Well... by Pseudonym · · Score: 5, Insightful

      Unless you have been programming for about 300 years, there is zero chance you have achieved fluency in more than 2 or 3 of these programming languages. Being able to print "Hello world," does not count as fluency, any more than being able to say, "Hello, my name is Robert," counts as fluency in a human language.

      Once you get past the first 6 or so, assuming you chose them carefully, the similarities are apparent. But if it helps, merely being able to write a nontrivial program in a given language doesn't mean that you can call yourself a "X programmer".

      Consider what it means to be a Java programmer. I know Java, the language, extremely well. Well enough to write a conforming Java 1.7 to bytecode compiler, I would think. Now here's what I don't know: JSF, Spring, Swing, Maven, Ant, Struts, Android SDK, Eclipse RCP, etc. It's knowing a decent amount of that stuff that which lets you call yourself a "Java programmer" in good conscience. I can write programs in Java, but I'm not a Java programmer.

      --
      sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
    3. Re:Well... by CastrTroy · · Score: 5, Insightful

      I get where you're coming from. Being a programmer in "X" is more about knowing the tools and available libraries than it is about knowing the language itself. Somebody who works with C# could probably be very productive un VB.Net within a day or two, even though the languages appear quite different. On the other hand, C# and Java look quite similar in their syntax, but generally don't have much in common in terms of actually working with them. It might take a month or more to get reasonably productive it you switched from C# to Java.

      --

      Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
  2. Stay the course by bidule · · Score: 3, Insightful

    There's no point in changing language often. You stick to one and master it. I have a coworker who handles most legacy apps, it doubles the time taken to make fixes because he's in the wrong context.

    I'd say 5 years is a good run for a language, you can return to it in a day later on. Sure you can do a quick hack in a non-mastered language, but your style aint stable and 3 months down the line it'll be spaghetti.

    --
    ID: the nose did not occur naturally, how would we wear glasses otherwise? (apologies to Voltaire)
  3. Re:So far, I don't by Anonymous Coward · · Score: 1, Insightful

    I've seen large bodies of Python code become unmaintainable (essentially impossible to delete dead code because of excessive interdependencies that nobody understands and only cause a runtime error once in a blues moon).

    <sarcasm>As opposed to other programming languages, where even if the software architects and developers are not properly trained, the resulting code is still maintainable.</sarcasm>

  4. Re:So far, I don't by Marxist+Hacker+42 · · Score: 1, Insightful

    My sentiments exactly. I'm currently reverse engineering a major enterprise-level mission critical report- and it's data acquisition is based entirely in SSIS, DTS, and VBS scripts, over 300 of them, run from a task scheduler.

    GRRRR.

    --
    SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.