Back-end python

T1
  • Rejestracja:około 6 lat
  • Ostatnio:około 6 lat
  • Postów:19
0

Jak myślicie czy jest szansa że python w back enddzie będzie kiedyś tak popularny jak Java? Czy jest jakaś technologia która może przyspieszyć tworzenie back endu nie pogarszając specjalnie jakości i tym samym wyprzec Javę i c#

Hispano-Suiza
  • Rejestracja:ponad 8 lat
  • Ostatnio:ponad 5 lat
0

Co wy wszyscy z tą Javą i C#? Po co chcecie to wypierać!? I do tego Pythonem :D Jakieś nowe narkotyki na rynku?


"Trolling is a art"
sugar_hiccup
  • Rejestracja:prawie 11 lat
  • Ostatnio:około 2 lata
  • Postów:176
0

Na razie to chyba wszystko idzie w stronę tego, że JS wyprze wszystkie języki we wszystkich zastosowaniach. Są nawet wariaci, co pchają to na mikrokontrolery.


My to na arm napiszemy wszystko i zrobimy co chcemy tyle że 90% kodu to biblioteki z netu albo robota kompilatora Zdajesz sobie sprawę że tak na prawdę wyższy poziom języka może świadczyć jedynie o tym jak niskim poziomem wiedzy może dysponować bałwan,który nazwie się w rezultacie programistą i napisze działający program wciskając zleceniodawcy że tam to akurat musi być 100MHz ARM z 1M pamięci bo tak na prawdę jego pusta łepetyna nie potrafi zrealizować czegoś na innym słabszym mikrokontrolerze
Shalom
hahahaha na pewno :D :D
Hispano-Suiza
  • Rejestracja:ponad 8 lat
  • Ostatnio:ponad 5 lat
6
sugar_hiccup napisał(a):

Na razie to chyba wszystko idzie w stronę tego, że JS wyprze wszystkie języki we wszystkich zastosowaniach. Są nawet wariaci, co pchają to na mikrokontrolery.

Następny mitoman :D Ilu tu was jeszcze jest? Pytam serio.
Jedyne co JS może wyprzeć to framework z zeszłego tygodnia na rzecz frameworka z aktualnego tygodnia. Nikt o zdrowych zmysłach nie będzie babrał się w łajnie skoro są lepsze narzędzia w celu budowy domu. Może jak (o ile) dorośniecie do pozycji software engineera, a nie zwykłego klepacza to dotrze do waszych głów, że nie ma jednego uniwersalnego narzędzia do wszystkiego. I dobiera się ja w zależności od gatunku problemu. Ehh :-)


"Trolling is a art"
sugar_hiccup
typie, to ironia była xD
cmd
  • Rejestracja:około 10 lat
  • Ostatnio:około 11 godzin
  • Lokalizacja:Warszawa
  • Postów:443
0

Tak jak kolega wyżej, języki karłowate jak python czy js nie mają przyszłości i żadnego znaczenia obecnie. Są zabawką dla uczniów szkół podstawowych. Ogólnie jak nie programowałeś przynajmniej 10 lat w C to proszę nie nazywaj się programistą.

edytowany 1x, ostatnio: cmd
lion137
Nie Profanuj porównaniem Pythona do js:)
Aryman1983
  • Rejestracja:prawie 15 lat
  • Ostatnio:prawie 4 lata
  • Lokalizacja:Pabianice
  • Postów:255
3

To co mnie przeraziło jak sobie pomyślałem o wejściu do node.js to utrzymanie tego syfu wyprodukowanego przez pożal się boże devów. Z c# miałem masakrę ale do zniesienia, tam to już prawdziwy armagedon bez trzymanki. Backend w js już na chwilę obecną nie ma przyszłości.

Zobacz pozostałe 6 komentarzy
TK
@Aryman1983 " nie licząc nieruchawego VS to język jak i sama platforma jest dobrze zaprojektowana" rzeźbie w c# od jakichś 10 lat i c# to żaden cud: rozgadany, z wynalazkami Microsoft. Generalnie język jak język, ale nie sposób tego rozpatrywać bez odniesienia do reszty, a MS znakomicie bałagani i idzie utartą ścieżką, że zamiast porządkowac to robi obejścia. Mi osobiści lepiej odpowiadają properties w java, bo te w c# to nie wiesz, czy w getter nie ma jakiejś popieprzonej logiki i dla pewności i tak trzeba robić zmienną lokalna z wartości z gettera.
TK
@Aryman1983 Szkoda, ze MS nie zrobil referencji beznullowej jak w c# 8.0, no ale twórca wywodzi się z Delphi to czego wymagać. Generalnie mam wrażenie, że do prostej sprawy jest pisanina i pisanina. Proste pisanie apek to mój jednorożec złoty.
Aryman1983
Aryman1983
@tomasz-k: Twórca to akurat ktoś kto dał najwięcej temu językowi :-) Teraz przepycha świetne pomysły do TS. Każdy język ma swoje wady i zalety. Tylko wydaje mi się, że c# ma ich więcej niż inne. Chodzi Ci o java.util.Properties?
TK
@Aryman1983: miałem na mysli getCosTam i setCostTam. W C# też są dwie funkcje, ale kompilator nie optymalizuje (przynajmniej tak mówi ilspy) dostepu np. w petli czy linq i jezeli za property kryje sie jakieś rozwlekłe Linq na danych (przejąłem taki koszmarek po kimś), to gdzieś w petli od nowa jest wywoływane wyliczenie przy get. Poza tym takie property przy pisaniu wygląda jak pole wiec programista nie wie, co za tym stoi, a mozna sie zdziwic - np. w WinForm pewne gettery wywołują funkcję systemowe i parę alokacji na stercie.
TK
@Aryman1983: . W dodatku CosTam {get;set;} nie jest równoznaczne z CosTam {get=> _costam; set { _costam = value }} jak ma się przeciąża klase. W Java jest kawa na ławę.
superdurszlak
  • Rejestracja:prawie 7 lat
  • Ostatnio:7 dni
  • Lokalizacja:Kraków
  • Postów:1999
