Scratch and Python are generally considered as great starting platforms to learn to code. Scratch is a block-based visual programming language targeted primarily at children. It uses a drag-and-drop system for small blocks of code, making syntactical errors literally impossible. It is currently available on desktop and mobile devices with the recently released Scratch 3.0, built on Google’s Blockly technology. It is free to use, and has a supportive community offering tutorials, challenges and troubleshooting forums. Most versions of Scratch prior to this release use the Flash plugin, which may cause issues in modern browsers as it is now largely unsupported.
Python is available on a wide variety of platforms including Linux and Mac OS X, though may require some in depth familiarity with computers in order to set up a proper development environment. To do this, one must download the binary code available to their platform from the official Python website (https://www.python.org/) and setup using the instructions given on site.
For those just starting out, it is advisable to start learning through one of the many online interactive tools available through the browser such as learnpython.org and datacamp.com, which run and compile Python code in the browser and offer excellent feedback to the user as they progress through each tutorial.
Another popular option is Anaconda, a platform which offers an easily-navigable learning environment for writing and compiling Python code. Anaconda assists the user in writing and running fully-fledged Python programs from the ground up. Similar to Scratch, Python has a supportive community that can offer help to the user through tutorials and forums.