I'll take this up a few notches and proclaim that almost all commonly used languages offer "high impedance" when it comes to the jump from thought to the expression of that thought for a machine to execute. This does not mean that they are not useful. It does mean that they are very primitive in many ways.
My life as a programmer and hardware designer started when I hand-built (wire wrapped) my first 8080-based computer way-back-when. Coding was done typing in hex codes into a hexadecimal keypad. Pretty amazing what you could write that way. Wanting more, I wrote a simple version of Forth. Wow! The productivity gain was impressive.
Meanwhile, in College, we had to take FORTRAN. I hated it for some reason. Then my Physics professor offered an alternative: If you signed-up for his APL class you could get equivalent credit. Out went FORTRAN, in with APL. I would not learn C until three years later.
The fact that my real programming life started with exposure to the extremes represented by hand-coded hex, Forth and APL probably made me think very differently once I got to C and other languages. APL allows you to think and translate those thoughts and ideas to computer instructions with very little to distract you. The process of programming in C-like languages can be very mechanism oriented rather than problem oriented. By this I mean that you spend a log of time working on how to get the mechanics of the thing to work rather than focusing on the problem domain.
I learned and programmed in Lisp extensively later in life. It was the AutoCAD version of Lisp. I wrote all sort of tools and utilities for AutoCAD and can say that I enjoyed using the language. In terms of productivity and the ability to quickly express ideas, I think it did pretty well. Is it the realm of geniuses? Nothing is.
My life as a programmer and hardware designer started when I hand-built (wire wrapped) my first 8080-based computer way-back-when. Coding was done typing in hex codes into a hexadecimal keypad. Pretty amazing what you could write that way. Wanting more, I wrote a simple version of Forth. Wow! The productivity gain was impressive. Meanwhile, in College, we had to take FORTRAN. I hated it for some reason. Then my Physics professor offered an alternative: If you signed-up for his APL class you could get equivalent credit. Out went FORTRAN, in with APL. I would not learn C until three years later.
The fact that my real programming life started with exposure to the extremes represented by hand-coded hex, Forth and APL probably made me think very differently once I got to C and other languages. APL allows you to think and translate those thoughts and ideas to computer instructions with very little to distract you. The process of programming in C-like languages can be very mechanism oriented rather than problem oriented. By this I mean that you spend a log of time working on how to get the mechanics of the thing to work rather than focusing on the problem domain.
I learned and programmed in Lisp extensively later in life. It was the AutoCAD version of Lisp. I wrote all sort of tools and utilities for AutoCAD and can say that I enjoyed using the language. In terms of productivity and the ability to quickly express ideas, I think it did pretty well. Is it the realm of geniuses? Nothing is.