1

Python w roli poważnego języka do enterprajs sirius biznis, jakichś systemów bankowych i całej reszty? To się nie kompiluje :D

Python jest bardzo fajny, jeśli chodzi o prototypowanie, wyrzeźbienie na szybko czegoś działajacego, składanie PoC, budowanie różnych narzędzi i/lub sklejanie istniejących narzędzi i bibliotek w jeszcze bardziej odjechane narzędzia - do tego jest idealny. Jest niesamowicie elastyczny, a w dodatku nie przyciąga takiej.... dobra, trochę się już zapędziłem. Ma swoje community, ale nie jest to community gadżeciarzy i hype-driven-devów, jak w JS. Może to tylko stereotyp (zresztą kiedyś już był tu wątek o programistach JS vs Python) ale takich rozhukanych nicponiów jest według mnie dużo mniej, niż w JS, więc siłą rzeczy nie są w stanie narobić takiego ultra-bajzlu ;)


edytowany 2x, ostatnio: superdurszlak
Zobacz pozostałe 3 komentarze
superdurszlak
oszukali mnie :/ gdzieś czytałem że stoi na Pytongu.
Aryman1983
Aryman1983
Może na początku swojej kariery :-)
KO
Z tego co kojarze to instagram stał na pythonie i django :P
KO
Dobra lion137 mnie juz w tym potwiedzil nie doczytalem :D
leggo
  • Rejestracja:ponad 9 lat
  • Ostatnio:ponad 4 lata
  • Lokalizacja:Chorzów
  • Postów:65
0

no dobra. ale jest jeszcze cały dział SI, który opiera się na Pythonie. gdzie nie spojrzeć, to aplikacje do analizy tekstu, zdjęć, rozpoznawania czegoś i takie tam, są napisane w Pythonie i robi się najczęściej jakieś wrappery na nie w innych językach m,zęby z tego korzystać.
w C++ nikomu chyba nie chce się tego pisać nikomu.

AN
  • Rejestracja:prawie 11 lat
  • Ostatnio:10 minut
  • Postów:973
7

Python rośnie na wszystkich wykresach a przyjdzie jeden z drugim i powie, że to do niczego się nie nadaje tylko do zabawy xD


Zdalna praca dla Senior Python Developerów --> PW
Hispano-Suiza
  • Rejestracja:ponad 8 lat
  • Ostatnio:ponad 5 lat
1
anonimowy napisał(a):

Python rośnie na wszystkich wykresach a przyjdzie jeden z drugim i powie, że to do niczego się nie nadaje tylko do zabawy xD

Jak zdasz mature z jezyka ojczystego i wyjdzie, ze rozumiesz mowe pisana to pogadamy.
Gosc pyta o aplikacje enterprise bo takowe powstaja w Java/C# w wiekszosci. Jak jezyk interpretowany w ktorym kod powyzej 80 linii jest mocno nieczytelny ma latac po wykresach?
Ten jezyk jest swietny do prostych zadan. I krotkich. A nie do nawalania skomplikowanej logiki.
Tak samo ML/AI. To nie wielkie systemy.


"Trolling is a art"
lion137
  • Rejestracja:około 8 lat
  • Ostatnio:29 minut
  • Postów:4897
2

Acha czyli Python się nie skaluje, nadaje się tylko do skryptów. Zapytaj w takim razie w Instagramie, jak tam ze skalowaniem Pythona, he, he:)


Hispano-Suiza
Instagram nie stoi na samym Pythonie. Jest tam jeszcze Java. Kiedys bylo chyba PHP. To, ze kawalki Pythona gdzies sa poupychane nie swiadczy o niczym ;-)
lion137
Muszę sprostować, bo Konfabulujesz:). Przeczytaj na przykład ten artykuł: https://thenewstack.io/instagram-makes-smooth-move-python-3/. Nie ma tu dokładnych danych, ale na pewno nie można wyciągnąć z niego wniosku, że Instagram stoi na Javie, PHP, może jeszcze czymś, z kawałkami kodu Pythona.
Hispano-Suiza
A tam konfabuluję :-) Po prostu bazuję na starych danych. Może przeszli na Pythona jak twierdzisz. Natomiast jest to jeden z wyjątków. Zdecydowanie częściej i więcej widziałem contentu o tym jak uciekano z Pythona z racji problemów z wydajnością. Poza tym to tylko Instagram. upload zdjęcia > filtry > agregacja. Zupełnie inna skala problemów.
Leroy
Czemu podajecie Instagram jako serwis enterprise z jakąś niewiadoma jaka logika biznesowa? Tam się wrzuca zdjęcia i komentarze. Takie coś to to napisze junior w jakimkolwiek języku. To ma być dowód że js czy python nadaje się do poważnych projektów?
czysteskarpety
czysteskarpety
  • Rejestracja:prawie 10 lat
  • Ostatnio:ponad 4 lata
  • Lokalizacja:Piwnica
  • Postów:7697
