提供された文章から、Flinkがサポートしているプログラミング言語を抜き出してください。コンマで区切ってください。
Flinkは高スループット、低レイテンシーのストリーミング・エンジンを提供し、イベント・タイム処理とステート管理をサポートする。Flinkアプリケーションは、マシン障害時のフォールト・トレラントであり、ジャクトリー・ワンス・セマンティクスをサポートしている。プログラムはJava、Scala、Python、SQLで記述でき、自動的にコンパイルされ、クラスタまたはクラウド環境で実行されるデータフロー・プログラムに最適化される。
Java、Scala、Python、SQL