PROGRAMMING

I will teach how to program constructively.
I think proper tools must be used.
In other words, it is producing programming environment.

I’m using GVim as text editor, Linux as operating system, Java as main compiler, Python as support interpreter, Bash as terminal language, Ant as java builder.

I have my programming flow (software engineering cycle) using necojarashee which is my original java classes archive as jar file.

So I want to introduce this style…
“Programming Necojarashee” style?

My style is using GVim with original vimscripts and coding in java and archive classes to my jar, necojarashee, with builder ant.

I re-use my a lot of classes in necojarashee, so application design proceed with necojarashee.

This means designing application and re-usable classes simultaneously, and parallel.

So it is like nurturing java jvm compiler to high level language like pythonic coding taste…

GVim has enough accuracy to realize this cycle.
It has programmable language, vimscript.
Easy to interact with ant, bash, python and with other tools.

I will begin from how to write ant script.
Because it is necessary to prepare very easy command, at least, to updating new necojarashee after add new re-usable java classes to there.

This means we have to prepare ant commands to build new jar(Java ARchives).

Ant calls command as “task“.

To prepare ant task “ant jar”, we should prepare sub-task, “ant initialize”, “ant compile”, and ordinarily “ant run” task also.

“ant initialize” task(command) will initialize directory of jvm class files.
Do you understand jvm class files?
jvm class files(jvm classes) are code after source code compiled.

It is for JVM.
Do you know JVM(Java Virtual Machine)?
JVM is true java, java means both of Java Virtual Machine and Java Compiler.
JVM is like virtual chip(CPU), if you use java code, your computer using this virtual cpu.

“ant initialize” task(command) will delete these jvmclass files to updating code for jvm.

So first compiling, “ant initialize” is no necessary because there are no jvmclasses in the target directory of “ant initialize” task(command).

Second time compiling, we have to delete the jvmclasses first before compile to make jvm to interpret newer code.
This is the reason to prepare “ant initialize”.

And next, we prepare “ant compile” command.
Do you have experience to build jar file using jar command?
jar command is like tar command in *nix environment.
tar command means “Tape Archive”.
It is very old command, so origin era of tar command, computer used magnetic tape for main peripheral memory devices.

jar command is like tar command, it archives and zips plural files as one file, and also extract to plural files.
jar command is like compound of tar command, zip command and unzip command.

It is troublesome to indicate all classpath to jar command every-time.
It is like