1

Właściwie to nie wiem czemu Python nie staje się popularny, nawet w web'ie nie za bardzo się przyjął, chyba w swej prostocie nadal jest skomplikowany, ot co.


y2evp5in
  • Rejestracja:około 6 lat
  • Ostatnio:ponad 5 lat
  • Postów:9
3

Na duza skale Python uzywany jest np przez Google. Glowne zalozenie inzynierow z poczatkow korporacji to - "Python where we can, C++ where we must".

TurkucPodjadek
TurkucPodjadek
  • Rejestracja:ponad 8 lat
  • Ostatnio:około 4 lata
  • Postów:607
3
Hispano-Suiza napisał(a):

Gosc pyta o aplikacje enterprise bo takowe powstaja w Java/C# w wiekszosci. Jak jezyk interpretowany w ktorym kod powyzej 80 linii jest mocno nieczytelny ma latac po wykresach?
Ten jezyk jest swietny do prostych zadan. I krotkich. A nie do nawalania skomplikowanej logiki.
Tak samo ML/AI. To nie wielkie systemy.

Powiedz to tym z reddita, bo widocznie nie wiedzą jeszcze, jak bardzo się mylą.

SO
Czy reddit to aplikacja enterprise? Gdzie tam skomplikowana logika? Przecież to CRUD tak jak instagram.
TurkucPodjadek
TurkucPodjadek
Jak tak dobrze wróżycie z fusów, to byście chociaż podali numery w lotto, a nie chowali dla siebie, żyły jedne.
NO
  • Rejestracja:ponad 7 lat
  • Ostatnio:ponad 5 lat
  • Postów:165
1

Na backendzie python nie będzie popularny. Czysty webowy backend lepiej jest argumentować oraz robic w innych językach. Python dopiero jest ok jesli musisz miec biblioteki naukowe i po prostu robisz web w pythonie by zmniejszyć liczbę zależności.

Pythona można argumentować ze jest to poprawny php, dobry język do prototypwania, itp ale te zalety moim zdaniem miały wartosc 6-10 lat temu. Obecne możliwości pythona łatwo jest zastąpić czy nawet przebić innym językiem.

TurkucPodjadek
TurkucPodjadek
  • Rejestracja:ponad 8 lat
  • Ostatnio:około 4 lata
  • Postów:607
1

Kocham czytać posty zealotów, którzy stawiają język programowania nad ogólną architekturę, a później wklejają losowe firmy, do losowych tez (coś się w końcu trafi). Poprawiając ich "wyczyny" można później nieźle zarobić i zobaczyć tę jedyną, bezcenną minę klienta, który właśnie sobie uświadomił, że X keszu pójdzie do kosza i trzeba będzie wyłożyć 5X, by to naprawić.

// Edit: widzę kolega usunął posta, przytłoczyło go coś, stawiam na refleksję.

edytowany 1x, ostatnio: TurkucPodjadek
Hispano-Suiza
  • Rejestracja:ponad 8 lat
  • Ostatnio:ponad 5 lat
0

// Edit: widzę kolega usunął posta, przytłoczyło go coś, stawiam na refleksję.

Owszem. Usunąłem aby doprecyzować pewne kwestie. Piłeczka po Twojej stronie. Czekam na Twoje mądrości. Najpierw odnieś się do tego co masz ode mnie, a dopiero krytykuj. Jeżeli nie masz nic mądrego do powiedzenia (a na razie nie widzę takowych rzeczy) - nie wołaj mnie więcej.

Zlot fanów węza, którzy uważają go za jedyne słuszne rozwiązanie uważam za otwarty. Niestety musicie obejść się smakiem. Sam fakt używania gdziekolwiek Pythona o niczym nie świadczy. Ostatnio rekrutowałem się w pewne miejsce gdzie stack obejmował chyba 8 języków, ze 4 bazy i 30 innych narzędzi. Na pytanie co mają w Pythonie usłyszałem - 2 skrypty :D
Sprowadzę was na ziemię Pythonowcy.

Na duza skale Python uzywany jest np przez Google. Glowne zalozenie inzynierow z poczatkow korporacji to - "Python where we can, C++ where we must".

Uznawany był. Większość rzeczy w Google została już dawno portowana na Go. Oczywiście Python nadal tam jest używany ale na pewno nie do kluczowych elementów jak skalowalność i wydajność.

Powiedz to tym z reddita, bo widocznie nie wiedzą jeszcze, jak bardzo się mylą.

Wydaje mi się, że już nie muszę. To mądre chłopaki i sami doszli do pewnych wniosków @

Mało tego
Senior Software Engineer, Backend at Reddit

Software development experience in one or more general purpose programming languages (Java, Go, C++).

Staff Software Engineer, Ads Platform at Reddit

Software development experience in one or more general purpose programming languages (Java, Go, C++).

