[NFBCS] Learning Programming
Joe Orozco
jsorozco at gmail.com
Wed Sep 24 02:00:38 UTC 2025
Thank you, everyone, for your tremendous feedback! There’s a lot to consider here, and Curtis and Steve bring up excellent points in terms of assessing my needs before jumping in. I don’t 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’s worth considering how to make my life a little easier and faster.
Peter, I thought about leaning on AI; however, I don’t want to get caught with my pants down when the code breaks and I don’t know how to get under the hood and fix it.
Elijah, I’m very grateful for the core principles books you shared. I think that’ll likely be my starting point, because even though Python seems to be a good start, it’s likely good for me to understand basic computing principles. I mean, after doing what I need on my PC, who’s to say I can’t 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!
As you can see, I have so much to learn. I’m 43 though, and as I start to head downhill, I want to make sure I’m making the best use of my time. Thanks to Ryan, Robert, Brian and everyone in general for being such a great help today! I’m saving this thread and perusing it to get the most out of your collective advice.
Very appreciative,
Joe
--
Joe Orozco: Your Message, My Mission
https://joeorozco.com/services/
From: NFBCS <nfbcs-bounces at nfbnet.org> On Behalf Of Elijah Massey via NFBCS
Sent: Tuesday, September 23, 2025 9:25 PM
To: nfbcs at nfbnet.org
Cc: Elijah Massey <emassey0135 at gmail.com>
Subject: Re: [NFBCS] Learning Programming
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 <mailto: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 <mailto: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/fa348b7b/attachment.htm>
More information about the NFBCS
mailing list