Does Python work in larger teams?

I read this post last night and it made me think. I like python and "batteries", pypi, etc. But I just made python solo. Never tried this on a team.

Are the points that Ted mentions? If so, do the teams deal with them? Does Python work in teams or even large teams? Or does it kill performance?

I personally see the problems that he mentions when I return to my old code. Even when working with other modules, sometimes I need to look inside. I would like to hear people with experience in this.

+6
python collaboration
source share
4 answers

Python works great in teams. Regardless of whether the language works in large teams, it largely depends on how well the team works together and has little to do with the language.

+13
source share

I am currently working on a large Django application, and in my previous work I was working on a large Java project (a desktop application, not a website, but still relevant to this discussion), and I'm kind of torn between the agreement and disagreement with the author.

While I'm enjoying Python on Java and have a lot of experience with other dynamically typed languages ​​like Ruby and Objective-C, I'm still not sure which is better (static or dynamic). Sometimes in Python-land, I think it would be better to have static types and a compiler to prevent some errors; I don't like the Java type model, but Scala has a decent type system that doesn't interfere, but prevents a lot of errors.

However, I think the success / failure of using Python or Java has more in common with work experience and experience. I feel this article would be better entitled, “Distracting from Java makes me nervous,” as the author seems to basically say, “I have experience with Java. I don't understand / have experience with Python. More convenient writing Java code. " I think experienced Python developers learn to work with most of the "problems" that they perceive; Python is not Java and requires a different programming approach.

I also had to laugh a little at this line:

Java has a well-thought-out hierarchy of checked and executable exceptions.

I think most would agree that the Java exception hierarchy is confusing at best, and that the checked exceptions were a successful but unsuccessful experiment that actually doesn't make the code more reliable (I believe they do if they use it correctly , but how many Java programmers use exceptions correctly?).

+7
source share

I have been working on teams using Java, and now I'm working on a team using Python. With all things in mind, I would say that Python code is much more accurate and much easier to understand than the Java code that my other teams created. The whole "There must be one - and preferably only one - an easy way to do this." Mantra helps a lot.

I agree with the author’s point about PyDev ... my team has used PyCharm in the last few months, and it was AMAZING !!!

An abstract on Python exceptions is, in my opinion, not very good. In the Java world, most checked exceptions (exceptions that are listed after the throws keyword in method definitions) are usually just caught and re-thrown as runtime exceptions. It is widely believed that Java should not even check for exceptions and instead use an exception system that is closer to what Python currently has. See this article for more information on checked Java exceptions. .

All in all, I think teamwork with Python vs Java - I prefer Python. I have been working in Java teams for 6 years, and in a Python team for 6 months, and I have seen tremendous performance benefits from pure, readable Python syntax.

+1
source share

Indeed, Python does work in large teams, but if you compare it to other languages, it definitely has flaws. First, for things like C # and Java, there are more tools related to the team. I worked in Eclipse for large projects in both Python and Java, and the integration in the team worked better in Java, in particular, for the creation and automatic formatting of documents.

But one thing that I really liked about working on a large Python project was its readability. In Java, I most often wanted encoders to encode code, but Python was easier to understand. Of course, this can also be related to how both projects were encoded, who encoded them, and my abilities in two languages.

0
source share

All Articles