Staff Software Engineer, Full-Stack (Monetization)

Software development experience in one or more general purpose programming languages (e.g. Python, Java, Go).

[Staff Software Engineer, Ad Yield at Reddit](https://boards.greenhouse.io/reddit/jobs/1298647

Software development experience in one or more general purpose programming languages (Java, Go, C++)

Staff Machine Learning Engineer at Reddit)

7+ years of experience as a Data Engineer or Software Engineer developing production code.
Familiar with large-scale data pipelines or ML / AI techniques.

Q:: What are the details behind your most interesting root cause analysis?
Reddit: We've found some reaaaal interesting ones, things like at boot time our instances were echoing a bunch of stuff to the console that caused serial interrupts that broke DNS resolution for a brief window that then stopped bootstrapping from working appropriately. We've also broken some parts of AWS that even they were a little confused about at first.

We're mostly Python but some assorted tooling and infrastructure pieces are in Ruby.

Q: How many engineers do you have total? Do you have multiple teams? How do you handle languages in your SOA ? Do you let teams choose their language or try to stick to the same? What languages do you use?
Reddit: We're somewhere around ~160 at the moment I think. There are many many teams, even the Infrastructure group is actually comprised of four separate subteams! If I had to guess I'd say in total there are around 30-40 separate engineering teams.

We are almost exclusively Python via Baseplate for mainline backend services, some of our Data and ML work is in Java/Scala, and the Ads platform uses a lot of Go.


"Trolling is a art"
edytowany 1x, ostatnio: Hispano-Suiza
lion137
  • Rejestracja:około 8 lat
  • Ostatnio:29 minut
  • Postów:4897
4

He, he, klasyczną wojenkę religiną nam, widzę, Proponujesz:)
"Uznawany był. Większość rzeczy w Google została już dawno portowana na Go. Oczywiście Python nadal tam jest używany ale na pewno nie do kluczowych elementów jak skalowalność i wydajność". Podaj nam źródełko, bo, jak było widać wcześniej, Mogłeś się pomylić, mieć stare informacje, etc.:)


Hispano-Suiza
  • Rejestracja:ponad 8 lat
  • Ostatnio:ponad 5 lat
0
lion137 napisał(a):

He, he, klasyczną wojenkę religiną nam, widzę, Proponujesz:)
"Uznawany był. Większość rzeczy w Google została już dawno portowana na Go. Oczywiście Python nadal tam jest używany ale na pewno nie do kluczowych elementów jak skalowalność i wydajność". Podaj nam źródełko, bo, jak było widać wcześniej, Mogłeś się pomylić, mieć stare informacje, etc.:)

A to rączki bolą i nie umiemy wyszukiwać?

https://talks.golang.org/2012/splash.article#TOC_1

Go is a programming language designed by Google to help solve Google's problems, and Google has big problems.

The hardware is big and the software is big. There are many millions of lines of software, with servers mostly in C++ and lots of Java and Python for the other pieces. Thousands of engineers work on the code, at the "head" of a single tree comprising all the software, so from day to day there are significant changes to all levels of the tree. A large custom-designed distributed build system makes development at this scale feasible, but it's still big.

And of course, all this software runs on zillions of machines, which are treated as a modest number of independent, networked compute clusters.

In short, development at Google is big, can be slow, and is often clumsy. But it is effective.

The goals of the Go project were to eliminate the slowness and clumsiness of software development at Google, and thereby to make the process more productive and scalable. The language was designed by and for people who write—and read and debug and maintain—large software systems.

Go's purpose is therefore not to do research into programming language design; it is to improve the working environment for its designers and their coworkers. Go is more about software engineering than programming language research. Or to rephrase, it is about language design in the service of software engineering.

Vitess is a database clustering system for horizontal scaling of MySQL through generalized sharding.

By encapsulating shard-routing logic, Vitess allows application code and database queries to remain agnostic to the distribution of data onto multiple shards. With Vitess, you can even split and merge shards as your needs grow, with an atomic cutover step that takes only a few seconds.

Vitess has been a core component of YouTube's database infrastructure since 2011, and has grown to encompass tens of thousands of MySQL nodes.
Vitess

I ostatni, którego nie mogę odkopać - praktycznie całe Google Cloud stoi na Go.

