For a long time I figured that learning a programming language was easy. Learn how the new language does a few basic things.
However, it turns out that these are classed as “traditional” language features. Each language however, comes with its own unique way of performing certain functions depending on the built-in classes and libraries associated with the language. For java these come in various forms, from input/output, the way it handles strings and numbers, and other fundamental classes.
Its no wonder why I was constantly baffled by Java’s unique terminology. Such as, what is a buffer? how do I implement an array list? whats with the string classes and number classes?
As I set out to answer these questions I discovered the language was much broader and deeper than I have ever imagined. So much for learning Java when I was at university. The shear size of the mere fundamentals of the language is mind boggling. It makes me wonder how anyone is supposed to learn it all.
To try to grasp the language better I opened up Java Tutorials and made a map of the terrain.
For me, this map represents the areas of knowledge you need to acquire to really get to know the language. While I know a few basics, there is a lot there that I am not yet familiar with and will be working to understand.
This brings me to my next problem. How to really make use of it? Reading about it and being able to use basic functions is easy. The hard part is trying to make it useful. And I mean really useful. And be able to write code fast, from memory.
So my plan is then to treat this like learning an instrument, it’ll take practice, lots of practice before some of this will really sink in.
The problem is, what projects are out there that allow me to practice utilizing some of the languages interesting features?Just experimentation?
Feels like I am just learning the basic chords again…