Why I Chose Javascript Part 1

As discussed in my about page I really started programming in Java, but I later switched to javascript. There were two primary reasons for this. This article is about the first.

User interfaces

Ironically this is not about the relative strengths/weaknesses of java versus javascript, but on the ease of design with HTML and CSS. I’m pretty sure everyone who learned to program and enjoyed it wanted to create something that people could use. I was no different, but while I could construct a program my interface options were command line, manipulating files with predefined names or clunky painful to code (probably to use as well) GUIs created in NetBeans.

Now some of this was just a lack of knowledge and skill on my part, but as a beginner to programming the goal of creating an application usable by nontechnical people seemed hopelessly out of  reach. Until I started using HTML/CSS. I was almost immediately hooked. For all the browser quirks and DOM idiosyncrasies I found it so easy to take an idea and start seeing results immediately. This was combined with benefit of not needing a special program to help me build a UI. I could open Notepad and a browser and create something that didn’t need build steps or dependencies.

Distribution

Another problem I quickly ran into was trying to distribute .jar files. It is one thing for something to work on your computer, but getting it to work on another computer was a whole problem in and of itself, not to mention issuing updates. Different OSs, Java versions or no Java at all was a headache. Some of this I will cover in part 2, but the big thing is the browser was universal and easy to target on multiple platforms. There is the giant caveat that was IE6, but even then for the most part the basics of HTML and CSS worked on all platforms.

I remember having a conversation with a friend about this, and one of the things I said was I wished that they had methods to build a UI that were as simple as HTML/CSS. I’m sure that there were/are simpler methods, but while I was too new to recognize or understand the concept of separation of concerns I appreciated the simplicity of it.

Fast forward a number of years and now I am no longer a novice at programming. During that time I found that CSS did have some pain points and HTML does have some limitations, but I still feel that HTML/CSS is great for beginners and still flexible enough for advanced uses such as SPA. Of course many advanced UIs use some kind of virtual DOM, while this does blur the line between code and content. Many implementations of virtual DOM have syntax that looks similar to HTML.

In part 2 I’ll look at why javascript made sense to me.

Hello World

Welcome to my blog where I hope to discuss my interest in web design and programming in general. I hope to post once a week. Also, at some point I want to finish building a custom theme, but for now you are stuck with this standard one.