[https://golang.org/doc/faq)

There are now several Go programs deployed in production inside Google. A public example is the server behind http://golang.org. It's just the godoc document server running in a production configuration on Google App Engine.
Other examples include the Vitess system for large-scale SQL installations and Google's download server, http://dl.google.com, which delivers Chrome binaries and other large installables such as apt-get packages.

Haaaaaaaloooo!? Gdzie jest Python?


"Trolling is a art"
KageYoshi
czy ktoś programujący w Pythonie skrzywdził Cię w dzieciństwie? :D zły kod boli całe życie
Hispano-Suiza
Krzywdzą mnie ludzie swoją głupotą jak na razie. Na siłę robiąc ideologię i wciskając Pythona wszędzie gdzie się da. A jak im powiesz, że nie mają racji to hehe daj źródło. Jak dasz źródło to jedyne co im zostaje to lizanie własnych jaj poprzez wzajemne docenianie własnych postów.
Shalom
  • Rejestracja:około 21 lat
  • Ostatnio:prawie 3 lata
  • Lokalizacja:Space: the final frontier
  • Postów:26433
2

Jak myślicie czy jest szansa że python w back enddzie będzie kiedyś tak popularny jak Java?

Nie, bo jest za wolny a jak zaczniesz pisać kod który da się utrzymać (więc np. ze statyczną typizacją) to bardzo szybko zrównujesz się z tym co masz w innych językach. No i jest też kwestia ekosystemu -> Java i .NET mają po prostu bardzo dużo bibliotek do wszystkiego.

Czy jest jakaś technologia która może przyspieszyć tworzenie back endu nie pogarszając specjalnie jakości i tym samym wyprzec Javę i c#

Tak, języki z ich ekosystemów. Więc np. Kotlin w przypadku JVMa. Siła ekspresji większa, ale nadal jeszcze kod jest w miarę prosty (wiec nie tak jak w Scali), a jednocześnie masz dostęp do wszystkich javowych bibliotek i w zasadzie możesz pisać trochę w Javie a trochę w Kotlinie jeśli masz taki kaprys.


"Nie brookliński most, ale przemienić w jasny, nowy dzień najsmutniejszą noc - to jest dopiero coś!"
TurkucPodjadek
TurkucPodjadek
  • Rejestracja:ponad 8 lat
  • Ostatnio:około 4 lata
  • Postów:607
0
Hispano-Suiza napisał(a):

// Edit: widzę kolega usunął posta, przytłoczyło go coś, stawiam na refleksję.

Owszem. Usunąłem aby doprecyzować pewne kwestie. Piłeczka po Twojej stronie. Czekam na Twoje mądrości. Najpierw odnieś się do tego co masz ode mnie, a dopiero krytykuj. Jeżeli nie masz nic mądrego do powiedzenia (a na razie nie widzę takowych rzeczy) - nie wołaj mnie więcej.

Ja nic nie muszę się odnosić. Pierwsze, najważniejsze - bo nie znam specyfiki projektu, wymagań, stacku technologicznego, dostępności bibliotek, developerów i wielu innych zmiennych, które wpływają na wybór poszczególnych rozwiązań. W wielu złożonych projektach, używa się wielu stacków, a każdy stack odpowiada za co innego.

To ty napisałeś Ten jezyk jest swietny do prostych zadan. I krotkich. A nie do nawalania skomplikowanej logiki. więc to udowodnij, bo ja go spotkałem w wielu zaawansowanych zastosowaniach, w tym też takich, które na pierwszy rzut oka wymagały "wydajności".

Na razie, póki co, w jakimś szale przeklejasz jaki to Go jest wspaniały, wklejając różne niepowiązane wypowiedzi różnych devów, kompletnie nie podając specyfiki danego projektu. Ja np. jestem programistą Go (Pythona też) i na tym zarabiam i sam widziałem jak kilka projektów w Go padło, bo ktoś zapomniał sprawdzić, czy będą właściwe biblioteki do właściwego celu (o taki przypał). Nie dotyczy tylko zresztą samego Go (widziałem to samo w Javie i Pythonie). Także teraz, jak w dyskusji o architekturze (daj Bóg, że czasem się trafią, bo to już sukces) wyskakuje jakiś mądrok, co twierdzi piszmy to w Go, bo jest szybkie, zanim w ogóle zaczniemy dyskusje o problemie, to już wiem, że mamy zealota w zespole i będzie śmiesznie. Jak to zealot od klienta, to najcześciej będzie śmieszno i straszno zarazem.

Język programowania to tylko narzędzie. W pewnych zastosowaniach gorsze lub lepsze. Ale z doświadczenia wiem, że powodzenie projektu zależy głównie od architektury - jak ta jest dobra, można pisać nawet skrypty w cmd.exe i będzie to działać i zadowalać biznes. A jak jest zła, to nawet najlepszy język (nie ma takiego) projektu nie uratuje i na nic się zdadzą jego wszelkie zalety, którym podraja się tylko część developerów.

Choć osobiście wolę Go od Pythona, to uważam (pewnie nie tylko ja), że Python jest "good enough" do wielu zastosowań. Już widziałem próby jego zastępowania np. Rustem, bo jest 100x szybszy i zdziwienie, że program nie chodzi 100x szybciej, bo niestety, ale bottleneck był zupełnie gdzie indziej. Widziałem już projekt, którym Jave zastąpiono Go, do Kafki, bo ktoś chciał mieć łatwiejszy deploy i to przyklepał. Zapomniał tylko, że użycie pewnego liba na cgo od confluenta (wrappera na librdkafka) wywali zalety Go i sprowadzi kilka "extra" problemów do projektu (i finalnie utrudni też deploy). Dynamiczne typowanie znowu, to zaleta i wada, zależy od kontekstu i potrzeb, obecne lintery i IDE na tyle są dobre i trzymają wszystko przysłowiowo "za morde", że można mieć Pythona w dużym projekcie z poprawnością typów niemal identyczną jak w statycznie i silnie typowanych językach. Zaś dynamiczne typowanie, pozwala na szybsze prototypowanie, przykładowa zaleta, mówiąc wprost: po tygodniu zespół prototypujący w Pythonie będzie już wiedział, czy iść w dany serwis (rozwiązanie), bo będzie już go miał "na kolanie" napisanego, a Ty po tygodniu, będziesz się jeszcze użerał z typami w C/Java/Go/Rust.

Zlot fanów węza, którzy uważają go za jedyne słuszne rozwiązanie uważam za otwarty. Niestety musicie obejść się smakiem. Sam fakt używania gdziekolwiek Pythona o niczym nie świadczy. Ostatnio rekrutowałem się w pewne miejsce gdzie stack obejmował chyba 8 języków, ze 4 bazy i 30 innych narzędzi. Na pytanie co mają w Pythonie usłyszałem - 2 skrypty :D

Znaczy, to rozumiem Twój argument? Bo się gdzieś rekrutowałeś i "tam było"? I w ogóle, kto tu jest niby fanem? Nie widziałem, by ktoś wychwalał Pythona nadmiernie, co najwyżej pisał, że się nadaje na backend, co jest oczywiście prawdą. Czy się nadaje lepiej już gorzej, to patrz moje pierwsze zdanie.

lion137
  • Rejestracja:około 8 lat
  • Ostatnio:29 minut
  • Postów:4897
1

@KageYoshi: "czy ktoś programujący w Pythonie skrzywdził Cię w dzieciństwie? :D zły kod boli całe życie". Wiem, że to nie do mnie ale odpowiem, znam jednego, którego skrzywdził JS:)
@Hispano-Suiza: Pokaż gdzie na siłę wciskałem Pythona i "robiłem ideologię". Poprosiłem Cię o źródło, ponieważ wcześniej się grubo Pomyliłeś; ale i tak na końcu Napisałeś: "Poza tym to tylko Instagram. upload zdjęcia > filtry > agregacja. Zupełnie inna skala problemów":-D:-D:-D
Ty tu Zaczynasz wojenkę ideologiczną, próbując udowodnić, w dodatku często zniżając się do wycieczek personalnych, że Python jest beznadziejny.
Jeszcze, z wypowiedzi pracowników google tutaj: https://www.quora.com/What-programming-language-is-the-most-used-important-at-Google wcale nie wynika, że Python jest tam tylko do pomocniczych rzeczy.


