https://programmers.stackexchange.com/questions/132385/what-...
> In general, for an imperative language to be Turing-complete, it needs:
1. A form of conditional repetition or conditional jump (e.g., while, if+goto)
2. A way to read and write some form of storage (e.g., variables, tape)
For a lambda-calculus–based functional language to be TC, it needs:
1. The ability to abstract functions over arguments (e.g., lambda abstraction, quotation)
2. The ability to apply functions to arguments (e.g., reduction)
--
Note that you can be a programmer without ever having touched a computer, people have been coming up with algorithms and integrating them into systems for ages.