Are these computer languages I'd have heard of?
While the languages are likely those you've heard of, the operating systems for critical control systems likely isn't. While something like Windows or Linux might be good for information kiosks, passenger information displays, point of sale terminals, and the like, software for controlling operation of the train is almost certainly running in a Real Time Operating System (RTOS). Traditional operating systems are "best effort" when it comes to how long it'll take to respond to events, such as sensor or control inputs. An RTOS provides deterministic (i.e. defined and predictable) timing in response to such events, allowing for precise control in embedded systems.
In order to accomplish this, an RTOS may provide functionality that seems basic, limited, and/or more complicated than what a programmer experienced in other environments is used to. Many of the convenience features and safety guardrails that allow programmers to weave complex systems together don't exist or have hard limits placed on them to ensure system behavior meets specifications.
Source: A long programming career that started with embedded control systems for DOD hardware.