Hispano-Suiza
  • Rejestracja:ponad 8 lat
  • Ostatnio:ponad 5 lat
0

To ty napisałeś Ten jezyk jest swietny do prostych zadan. I krotkich. A nie do nawalania skomplikowanej logiki. więc to udowodnij, bo ja go spotkałem w wielu zaawansowanych zastosowaniach, w tym też takich, które na pierwszy rzut oka wymagały "wydajności".

Nie będę wklejać Ci dalej kolejnych linków do serii autorskich artykułów różnych developerów/architektów z różnych projektów, którzy pisali wprost, że Python nie daje im oczekiwanej wydajności. Dlatego przenoszą swoje projekty na Go. Odpowiednie zapytanie w Google zwróci Ci odpowiednie wyniki.

Edit: Albo wkleję. Po raz ostatni.

https://codeburst.io/why-we-switched-from-python-to-go-60c8fd2cb9a9?source=search_post---------0
https://hackernoon.com/5-reasons-why-we-switched-from-python-to-go-4414d5f42690?source=search_post---------1
https://towardsdatascience.com/moving-to-go-from-python-9ebbd9a8aec4
https://www.agriya.com/blog/why-you-should-migrate-from-python-to-golang/
https://hackernoon.com/5-reasons-why-we-switched-from-python-to-go-4414d5f42690
http://www.golangdevops.com/2017/08/05/why-i-moved-from-python-to-go-part-i/
https://www.theregister.co.uk/2017/01/05/googles_grumpy_makes_python_go/
https://news.ycombinator.com/item?id=10402307
https://thenewstack.io/dropbox-open-sources-go-libraries-following-migration-from-python-code-base/

Na razie, póki co, w jakimś szale przeklejasz jaki to Go jest wspaniały, wklejając różne niepowiązane wypowiedzi różnych devów, kompletnie nie podając specyfiki danego projektu.

I co jeszcze? Frytki z McDonalds czy KFC? Potrzebujesz specyfiki projektów - napisz do devów tych projektów. Wklejam linki bo tym temacie jakiś śmieszek napisał:

Na duza skale Python uzywany jest np przez Google. Glowne zalozenie inzynierow z poczatkow korporacji to - "Python where we can, C++ where we must".

Wkleiłem więc linki pokazujące, że to kompletna bzdura.

Ja np. jestem programistą Go (Pythona też) i na tym zarabiam i sam widziałem jak kilka projektów w Go padło, bo ktoś zapomniał sprawdzić, czy będą właściwe biblioteki do właściwego celu (o taki przypał). Nie dotyczy tylko zresztą samego Go (widziałem to samo w Javie i Pythonie).

Nic tylko współczuć pracy z ludźmi, którym brakuje wiedzy. Skoro ktoś ślepo szedł w technologię i wykoleił projekt to miej pretensje do niego. Na razie nie ma to nic wspólnego z tym co zarzucałeś mi wcześniej odnośnie reddita.

Także teraz, jak w dyskusji o architekturze (daj Bóg, że czasem się trafią, bo to już sukces) wyskakuje jakiś mądrok, co twierdzi piszmy to w Go, bo jest szybkie, zanim w ogóle zaczniemy dyskusje o problemie, to już wiem, że mamy zealota w zespole i będzie śmiesznie.

