Wpis z mikrobloga

Chodząc po różnych forach i widząc często popularne pytania w stylu "Co jest lepsze spring, django czy może nawet asp.net?". Większość odpowiedzi kręci się wokół preferencji, czyli kto jaki język bardziej lubi, kto ma większe doświadczenie w danej technologii i czasem też możliwości w danym języku/frameworku (chociaż to rzadziej). Czasami ludzie też piszą, że to zależy od projektu. Właśnie to mnie najbardziej interesuje, do jakich projektów pasuje np. spring a nie pasuje asp.net/django, albo na odwrót do jakich pasuje django a reszta nie? Istnieje w ogóle takie rozróżnienie w zależności od zastosowania? Czy może po prostu ludzie siedzą w jednym stacku i nie chcą się z niego ruszać więc korzystają z tego co mają pod ręką?
#programowanie #csharp #dotnet #java #spring #python #django
  • 13
@Pawlinho: Z moich obserwacji wynika, że w finansach, bankach, fintech, rządzi Java i Spring, asp.net w tej branży widziałem jedynie jako małe, tymczasowe usługi zlecane zewnętrznym firmom.

Na asp.net znam za to jeden duży sklep, ale nie wiem czy to jakiś standard w e-commerce, to już musiałby wypowiedzieć się programista z tej branży.
@Pawlinho: generalnie wszystko jedno. Python jest słabym wyborem, gdy zależy nam wydajności (jeśli popularność projektu będzie rosła to na pewno nastąpi ten moment). Kiedyś C# nie mógł być wybrany, gdy naszą platformą był linux, teraz już nie ma tego problemu. Ewentualnym problemem może być brak jakiś specyficznych bibliotek dla danej problemu
Na asp.net znam za to jeden duży sklep, ale nie wiem czy to jakiś standard w e-commerce, to już musiałby wypowiedzieć się programista z tej branży.


@voot: nie jestem w branzy e-commerce ale kumpel dla Allegro kodzi mikroserwisy w javie wiec chyba nie ma reguly. Zreszta w systemach bankowych tez spotkalem c#
@voot: Z czego wynika ta przewaga Javy i Springa? Chodzi tu o jakieś lepsze możliwości lub lepszą wydajność pisania i działania pod te usługi czy po prostu spring był jedynym sensownym wyborem w przeszłości i zanim reszta dociągnęła poziom to już jego pozycja była na tyle ugruntowana, że reszty nie było sensu brać?
@Pawlinho: kiedyś nie było C# na linuxach tak jak pisałem a to dużo bloker. A po za tym nie było alternatyw. W Polsce jest nadreprezentacja Javowców, więc tak to może wyglądać, że wszystko to Java
Python jest słabym wyborem, gdy zależy nam wydajności


@Saly: Python jest słabym wyborem nie tylko ze względu na wydajność, ale również ze względu na wysokie koszty utrzymania projektu, zwłaszcza jeśli istotna jest akceptowalna jakość. Po prostu musisz mieć mega wysokie pokrycie kodu testami aby dało się cokolwiek potem zmienić bez strachu, że coś zepsułeś. A im więcej masz testów, tym trudniej cokolwiek zmienić bez konieczności poprawiania setek testów. Czytelność kodu też
Czasami ludzie też piszą, że to zależy od projektu. Właśnie to mnie najbardziej interesuje, do jakich projektów pasuje np. spring a nie pasuje asp.net/django, albo na odwrót do jakich pasuje django a reszta nie?


99% projektów to przekładanie danych z bazy na stronę / apkę mobilną i z powrotem. Do tego można użyć czegokolwiek wysokopoziomowego, więc w sumie to wszystko jedno. Najlepiej wybrać coś w czym ma się duże doświadczenie.

Natomiast perspektywa
Python jest słabym wyborem nie tylko ze względu na wydajność, ale również ze względu na wysokie koszty utrzymania projektu, zwłaszcza jeśli istotna jest akceptowalna jakość. Po prostu musisz mieć mega wysokie pokrycie kodu testami aby dało się cokolwiek potem zmienić bez strachu, że coś zepsułeś. A im więcej masz testów, tym trudniej cokolwiek zmienić bez konieczności poprawiania setek testów. Czytelność kodu też pozostawia zwykle wiele do życzenia, przez brak jawnych typów.


@
@Pawlinho: Java bardziej popularna bo była pierwsza i nie tak zamknięta jak Microsoft i dużo na niej zbudowano. ja uważam że decydują głównie predyspozycje zespołu i baza gotowych narzędzi do rozwiązania problemu. To jak to działa nie ma wielkiego znaczenia 50% w ta czy w ta na wydajności bez różnicy. Ważniejsze przy długim projekcie jest czytelność kodu łatwość wprowadzania zmian. Język bez typów na robotę w której dłubiesz dłużej niż 3
@Maav: mBank stoi na Alnova - Cobol :) No a poszczególne serwisy mają z tego co wiem w Javie i C#, a nie wszystko w .net
Millenium z tego co wiem, to w większości Java, ale to wiem z drugiej ręki, od kolegi który tam pracuje.
Miałem ofertę pracy w AllegroPay (i co chwilę mi ją wysyłają), szukają Javowców ze Springiem, więc też nie jest to sam .net.

Ogólnie to te