Why does this nonsense resurface every now and then ? And why is it so woefully misinformed ? And why does anybody with any common sense expect IB to rewrite TWS in C#/C++/Python or anything else without providing any real evidence of any problem that would be solved by doing so when the costs and risks of doing so would be substantial.
The "stop creeping featureism, I don't want features, I want stability" brigade should be having fits at any such suggestion and the risk to stability that it implies but I'll bet there are some of the Java bashers/rewrite TWS crowd amongst them too.
Lets take a look at some of the so called "arguments" -
1. The myth of slow performance. If anybody can demonstrate inadequate performance then they should go ahead and do so. I've yet to see it. The reality is that response time in transmitting an order or getting a price/bid/offer update is less than an order of magnitude less than data comms latency and is therefore irrelevant. If there was a performance issue, then you can see it in CPU utilization with task manager in Windows. But nobody ever cites CPU utilization as an issue - basically because it isn't.
2. Memory. 50 - 70 Mb is not excessive on a modern PC. Memory now costs less than $100 per gig. This is a non-issue.
3. Stability. Current JVMs are quite stable and reliable. It is absolutely not true that they are buggy to the point of compromising the stability of TWS. Anybody banging on the stability issue is years behind current reality. Anybody with evidence (rather than hearsay) to the contrary please step forward.
4. Java is dying. Absolute rubbish. Just look at the number of jobs advertised for Java developers.
As with many things in life using Java is a compromise but as far as I can see, it is the right compromise. IB should be applauded for cross platform support and I expect it will not drive customers away by abandoning it. If you want cross platform support then there are limited choices available. C++/QT is suggested and excellent as QT may be there are very few programmers with QT experience. This is a very serious consideration for any organisation especially in this type of environment. What if key developers leave ? Where are you going to find replacements that can hit the ground running ? Even very good people will take some time to learn. Python/QT has the exactly the same problem with the added issue of a question mark over performance. Java is backed by SUN, IBM, Oracle and so on. This is important to IT managers. There is no other cross platform environment that enjoys this level of support.
The reality is that the only realistic options are Java, or being locked into Microsoft. IB has made a correct decision with Java.
The "stop creeping featureism, I don't want features, I want stability" brigade should be having fits at any such suggestion and the risk to stability that it implies but I'll bet there are some of the Java bashers/rewrite TWS crowd amongst them too.
Lets take a look at some of the so called "arguments" -
1. The myth of slow performance. If anybody can demonstrate inadequate performance then they should go ahead and do so. I've yet to see it. The reality is that response time in transmitting an order or getting a price/bid/offer update is less than an order of magnitude less than data comms latency and is therefore irrelevant. If there was a performance issue, then you can see it in CPU utilization with task manager in Windows. But nobody ever cites CPU utilization as an issue - basically because it isn't.
2. Memory. 50 - 70 Mb is not excessive on a modern PC. Memory now costs less than $100 per gig. This is a non-issue.
3. Stability. Current JVMs are quite stable and reliable. It is absolutely not true that they are buggy to the point of compromising the stability of TWS. Anybody banging on the stability issue is years behind current reality. Anybody with evidence (rather than hearsay) to the contrary please step forward.
4. Java is dying. Absolute rubbish. Just look at the number of jobs advertised for Java developers.
As with many things in life using Java is a compromise but as far as I can see, it is the right compromise. IB should be applauded for cross platform support and I expect it will not drive customers away by abandoning it. If you want cross platform support then there are limited choices available. C++/QT is suggested and excellent as QT may be there are very few programmers with QT experience. This is a very serious consideration for any organisation especially in this type of environment. What if key developers leave ? Where are you going to find replacements that can hit the ground running ? Even very good people will take some time to learn. Python/QT has the exactly the same problem with the added issue of a question mark over performance. Java is backed by SUN, IBM, Oracle and so on. This is important to IT managers. There is no other cross platform environment that enjoys this level of support.
The reality is that the only realistic options are Java, or being locked into Microsoft. IB has made a correct decision with Java.