Co to ma do rzeczy odnośnie wysyłania mnie do inżynierów Reddita?

Język programowania to tylko narzędzie. W pewnych zastosowaniach gorsze lub lepsze. Ale z doświadczenia wiem, że powodzenie projektu zależy głównie od architektury - jak ta jest dobra, można pisać nawet skrypty w cmd.exe i będzie to działać i zadowalać biznes. A jak jest zła, to nawet najlepszy język (nie ma takiego) projektu nie uratuje i na nic się zdadzą jego wszelkie zalety, którym podraja się tylko część developerów.

Skoro wiesz takie rzeczy to Kocham czytać posty zealotów, którzy stawiają język programowania nad ogólną architekturę, a później wklejają losowe firmy, do losowych tez (coś się w końcu trafi). po co się błaźnisz takim pisaniem? Wychodzi na to, że zealoty z reddita musiały postawić jeden z najbardziej skalowalnych elementów swojej platformy i jeden z ważniejszych na tym nieszczęsnym Go bez bibliotek.

Choć osobiście wolę Go od Pythona, to uważam (pewnie nie tylko ja), że Python jest "good enough" do wielu zastosowań. Już widziałem próby jego zastępowania np. Rustem, bo jest 100x szybszy i zdziwienie, że program nie chodzi 100x szybciej, bo niestety, ale bottleneck był zupełnie gdzie indziej. Widziałem już projekt, którym Jave zastąpiono Go, do Kafki, bo ktoś chciał mieć łatwiejszy deploy i to przyklepał. Zapomniał tylko, że użycie pewnego liba na cgo od confluenta (wrappera na librdkafka) wywali zalety Go i sprowadzi kilka "extra" problemów do projektu (i finalnie utrudni też deploy).

To kolejny przypadek ludzi, którym brakło wiedzy. Bo przeczytali kilka artykułów odnośnie wydajności Go i pobiegli go użyć. To nie jest język uniwersalny do wszystkiego. Trzeba wiedzieć co można, a czego nie. Piszesz o tak abstrakcyjnych przypadkach, że aż jestem w szoku, że ktoś pozwolił na podjęcie takich decyzji. Pomijam aspekt tego, który decyzję podejmował.

Znaczy, to rozumiem Twój argument? Bo się gdzieś rekrutowałeś i "tam było"? I w ogóle, kto tu jest niby fanem? Nie widziałem, by ktoś wychwalał Pythona nadmiernie, co najwyżej pisał, że się nadaje na backend, co jest oczywiście prawdą. Czy się nadaje lepiej już gorzej, to patrz moje pierwsze zdanie.

Dałem przykład odnośnie zastosowań Pythona w backendzie klasy enterprise. W aplikacji, która zbiera dane z 30,000 serwerów, mieli je, agreguje, archiwizuje. I nie ma tam żadnego wydajnościowego elementu w Pythonie. A wiesz dlaczego? Bo Python jest do tego za wolny i kompletnie się do tego nie nadaje.
To, że ktoś klepie stronki i nieduże systemy backendowe w Pythonie to jedno, a to, że nie ma w bim wielkich systemów, które pisze się często w Javie/C# to drugie. Do małych i średnich projektów pewnie jest to rozwiązanie w porządku. I nie będę się sprzeczać bo język ma swoje zalety pomimo wielu wad (dla mnie). I tu podsumowanie z mojej strony tego tematu.

Ja nie krytykuję Pythona. Usilnie ubijam mit, który niektórzy tutaj sieją odnośnie stawiania Bóg wie czego w tym języku. Odsyłałeś mnie do reddita - odpisałem Tobie. Wkleiłem link do prezentacji, którą nazwałeś losowym filmem. Wkleiłem wypowiedzi z QA z 2018 roku. Wkleiłem ogłoszenia na kilka pozycji do Reddit i po prostu próbuję uzyskać odpowiedź gdzie ten Python w Reddit? Nie odniosłeś się. Odpowiedzi brak. Z czym mam więc dyskutować?

@lion137

Pokaż gdzie na siłę wciskałem Pythona i "robiłem ideologię". Poprosiłem Cię o źródło, ponieważ wcześniej się grubo Pomyliłeś; ale i tak na końcu Napisałeś: "Poza tym to tylko Instagram. upload zdjęcia > filtry > agregacja. Zupełnie inna skala problemów":-D:-D:-D

I nadal podtrzymuję zdanie. Instagram to super zamulona aplikacja. Używam więc widzę. Poza tym gdzie tu jest potrzeba hiper wydajności? Przy uploadzie zdjęć? Tu raczej w grę wchodzi architektura serwerowa, a nie wydajność samego systemu. Przeglądanie for i dodawanie słodkich komentarzy z emotkami to nie jest coś co jest sprawą mocno kluczową. A poza tym instagram bo mocno uboga aplikacja jeżeli chodzi o funkcjonalności. Nie wiem przy czym do tej pory pracowałeś ale chyba nie było to nic wymagającego.

Poza tym właśnie Twój artykuł pokazuje, że chyba go nie czytałeś do końca bo masz napisane wprost:

