Forgot your password?

typodupeerror
Programming Java IT Technology

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

Posted by timothy
from the like-a-commercial-for-light-beer dept.
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."
This discussion has been archived. No new comments can be posted.

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

Comments Filter:
  • Grails and Groovy (Score:4, Interesting)

    by Foofoobar (318279) on Saturday August 15 2009, @03:29PM (#29077857)
    I'm rediscovering the fun of Java with Grails and Groovy. Groovy takes the best of PHP, Python and Ruby and integrates it into Java and Grails finally creates a framework without a million XML configs. It has made web dev in Java easy and pleasurable.
  • Bad Conclusion (Score:5, Interesting)

    by malevolentjelly (1057140) on Saturday August 15 2009, @03:38PM (#29077929) Journal

    Perhaps this only indicates that Java and C# are used more by professionals and Python and Ruby are used more by amateurs. No matter where they work (whether or not they're using Java or C# or even programming at work), it merely indicates that people who use Python and Ruby are active during the weekend.

    Perhaps this simply means that Python and Ruby are more popular with amateur F/OSS and web developers, something that is so obvious it doesn't even necessitate an article.

  • Re:What about Perl? (Score:5, Interesting)

    by ducomputergeek (595742) on Saturday August 15 2009, @03:48PM (#29077977) Homepage

    Depends on what world you're living in. If you're an Unix Systems admin, there is an aweful lot of perl around. Especially if you are doing any type of log analysis. We've used PERL to generate billing reports and other tasks on the backend for years and the same goes for a lot of systems tasks. But recently we've found ourselves going back to PERL for a lot of our web work.

    We've just started porting our web-based apps from PHP to PERL because we're moving from PostgreSQL to an Enterprise class database system that has 2 PERL modules that support it and PHP has nothing but ODBC. And our tests show that MOD_PERL with the database DBI module is much faster than PHP/ODBC. Script execution time is slower, but database access time is an order of magnitude better in PERL.

    That being said, all of our Desktop GUI interfaces are written in JAVA. We looked at Python and C#, but the local university teaches 4 - 6 semesters of JAVA in their CS department. We can always find someone local to maintain Java based code. Not so much with Python. C# is nice, but JAVA is still write once, run on any desktop. So we don't have to worry if our clients are running Windows, Mac, or Linux. It just works.

  • by wdhowellsr (530924) on Saturday August 15 2009, @03:55PM (#29078029)
    Willie Sutton, a famous bank robber from the early twentieth century, when asked why he robs banks said, "Because that is where the money is."

    I'm a contract .Net C# programmer and the vast majority of jobs available right now are C# and Java. Unfortunately the corporate world follows the mantra, "You can't go wrong with .Net C# or Java".

    The same was said of IBM pretty much throughout the seventies and eighties. Hopefully Ruby and Python will start to make some corporate inroads but I don't see it happening any time soon. wdhowellsr
  • by arevos (659374) on Saturday August 15 2009, @03:55PM (#29078035) Homepage

    but imo nothing comes close to Java in the maintainability department.

    I disagree, for two reasons. First, as Java is a very restrictive and verbose language, projects written in Java tend to use more lines of code than projects written in, for instance, Python. I find that it's much easier maintaining a small amount of complex code than it is to maintain a large amount of simple code.

    Second, you cannot reduce the complexity of a project by restricting the complexity of the programming language you write it in. By not supporting complex types or lambda expressions Java becomes a more straightforward language, but the cost is that Java APIs are generally more complicated than equivalent APIs in other languages. Take a look at almost any library written in Ruby and contrast the API to an equivalent library in Java; 9 times out of 10, the Java API will a large number of methods and classes that the Ruby version can sidestep through the use of blocks and dynamic classes.

    In my experience, Java is one of the least maintainable languages in widespread use.

  • Python Matlab (Score:5, Interesting)

    by stokessd (89903) on Saturday August 15 2009, @03:55PM (#29078045) Homepage

    I've been making inroads at the (unnamed) aerospace company where I work in getting people to use Python and the pylab and numpy libraries in place of MATLAB. Not only is it free vs. several thousand dollars, but it's faster, more flexible, and makes your teeth whiter. I've been much happier and more productive since I switched.

    We also use "R" for a lot of analysis rather than MATLAB.

    Sheldon

  • by arevos (659374) on Saturday August 15 2009, @04:02PM (#29078093) Homepage

    When I start a new professional project, I pick the most productive language for the job, according to the circumstances. Usually it's Java because this is the language that everyone in my industry is going to know.

    I agree with the gist of your post that it's easier to find Java developers than Ruby developers. But I find your use of the word "productive" a strange choice in this case. Wouldn't "maintainable" or "well-known" be better? Java may be many things, but I'm not sure it's particularly productive.

  • by K. S. Kyosuke (729550) on Saturday August 15 2009, @04:14PM (#29078179)
    I like the view expressed in the preface to Simply Scheme.

    There are two schools of thought about teaching computer science. We might caricature the two views this way:

    * The conservative view: Computer programs have become too large and complex to encompass in a human mind. Therefore, the job of computer science education is to teach people how to discipline their work in such a way that 500 mediocre programmers can join together and produce a program that correctly meets its specification.

    * The radical view: Computer programs have become too large and complex to encompass in a human mind. Therefore, the job of computer science education is to teach people how to expand their minds so that the programs can fit, by learning to think in a vocabulary of larger, more powerful, more flexible ideas than the obvious ones. Each unit of programming thought must have a big payoff in the capabilities of the program.

    It always seemed to me that both approaches have their place, and I would also argue that both are sometimes used inappropriately.

  • bad summary... (Score:3, Interesting)

    by jgarra23 (1109651) on Saturday August 15 2009, @04:15PM (#29078185)

    "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."

    this is specious reasoning, just because they're using them on the weekend doesn't mean that the languages are "more fun to use". I tend to drive my car on the weekend but it's definitely not as fun as when I'm walking on the weekdays.

    I'm not arguing with the conclusion I just think the presumption is bogus.

  • Re:Python Matlab (Score:4, Interesting)

    by Manhigh (148034) on Saturday August 15 2009, @04:53PM (#29078431)

    I've been preaching the same exact path. Python + numpy + scipy + matplotlib is pretty damn powerful. It would be preferable if matplotlib included 3D visualization, but Mayavi is very good.

    My group used to rely heavily on Excel and VBA. When Microsoft dropped VBA support on the OS X version of Office, we were left in a lurch. I'm hesitant to develop a similar dependency on MATLAB.

    C and Fortran for anything requiring speed, Python for everything else.

  • Re:Grails and Groovy (Score:2, Interesting)

    by Xymor (943922) on Saturday August 15 2009, @05:11PM (#29078529)
    Grails mono should be "Have your cake and eat it too". It's amazingly productive and it integrates seamlessly with current java environments and skillset.

    Groovy however i find not as amazing. Specially with all inconsistencies that \type annotation\ bring to the table.The humongous stacktraces are a sore in the eyes and complicate debug. The current IDE support is lacking but rapidly improving with SpringSource team efforts(STS2.1 has a pretty decent groovy&grails support).

    There's a lot of room for improvement but it's definitely heading the right way.
  • by rec9140 (732463) on Saturday August 15 2009, @08:20PM (#29079733) Homepage

    >Wow, remind me never to apply to your company. You're obviously an asshole.

    Thanks for the promotion!

    Plain and simple I've spent 2 years of wasted effort and $$$ on a .net/asp crapfest that was completely coded from the ground up in PHP, ECMAScript, Java on Linux using MySQL in a matter of 2 months for a whole lot less $. Is far more reliable and faster.

    Thats great, then they should abandon the crap and move to Python, C/C++, PHP, Java etc. full time....

    My experience is that any one with .net/asp/c# experience and background will just gum up the works and want to go running back to mother ms!

    I am the Head Nerd, Geek and Asshole in charge of all things IT and we don't do win on servers and won't do it on desktops either shortly.

    Those with win experience need not apply at my company. Those with strong Linux, Unix, Solaris, BSD, AIX,HP-UX, VAX/VMS, php, Java, C/C++, Apache, and MySQL skills should apply.

    Again, thanks for the promotion, I'll be watching the pay increase in the check next month!

  • Re:WWTBD? (Score:3, Interesting)

    by Coryoth (254751) on Saturday August 15 2009, @10:53PM (#29080427) Homepage Journal

    Of course if you take this line of thought seriously then you realise that Java and C# are the light options that don't really force you to do enough. If you were serious about being forced to be more explicit for the sake of maintainable code you would be using Eiffel, or Spec#, or JML abd ESC/Java2 with your Java, or SPARK-Ada, or writing specifications in B or Z. I'm betting you don't do any of that though because you view it as "too much work", even though many of those options (such as Spec# of JML) really aren't that much more work if you really are serious about robust maintainable code.

  • by diablovision (83618) on Sunday August 16 2009, @01:37AM (#29081167)

    Brian Kernighan would retort,

    "Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it."

    C++ seems to be language of choice for geniuses to hang themselves these days.

  • by acroyear (5882) <jws-slashdot@aboutjws.info> on Sunday August 16 2009, @11:06AM (#29083439) Homepage Journal

    It is as it always has been: the right tool for the job.

    The kinds of at home projects someone does are the kind for which Ruby and Python (and PHP) are optimized for. Why? Because they themselves evolved to the directions of the userbase who were already doing those kinds of projects. They have requirements, these languages meet them.

    These languages do NOT quite meet the requirements of the projects that happen in the professional workplace, just like a $100 power-tool from Home Depot won't quite be the right thing involved when building a 10 story office. Integration with existing tools and already written software (a BIG, HUGE, DON'T EVER TRY TO REWRITE THE WORLD FROM SCRATCH AGAIN requirement), a history of professional support, perhaps a corporate name to back it up (and while /.'ers don't give Microsoft any respect, the rest of the world does, so deal). These are the requirements for professional software development.

    "fun" never enters into it.

    Ease of use, yes, but that ease of use is driven by what you intend to do with it. If you use the tool for the types of tasks for which it was designed, it is easy to use. If I try to get all transactional and cross-app integrated with PHP, it's a pain, unless I use a higher-level webservice abstraction. If I try to write a simple tiny blog-like webpage in Java, it's far too stressful because there are so many pieces involved that are necessary for more "mission-critical" work that I have to implement even though I don't care.

    Right tool for the right job.

    As it always has been.

  • Re:What about Perl? (Score:3, Interesting)

    by severoon (536737) on Monday August 17 2009, @03:37AM (#29089157) Journal
    This is ridiculous...just b/c people use languages on weekends doesn't mean they're "more fun" and it certainly doesn't justify using them at work. It only means that people are using their weekends experimenting around with something new. Perhaps it's because personal projects aren't that large so they don't need the robustness of an enterprise language. There's tons of reasons TFA is flawed...

For most men life is a search for the proper manila envelope in which to get themselves filed. -- Clifton Fadiman

Working...