What kind of softwares will a bank or financial company ask a programmers to create, and what programming language is best for creating such softwares. thanks to any answer

COBOL!! At least, that's the legacy language for banking, accounting and POS (point-of-sale) software. Hopefully though, I think this is phasing out because COBOL is a language universally known for being horrible.

I don't know much about banking software (e.g., software that bank managers might use or the back-ends that do transactions and all that). But these types of applications are not particularly special, just basic GUI applications, but with lots of panels and parameters to set. The more crucial part is the back-end, which is normally handled with database servers and secure protocols to communicate between them. I'm not sure what language is the most popular for this, but I imagine that C++ is a large part of it.

Financial companies are a completely different beast. Their software needs are more along the lines of big data analytics... basically trying to predict stock prices or evaluate risks (when they are not off-loading it on the government by claiming to be "too big to jail"). For those tasks, they mostly hire mathematicians and engineers for their mathematical and problem solving skills, which is more important than programming skills in this domain. From what I've seen, they seem to mostly use C++, and sometimes Java, in this field.