We were faced with a specific challenge of increasing network I/O activity on our servers. So we needed a more parallel way to process the user requests. Realistically, PHP and Python are the best-supported ecosystems at Facebook, and going with any other platforms would require both a learning curve and a whole lot of new training for our engineers.

So we did a portal typing comparison with PHP, which is used by Facebook web servers.

  • wcześniej

As we grew, it became obvious Python was not the fastest language by any means. AWS made it easier to throw more machines at it as we needed to grow, but there is a point of diminishing returns — at a certain point, there is more resource going to performance regression than user growth.

Skończcie uprawiać czary. Mierzcie siły na zamiary. Na razie obaj wysililiście się jednym linkiem i zmianą tematu. Zero konkretów. Wklejam linki - bezużyteczne. Wklejam video - losowe. Teraz zachciało się specyfikacji projektu/architektury, a jak ją dostarczę to czego będziemy żądać? Zespołu inżynierów zarejestrowanych na forum?

Ty tu Zaczynasz wojenkę ideologiczną, próbując udowodnić, w dodatku często zniżając się do wycieczek personalnych, że Python jest beznadziejny.
Ja nie uprawiam żadnych ideologicznych wojenek. Próbuję w dalszym ciągu uzyskać od was odpowiedzi dotyczące tego backendu enterprise w Pythonie bo temat dotyczy wyparcia aplikacji pisanych w Java/C#. Gdzie zrobiłem sobie wycieczkę personalną? Gdzie napisałem, że Python jest beznadziejny? Konkrety proszę.

Jeszcze, z wypowiedzi pracowników google tutaj: https://www.quora.com/What-pr[...]most-used-important-at-Google wcale nie wynika, że Python jest tam tylko do pomocniczych rzeczy.

Python is the standard tooling language - most engineers at Google use some Python, but it’s not the main language for them; for writing a little tool for some processing of data or automating some manual steps. Some of these tools grow up and become larger systems, and while people usually would prefer to rewrite them to a strongly typed language at that point, they frequently don’t find the time for it. So, Python is probably the third in terms of how often code is written in it, but since fewer actual systems are written in Python, it’s probably lower in terms of how often code is executed.

I Pan inżynier z Google właśnie Ci wytłumaczył do czego używają tego języka. Nie mam nic więcej do dodania. Jak znajdziecie coś rozsądnego co mocno podważy moje bezużyteczne linki i materiały, które specjalnie dla was wyszukałem - wtedy możemy dyskutować dalej. Jak macie mi pisać pierdoły w dalszym ciągu to sobie darujcie bo szkoda mi czasu na bezpłciowe dyskusje.


"Trolling is a art"
edytowany 1x, ostatnio: Hispano-Suiza
TurkucPodjadek
TurkucPodjadek
Spoko, wygrałeś dyskusję. Aplikacja Instagrama jest zamulona (argument o prostym backendzie), python jest za "wolny", wiesz co robi każdy zespół w Google - wszak linkami sypiesz jak z rękawa - nic tu po mnie, za słaby na to jestem. Jestem mega niedoświadczony, nie znam angielskiego i mało w życiu widziałem, przyznaję. Wybacz mi ten wyskok, że śmiałem tu coś sugerować, np. że reddit używa pythona na backendzie.
Hispano-Suiza
Z taką ręką powinieneś pisać fantastykę. Niczego nie wygrałem. Nie potrafisz się do niczego odnieść rzucając jednozdaniowcami i na tym kończy się Twoja dyskusja. Argumentacji brak. Jak miałbym z Tobą dyskutować? Produkować kolejnego długiego postu nie zamierzam. Nie napisałem nigdzie, że nie znasz angielskiego. Nie widzę po prostu sensu dalszej dyskusji z powietrzem i tyle.
  • Rejestracja:około 6 lat
  • Ostatnio:ponad rok
4
czysteskarpety
czysteskarpety
  • Rejestracja:prawie 10 lat
  • Ostatnio:ponad 4 lata
  • Lokalizacja:Piwnica
  • Postów:7697
2
Mózg napisał(a):

https://stackoverflow.blog/2017/09/06/incredible-growth-python/

Psy szczekają, karawana idzie dalej.

Takie wykresy zwodnicze okazać się mogą.
Pokazują ilość zapytań, gdzie Python dokumentacje ma słabą, tutoariali niewiele w sumie, ponadto różnice raptem kilkuprocentowe, lecz wykresy tak zrobione iż nie widać tego.


Hispano-Suiza
Zwłaszcza, że wykres pokazuje użycie języka, a nie użycie języka do back-endu. To, że robi się w nim devops, narzędzia, proste projekty, automatyzacj, ml/ai, ale to inna sprawa. Widać mózg coś nie korbi poprawnie u tych Pythonowców bo chwytają się wszystkiego w okół jednocześnie nie potrafiąc się odnieść do czegokolwiek ;-)
danek
  • Rejestracja:ponad 10 lat
  • Ostatnio:6 miesięcy
  • Lokalizacja:Poznań
  • Postów:797
1

Mamy backend w javie, a przez ostatni czas pisze jakieś skrypty w pythonie do migracji danych. Niby nabijam popularność pythonowi, ale nie jest używany do faktycznej logiki aplikacji


Spring? Ja tam wole mieć kontrole nad kodem ᕙ(ꔢ)ᕗ
Haste - mała biblioteka do testów z czasem.
Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)