I have done some Java programming and very little C and PHP programming as well. Recently I started to learn Python because the language seemed interesting.
But several posts on SO seemed to point that Python is not suitable for concurrent programming. And also is slower compared to those languages that have a compiler. I also like to have the merits of a statically typed language but Python is dynamically typed. So my question is, is there a language that satisfies the following criteria.
1) Has an interpreter ( for faster development )
2) Has a compiler ( because compiled code would run faster )
3) Has OO capabilities
4) Statically typed
I came across OCaml which satisfies the above criteria. But posts on SO led me to believe that OCaml is not suitable for concurrent programming. So the fifth criteria is
5) Suitable for concurrent programming.
PS :- I’m not an expert in programming languages so bear with me if any of my above observations are wrong.
Yes, OCaml is suitable for concurrent programming. It does have a
Threadmodule that allows you to program network applications the way you would do it in Java.Note that it currently does not support true parallelism (you won’t have two threads running OCaml code in parallel), but it doesn’t matter as OCaml is much faster than many other languages (for example, on a QuadCore, the Language Shootout shows that OCaml outperforms even Haskell with multicore capabilities).