[HN Gopher] Python Expertise Level - Self-Assessment
       ___________________________________________________________________
        
       Python Expertise Level - Self-Assessment
        
       Author : saeedesmaili
       Score  : 6 points
       Date   : 2023-10-26 21:44 UTC (1 hours ago)
        
 (HTM) web link (safjan.com)
 (TXT) w3m dump (safjan.com)
        
       | Waterluvian wrote:
       | "Can use advanced Python libraries like numpy, pandas,
       | matplotlib."
       | 
       | Interestingly in my 15 years of Python I've used numpy sparingly
       | for image processing and haven't used the others ever. I
       | appreciate this isn't meant to be an exhaustive checklist but it
       | reminds me how two advanced coders could live in two entirely
       | different drawers of the tool chest.
        
       | kstrauser wrote:
       | Eh.
       | 
       | Advanced.9: "Can use Python's built-in functions like map(),
       | filter(), reduce()."
       | 
       | ...and knows why you should probably used comprehensions instead.
       | 
       | Experts.4: "Can use Python's C API to extend Python with C/C++
       | code."
       | 
       | I've written Python professionally for 20+ years. I've extended
       | Python with C for funsies, but have never, not once, needed to do
       | it at work. I'm glad other people have used C (and now Rust) to
       | speed up the Python modules I want to use. I'm equally glad I've
       | been able to use those modules, not have to enhance them with C.
       | 
       | Experts.7: "Understands and uses Python's garbage collection
       | system."
       | 
       | 99% of what you need to know is "don't write circular
       | references".
       | 
       | Experts.10: "Have a good understanding of Python's internals,
       | such as bytecode, the Python interpreter's execution model, and
       | how Python's data types are implemented at the C level."
       | 
       | See Experts.4. I've had a nice career writing code _in_ Python,
       | but haven 't had to hack on the CPython codebase. I bet there are
       | lots of people who are experts in C who've never written a line
       | in the GCC or Clang codebases.
        
       | drbig wrote:
       | Cool and overall sane, so lemme just pitch in from my perch on
       | the critical side:
       | 
       | *Advanced*
       | 
       | > Can use advanced Python libraries like numpy, pandas,
       | matplotlib.
       | 
       | You're a data scientist and this is not "Python".
       | 
       | > Can use regular expressions for pattern matching in strings.
       | 
       | Not Python really again.
       | 
       | > Understands and uses Python's memory management and
       | optimization techniques.
       | 
       | Wait, like thinking about how a `list()` looks like from the
       | (false) C-level perspective? Can you fix my CPU transistors while
       | you're at it? (yes, /s)
       | 
       | *Experts*
       | 
       | > Can use Python's C API to extend Python with C/C++ code.
       | 
       | Do you mean whatever FFI Python has? Otherwise this is like
       | asking your mechanic to also make it a plane, and a submarine.
       | After all these are all just vehicles.
       | 
       | > Understands and uses Python's garbage collection system.
       | 
       | Ref counting? Wait what?
       | 
       | > Have a good understanding of Python's internals, such as
       | bytecode, the Python interpreter's execution model, and how
       | Python's data types are implemented at the C level.
       | 
       | Submarine :D
       | 
       | My perch also lets me see here the aspects I usually don't care
       | about. Thank you!
        
       ___________________________________________________________________
       (page generated 2023-10-26 23:00 UTC)