Re: Programming language

Subject: Re: Programming language
From: Mark Giffin <mgiffin -at- earthlink -dot- net>
To: techwr-l -at- lists -dot- techwr-l -dot- com
Date: Tue, 31 Mar 2020 13:07:37 -0700

Good advice Chris.

Side note, what are you using in the browser to transform DITA XML into HTML? Some library? Your own extension of some kind?

"... implemented a Single Page App that transforms DITA to HTML in the browser"

Mark Giffin
Mark Giffin Consulting, Inc.
http://markgiffin.com/

On 3/31/2020 2:47 AM, Chris Despopoulos wrote:

John, I'm going to break with the unanimity...
I've done a lot of programming over the years, in various languages. My first real language that I programmed to do real work was C... Why? So I could document the FDK, a C API. I ultimately moved on to C++ as I built increasingly interesting FrameMaker plugins. I went on to Java when I worked in a company with a Java API. Somewhere in there I had to learn Perl for the same reason. I learned PHP (a good while ago) so I could program actions on a web server. I then learned javascript so I could do other programming of web pages... I ultimately implemented a Single Page App that transforms DITA to HTML in the browser, and we use components of that in our current product to display doc assets in the GUI.
The bottom line is this... Learning this kind of tech just to learn it is really hard to do. Yeah, you get to a certain point, but when you hit a real wall, where's your motivation? Heck, you don't even have to worry about a bad grade which will waste your tuition and push out your graduation date! The only way to learn this stuff is to plan on a tool or a process that you will use to improve your quality of (work) life. So the first question to ask is, "What do I want to make?" You should let that determine the language... These languages are all aimed at different uses:
Assembler -- Machine-level instructions, not portable
C/C++ -- Low-level, low-latency with obligatory memory management, minimally portable (in reality)Java -- Highly portable (programming to a JVM), and somewhat low-level -- reduced memory managementShell -- OS-specific scripting of command line (bash, powershell, etc)Perl -- Somewhat low-level scripting, text processing, lots of libs for special tasksPython -- Text processingJavaScript -- In-browser scripting, and now node.js for light-weight web servers -- LOTS of libsXSL -- Transformation and processing of XML

Quite the incomplete list... I know the least about Python. I haven't bothered to learn it yet. Why? Because it's yet-another language, and I haven't hit the need. Yet-another language means, sure I could learn it, just like any other language.

But really, you should start with the tasks you want to perform. Are you planning to make super-groovy web pages that process user input, call REST APIs, and wash your dishes? Then start with JS. Want to call REST APIs to generate data sets that you can import into other processes? Maybe Perl or Python. Want to parse all types of text files? Probably Python. Want to create components for a containerized app? Java. Creating a desktop app? Java or C++... Want a windowing GUI? JS, java, or C++

Another thing is your programming environment. C/C++ and Java require a compiler. Some flavors/uses of Javascript now are "transpiled", but that's more advanced -- scripts are interpreted at runtime.

If you want a GUI, then most bang for buck comes from JS, IMO. You put forms in a browser and process them. If you want to string tools in a pipeline of commands, Shell, Perl, or Python. But again, think about what you want to DO, not what tool you want to use. (I hope this sounds familiar... like any other tool discussion.) And realize this... Whatever you learn in one language, while full of special knowledge, includes quite alot that you can transfer to other languages.

Above all, have fun watching a machine do work for you!



^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Visit TechWhirl for the latest on content technology, content strategy and content development | https://techwhirl.com

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

You are currently subscribed to TECHWR-L as mgiffin -at- earthlink -dot- net -dot-
To unsubscribe send a blank email to
techwr-l-leave -at- lists -dot- techwr-l -dot- com


Send administrative questions to admin -at- techwr-l -dot- com -dot- Visit
http://www.techwhirl.com/email-discussion-groups/ for more resources and info.

Looking for articles on Technical Communications? Head over to our online magazine at http://techwhirl.com

Looking for the archived Techwr-l email discussions? Search our public email archives @ http://techwr-l.com/archives

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Visit TechWhirl for the latest on content technology, content strategy and content development | https://techwhirl.com

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

You are currently subscribed to TECHWR-L as archive -at- web -dot- techwr-l -dot- com -dot-
To unsubscribe send a blank email to
techwr-l-leave -at- lists -dot- techwr-l -dot- com


Send administrative questions to admin -at- techwr-l -dot- com -dot- Visit
http://www.techwhirl.com/email-discussion-groups/ for more resources and info.

Looking for articles on Technical Communications? Head over to our online magazine at http://techwhirl.com

Looking for the archived Techwr-l email discussions? Search our public email archives @ http://techwr-l.com/archives

References:
Re: Programming language: From: Chris Despopoulos

Previous by Author: Re: Programming language
Next by Author: Re: US Economic Stimulus assistance?
Previous by Thread: Re: Programming language
Next by Thread: US Economic Stimulus assistance?


What this post helpful? Share it with friends and colleagues:


Sponsored Ads