I learned a new programming language in one night once.
Actually, it didn’t really work out at all.
I was at my second hackathon, and we were working to build an Android phone app that would integrate with a coffeemaker. We were going to modify the coffeemaker to turn on through bluetooth from the phone.
We had split our team into two, so that one team was working on the coffeemaker, and the other team was working on the Android app. My friend and I were both the ones working on the Android.
The only problem was that none of us had any experience building Android apps, or even programming in Java to begin with.
So what we did was we decided to learn how to program in Java in a few hours, and then start working on the app. We turned to Codecademy’s Java course, and started ripping through the lessons.
Although we both had no Java or Android app building experience prior to the hackathon, we both did have a decent programming background in Python, and to a smaller extent C++. My friend was in mechanical engineering, and I was in astrophysics.
Surprisingly, we were able to go through the lessons very fast. We both completed the all the lessons in under 2 hours, and started working on the Android app. What we needed to do was get the phone to communicate with the coffeemaker using bluetooth through an Arduino microcontroller.
We looked up all the API’s needed, and we started looking through tutorials, throwing together code to get the app to work. Even though we had just learned Java, it wasn’t too bad, because the general features of programming languages are pretty similar. I found Java to be a mix between Python and C++.
We managed to get the app working and communicating with the Arduino in some small capacity, but unfortunately the other team was not able modify the coffeemaker to do what we wanted it to do, due to a problem with the electric motors we were using.
So did my friend and I learned a new programming language in just 2 hours? Despite getting an Android app up and running, I’d say we didn’t actually learn how to program in Java. We just learned enough Java to recognize certain patterns that we could hack together in order to make a simple Android app.
A few days after the hackathon, I decided to go back and look at the code that we wrote (or rather, hacked together from a dozen different tutorials), and I found I could not recognize or remember a single bit of Java. I completely forgot everything that I had learned!
So moral of the story is this:
Nothing comes easy, or for free.
You are going to have to work hard to increase your knowledge in something, and one night is not enough to learn something as vast and complex as an entire programming language.
Keep in mind though that I was by no means a professional developer — I still don’t consider my self one. I was simply a student at that time learning how to program. I’d image someone with more experience could learn a programming language in one night, but I certainly was not able to.