Which programming language?
Python¶
The RCPCH Incubator's primary language is Python.
It is a powerful, versatile, easy-to-use programming language, often described as the "second best language for everything".
If you are a budding Clinician Who Codes, you should learn Python.
Blog Posts related to learning Python
- Dr Marcus Baw on 'Why Python...'
- Dr Anchit Chandran on 'What learning to code actually means'
What is Python?¶
Python is a high-level, general-purpose programming language whose design philosophy emphasises readability.
What do these terms mean exactly?
High-level¶
Programming languages are translated into binary (1s and 0s) for the computer to perform the actions detailed by the instructions you provide.
At the bottom level', these 1s and 0s are represented by a 'high voltage' and 'low voltage'. However, trying to tell your computer to print the message "This patient is having a heart attack!" to the screen using only 1s and 0s is a challenging and unnecessary task.
Thankfully, people have built more intuitive methods of providing these instructions: programming languages. These abstract complicated processes so that you - the clinician who codes - can focus on creating tools to improve lives rather than how to set the colour of every pixel on the screen.
Most clinicians don't memorise the specific physics of how an ECG generates a tracing of cardiac electrical activity; that complexity is abstracted away so clinicians can focus on more important details, such as whether the patient is having a heart attack.
Python abstracts many of the complicated inner workings of your computer, allowing clinicians to focus efforts on the clinical problem.
General-purpose¶
A screw screws things together. A bottle opener opens bottles. A Swiss-army knife does multiple things: it's general purpose.
In certain instances, you may use a specific programming language, e.g. for making websites look and feel nice, you could use HTML, CSS and JavaScript.
One of the significant benefits of learning Python is that you can do many different things, all whilst using the same tool. Python is used extensively in data science, web development, and automation, but it could be used to solve most problems.
Readability¶
An essential tenant of healthcare technology is transparency and reliability.
Python is a very popular programming language, making it a great option to use in clinical software products, as it's highly likely that other clinical programmers will be able to understand and improve your product.
How do I learn Python?¶
There are lots of resources to learn Python. Don't get bogged down with "choosing the right one"; all tutorials will cover the same aspects for beginners.
Some recommendations for good tutorials include:
- Python for Beginners - free online Youtube video
- Codecademy's Learn Python 3 - paid, interactive online tutorials
- MediCode - paid Python crash course, made by clinicians, for clinicians