Lately for a technical interview I practiced a lot of Python. Before all this, I used Python for numerous mini projects. I wrote a web scraper with BeautifulSoup, I wrote couple Twitter bots for automation and did some network programming.
But the language really shined for me when I ‘had’ to practice data structures and algorithms.
When I first took data structures and algorithms class, I hated that we had to do it in Java. Couple reasons for this.
- So many keyword, public, static, private, final, abstract, like c’mon I just want to code already I’m a sophomore.
- So many libraries, import statements, a lot of non-necessities.
- Strict language, so many unrelated causes for error.
In my opinion, Java should not be a pedagogical language, not even for object orientation. But that’s a different debate.
Coming back to implementing linked lists, binary heaps and such after 5 years, Python really embraced me so well. Look at how simple and elegant this basic Node implementation in Python
Let’s see how this is implemented in Java.
Unnecessary clutter everywhere. What I really liked about Python is you don’t have to add accessor or modifier methods if you don’t need them for the time being, vs. my experience with Java has never been that way. But enough bashing.
Lastly, I’d like to talk about Python and how it feels matured. There’s a lot of third party modules you can integrate, especially in web development. This last year, I really got a lot of JS fatigue and I’m looking Django to see if it feel natural for me. Because Python in general feels so mature, I feel like waking up everyday and pushing something to Github.