Why I started learning Java

I am learning Java. This is why.

My job applications were rejected several times on the grounds of not having “formal programming knowledge”. I have done some nice amateurish open source stuff and tools, proved myself in several technologies, but that was not good enough to convince HRs that I am worthy of a junior position. I will not go into details about the quality of the jobs I applied for, the context of the applications or experiences related to it – to me the rejections were enough to do something. I had to choose, and I wanted to choose, a programming language to study as formally as I could, and this is why I decided to dedicate my time and money to Java.

Open and free versus closed and proprietary

I have always liked open source world. I have learned so much from it and got introduced to some great people. I also believe that sharing knowledge and allowing creative freedom is a good thing, that has its rightful place in today’s consumerist/corporate world. Java is open and runs on almost anything. Chosen: Java. Rejected: C#

Java is in demand

True, Java is not the freshest thing around when it comes to IT word, but it is relevant and in demand. I browsed though job advertisements and compared Java with other technologies: Java seemed to be consistently present throughout years. Chosen: Java. Rejected: C#, PHP

Java is versatile

One of the courses offered to me was a course in PHP. I have never been a fan of PHP, but I worked on it when I had to, and there are some awesome projects written in it (this CMS for example!). Also, I did not feel I can learn the things I wanted the way I could with Java (OO and some advanced meta stuff). Another option was C++, which was not really my cup of tea (I am not interested into low-level languages). Chosen: Java. Rejected: C#, PHP, C++

Java is corporate

Now, this was an interesting moment for me: Java is a corporate technology. My programming projects have been either related to academic research or to open source / startups. I have not had a chance to see how programming works within a corporate context, and Java seemed like a perfect way into that world. It may not be the perfect world, but it dominates, and it would be foolish to ignore it. After all, all those startups are hoping to become a corporate leaders. Also, there have been moments where I felt at ease with more strict corporate frame of mind, than with over the place fresh startup’s. Chosen: Java. Rejected: PHP

So, what about Python?

I had not found a suitable course where Python is studied formally. Even if I had, that would have not affected my decision to choose Java. I love Python I keep coming back to it (most of the projects I wrote about on this site are Python-related), but sometimes it’s good to get a flavour of a different mental setup and learn new techniques. I have experienced that and I loved it when I had to learn the basics of R programming; now I am looking forward to the same excitement in Java. Learning a new programming language (a formal language) is similar to learning a new language (a natural language): you get a change to see reality from different angles, get to know different culture.

So, off I go to the Java adventures.

Impressive, free (and dated) JLU’s language learning resourcess

The Joint Language University (JLU) provides free downloadable language courses. I have stumbled upon them while searching for the Portuguese learning resources, and I was pleased to discover more languages.

The JLU Free Language Courses

An graphic elements in a dated JLU language course
A picture in a dated JLU language course

If you point your browser to the JLU’s address you will open a page with the following language courses: Albanian, Belarusan, Bulgarian, Cantonese, Chinese Mandarin, Czech, Dari, Dutch, Egyptian Arabic, Filipino, French, German, Greek, Haitian Creole, Hungarian, Indonesian, Iraqi Arabic, Korean, Maranao, MSA, Persian, Polish, Portuguese, Romanian, Russian, Serbian, Spanish, Syrian Arabic, Tausug, Thai, and Vietnamese.

The courses vary in quality and extent. For example, the Portuguese course contains several books and audio resources, while the Serbian is much smaller and lacks audio. The Russian resources are extensive. The Arabic courses are impressive, with EgyptianIraqiSyrian and MSA. But, there is a catch.

Free courses, but dated language courses

Portuguese course sample page
A Portuguese course from 1960s, created on a mechanical typewriter

The good thing about the JLU free resources is that they are, well, free. Not so good about them is that they are very dated and, form the point of view of a general learner or speaker, overly military (due to its origin and purpose).

Some of the materials are from 1960s. For example, the Portuguese course was created in 1968 (the PDF is scanned mechanically typewritten content, and the MP3 is converted from tapes). The Portuguese language underwent several orthographic reforms in the meantime, which the JLU course renders more of a research material than a learning material.

I assume that “dated” is a relative term for some languages, but it is up to a learner (or mentor) to give the final judgement. However, a half of a century is a lot in terms of a current and relevant learning material. The methods in language teaching have also been updated since 60s.

The JLU language courses listed in this text are not modern, but they can be useful to linguists and language enthusiasts (even though some courses are incomplete). You can have a look at their other public materials here, but be ready for not so friendly web interface.

Visual Understanding Environment – Free mind mapping for your brainstorming

If you like to represent your thoughts, project or plans in the form of logical maps and flowcharts – VUE is just for you. This is a free program that all students, academic workers, CEOs, managers, writers and others will learn to appreciate, thanks to its simple use and powerful options, including fully fledged presentation mode (yes, no need for Power Point!).

Visual Understanding Environment is created by Tufts University as “a concept and content mapping application, developed to support teaching, learning and research and for anyone who needs to organize, contextualize, and access digital information”. They succeeded in making a Java-based program that runs on most operating systems and allows great creativity in brainstorming and visual organisation of material.

Features

With VUE you can:

  • Make mind maps and charts
  • Format easily and annotate items
  • Use layers
  • Analyse charts
  • Add semantic relations
  • Share your work
  • Export in several image formats and PDF (the latter is usually available only in commercial apps)
  • Map the content dynamically and use “outside” sources
  • Make presentations
Visual Understanding Environment chart sample
Speech production process "mapped" in VUE (Adapted from Lever)

This just a beginning, and for the full list of the features visit the VUE feature page. What we particularly like and wish to mention here is the “presentation mode”: by creating “pathways” (the order in which nods/items are trigged) users can “replay” the path in full screen. This, together with annotations allows seamless presentations, just like in the Power Point. Even without annotations and keywords users can have rudimentary presentations.

Other mindmapping software

We discovered VUE just recently. For some time we used XMind, but we did not like it because it requires paid version for some usable export options. The chance was then given to FreeMind, also a very good application, but we did not like the interface. Office applications not being suitable for mind maps we ventured into Wikipedia discovery – and found VUE.

The VUE homepage lists many tutorials, and that is where you can download this great program.