<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
{font-family:Aptos;}
@font-face
{font-family:Tahoma;
panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
font-size:12.0pt;
font-family:"Aptos",sans-serif;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
span.gmailsignatureprefix
{mso-style-name:gmail_signature_prefix;}
span.EmailStyle20
{mso-style-type:personal-reply;
font-family:"Aptos",sans-serif;
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;
mso-ligatures:none;}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-US link=blue vlink=purple style='word-wrap:break-word'><div class=WordSection1><p class=MsoNormal><span style='font-size:11.0pt'>Thank you, everyone, for your tremendous feedback! There\u2019s a lot to consider here, and Curtis and Steve bring up excellent points in terms of assessing my needs before jumping in. I don\u2019t want to assume that just because I know a little about HTML and PHP that I have a good foundation for programming. I do, however, feel like enough of my workflows are repetitive in nature that it\u2019s worth considering how to make my life a little easier and faster.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt'>Peter, I thought about leaning on AI; however, I don\u2019t want to get caught with my pants down when the code breaks and I don\u2019t know how to get under the hood and fix it.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt'>Elijah, I\u2019m very grateful for the core principles books you shared. I think that\u2019ll likely be my starting point, because even though Python seems to be a good start, it\u2019s likely good for me to understand basic computing principles. I mean, after doing what I need on my PC, who\u2019s to say I can\u2019t build myself the sort of RSS reader of my dreams for iOS? Haha, yes, definitely getting way ahead of myself. I was just thinking about mobile apps after reading a thought-provoking article on how Apple is leaning more on Rust to build more of its operating system. And here I thought that eventually teaching myself Swift would be the key to the apps I want!<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt'>As you can see, I have so much to learn. I\u2019m 43 though, and as I start to head downhill, I want to make sure I\u2019m making the best use of my time. Thanks to Ryan, Robert, Brian and everyone in general for being such a great help today! I\u2019m saving this thread and perusing it to get the most out of your collective advice.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt'>Very appreciative,<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt'>Joe<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt'><o:p> </o:p></span></p><div><p class=MsoNormal><span style='font-family:"Times New Roman",serif'>--<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Times New Roman",serif'>Joe Orozco: Your Message, My Mission<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Times New Roman",serif'>https://joeorozco.com/services/<o:p></o:p></span></p></div><p class=MsoNormal><span style='font-size:11.0pt'><o:p> </o:p></span></p><div><div style='border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal><b><span style='font-size:11.0pt;font-family:"Calibri",sans-serif'>From:</span></b><span style='font-size:11.0pt;font-family:"Calibri",sans-serif'> NFBCS <nfbcs-bounces@nfbnet.org> <b>On Behalf Of </b>Elijah Massey via NFBCS<br><b>Sent:</b> Tuesday, September 23, 2025 9:25 PM<br><b>To:</b> nfbcs@nfbnet.org<br><b>Cc:</b> Elijah Massey <emassey0135@gmail.com><br><b>Subject:</b> Re: [NFBCS] Learning Programming<o:p></o:p></span></p></div></div><p class=MsoNormal><o:p> </o:p></p><div><p class=MsoNormal>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.<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>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.<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>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.<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>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.<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>The Scheme Programming Language: <a href="https://www.scheme.com/tspl4/">https://www.scheme.com/tspl4/</a><o:p></o:p></p></div><div><p class=MsoNormal>Structure and Interpretation of Computer Programs: <a href="https://sarabander.github.io/sicp/html/index.xhtml">https://sarabander.github.io/sicp/html/index.xhtml</a><o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Sent from my iPhone<o:p></o:p></p></div><div><p class=MsoNormal><br><br><o:p></o:p></p><blockquote style='margin-top:5.0pt;margin-bottom:5.0pt'><p class=MsoNormal style='margin-bottom:12.0pt'>On Sep 23, 2025, at 12:49, Joe Orozco via NFBCS <<a href="mailto:nfbcs@nfbnet.org">nfbcs@nfbnet.org</a>> wrote:<o:p></o:p></p></blockquote></div><blockquote style='margin-top:5.0pt;margin-bottom:5.0pt'><div><p class=MsoNormal><span style='font-family:"Tahoma",sans-serif'>\ufeff</span><o:p></o:p></p><div><div><p class=MsoNormal style='margin-bottom:8.0pt'><span style='font-family:"Times New Roman",serif'>Hello,<o:p></o:p></span></p><p class=MsoNormal style='margin-bottom:8.0pt'><span style='font-family:"Times New Roman",serif'> <o:p></o:p></span></p><p class=MsoNormal style='margin-bottom:8.0pt'><span style='font-family:"Times New Roman",serif'>I want to become more efficient with my time. I\u2019m 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\u2019m also looking for something that would make me more marketable for future jobs. I\u2019ve 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.<o:p></o:p></span></p><p class=MsoNormal style='margin-bottom:8.0pt'><span style='font-family:"Times New Roman",serif'> <o:p></o:p></span></p><p class=MsoNormal style='margin-bottom:8.0pt'><span style='font-family:"Times New Roman",serif'>Thank you kindly for any guidance!<o:p></o:p></span></p><p class=MsoNormal style='margin-bottom:8.0pt'><span style='font-family:"Times New Roman",serif'> <o:p></o:p></span></p><p class=MsoNormal style='margin-bottom:8.0pt'><span style='font-family:"Times New Roman",serif'>Joe<o:p></o:p></span></p><p class=MsoNormal style='margin-bottom:8.0pt'><span style='font-family:"Times New Roman",serif'> <o:p></o:p></span></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><p class=MsoNormal><span class=gmailsignatureprefix>-- </span><o:p></o:p></p><div><div><p class=MsoNormal>--<o:p></o:p></p><div><p class=MsoNormal><o:p> </o:p></p><div><p class=MsoNormal>Joe Orozco: Your Message, My Mission<br><a href="https://joeorozco.com/services/" target="_blank">https://joeorozco.com/services/</a> <o:p></o:p></p></div></div></div></div></div><p class=MsoNormal>_______________________________________________<br>NFBCS mailing list<br><a href="mailto:NFBCS@nfbnet.org">NFBCS@nfbnet.org</a><br><a href="http://nfbnet.org/mailman/listinfo/nfbcs_nfbnet.org">http://nfbnet.org/mailman/listinfo/nfbcs_nfbnet.org</a><br>To unsubscribe, change your list options or get your account info for NFBCS:<br><a href="http://nfbnet.org/mailman/options/nfbcs_nfbnet.org/emassey0135%40gmail.com">http://nfbnet.org/mailman/options/nfbcs_nfbnet.org/emassey0135%40gmail.com</a><o:p></o:p></p></div></blockquote></div></body></html>