[NFBCS] Learning Programming

Elijah Massey emassey0135 at gmail.com
Wed Sep 24 01:24:42 UTC 2025


For automating Microsoft Office, there are a few ways you could do that. You could learn VBA (Visual Basic for Applications) and use it to write macros, which are still supported in modern Word and Excel and PowerPoint I'm pretty sure and are very powerful. You could also control and automate Office with COM; COM is accessible from many programming languages including Python. You can also write Office 365 add-ons in JavaScript. I haven't used any of these so I'm not sure which one is most powerful or easiest to learn.

In addition, you could look at Pandoc, which can convert between text-based formats like Markdown, LaTeX, and HTML, and binary formats like DOCX and PDF, so you could write a program or script to generate Markdown and use Pandoc to convert them to Word or PDF, or use Pandoc to convert Word documents to Markdown and process that in a script. For Excel, there are tools for converted Excel spreadsheets to CSV and back, and CSV is very easy to write programs to parse and generate. I don't think Pandoc can do this but there's a command-line tool that uses LibreOffice to convert between any formats it supports, and Excel to CSV is one of the supported conversions. Pandoc also has support for filters, which let you transform a document as it is being converted. If this is useful for what you want to do, you can write Pandoc filters in Lua which is pretty easy to learn, or using any other language although Lua is the easiest to write filters in.

For more general automation, I think shell scripting is good to learn, either Bash on Linux and MacOS or PowerShell on Windows, although there are several ways to use Bash and UNIX utilities on Windows as well. For Bash scripting, it is important to not only learn the Bash language itself, but also UNIX utilities like grep, sed, tr, awk, etc which can be very powerful for processing text.

For general programming, I think more important than learning any specific language is having a good understanding of how computers work, good problem solving skills, and mastering different techniques for organizing programs and for translating what you want to do into operations the computer can perform. I have found that after I learned one or two languages, it was pretty easy to learn more, especially since many languages have certain similarities, like if you learn object oriented programming, or functional programming, or static typing, then when you see those concepts in another language, all you will need to learn is new syntax. Languages can be very different from each other, and it is true those differences can lead to very different ways of doing things, but still learning those foundational skills will help you learn new programming paradigms. I learned programming for the first time (besides writing Windows batch files) by reading The Structure and Interpretation of Computer Programs, which is a textbook that used to be taught at MIT. It does a very good job of giving you an in-depth understanding of how computers work and a wide variety of programming techniques and paradigms, and helps you gain good problem solving skills as well. It uses the Scheme programming language, so if you read that book it may be a good idea to become familiar with Scheme first. The book I used for this is just called The Scheme Programming Language. If you fully master that book then you'll probably be ready for any programming language or paradigm you want to learn, and will probably understand them deeper than those who learn them in an introductory programming course, and even if you don't finish the book you will probably still get a lot of value out of it.

The Scheme Programming Language: https://www.scheme.com/tspl4/
Structure and Interpretation of Computer Programs: https://sarabander.github.io/sicp/html/index.xhtml

Sent from my iPhone

> On Sep 23, 2025, at 12:49, Joe Orozco via NFBCS <nfbcs at nfbnet.org> wrote:
> 
> 
> Hello,
> 
>  
> 
> I want to become more efficient with my time. I’m trying to decide if learning how to program could make me achieve that goal. I work a lot with MS Word files, spreadsheets, Outlook, and PDF files. I need things to be more automated in the process of writing reports and generating invoices. Would I benefit from learning a programming language? If so, which programming language should I learn? I’m also looking for something that would make me more marketable for future jobs. I’ve gotten a couple recommendations but want to pick your brain with a clean slate. By contrast, if you think programming would only be a distraction if software development is not my primary job, I would be curious about this feedback as well.
> 
>  
> 
> Thank you kindly for any guidance!
> 
>  
> 
> Joe
> 
>  
> 
> 
> --
> --
> 
> Joe Orozco: Your Message, My Mission
> https://joeorozco.com/services/
> _______________________________________________
> NFBCS mailing list
> NFBCS at nfbnet.org
> http://nfbnet.org/mailman/listinfo/nfbcs_nfbnet.org
> To unsubscribe, change your list options or get your account info for NFBCS:
> http://nfbnet.org/mailman/options/nfbcs_nfbnet.org/emassey0135%40gmail.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://nfbnet.org/pipermail/nfbcs_nfbnet.org/attachments/20250923/47e83f4b/attachment.htm>


More information about the NFBCS mailing list