Choosing between Java and Python
<p>My team is faced with change. We develop on Unix, on backend servers. We do no GUI development. We are the business logic between another team's Java front end (XML interface) and the database. Currently our codebase is large, and it's all in C. We are held back by having to work with a very primitive ancient home-made  non-relational non-distributed database with a very primitive C-only library (we inherited it from the previous wave of programmers 12 years ago). We have to do a major rewrite of everything to get away from this database and on to Postgresql. With such a major rewrite coming, it has been decided that we may as well change language at the same time because it would make the conversion simpler than doing it in C. We are enthusiastic about this, career-wise. We want to move to unit testing, frameworks, rapid development, as long as we maintain our accuracy and minimal bug count.</p>

<p>However, there is another team in our company, led by one developer who is an enthusiastic Java developer. He has strong influence over our manager. He wants us to move to Java for his own reasons, mainly so we can do some of his work, something we wish to avoid at all costs because his work is an abomination. One of our most important elements in choosing a language to switch to, is to maintain our independence and not become part of the Java pusher's world.</p>

<p>The database conversion has started, in that we now mirror the home-grown database into Postgresql, and the two are in sync and stay in sync. We are careful to proceed in stages, so it's not a big-bang conversion. Now we can start converting individual processes to pull from Postgresql instead of the home-grown database. We will start with the smaller and simpler processes, convert them, get the conversion experience, develop our libraries, and then slowly tackle the more complex processes. The temptation is to just do it in Python and not tell them until we are too far down the conversion process.</p>

<p>By now, our manager is aware that there are two desires in the department - Java and Python. Our manager is technical, up to a point, but he is strongly influenced by the Java developer. We must gather our arguments and present them and argue our case.  We have no actual Java experience, but we have some Python experience and are gaining more rapidly in our own time. We have examined Java and think that it is wordy and similar to C in many ways and will not help us do the rewrite quickly and will not help us with future rapid development. We have begun working in Python and love the simplicity, the terseness, the rapid development. We believe we could maintain our accuracy and achieve rapid development by moving to Python.</p>

<p>So, in the interests of our careers, should we give in and do it in Java, or should we push ahead and argue for Python? What would be best for the business, and what would be best for us?</p>

<p>I wanted to know what the community thought.</p>
