4 ms·
if (you_have_to_learn_one_language) { make_highly_subjective_claims(); eliminate_good_candidates_for_specious_reasons(); arrive_at_questionab
by AndrewO 16y ago
if (you_have_to_learn_one_language) {
make_highly_subjective_claims();
eliminate_good_candidates_for_specious_reasons();
arrive_at_questionable_conclusion();
} else {
broaden_your_understanding_of_programming();
be_able_to_evaluate_multiple_solutions_for_problem();
}
The underlying premise is flawed. No one has to learn just one language and anyone who stops at one is limiting themselves to being a journeyman programmer for the rest of their career. At that point they should be asking "do I really like programming?" and if not, move along to something else.
A much better question is "If you have to start with just one programming language...".
- loup-vaillant 16y agoOf course the premise is flawed. It doesn't stop it from being widespread, however. For many people, one language is enough. I had teachers who told be that learning one language is enough to learn them all (except for the syntax). I have a colleague who wouldn't use anything but C++ for "serious" projects. [Edit] Could someone tell me where this comment went wrong?
- pmiller2 16y agoI had teachers who told be that learning one language is enough to learn them all (except for the syntax). That sounds like typical academia-speak (assuming you mean to say they were implying all general-purpose languages are essentially interchangeable by Turing-completeness). But if you're going to go down that road, you might as well go all the way and just program Turing machines. Believe me, if you thought assembler on real processor was low-level, nothing beats directly programming a universal Turing machine.
- loup-vaillant 16y agoThey were actually saying that learning Fortran is enough to understand all the important concepts. It was not about Turing completeness. They actually thought that languages are all more or less the same. Maybe they knew about exceptions, like Prolog, but didn't mention them because of their perceived irrelevance. "They" are quite rare among professors, but they do exist. Sometimes, it is the course, not the professor, which implies that Fortran is enough. Such a course made me study algorithms. The syntax was some sort of Pascal. The semantic was first order and imperative. And because no compiler existed for such a language, they acted as if the thing was "language independent".
- shaunxcode 16y ago(if (you-have-to-learn-one-language) (begin (make-highly-subjective-claims) (eliminate-good-candidates-for-specious-reasons) (arive-at-questionable-conclusion)) (begin (broaden-your-understanding-of-programming) (be-able-to-evaluate-multiple-solutions-for-problem)))
- sketerpot 16y agoOuch, so many side-effects. My scheme instincts are wincing.
- KirinDave 16y ago; Perhaps you would prefer monadic clojure? ; We wouldn't want to make it look too alien ;) (with-monad state-m (defn m-advice [your-brain spurious-advice?] (if spurious-advice? (m-chain (make-highly-subjective-claims eliminate-good-candidates-for-specious-reasons arive-at-questionable-conclusion) your-brain) (m-chain ((m-understanding-broadener :programming) be-able-to-evaluate-multiple-solutions-for-problem) your-brain))))
- sketerpot 16y agoOddly enough, that did make me feel better. It's strange how encapsulating the side-effects in a state monad can be so soothing.
- deleted 16y ago[deleted]
- aoriste 16y agoif (false) { self.the_one_language_I_should_learn = "the best one"; } else { delete(self.the_one_language_I_should_learn); while (self.could_improve) { self.programming_skills_and_insights_struggled_with++ } }