Everybody Should Learn to Markup

Toomanycats bio photo By Toomanycats

You’ve heard the slogan, “everyone should learn to code”.

I do not consider “coding” to mean actual programming. So now we can discard the idea that everyone should be a programmer. Coding Horror in the article, Please Don’t Learn to Code, put it well; but honestly that was obvious.

Picture of IBM XT personal computer
An IBM XT is the first computer on which I learned DOS and Word Perfect. source: https://en.wikipedia.org/wiki/IBM_Personal_Computer_XT#/media/File:Ibm_px_xt_color.jpg

Stepping Back in Time

The first word processor I learned to use was Word Perfect on an IBM XT. My mother was a secretary at the time in downtown SF and brought home the already old XT. She taught me the basics of DOS and WP. I’ve never used a better word processor since. It was fast, cursor and hot key driven.

She also taught me to work with WP using reveal codes. She was an expert secretary who tended to start low in the company, and end up managing, where ever she worked. At 73 years old, she still works full time today and takes classes in InDesign.

Screen shot of word Perfect reveal codes.
Screen shot of reveal codes in Word Perfect.

What is Coding Then?

In this context, I’m referring to coding as using a markup language like html, or,markdown. It could be a Linux text processing program roff, troff or groff. Wikipedia is written using the Mediawiki markdown.

Example of Latex input and output.
source http://www.latextemplates.com/wp-content/uploads/2011/11/unformatted.png; Example of LaTeX input and output.

So yes, I think everyone should be able to code in at least one markup language. There is no pressure to become a programmer, an IT manager, to setup the server that uses this markup text.

Working Example

I’ll explore a short example of the markup language named, markdown.

## Side Note: Teaching Kids About Programming
Below is my list of priorities for young people learning about practical computing.

* Learn to keyboard, AKA typing class
* Learn a Markup language
* Use an advanced text editor
    * [Sublime](https://www.sublimetext.com/)
    * [VIM](http://www.openvim.com/)
    * [EMACS](https://www.digitalocean.com/community/tutorials/how-to-use-the-emacs-editor-in-linux)
* Still interested
    * Learn the C programming language
        * Write for loops and old school fizz buzz programs
    * Learn a modern language
        * Python
        * Ruby
        * Java
    * Learn elementary algebra
        * Get comfortable with Abstraction
            * Using letters and words as place holders for other
            * Builds foundation for a lot of logic
Example of rendered markup.
Screen shot of rendered markup in a web brower.

Liberal Arts Majors and Writers

If you consider yourself a writer of any sort then you probably care a lot about type setting. Type setting done with LaTeX or some other markup language is much faster than a “What You See Is What You Get” (WYSIWYG) program such as Word or an Adobe product.

Fancy yourself a blogger or journalist? Then learn some markup. It’s not that hard and you’ll have much more control of your type setting and will not rely upon licensed software. I don’t suggest switching to Linux right away. However, if you hit hard economic times and your MAC dies, then it’s helpful to be able to run a 5 year old computer with a free OS and still typeset your work.

Conclusion

I dislike the use of the term, “code” and “coding” to mean programming and I’m not alone. It’s a new slang whose provenance makes sense but it can be misleading.

I think everyone should learn a markup language, period. I also believe that every child in school, should learn to keyboard by 5th grade. The next obvious milestone would be learning a markup language.

In an ideal world we’d not stop there. In the real world where I live, public schools are over whelmed, kids with high level of opportunity are overwhelmed as is. Learning to “markup” is a lower hanging fruit that begins with keyboarding and can yield immediate results in productivity and entry to higher forms of IT.