Slashdot Mirror


C# and Java Weekday Languages, Python and Ruby For Weekends?

Dan Lorenc writes "Using the StackOverflow.com data dump, I measured the activity of various programming languages throughout the week. The results: Ruby and Python saw a rise in questions asked on the weekend while C# and Java saw a dropoff in activity on the weekend. This means that more programmers are using Python and Ruby on the weekend for their personal projects, showing that these languages are more fun to use. Show this experiment to your boss the next time you are selecting a programming language for a project at work."

12 of 389 comments (clear)

  1. What about Perl? by Mordok-DestroyerOfWo · · Score: 5, Funny

    Where does Perl fit into all of this? Is that at night when the leather and chains come out?

    --
    "Never let your sense of morals prevent you from doing what is right" - Salvor Hardin
    1. Re:What about Perl? by schmidt349 · · Score: 5, Funny

      Of course. What exactly did you think

      use strict;

      means?

    2. Re:What about Perl? by Presto+Vivace · · Score: 5, Funny

      Perl is for formal occassions, like when you wear hat and gloves.

  2. I think you're doing it wrong.. by Anrego · · Score: 5, Insightful

    Show this experiment to your boss the next time you are selecting a programming language for a project at work.

    I totally agree that Java isn't fun. It's very restrictive and almost forces even the simplest task to be forced into a complex object oriented structure. It is definently not a language to just play around and hack stuff together.

    And this isn't ground breaking news either.. most people who use java at work are well aware that it isn't much fun to code.

    The reason it's chosen is that all that extra code and restrictiveness makes for some very maintainable code. Everyone (or almost everyone) adheres to a strict coding convention and general approach that makes code across projects very consistant. The fact that there is a massive standard library, in addition to a set of mature defacto 3'rd party tools also contribute to this.

    And I know there are gonna be all kinds of comments and success stories about how ruby and python are _more_ maintainable and faster and more efficiant and can walk on water and will give you a BJ if you import the right library.. but imo nothing comes close to Java in the maintainability department.

    The short story is a coder playing around in his spare time has a different set of priorities than a developer at work. When you're playing.. use what's fun.. when your working.. use what works.

    1. Re:I think you're doing it wrong.. by K.+S.+Kyosuke · · Score: 5, Insightful

      The problem is that Python & co are more like Basic than anything else (it's a lot like dressed-up classic Basic)

      Yes, because classic Basic had functions with named arguments, lexical scoping, call stack... Would you mind to share your insight into this with us? The line of reasoning that equates the so-called "classic Basic" with Python?

      and that the strictness is missing which in turn means that what one person has written is hard to maintain by another person

      There are various kind of strictness and I can't think of any that a) would ensure that one person understands another person's code and b) could not be broken in Java while being easily broken in Python, e.g.

      The point behind statically and strongly typed languages is that you will catch a large number of bugs during compilation, but if the type is assigned during runtime you get a lot of hidden bombs that are just waiting to go off.

      Java is hardly an example of a statically and strongly typed language. Most Java value types are actually object classes, and these are heap-allocated objects checked at runtime. Combine this with the fact that you can cast an expression to another type and you end up with runtime exceptions. Now if you were talking about ML or Haskell, that would be something different, but you haven't actually mentioned any good statically and strongly typed language in your post.

      There are of course problems with Java too, but they are hardly solved with a script language.

      Python, e.g, was not designed to be a scripting language. It can be used in that role with great success, but that does not make it one.

      --
      Ezekiel 23:20
    2. Re:I think you're doing it wrong.. by ultrabot · · Score: 5, Informative

      C/C++ aren't good either, but for small solutions C can be useful while C++ has the disadvantages of both C and object-orienting combined.

      This betrays utter lack of understanding of C++. C++, when done properly, has very little of the problems of C (type unsafety and tedious manual memory management come to mind first).

      --
      Save your wrists today - switch to Dvorak
  3. WWTBD? by migla · · Score: 5, Insightful

    "Show this experiment to your boss the next time you are selecting a programming language for a project at work."J

    What would the boss do? Maybe he'd come to the conclusion that Java and C# are for professionals while Python and Ruby are for hobbyists?

    --
    Some of my favourite people are from th US; Vonnegut, Chomsky, Bill Hicks.
    1. Re:WWTBD? by lukas84 · · Score: 5, Funny

      No, it clearly shows that shops using C# and Java employ lazy bastards that don't work on weekends ;)

  4. Re:Programming lanugages - just like mullets by slarrg · · Score: 5, Funny

    You seem to be built wrong, my python is in the front.

  5. Really? You think that's what it means? by bonch · · Score: 5, Insightful

    This means that more programmers are using Python and Ruby on the weekend for their personal projects, showing that these languages are more fun to use.

    What's to stop me from coming to a different conclusion, such as that Python and Ruby are toy languages not meant for serious projects? It would be just as presumptuous, wouldn't it?

  6. Ghaaaaaa???? by TiggertheMad · · Score: 5, Insightful

    ...showing that these languages are more fun to use.

    ...And in other news, older people seem to die more often than younger people, showing that being dead is much more fun as you get older.

    --

    HA! I just wasted some of your bandwidth with a frivolous sig!
  7. REFACTORING by TwinkieStix · · Score: 5, Insightful

    Statically typed languages allow for some very aggressive refactoring tools. Modern software engineers that work all day in a programming environment can easily move code around as if it were paint on a canvas using good modern refactoring tools. Pushing methods in, out, and across interfaces, changing the type of a method return, or it's name, and altering the design of a complex inheritance hierarchy are all done with simple keyboard shortcuts in Eclipse when programming in Java. While I've not used it, I understand that C# developers have access to some similarly complex tools.

    And, the compiler can act as a first line of defense, alerting the user of bugs before an executable is even created. All of these refactoring tools work to refactor the unit tests as well, so code written using TDD isn't harmed by all of these changes.

    This kind of stuff I just haven't been able to replicate using Dynamic languages, which is why I choose them for my small personal project, and am glad I use a statically typed language that scales to hundreds of developers and millions of lines of code at work.