Live data from Hacker News

Learn more programming languages, even if you won't use them

thorstenball.com

221–230 of 319 posts

Re: Learn more programming languages, even if you won't use them

#222

At 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…

I agree, I don't really sweat it, and the seasoned engineers I respect totally get it. But mastery can be fun, and while I'm developing a kind of "meta-mastery" (I touched my first Go production codebase two weeks ago, and was able to fix a bug in it without really cracking the books except for Interface{}), I miss plain-old mastery that other fields can achieve.

Re: Learn more programming languages, even if you won't use them

#223

At 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}

Know all those except Prolog, plus a couple of Lisps - it just makes it worse ;) I agree that the more disparate the languages, the easier it is. And if I use one language consistently for a year or so, I get pretty keyed into it and only rarely try to figure out why it isn't working because I randomly typed "if not X {}" in Go ;)

Re: Learn more programming languages, even if you won't use them

#224

Earlier 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.

At this point I think it's the ecosystem that you pick and not exactly the language feature.

Re: Learn more programming languages, even if you won't use them

#225
post #61

Earlier 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…

Judging by the surrounding context, they were probably referring to jq[1], the delightful command line DSL for manipulating JSON, not to jQuery.

[1] https://stedolan.github.io/jq/

Re: Learn more programming languages, even if you won't use them

#226
post #25

Earlier 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.

Dysfunctions are on the team level. I know some exceptionally well-functioning teams.

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

#227

Earlier 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)

[deleted]

Re: Learn more programming languages, even if you won't use them

#228

My 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…

Objective-C is also the Stackoverflow 2019 Developer Survey's most dreaded language.

Re: Learn more programming languages, even if you won't use them

#229

So 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?

The company I worked at was Facebook when it still ran on pure php. Much of the functional toolkit was written by Evan Priestley, who also built and still works on Phabricator.

Re: Learn more programming languages, even if you won't use them

#230
post #100

So 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.

Yes, though I tend to then go and use those languages for small suitable tasks pretty often.
Post reply on HN