<|im_start|>user
From the passage provided, extract the programming languages supported by Flink. Separate them with a comma.

Context:
Flink provides a high-throughput, low-latency streaming engine as well as support for event-time processing and state management. Flink applications are fault-tolerant in the event of machine failure and support exactly-once semantics. Programs can be written in Java, Scala, Python, and SQL and are automatically compiled and optimized into dataflow programs that are executed in a cluster or cloud environment.<|im_end|>
<|im_start|>assistant
Java, Scala, Python, SQL<|im_end|>
