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."
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
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.
"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.
You seem to be built wrong, my python is in the front.
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?
...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!
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.