2024-07-17-Rhetorical Questions
Is it worth the cost of using function-based programming to create a program? Yes, if you are building a fancy calculator that is capable of calculating missile trajectories and moon-shots. I’m not so sure that function-based programming is a good paradigm for programming games, internet, robots, GUIs, blockchain, etc., etc.
What other programming paradigms exist? Prolog (relational programming). Statecharts, Drakon, OhmJS (parsing text), hardware actors. Probably many more - these are just the ones that I’m intimate with.
Why do programmers insist on forcing non-programmer, end-users to use an operating system? My 99-year-old mother has an HP laptop running Windows. It is not connected to a printer. Yet, it supports several kinds of printers. Why does she need that support? Why does she need to pay for an operating system designed for development of function-based programs? Why does she need all of the memory and disk space required to support devices that she doesn’t have?
Why do programmers wish to express every programming problem in the function-based paradigm?
Why do programmers wish to force lowly CPU chips to act in thread-safe, and, reentrant manners? At the cost of adding software (aka “inefficiency”) to every program?
I don’t have answers to all of these questions, but, I think that programmers should explore many more paradigms, instead of knee-jerk deep-diving into function-based programming.
Why is Sector Lisp so much smaller than just about any other programming language? Sector Lisp is 436 bytes. Tiny Lua is roughly 100k bytes (according to ChatGPT). That’s roughly a difference of 200x. Why?
Is functional programming actually concise and small until one begins to add baubles - like assignment and heap-based garbage collection - to it?
Type-checking is a boon for program developers. How does type-checking affect size of code delivered to non-programmer end-users? Why?
Can Software Be Chunked and Layered? See my essay “2024-07-07-Can Software Be Chunked And Layered?”
Should programmers give up on Functional Programming (FP)? No. Use FP for development, where appropriate, then optimize it away for production.
Yes, developers want access to pre-fabricated libraries of functionality. But,,, should they include The New Library of Alexandria in every end-user product they make?
Inventivity and the Future of Programming
It seems to me that using an inappropriate paradigm can stunt one’s ability to invent new solutions to real problems.
One can waste a great deal of brain-power figuring out work-arounds for using an inappropriate paradigm. That brain-power could be better spent solving larger problems.
The function-based paradigm is good for building calculators, but causes a great deal of friction when used for inventing solutions to non-calculator problems, like inventing visual notations.
See Also
2024-07-07-Can Software Be Chunked And Layered?https://programmingsimplicity.substack.com/p/2024-07-07-can-software-be-chunked?r=1egdky
2024-07-17-Thinking About The Game Of Pong In Hardware And Software https://programmingsimplicity.substack.com/p/2024-07-17-thinking-about-the-game?r=1egdky
References: https://guitarvydas.github.io/2024/01/06/References.html
Videos: https://www.youtube.com/@programmingsimplicity2980
Discord: https://discord.gg/Jjx62ypR
Leanpub: https://leanpub.com/u/paul-tarvydas
Gumroad:
https://tarvydas.gumroad.com
Twitter: @paul_tarvydas