I would like to know if registering trademark for software in some countries is too expensive for us and we develop a software which is hard to copy, can we survive without trademark for software? Of course we are going to run into risks that competitors can use the same name as ours, but even though we find money for trademark, we can't afford to register in all countries, like Australia, United States, Russia, Swiss, Spain, UK. So anyway, we are going to run into risks for others to use our name if we register just in UK country.
Our software is going to be available for all countries in world, is it enough to have an LTD company in UK with company logo, registered company name, and a trademark for software.
As I understand this will still allow for someone to register a company in USA with our trademark (if we dont register trademark in USA)?
The only way I can see is to buy internet domain names for our software name and company name in countries we are interested to sell.
A trademark is required to protect the name of your software. I am not sure if it is the same everywhere, but if you purchase a trademark in Australia, then you get a 6 month window that you can then purchase a trademark elsewhere internationally and it effectively gets backdated to the time the Australian trademark was bought. The good thing about this is you just buy a trademark in your country, and then hopefully in 6 months you have some revenue and can buy the other main countries you need. This protects you during those 6 months.
The risk you can run is someone else trademarking your name and forcing you to change the name of your business/application. If they get the trademark, you won't be able to use it.
In practice, I would suggest wait until you know that your idea is going to work, and then do it. If you haven't developed or launched yet, it's too soon to worry about trademarking.
If you do apply for a trademark, you need to consider whether you trademark the name, the logo, or both. If you trademark both together, then anyone could use the name or the logo, just not both together. In the long run, you will likely need to trademark them separately and together.
Also, I am not a lawyer, you should get real legal advice if you pursue it.
I think the initial part of the question pertains more to the code rather than the name of the program. Instead of a trademark for the code, a copyright or a patent would be more advantageous. While a copyright protection is usually weaker than a patent application, but is cheaper.
As for the identity of your startup, you should get your name copyrighted and the logo trademarked.