Your first coding language: what's wrong with Python
I saw this post the other day that got me thinking about how I learnt to #code.
There was a tweet yesterday about how major python libraries mostly aren't written in python, and it implied that this was something that should be fixed. I take it as revealed preference: experts don't like working in python. It's also a terrible language for beginners. pic.twitter.com/wBVJDNPCiJ— David Mimno (@dmimno) July 13, 2023
It was a great opportunity for me to revisit a post I wrote nearly a year ago on the subject: So you want to code? (Lawyer Edition)
The original poster concludes on why getting people to learn #Python as a first language is bad:
Remember how pythons kill. Not with teeth or venom, but by embracing you and slowly squeezing. The only reason we use this language is because everyone else does. We can discuss what's better, but we need to acknowledge that python is not good.
This might suggest that people shouldn't learn Python as a first language, but once you study the substance of his complaints, it doesn't hold water:
Package hell: it's true that this is a problem with Python, especially when compared to installing something on Windows. I'm not sure how to “solve” this. The basic idea, which works for many installation instructions for python, is to create a virtual environment. I haven't had much problems with this issue once I understood the point of isolating your program's environment.
For some strange reason, using for loops is slower than other ways of iterating: nobody is stopping anyone from using for loops. Besides, computers are so fast these days, whatever differences in performance is likely unintelligible to a beginner.
It's slow: seems similar to problem 2.
As I read my old post, I realised I never made any recommendations on #programming languages. This is the relevant paragraph.
So, this is my suggestion: don’t aim to conquer programming languages or produce full-blown applications to rival a LegalTech company you’ve always admired on your own. Focus instead on developing proof of concepts or pushing the tools you are already familiar with as far as you can go. In addition, look at no code or low code alternatives to get easy wins.
So, if you want my opinion on what should your first programming language, I would recommend Python for the ecosystem, the docs and the “batteries included”. In an imperfect world, it's the best.
Love.Law.Robots. – A blog by Ang Hou Fu