A
A
Alan2015-01-03 15:16:32
linux
Alan, 2015-01-03 15:16:32

Mono || Java || Python: the optimal technology stack for a new project?

Introductory
About me
My forte is .NET (via C#), I know this technology well, I have done many projects on it.
I started my journey with Java, I did not have time to do a lot on it, but the foundation of knowledge was laid on it.
Python - I write "4 fun".
About the project
A new project is planned (research platform, data analysis):

  • client-northern architecture;
  • web GUI
  • not high load
  • non-SaaS (for on-premises use)

In order to cut costs, it was decided to write under Linux + PostgreSQL / MySQL (not yet chosen).
About doubts
I am a fairly experienced developer, I have done "big and different" projects, however, as I wrote above, mainly on the MS stack (.NET, Windows Server, MS SQL etc.), I am familiar with Linux quite well, but still without business -experience.
The project is quite critical in terms of timing.
I also understand that "the devil is in the details", so I inwardly tend to "write on the best you know", but here it's not all that simple.
Actually, the question
I want to hear the opinion of colleagues, experiencedcolleagues, about who and how would have acted with such introductory? Write on Mono / .NET Core or "resurrect" Java knowledge, or even go towards python? I will also perform in the project as a Tech. Lead / Architect, and as PM.
You will have to be responsible not only for the overall architecture (there are no problems with this), but also to write some things yourself and do "code review", which became a reason for some doubts.

Answer the question

In order to leave comments, you need to log in

7 answer(s)
E
Evgeny, 2016-01-04
@os_alan

Try to make a skeleton in python, it will not take much time, at the same time doubts will disappear. At one time, I also doubted between .NET / Java until I started writing in python :))

J
jackroll, 2015-01-03
@jackroll

>experienced colleagues
are not found here, look on stackoverflow.com

N
Nodar, 2016-01-04
@Nodar

If time is critical, write on what you know best.
At first, it can be easy in Java / Python, but when you need to implement something complex, instead of sitting and writing code, you will stick to the documentation.
If possible, do microservices. In the future, they can be rewritten gradually to something else.

L
LEKAPb, 2016-01-04
@LEKAPb

This is how the project turned out now:
1. PostgreSQL : Pain is enough at the initial stage with npgsql. If the base does not change often and strongly, then you can live.
2.Mono SelfHosted WEB API Backend + SignalR: Here everything starts up without unnecessary gestures. (Perhaps there may be a ServiceStack)
3. Angular Typescript Frontend via NGINX : Here you already need to understand that you need a FrontEnd developer, but it's worth it.
IMHO: If the project is long-playing, you should choose Mono(CoreCLR).

A
Artur Nurullin, 2016-01-07
@Splo1ter

I would advise you to write in .NET, but since costs go, it is better certainly Java (Spring)/PostgreSQL
It is better not to look at MySQL at all.

A
angry_cellophane, 2016-01-08
@angry_cellophane

They didn’t really tell anything about the project, about the people who make it and where you will hire them, and a lot of other things.
In general, little more than nothing information. Under the definition of client-server, web gui, not high load, not Saas, both a bloody banking enterprise and a simple site on Joomla fall into.
I can advise while riveting a prototype on what you know how and be mentally prepared to throw it out later (and agree with the business about it), at the same time look for an architect who will answer all your questions.

R
reus, 2018-01-12
@reus

What's the point of writing non-highload in Java?
Date parsing -> Python 3.5+ -> asyncio + flask + front (angular/react/etc)

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question