4 ms·
Is there a concise document somewhere that gives reasons why someone who uses an Algol style block structured imperative language (C, C++, C#, Pascal, etc.), or
by kwhitefoot 7y ago
Is there a concise document somewhere that gives reasons why someone who uses an Algol style block structured imperative language (C, C++, C#, Pascal, etc.), or indeed any non-concatenative language, would benefit from switching to Factor?
The older I get the less willing I am to learn languages just because they are interesting.
- erichocean 7y agohttps://factorcode.org/slava/dls.pdf https://factorcode.org/slava/dls.pdf That said, effectively no one would benefit from switching. I like Factor, and stack languages in general, but from a difficulty perspective, they are MUCH more difficult than languages from the Algol family to use.
- mnemonicsloth 7y ago> [why would I] benefit from switching to Factor? Here's how it usually goes: It works like this: You try Factor. You stick with its weirdness through one or two small projects. Somewhere in there your brain starts to accept the new way of doing things. Shortly after, you discover there are things you like and things you don't. You refine your opinion as you use the language more. After a week or so, you will want to use an abstraction from Factor in a project for your day job. Maybe you implement it. You have confidence it will work because you've already seen it in Factor. But maybe you don't implement it for whatever reason. Even then, you have an advantage over your coworkers because you already have mental tools in place to help you reason about the problem.
- taneq 7y agoThe Sapir-Whorf hypothesis sure seems to hold with programming languages. Some ideas are easier to have in some programming languages than in others, although once you have the idea you can often 'explain' it in a programming language where it's less obvious.
- butterisgood 7y agoReasons? Hmm maybe not but if you work through a few examples here https://andreaferretti.github.io/factor-tutorial/ https://andreaferretti.github.io/factor-tutorial/ I found it somewhat enlightening. If you’ve ever coded Haskell in “point-free” style you might also get the gist of how “words compose”.
- deleted 7y ago[deleted]
- LessDmesg 7y agoThere is no reason. We identify things in terms of words, not positions on the stack. We think "multiply first vector's y coord by second vector's z coord", not "multiply item 15 on the stack by item 12 on the stack". Thus, stack-based languages lose out in usability and are really just a curiosity without much practical applications.