The method getOutputStream() on the Process class returns a stream you can write to in Java that connects to the stdin stream of the process. You should be able to read this as you would normally read stdin for each language (e.g., cin for C++, scanf for C, STDIN.read for Ruby, don't know Python!)
If this is what you're doing and it isn't working (your question sounds like it might be but it's hard to tell) could you post some code to make it easier to see what you might be doing wrong?
Answer from Jonathan on Stack OverflowGetting Java to talk to Python, C, C++, and Ruby - Stack Overflow
What makes Python is so popular and Ruby died ?
Python, Ruby, PHP or Java? How to pick a programming language to learn
Java or Python or Ruby for Web Application? - Stack Overflow
Videos
The method getOutputStream() on the Process class returns a stream you can write to in Java that connects to the stdin stream of the process. You should be able to read this as you would normally read stdin for each language (e.g., cin for C++, scanf for C, STDIN.read for Ruby, don't know Python!)
If this is what you're doing and it isn't working (your question sounds like it might be but it's hard to tell) could you post some code to make it easier to see what you might be doing wrong?
You should probably use a standard interprocess mechanism like a pipe or socket.
All of these languages have libraries available for both, and this strategy allows communication between any 2 of your processes (Java/Ruby, Ruby/Python, Java/C, etc)
Python is one of the most used programming language but some languages like Ruby were not so different from it and are very less used.
What is the main factor which make a programming language popular ? Where are People using Ruby 10 years ago ? What are they using now and why ?
According to you what parameters play a role in a programming language lifetime ?
I have noticed a lot of folks asking what language to use to learn programming. Javascript seems to have become popular for the backend. Some coding bootcamps seem to use that as well.
By choosing javascript though, you will miss out on learning some deeper software design principles that will be important for your career in the long term. These tend to be better learnt through a more full-fledged backend language such as Ruby, Python, Java.
Here's a post that explores this:
Python, Ruby, PHP or Java? How to pick a programming language to learn
Background : I'm a professional Java developer that does Django on the side.
Java
Java is used mainly in the enterprise, and there are very good reasons for it. Java is a good solution if you need a language that is mature, has good support for concurrency, transactions, access to multiple databases ... Java is also a very stable platform. And by stable, I dont mean that it has fewer bugs than Python or Ruby, I mean that it doesnt change as much.
There is wonderful tool support for Java. Great IDE, great refactoring tools, great static analysis tools ... You probably wont find as many tools of that quality for any other language.
There are a lot of slow Java applications, but in my opinion it comes more from developers using an architecture that they dont understand, trying to do things more complicated than they need to. You can develop high performance, very fast websites with Java.
Django
Django is more light weight, more fun to work with. You can have an application running in a very short time. The admin interface is magical for simple CRUD operation and can be used for even pretty complex logic. You can find a lot of "reuseable apps" that will implements some of the functionalities that you need.
Even if Django is now in version 1.0, it is far from stable. If you need to be still developing your project in 1-2 years, you can expect a lot of changes just to follow the state of Django.
Conclusion
Use Java if you already know it and if you have needs for complex architecture and long term support.
Use Django (or RoR) if you want rapid development and dont care if you need to rewrite a lot of the app in 1-2 years.
Pick which is familiar to you and run with it.
Or you can pick Django on Jython to get best of Java libraries and Python's speed-coding.
Or pick Java if you need to convince somebody that it is enterprise-y.
I would say if you're working alone / in a small team, then just pick the one that requires least resources (hint: Python).
Why would anyone in this day and age choose a bloated corporate language like Java? It is just to get a job at a big company writing their legacy enterprise software? Is it because it is safer for huge systems where everyone is forced to type out all the little details. I am confused. Please someone shine some light here.
Both Python and Ruby have full support for multi-threading. There are some implementations (e.g. CPython, MRI, YARV) which cannot actually run threads in parallel, but that's a limitation of those specific implementations, not the language. This is similar to Java, where there are also some implementations which cannot run threads in parallel, but that doesn't mean that Java is single-threaded.
Note that in both cases there are lots of implementations which can run threads in parallel: PyPy, IronPython, Jython, IronRuby and JRuby are only few of the examples.
The main difference between Clojure on the one side and Python, Ruby, Java, C#, C++, C, PHP and pretty much every other mainstream and not-so-mainstream language on the other side is that Clojure has a sane concurrency model. All the other languages use threads, which we have known to be a bad concurrency model for at least 40 years. Clojure OTOH has a sane update model which allows it to not only present one but actually multiple sane concurrency models to the programmer: atomic updates, software transactional memory, asynchronous agents, concurrency-aware thread-local global variables, futures, promises, dataflow concurrency and in the future possibly even more.
A confused question with a lot of confused answers...
First, threading and concurrent execution are different things. Python supports threads just fine; it doesn't support concurrent execution in any real-world implementation. (In all serious implementations, only one VM thread can execute at a time; the many attempts to decouple VM threads have all failed.)
Second, this is irrelevant for web apps. You don't need Python backends to execute concurrently in the same process. You spawn separate processes for each backend, which can then each handle requests in parallel because they're not tied together at all.
Using threads for web backends is a bad idea. Why introduce the perils of threading--locking, race conditions, deadlocks--to something inherently embarrassingly parallel? It's much safer to tuck each backend away in its own isolated process, avoiding the potential for all of these problems.
(There are advantages to sharing memory space--it saves memory, by sharing static code--but that can be solved without threads.)