If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

The problem is that this false statement has become a culture. It's false because machine cost is higher than human cost. This statement is true if you are building an app to run on a few machines only, but if you are developing an app for end users then you have to count the machine cost for all users. If an app is to be used by a million users, and only 0.1% of those need to upgrade their machines because of this app then you are looking at a total cost close to half a million dollars.

The problem is that this false statement has become a culture. It's false because machine cost is higher than human cost. This statement is true if you are building an app to run on a few machines only, but if you are developing an app for end users then you have to count the machine cost for all users. If an app is to be used by a million users, and only 0.1% of those need to upgrade their machines because of this app then you are looking at a total cost close to half a million dollars.

What makes you think the problem is with the python front-end code? They don't say that anywhere in the blog post.

Yes and no. Yes from a literal point of view (the glue code written by Dropbox programmers that puts together the widget toolkit and the syncronisation is indeed in python), no from a substantial point of view: file synchronisation (which is the only functionality provided by the service, and the only "computational heavy" part of it, relying on delta uploads, i.e. hashing functions) is written in C [I believe is the standard rsync library]. So the point of python forcing end users to upgrade their machines is still moot (as a proof, Dropbox is running just fine on a Raspberry Pi).

The bottom line is that - bar specific problem domains such as the need to process real-time large quantities of data, or the need to run on limited resources such as an embedded system - choosing a language on the basis of its performance advantages is akin to premature optimisation.