5 ms·
> My point is that you can be writing useful programs in c in a weekend. We'll need to define criteria for "useful program" but I believe most people could wri
by codygman 12y ago
> My point is that you can be writing useful programs in c in a weekend.
We'll need to define criteria for "useful program" but I believe most people could write useful programs in most languages in a weekend.
> I've watched competent programmers try to learn complex languages like Haskell and Scala
> far more complex mental model
I think its more that those languages are different, not that they require a more complex mental model.
- sctechie 12y agoCan we at least agree here that complexity implies a larger cognitive burden? I think that's a pretty benign statement to begin from regardless of the domain (programming, cooking, games, etc). A complex recipe rewards a chef with exceptional results if they follow it perfectly, but also presents more opportunities to fail. A simple recipe might not offer the results but it should be easier to produce with a lower chance to mess up. I think the concept generalizes here.
- codygman 12y ago> Can we at least agree here that complexity implies a larger cognitive burden? Right, but remember simple doesn't necessarily mean easy. The reason I use functional languages is because in my experience they handle complexity better. > A complex recipe rewards a chef with exceptional results if they follow it perfectly, but also presents more opportunities to fail. A simple recipe might not offer the results but it should be easier to produce with a lower chance to mess up. > I think the concept generalizes here I of course mostly agree to both of the above, but I think you are mis-characterizing functional languages such as Haskell which are simple but quite different from languages most are used to.
- tome 12y ago> A complex recipe rewards a chef with exceptional results if they follow it perfectly, but also presents more opportunities to fail. Agreed, which is why I prefer to implement complex ideas in Haskell. It catches more potential errors than other languages.