Learn more programming languages, even if you won't use them
221–230 of 319 posts
Re: Learn more programming languages, even if you won't use them
#222At this point I have almost 20 languages that I've used for at least two years, which is what I consider an decent bar for "knowing" a language. The problem I now have is that I don't know if I'll ever be able to master any language anymore. Mmmmaybe C, since I've used that fairly consistently, albeit on-and-off for 25 years. But whenever I get to an "if" or "for" or function declaration, I often have to look at an e…
Try clustering similar languages into groups centered around shared features, then try to come up with high-level statements which hold true for all the languages in a group. Then try to derive the individual differences within the group from these statements. Use mnemonic techniques as required and prepare cheatsheets if needed. One thing to realize, though, is that syntax - outside of a few special cases - is the m…
Re: Learn more programming languages, even if you won't use them
#223At this point I have almost 20 languages that I've used for at least two years, which is what I consider an decent bar for "knowing" a language. The problem I now have is that I don't know if I'll ever be able to master any language anymore. Mmmmaybe C, since I've used that fairly consistently, albeit on-and-off for 25 years. But whenever I get to an "if" or "for" or function declaration, I often have to look at an e…
Perhaps try learning sufficiently different languages? For me it's hard to make cross-language mistakes except within the {} groups: C, {all kinds of assembly}, {C++, Java, C#}, {Python, Ruby}, {Haskell, OCaml}, Prolog, {VHDL, Verilog}
Re: Learn more programming languages, even if you won't use them
#224Earlier quoted context omitted.
This reminds me of something Rich Hickey said about becoming a better developer: https://gist.github.com/prakhar1989/1b0a2c9849b2e1e912fb “A wide variety of experiences might lead to well-roundedness, but not to greatness, nor even goodness.”
Yea this is 100% nonsense, and is borderline gatekeeping. Well roundedness allows me to identify a particular language/tech stack that is most suitable for a task and then I can just drill down on it and get productive very quickly.
Re: Learn more programming languages, even if you won't use them
#225Earlier quoted context omitted.
> cron, Makefile, bash, sed For a programmer with a minimal amount of linux experience, it likely takes a week to catch up to what the codebase is doing with these. > regex There are good tools to destructure regex. > python sql jq query I consider those as "given" or "learnable good enough in a week" > nginx conf Don't know this. Overall, "knowing all these languages" seems overblown in the choice of words for me. J…
> There is 1 proper general-purpose language in there That will depend on what the GP has done with SQL. Also, JQuery implies in Javascript. There are up to 3 general-purpose languages in there, one of which nearly any developer will know. There should be plenty of people capable of taking the codebase, but it's not a trivial single language case. The upside is that good developers will be overrepresented when compar…
Re: Learn more programming languages, even if you won't use them
#226Earlier quoted context omitted.
Jesus Christ, man, I think that team was going to fail anyway. That's super dysfunctional and the languages thing seems like a very small deal.
Are you under the impression that IT isn’t super disfunctional right now? Yes, the language thing is a symptom not the problem.
The field of software engineering as a whole? Nope, not dysfunctional. Creating the most value in the world since the internal combustion engine and doing so super smoothly.
Re: Learn more programming languages, even if you won't use them
#227Earlier quoted context omitted.
Out of curiosity, if you were to point out the focal languages on each paradigm, what would they be ?
Classic OOP: Smalltalk Metaprogramming / what OOP could have been / interesting error handling: Common Lisp Static Types/FP: Haskell (or Ocaml) Logic Programming: Prolog Untyped FP: Clojure (or Scheme) Actor Model: Erlang (or Elixir) CSP: Clojure w/ core.async (or Go) GUI Development: Lazarus (or Delphi)
Re: Learn more programming languages, even if you won't use them
#228My suggestion is Objective-C. It's just so weird to anyone who's never coded in it, that it will force you out of your comfort zone into new ways of thinking. The NS framework is probably the most well designed stdlib of any language ever, and the whole thing is inspired directly from Smalltalk. Protocol Oriented Programming [0] was also a real revelation for me, and I still apply those concepts anywhere I can. It's…
Re: Learn more programming languages, even if you won't use them
#229So I fully agree here because techniques from one language often lead to much better technique in a language of a different paradigm. For instance, I now use many of the functional techniques I’ve learned in JavaScript to write less, easier to read code instead of more loc of imperative code. I’ve also worked at a company that had many functional patterns implemented in php, and frankly made the language quite decent…
> I’ve also worked at a company that had many functional patterns implemented in php, and frankly made the language quite decent. Oooh, got any examples?
Re: Learn more programming languages, even if you won't use them
#230So I fully agree here because techniques from one language often lead to much better technique in a language of a different paradigm. For instance, I now use many of the functional techniques I’ve learned in JavaScript to write less, easier to read code instead of more loc of imperative code. I’ve also worked at a company that had many functional patterns implemented in php, and frankly made the language quite decent…
> In terms of the time issue, I spend about 15 minutes a day just before bedtime learning new languages. I probably manage to do this 4 days out of every 7. Do you find this actually works? Personally I've read entire books for a language and then gone to write some code in it and realized I knew almost nothing. The only way I've found to learn a language is by writing it.