From Python and Objective-C to Java

Switching from my main work in Python to a hobby project that until recently I did in Objective-C, but now switching to Android. Here's some thoughts of a braindead person at 01:26AM.

Things I noticed when switching from Obj-C to Android:

  • Installing the Android SDK is only a fraction of the size of Xcode.
  • Xcode worked out of the box, whereas Android wouldn't even download. I had to try this several times to get it to work. Rather poor.
  • Thank the lord almighty for Eclipse and all its lovely proper IDE features. I never ever want to see Xcode again.
  • Creating code in Eclipse/Java is so easy! It lowers the threshold for creating properly structured code a lot.
  • Ugh, lots of exception catching

Things I noticed when switching from Python to Android:

  • Yuck, so many brackets and semicolons.
  • Autocomplete works 10000 times better in Java
  • Yummy, structured code. Fancy architectures. I like it.
  • I find myself thinking of very fancy solutions to architectural problems in Java, which I quite enjoy. Then I realize that in Python these problems don't even occur, and I can just write useful code instead of boilerplate bullshit.
  • ORM: this is an unfair comparison, but I have never seen an ORM that works as good out-of-the-box as the django one. No Java ORM comes even close (been working with ORMLite).
  • Spent about 20 minutes tinkering with generics to create an optimal solution to some query problem. In Pythonworld such a problem wouldn't even occur.

Things I noticed when switching back from GIT to SVN:

  • I don't miss git's merge featureset at all because I'm on a hobby project that won't need much merging anyway. SVN is adequate.
  • That being said, SVN shot itself in the food when I tried to rename a file (!), breaking the svn file system somehow, after which I had to restore from the repository manually.
  • Eclipse's graphical diffs are still much faster with SVN. If only the git Eclipse plugin could do this, then I could forget about SVN completely.

Since I'm comparing stuff anyway, here's one more.

Things I noticed when switching from Windows 7 to Ubuntu:

  • Multiple monitors do not work on my laptop's nvidia graphics card.
  • Switching to built-in Intel graphics did make multiple monitors work, but performance was so poor that I could not drag windows around.

I gave up at this point. Even in my professional environment I still have no need to run linux. Note that I have nothing against Ubuntu! I'm trying to like it, and would love to get away from Windows if a better alternative was available. But for the way I use my PC, Ubuntu is simply not better than Windows (7). Every time I take the plunge and install Ubuntu (this happened several times before) something happens that puts me off Ubuntu and makes me switch back to Windows. I just can' t be bothered to spend time on something as trivial as an OS. I want to be productive instead. If I went into full-on hacker mode I'm sure I could configure Ubuntu to suit my needs. But I'm sure it would take me hours and hours of hard work, whereas Windows is just perfect out of the box (well, after you add a few programs). Sorry Ubuntu, perhaps I'll try again next year.

Posted in Tech