Python for the Java Programmer

I have started to embrace all things Python at my new position as a Software Developer at a Cleveland Ohio based company called OnShift. OnShift is a startup that has just over 100 employees and steadily growing customer base in the Assisted Living / Nursing Home employee staffing namespace.

I have been doing Java (web) development for almost 9 years now. Much of the web based technologies are universal. But, on the backend, Python is a whole new world to me.

I am ending my first month at OnShift and I had a little bit of downtime in between release crunches to read an web based book: Python for Java

After being immersed in Python for about a month. There are many features of the language I have begun to take a liking to. Most notable is its emphasis on readability and the concept of batteries included.

I have been listening to several podcasts (Talk Python to Me & Podcast.init) to get familiar with the ecosystem. The open source Python community is diverse and energetic. I'll try to take notes when something perks my ears in these podcasts in the future.


In his web book, Deepak Sarda has some tables that relate Java technologies to Python:

Python for the busy Java Developer

History

Java Python
James Gosling Guido van Rossum
From C++/Oak From ABC
1.0 - Jan 1996 1.0 - Jan 1994
8.0 - Mar 2014 3.4 - Mar 2014
JSR PEP
Commercial Community

Tools

Java Python
.java .py
.class .pyc
java.exe + javac.exe python.exe
IntelliJ IDEA PyCharm
Eclipse JDT PyDev
Beanshell (?) REPL

Collections

The built-in Python collections come in four varieties:

Type Java Equivalent Example Value
list java.util.ArrayList ['apple', 'ball', 'ball']
tuple java.util.ArrayList ('apple', 'ball', 'ball')
dict java.util.HashMap {'fruit': 'apple', 'toy': 'ball'}
set java.util.HashSet {'apple', 'ball'}

Popular Tools

Java Python
build.xml/pom.xml requirements.txt
maven pip
maven central repo pypi
Classpath PYTHONPATH
HotSpot CPython
JRockit/IKVM/Dalvik Jython/IronPython/PyPy

Popular Frameworks

Java Python
JUnit unittest/nose
Mockito unittest.mock
findbugs/checkstyle pylint
Javadoc Sphinx
Swing PyQT/PyGTK
Spring MVC Django/Flask
Hibernate SQLAlchemy
Velocity/Thymeleaf Jinja2
Servlets WSGI
Tomcat/Jetty Apache/uWSGI

Get In Touch

We'd love to hear from you! Whether you have a question about our services, need a consultation, or just want to connect, our team is here to help. Reach out to us through the form, or contact us directly via social media.


Previous
Previous

Avoiding Interruptions

Next
Next

Client-Side Web Project - Pt 2