Live data from Hacker News

Being confidently programming language agnostic

blog.bradfieldcs.com

81–90 of 131 posts

Re: Being confidently programming language agnostic

#81
post #55

Earlier quoted context omitted.

As a Python programmer of 10+ years, here's the most Pythonic tip you can get: Don't try to be clever, do the simplest (and most readable) thing that will work. Try "import this" in an interpreter to read a bit more on the above.

... Except generators and comprehensions are often faster than for loops in your hot path. Apart from that... What's readable tends to be the best option.

I think the Python community considers list comprehension more readable than loops.

And writing generators allows you to write simple code with them. I don't consider generators to be fancy - just a tool to pull out complexity into a small area and make the rest of the code readable.

Re: Being confidently programming language agnostic

#82
post #66
post #12

I think Norvig and the author are wrong about "parallelism" requirement. I mean it's good to know what's out there, but you can't really understand it if you try to learn it from a multithreading point of view. Fundamentals for it are part of distributed systems and this is where people should get into and learn things about ordering, consensus, asynchronous and synchronous systems, etc.

There's of course also the distinction between parallel and concurrent.

Yeah, they are mixing all kinds of things together, Go with Erlang and even throwing a GPU in there. These are all very different worlds and none of them teach you fundamentals. I remember how useless the parallel programming class was, I only started to understand the underlying ideas behind semaphores, mutexes and memory barriers long after I got into distributed systems.

Re: Being confidently programming language agnostic

#83
post #12

I think Norvig and the author are wrong about "parallelism" requirement. I mean it's good to know what's out there, but you can't really understand it if you try to learn it from a multithreading point of view. Fundamentals for it are part of distributed systems and this is where people should get into and learn things about ordering, consensus, asynchronous and synchronous systems, etc.

Yes, their language parallelism recommendation is bit off. Parallelism is more about organizing data and algorithm than what a language can offer.

Re: Being confidently programming language agnostic

#84
post #7

I think nowadays people spend too much time learning new tools and too less time doing something really valuable using that tools. I wish I had only one language, so I can concentrate on more interesting things rather than learning yet another random set of operators and library function's names.

While using fewer, better languages for more is fantastic, I doubt you really want a single language. Try replacing shell, Structured Query Language, and C with the same language. I won't say that it can't be done, but I think you'll lose a lot if you succeed.

I think Smalltalk machines did it, and so maybe did Lisp machines. Intersystems is doing something similar, partially, with M (their version of Mumps).

Re: Being confidently programming language agnostic

#86
Interesting article, love the emphasis on continual learning.

But I actually think we (software devs) need to focus more on mastering languages as opposed to learning many languages at a surface level.

Books like "Effective C++" (https://www.amazon.ca/Effective-Specific-Improve-Programs-De...) really showed me the huge divide between knowing a language and mastering a language.

Re: Being confidently programming language agnostic

#87

After you have some experience with, say, 3 to 5 different languages, you can learn new ones very quickly (hours, days) with little effort because you know almost all of the core concepts (OOP, FP, mutability, generics, ...). There's no point in learning "all of the languages" for its own sake. Just learn a bunch of different ones to learn different ideas and programming styles. What takes more time is the standard l…

Yeah this is the thing, learning languages isn't nearly as important as learning frameworks, idioms, etc.

Re: Being confidently programming language agnostic

#88

Earlier quoted context omitted.

There are three problems with "Don't mandate a programming language" -- I'm a lecturer and I've done it for advanced practicals in later years. * Students expect to be able to get help when they have problems. There is a good chance no member of staff knows Julia / Moonscript / ... * Some languages make tasks trivial -- while this is nice when you are in the real world, if I want to test student's ability to create s…

> Students expect to be able to get help when they have problems. There is a good chance no member of staff knows Julia / Moonscript / ... For this I have two answers. Past the first year people shouldn't be getting help with "my code won't compile". They should be able to develop the skills needed to search that on google and find SOF links. The second answer is a question: Why don't members of staff know "Julia / M…

[deleted]

Re: Being confidently programming language agnostic

#89

After you have some experience with, say, 3 to 5 different languages, you can learn new ones very quickly (hours, days) with little effort because you know almost all of the core concepts (OOP, FP, mutability, generics, ...). There's no point in learning "all of the languages" for its own sake. Just learn a bunch of different ones to learn different ideas and programming styles. What takes more time is the standard l…

"I never understood why there's so much focus on the "x years experience in y" in the industry. A solid developer should be able to become fluent in any language and technology within a month or two."

I don't think any developer can become fluent at a new language in 1-2 months. I have seen so much terrible code over the years the compiles and appears to run just fine but with massive performance issues, poor design, unreadable, security issues, memory leaks, etc. etc.

I see learning the syntax of a language to be something like 0-5% of the effort of mastering a language, knowing how to properly use a language really does take years. Although I agree that # of years of experience is not a perfect metric.

Re: Being confidently programming language agnostic

#90

Languages are easy, libraries are hard.

This seems to be the message fron most of the comments

I'd be surprised if it wasn't. This is immediately obvious to anyone who's tried to solve practical problems in languages, rather than just learned them for resume embellishment purposes. That's also why sane companies limit the languages that can be used for development: if you let your "theoreticians" run wild, you will soon end up with code written in Brainfuck and Malbolge using libraries no one understands. I'm exaggerating, obviously, but only slightly.
Post reply on HN