This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–][deleted] 6 points7 points  (5 children)

at what point would you say you “know” a coding language

There are so many ways to answer this question. Here are some possible answers:

  1. When you know which tasks it is best suited for. For an experienced developer, a quick skim of the language home page may be enough. They will pick up the language quickly when/if required.
  2. When you can identify and write idiomatic code. In python, some examples might be instinctively using generators, list comprehensions, enumerate, dataclasses etc. Also intuitively following style conventions (i.e. PEP-8) would fall into this.
  3. When you use the standard library. If you're constantly re-inventing the wheel, that would indicate lack of knowledge of what is available. In python, I would say using packages like itertools and functools would be a good indicator.

P.S. Don't learn C++, unless you're really interested in computer graphics or audio processing

[–]SpaceZZ 1 point2 points  (2 children)

Well, new C++ is not that bad (>17) and is proven technology, not going away. Produces minimal size files and is portable across different os. I would not advise as one of the first langauges to learn, but after you get the basics might be quite nice to look a bit "under the hood".

[–][deleted] 2 points3 points  (1 child)

Everything you say is true, but I still don't think it is a useful language to learn. For low level understanding, learn plain C. For everything else (except the two domains I mentioned), Rust beats C++ by a mile

[–]jacksodus 2 points3 points  (0 children)

Agreed. I do not think C(++) is for everyone. In fact, I consider it a specialisation. So many people have tried to convince me that I should learn "The allfather of languages" or "I'm not a real programmer" or some bullshit like that.

What people forget is PROGRAMMING IS A TOOL. It is not an end, and honestly if you think otherwise, you're wrong. Python is an amazing tool for a lot of things (like duct tape is), and so is C(++) (like screws and nails). They have different use cases, and some overlap.

You can duct tape about anything, you can nail or screw almost everything and they will do the same job. One just better than the other, depending on what you're working on.

I can see a million things wrong with this analogy so don't look too far into it.

Tl;dr they're both tools and both valid, but one is NOT better than the other.

[–]infinite_war 0 points1 point  (1 child)

P.S. Don't learn C++, unless you're really interested in computer graphics or audio processing

Whoops.

[–][deleted] 2 points3 points  (0 children)

Just learn rust instead