Web app - go vs python.

0

Cześć,
zastanawiam się na wyborem stacku technologii do stworzenia aplikacji. Nie mogę się zdecydować czy pisać w Pythonie (który nawet lubię ale boli mnie brak dobrze widocznych typów danych) czy w Go który mnie interesuje - chciałbym go lepiej poznać. Z tego co udało mi się dowiedzieć w obu tych językach można z powodzeniem stworzyć web aplikacje - w Pythonie cały zestaw frameworków (Django, Flask itd), a Go dostarcza wszystko co potrzebne do budwy takiej apliacji w standardzie. Liczę też na podowiedzi w czym dobrze by było napisać frontend.

0

Co to znaczy: "brak dobrze widocznych typów danych"?

0
lion137 napisał(a):

Co to znaczy: "brak dobrze widocznych typów danych"?

Miałem na myśli coś takiego:

def foo(parm, param1, param2):
    pass

Mam taką przykładową funkcję powiedzmy że oczekuje ona typów odpowiednio int, string, json. I później jak chcę z niej skorzystać to zapominam co które jaki ma typ i sam sobie produkuję błędy. Oczywiście zmienne w Pytonie mają typy które nie są trudne do odganięcia. Problem spawiają mi właśnie sytuacje takie jak opisałem - nie jest to problemem jak projekt jest mniejszy ale przy znacznej ilości fukcji nie jest to dla mnie przyjemne.

0
przemyslowiec napisał(a):
lion137 napisał(a):

Co to znaczy: "brak dobrze widocznych typów danych"?

Miałem na myśli coś takiego:

def foo(parm, param1, param2):
    pass

Mam taką przykładową funkcję powiedzmy że oczekuje ona typów odpowiednio int, string, json. I później jak chcę z niej skorzystać to zapominam co które jaki ma typ i sam sobie produkuję błędy. Oczywiście zmienne w Pytonie mają typy które nie są trudne do odganięcia. Problem spawiają mi właśnie sytuacje takie jak opisałem - nie jest to problemem jak projekt jest mniejszy ale przy znacznej ilości fukcji nie jest to dla mnie przyjemne.

Możesz korzystać z adnotacji typów w Pythonie
https://stackoverflow.com/questions/32557920/what-are-type-hints-in-python-3-5

0

Python jest dynamicznie typowany, jak Ci to przeszkadza, to rzeczywiście Pisz w Go. Możesz też spróbować type annotations

0

Wypróbuję te type hints, jeszcze Go ma dla mnie tę zaletę że dowiem się o tego typu błędach w czasie kompilacji. Może zacznę od zrobienia czegoś mało złożonego w Pythonie i Go i sprawdzę w czym będzie mi wygodniej.

1

Go ma dla mnie tę zaletę że dowiem się o tego typu błędach w czasie kompilacji

Pro tip Mypy -> http://mypy-lang.org/
A do weba -> https://github.com/tiangolo/fastapi

0

Type annotations + linters + dobre testy powinny w Pythonie wystarczyć. Nie będzie to to samo co kompilator Go + stado linterów, ale da się żyć.

1 użytkowników online, w tym zalogowanych: 0, gości: 1