I have been working on some new personal projects with the aim of using a technology that I have not used before. One of these is Android development, which meant I would have to start learning Java. Through this experience, I am again reminded just how familiar yet different learning something new is.
In OSU, I have worked with Python, C, and Javascript. So coming into Java, there were many things that were already familiar, being another object-oriented language. Going through the some tutorials and documentation, I was able to pick up the similarities with Python and C. The main thing so far that is causing me problems is syntax.
It seems that having similar syntax sometimes makes it more confusing. Keeping track of keywords and parentheses usage is usually the cause of error for me at the moment. So many times where the build breaks, only for me to realize an hour later that I declared a variable using Python syntax.
Then, there are the completely new concepts. While there are familiar concepts with objects and classes and inheritance, I am still trying to wrap my head around the features I have not used before. Interfaces are still eluding my understanding on where a programmer would use them. Some more practice and studying will be needed in this area.
Overall, it is an interesting endeavor to learn something on my own. I am reminded of where I started 2 years ago when first enrolling in this university. So far, I have built a simple command line tool. Hopefully it goes on to building a working mobile app, the ultimate goal.