aspose file tools*
The moose likes Jobs Discussion and the fly likes Is Python better than Java? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Careers » Jobs Discussion
Bookmark "Is Python better than Java?" Watch "Is Python better than Java?" New topic
Author

Is Python better than Java?

Simpson Kumar
Ranch Hand

Joined: Mar 19, 2008
Posts: 261
I'm working on java since 6 years, now I'm working in a school as a Sr. java developer and joined recently for specific these techs. Suddenly my upper management has decided to work on Python and asked me to work on this. I got shocked and I feel worry on downgrading my tech skills. I thought of increasing my skills on java by hearing their words on java while my interview was going.
Now what am I supposed to do? is that better to continue on the Python or better to come out from this job and get another one. Please some suggestions are really appreciated to help me.



Thanks,
Kumar
Gregg Bolinger
GenRocket Founder
Ranch Hand

Joined: Jul 11, 2001
Posts: 15300
    
    6

First and foremost, no one language is better than another. It depends on what needs to be done. Secondly, this seems more about your job than python/java so I am going to move it to our job discussions forum.


GenRocket - Experts at Building Test Data
Jeanne Boyarsky
author & internet detective
Marshal

Joined: May 26, 2003
Posts: 31062
    
232

Kumar,
What's wrong with learning Python and gaining experience in that?


[Blog] [JavaRanch FAQ] [How To Ask Questions The Smart Way] [Book Promos]
Blogging on Certs: SCEA Part 1, Part 2 & 3, Core Spring 3, OCAJP, OCPJP beta, TOGAF part 1 and part 2
Freddy Wong
Ranch Hand

Joined: Sep 11, 2006
Posts: 959


I got shocked and I feel worry on downgrading my tech skills.


You'll be surprised on what Python can do and Java can't.


SCJP 5.0, SCWCD 1.4, SCBCD 1.3, SCDJWS 1.4
My Blog
Joe Harry
Ranch Hand

Joined: Sep 26, 2006
Posts: 9622
    
    2

Simpson Kumar wrote:I'm working on java since 6 years, now I'm working in a school as a Sr. java developer and joined recently for specific these techs. Suddenly my upper management has decided to work on Python and asked me to work on this. I got shocked and I feel worry on downgrading my tech skills. I thought of increasing my skills on java by hearing their words on java while my interview was going.
Now what am I supposed to do? is that better to continue on the Python or better to come out from this job and get another one. Please some suggestions are really appreciated to help me.



It sounds like a good opportunity. Be glad that they did not ask your to leave the company just because you are a Java programmer and not a Python developer. Just grab the opportunity.


SCJP 1.4, SCWCD 1.4 - Hints for you, Certified Scrum Master
Did a rm -R / to find out that I lost my entire Linux installation!
Kj Reddy
Ranch Hand

Joined: Sep 20, 2003
Posts: 1704
It depends what you like to be. If you want to be just a "Java Programmer/Developer" you should not work on Python. But if you want a "Software Engineer/Developer" you should be excited to jump into Python Programming. If you ask me I prefer not to be just a "Java Programmer", who knows tomorrow something better may come.
Tim Holloway
Saloon Keeper

Joined: Jun 25, 2001
Posts: 16305
    
  21

"Better" depends on context. This is the Jobs Discussion forum, and from that point of view, you'll find a lot more Java Positions Available advertised than you will for python.

However, Python excels for Quick-and-Dirty, where the need to "Git 'R Dun" is more important than rigorous compile-time checking, security, performance or scalability. As an example, I needed a fast simple way to convert a CSV file to QIF format the other day. In olden time, I'd probably have used Perl, but Perl's a better choice when regular expressions are involved - playing the CPAN lottery to get a CSV reader didn't appeal to me. I ruled out Java, because I didn't want to go to the overhead of setting up a Java project, chasing down the Jakarta CSV library, etc., etc.. I knew that Python had a pre-installed csv package. so I chased down an example. Net result, about 1/2 hour of labor and I was able to accomplish the task in about 10 lines of code, end-to-end.

On the other hand, while there are Python web frameworks, and they're good for certain things, I wouldn't care to institute an online banking system using them. They don't have the tight security heritage, there are fewer tuning options, and since Python gets a lot of its "productivity" by deferring some of the error checking until code actually gets executed, there's more chance that a really horrible bug can lie in wait until it blows production.


