Python is one the most popular language for learning coding today, and I have been using it successfully in my computer science elective classes for grades 7 and 8.
We also use the micro:bit if there is time in the class and they are able to use MicroPython to code and use their Python skills in a different setting.
Python is a text based language without the fussy semicolons and curly braces and variable declarations that can be so difficult to use for younger middle school students. Since Python is also widely used in industry, students are happy to be learning a 'real programming language' as they call it, and there are TONS of resources available online.
How do I actually use Python in my classroom
I use Python 3, and I use it with IDLE in the computer labs at my schools. IDLE is an offline editor and development environment that comes for free with the Python download. Using this setup means that my students have to create files using the naming conventions I give them, make folders, back up files and submit their solutions to me on the school server (I use a simple script to grade them as a batch). In addition to teaching them some of these basic file management skills, they are also not distracted by other things online. They tend to stay more on task using the offline IDLE environment. I may switch to a more full featured editor like PyCharm in future classes.
How do I? Help pages / More resources
Many resources - but honestly (without any bias :) I recommend my book