R
R
RGoldvarg2018-06-08 07:33:17
Refactoring
RGoldvarg, 2018-06-08 07:33:17

How difficult is it to refactor a project and rewrite code from C# to Python/Java?

Good afternoon!
Now we are planning to buy a fairly large (from a functional point of view) project (client-server solution), a web muzzle, which is written in C #.
Given the future plans for the project, we want to rewrite it in Python or Java. Based on this, the question arises, if the code is written cleanly, documented, how difficult and long is it to rewrite all the logic and functionality of the system in Python or Java? And what will be faster (closer) to C#? Java or Python?
Thanks in advance for your reply!

Answer the question

In order to leave comments, you need to log in

6 answer(s)
E
eRKa, 2018-06-08
@RGoldvarg

If, as you say, the project is written cleanly, documented and adequately fulfills its tasks, then why rewrite it? If it's only a matter of Windows, then it's cheaper and faster to transfer to Core, Linux will be for you.
Right now this is adequate) Most of the new Interprises are starting to be written in C#. We, on the contrary, were brought a large project from Python to rewrite.
I believe that it is worth rewriting only if the project does not cope with the tasks or further support on this technology is difficult. And so, what's the difference, but what is it.

S
Sergey Gornostaev, 2018-06-08
@sergey-gornostaev

Rewriting in C# would be equivalent to writing a program from scratch to a very precise specification. When rewriting in Python, you can simply not buy a C# program, as it will not give you anything. But the most difficult part of the project is that you will need programmers who know both languages ​​well from a pair, and these programmers are rare and expensive.

S
Sergey Nizhny Novgorod, 2018-06-08
@Terras

I read the description of the task, it looks very strange.
There is a project in .net, it needs to be rewritten in python / java - while the main criterion is scaling and the issue of frames.
There are not so many frames in Python. Finding middle/senior in Python is quite difficult. Most often, people come across who did something in Php, but at the same time somehow picked Python. Yes, and scaling is so-so under Python, i.e. possible, but with heroism.
In Java, there are a lot of personnel and it scales well, but there the competition is wild. Those. you will have to compete with different banks, telecom companies, medical systems, etc. Those. You can find a lot of staff, but it's expensive.
MB as an option, you can bring the salary to the level of adequate Java developers in 140-160 thousand. And there you look and normal guys on .net will catch up with you?

A
Alexander Kuznetsov, 2018-06-08
@DarkRaven

Java is closer in syntax, gives static typing, and most likely, part of the C # code can be converted (although it’s better not to).
Python is a wonderful language, with its own peculiarities. Dynamic typing, interpreted, etc., will be a complete rewrite with it, definitely.
My personal opinion - choose Java, a language with static typing, a syntax close to C #, a huge world of the enterprise.
In general, why not .NET Core? :-)

E
Eugene, 2018-06-08
@immaculate

Rewriting usually takes longer than writing the same project from scratch. But I judge by small projects. A large project can be an order of magnitude more difficult to rewrite... Although I love Python, in this case it is better to hire people who are familiar with the language. It'll come out cheaper.
Although there may be some nuances, without knowing how the code is written, it is difficult to say anything for sure.

O
OnYourLips, 2018-06-08
@OnYourLips

And what will be faster (closer) to C#? Java or Python?
Java is, of course, much closer. And rewriting a project from C# to python is generally a strange idea, usually they do the opposite.
However, I see no reason to rewrite anything in your case if the original project is well written.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question