Codementor Events

How I learned Java

Published Aug 02, 2018

About me

My name is Branden, and I'm a college freshman who's been programming for a long time. I enjoy writing applications primarily for Linux, as I enjoy the huge configurability and open source nature, but I've also developed applications for Windows. I'm studying electrical and software engineering in college because I enjoy building and programming robots. In fact, I've done significant work with the MyRobotLab robotics framework.

Why I wanted to learn Java

I originally wanted to learn Java because I was bored with the simplistic graphical languages of Lego Mindstorm and my dad was a Java programmer. I was 9 at the time and my dad thought I should try a simpler language first, but I insisted on learning Java because I wanted to be able to relate to him every time he talked about work.

How I approached learning Java

My first learning experience with Java was when my dad gave me a book on it, entitled "Sam's Teach Yourself Java in 24 Hours". I immediately jumped in and followed every step of the book, completing my hello world program within the hour. As I continued the practices and lessons in the book, I became intrigued with certain parts of the Java language and branched out to satisfy my questions, often spending hours on StackOverflow and Quora answering the questions I had.

Challenges I faced

I hit many roadblocks while learning Java. It's very difficult for a nine-year-old kid to begin to understand how a computer thinks and all of the higher level abstractions a programming language offers. Whenever I failed to grasp a concept I simply brought it to my dad and he explained it. Or if I was feeling adventurous or when I couldn't wait to find out the answer I would Google my question and spend hours on research until I found the answer.

Key takeaways

Well, the most obvious takeaway is that I learned how to program in Java, as well as how to program in general, but I suppose the most important was learning how to find the answers to my own questions. I was terribly shy at such a young age, but after gaining confidence by talking with some of my dad's co-workers I was able to easily discuss problems with my peers and was no longer afraid of asking questions.

Tips and advice

My advice for people wanting to learn Java is to take the time to learn the intricacies of the JVM and why the creators made the language design decisions that they did. It will make understanding concepts like JNI, threading, inheritance, and others so much easier. In fact, I would say it's imperative that people learn the history behind a language before trying to learn the language itself, so that one knows exactly why the language was developed, who it was for, and limitations that early adopters faced.

Final thoughts and next steps

Learning Java is, to me, one of the most important things I've learned in middle school. Since then, I've been able to create advanced robotics systems and contribute to several open source projects. I intend to learn C++ next to create a C++ client library for the MyRobotLab robotics framework. I also intend to learn objective C after that to create iOS applications that can hook into MyRobotLab.

Discover and read more posts from Branden Butler
get started
post commentsBe the first to share your opinion
Show more replies