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?

10 of 331 comments (clear)

  1. When you pry my keyboard from my cold dead fingers by macker · · Score: 5, Informative

    But then, I only fry firmware-burgers, so 'C' and assembler are it...unless you wanna count all the assembler flavors, then it would be 2 or 3 times a day...

    --
    (T)he (O)ld (M)an
  2. How many pieces of hardware are in the system? by JoeMerchant · · Score: 5, Informative

    Small embedded ARM processors: C

    Mid-sized embedded Linux: C++

    Bloaty multi-core GUI with printer drivers, etc. running on Windows: C#

    Cloudy web servery type stuff: Javascript

    And, all of these can be found in a single shipping product. Go Team Silo Go! Hope it sticks when you toss it over the wall!

  3. Comment removed by account_deleted · · Score: 5, Interesting

    Comment removed based on user account deletion

  4. Man, I'm glad I got out of IT by DNS-and-BIND · · Score: 5, Informative

    One thing I do not miss (besides being woken up by the pager) is having my knowledge obsoleted and being forced to learn new things. Oh, but you're supposed to never stop learning, stay young, blah blah blah. Bullshit, that's a bunch of pro-corporate propaganda. Now, I learn something...it sticks. 5 years later, I still know the thing. In fact, after 5 years I'm probably quite good at it. I will stay quite good at it until it changes (slowly or not at all) or I die. Sure, new laws and regulations come along every so often and they must be mastered, but it is nothing like IT. I like this way much better than becoming an expert and then having to start all over at square 1.

    --
    Shutting down free speech with violence isn't fighting fascism. It IS fascism!
  5. Re: When you pry my keyboard from my cold dead fin by Anonymous Coward · · Score: 5, Funny

    Grandpa, Mom says you need to get off the computer.

  6. 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});
  7. Switch? by drolli · · Score: 5, Interesting

    I dont switch. I start to use programming languages when is see it fit and stop to use them when I see it fit. It is not a 'Everything in one language' thing. Depending on the project, languages switch positions.

    1987-1990: Basic
    1988-today: Assembler
    1989-1993: Pascal
    1990-today: C/C++
    1995-2010: perl
    1996-today: octave/matlab
    1999-2005: Autolisp
    2000-today: Java
    2002-today: Python
    1995-today: bash
    2007-2011: tcl/tk

  8. Re:So far, I don't by TheRaven64 · · Score: 5, Interesting
    C++ has recently replaced a lot of scripting language usage for me. C++14 has most of what I want from a scripting language:
    • First-class closures (and the 'auto' type on parameters in lambdas in C++14 is really useful).
    • Mostly automatic memory management (shared_ptr / unique_ptr).
    • Regular expressions.
    • Fast I/O
    • A rich set of efficient built-in data structures (associative arrays, lists, vectors, sets)
    • Reasonable performance
    • Multithreading
    • The ability to package my scripts into a library for embedding in other applications later

    For small programs, compiling C++ at -O0 takes under a second and the result runs faster than any interpreted language.

    --
    I am TheRaven on Soylent News
  9. 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.
  10. Re:So far, I don't by pr0fessor · · Score: 5, Funny

    So you are the one that writes all those scripts in the task scheduler with no error handling or logging that fail all the time and make my life a living hell.