Customer surveys are for companies who didn't pay proper attention to begin with.
Hussein Baghdadi
clojure forum advocate
Bartender

Joined: Nov 08, 2003
Posts: 3479

Tim Holloway wrote:
On the other hand, while there are Python web frameworks, and they're good for certain things, I wouldn't care to institute an online banking system using them. They don't have the tight security heritage, there are fewer tuning options, and since Python gets a lot of its "productivity" by deferring some of the error checking until code actually gets executed, there's more chance that a really horrible bug can lie in wait until it blows production.

I think this makes unit testing a necessity for dynamic languages (and compiled languages).
Tim Holloway
Saloon Keeper

Joined: Jun 25, 2001
Posts: 16305
    
  21

John Todd wrote:
I think this makes unit testing a necessity for dynamic languages (and compiled languages).


That, unfortunately, has 2 problems.

1. There's an old saying that testing doesn't prove the absence of bugs, only their presence. If you don't test for a condition - either because it's a condition that no one thought of or for whatever reason, the tests will succeed, but the product may fail. And Murphy says "Guess When?". Strongly-typed languages and rigorous frameworks are no silver bullet themselves, but they do provide a lot of built-in checking that comes in automatically without having to be explicitly coded, and the type checking gets done every time you compile, not just in the Testing phase.

2. Quick and Dirty means just that. If the decision was made to use a Q&D setup, chances are that time and/or money were considerations. Since Unit Tests can be written "Later, when there's Time", they're likely to be too little, too late or not at all (after all, the system runs just fine, doesn't it?).
chris webster
Bartender

Joined: Mar 01, 2009
Posts: 1872
    
  16

Well, I don't see how acquiring a new skill can possibly mean "downgrading" anything. I'd love to get paid for learning a new skillset, instead of always having to do so in my spare time!

Python and Java are typically used for different things, so you can't simply claim one is "better" than the other. But learning Python will expose you to different ways of doing things that may be helpful when you move onto other tools in future as well.

And if you don't like learning new stuff, you're in the wrong business!


No more Blub for me, thank you, Vicar.
Sandeep Awasthi
Ranch Hand

Joined: Oct 23, 2003
Posts: 597
java+python on resume is certainly more valuable than java alone.


Sandeep
chris webster
Bartender

Joined: Mar 01, 2009
Posts: 1872
    
  16

Tim Holloway wrote:
John Todd wrote:
I think this makes unit testing a necessity for dynamic languages (and compiled languages).


....
Quick and Dirty means just that. If the decision was made to use a Q&D setup, chances are that time and/or money were considerations. Since Unit Tests can be written "Later, when there's Time", they're likely to be too little, too late or not at all (after all, the system runs just fine, doesn't it?).


Fair comment, but not all dynamically typed languages are equal in this respect. Groovy/Grails can certainly be combined with standard JUnit-style testing i.e. you can do test-first development with these tools. Not sure about Python - maybe that would be a good open-source project for somebody to practice their new Python skills on...?
Tim Holloway
Saloon Keeper

Joined: Jun 25, 2001
Posts: 16305
    
  21

http://pyunit.sourceforge.net/

The problem is, it doesn't matter what type of testing framework you have unless A) you actually have someone writing tests and B) they write a test that will catch the problem.

In Java the following will never get past the compiler:


In Python, until you actually squeeze, you won't blow up, and even then only if you're only randomly squeezing watermelons but usually squeezing limes.

Actually, in the case of Python it's worse, since the entire script can be total binary garbage right up to the instant you invoke it for the first time. That's different than, say, Smalltalk, where the compiling is done as part of the editing process.

This isn't to say that I don't think Python is a good language to know. It has become the "Visual Basic" of the open-source world, and it has the advantage of being much more evolutionarily advanced than BASIC. It's used in some very important places, including the Anaconda boot application (I make no apology for Red Hat's little jokes), the Xen infrastructure, and many other places besides.

All I'm pointing out is that There Ain't No Such Thing as a Free Lunch, and that in my experience, you can shift around which phase of the project the heavy labor has to be done in, but the sum total of time and effort for pretty much any language I've worked with - excepting possibly assembly language - is about the same. I prefer my pyrotechnics to occur on the privacy of my own desktop, but I fully understand the appeal that showing screens ASAP has to many people.

 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Is Python better than Java?