3 ms·
There's a concept known as linguistic relativity (https://en.wikipedia.org/wiki/Linguistic_relativity https://en.wikipedia.org/wiki/Linguistic_relativity) that
by bcheung 7y ago
There's a concept known as linguistic relativity (https://en.wikipedia.org/wiki/Linguistic_relativity https://en.wikipedia.org/wiki/Linguistic_relativity) that states that the language affects what thoughts you are capable of having.
We don't program in assembly language because it is very tedious and error prone. Higher level languages absolutely do eliminate classes of errors that are only possible at the assembly language level (accidentally altering the stack and affecting the jump return address for example). Another example would be garbage collection making it impossible to create a certain class of errors.
Another example would be doing long division with roman numerals instead of Arabic. The human brain can only process so much before it becomes overloaded. By "compressing" thoughts using new vocabulary concepts you can reason about ideas that are beyond your normal cognitive limits.
- aij 7y agoI've found that being able to think in one programming language even affects the thoughts you have when working in other programming languages. For example, after learning ML, I started writing much more functional code even when writing Python. I also started using abstract types more, even in C.