Pytanie do znawców Pythona

Pytanie do znawców Pythona
ZK
  • Rejestracja:prawie 7 lat
  • Ostatnio:4 miesiące
  • Postów:273
0

Zastanawiam się czy zainwestować w naukę Pythona. Jestem ciekawy, czy za pomocą tego języka można robić poważne rzeczy, czy raczej jest to język programowania dla dzieci ? Jak się ma ten język do C++ lub C# na platformie NET ?

lion137
  • Rejestracja:około 8 lat
  • Ostatnio:4 minuty
  • Postów:4884
1

Tak, można robić poważne rzeczy w Pythonie i jest jednocześnie łatwy do nauki.

Jak się ma ten język do C++ lub C# na platformie NET ?

O co pytasz, o popularność języka, ilość ofert pracy, techniczne różnice?


edytowany 1x, ostatnio: lion137
MisiekNaLuzie
  • Rejestracja:ponad 4 lata
  • Ostatnio:6 miesięcy
  • Lokalizacja:Warszawa
  • Postów:169
3

czy raczej jest to język programowania dla dzieci ?
Na pythonie opiera sie wiekszosc data science. To, ze jest prosty to tylko zaleta.

Spine
  • Rejestracja:prawie 22 lata
  • Ostatnio:6 minut
  • Postów:6627
0

Niby coś się w nim robi, ale niewiele i nie u nas...

W Holandii miałem hardware'ową pracę w Pythonie (moduły diagnostyczne do maszynki produkującej chipy). Ale takie rzeczy to raczej nisza...

Z wymienionych przez Ciebie języków, moim zdaniem na dłuższy romans najlepiej wybrać C#.


🕹️⌨️🖥️🖱️🎮
stivens
  • Rejestracja:ponad 8 lat
  • Ostatnio:około godziny
1
MisiekNaLuzie napisał(a):

czy raczej jest to język programowania dla dzieci ?

Na pythonie opiera sie wiekszosc data science. To, ze jest prosty to tylko zaleta.

Taa. Chyba tego akademickiego. W praktyce potrzebujesz lepszej wydajnosci. Tesla sie np. na C/C++ przepisala.


λλλ
edytowany 2x, ostatnio: stivens
Zobacz pozostałe 47 komentarzy
MisiekNaLuzie
Jak postawiles Excela obok Worda to mialem przed oczami pania co powoli filtruje sobie tabelke z mejlami ludzi, do ktorych potem ma wyslac informacje odpowiednio sformatowana w edytorze tekstu. W samym Excelu to nawet programowac mozna - VBA :P
stivens
A tak mi sie glupio Word wypalil bo na studiach zauwazylem, ze studenci informatyki robili takie rzeczy w LaTeXu a chemicy w Wordzie ciuckali :P. I bynajmniej nie chce tutaj sugerowac ze LaTeX to programowanie. Ot taka anegdota.
stivens
Paradoks jest w ogole taki ze chemikom to by sie chyba bardziej ten LaTeX przydal (symbole matematyczne, chemiczne itd.)
MisiekNaLuzie
Nie wiem jak mozna wzory chemiczne edytowac w Wordzie :d. U mnie na ekonomii 80% ucieklo wlasnie w LaTeX, a podejrzewam, ze na chemii znacznie wiecej tego edytowania bylo.
stivens
O no wlasnie to dodalem :P
ZK
  • Rejestracja:prawie 7 lat
  • Ostatnio:4 miesiące
  • Postów:273
0

@lion137: Czytam wszędzie że Python jest bardzo popularny i zastanawiam się czy się go nie nauczyć. Musiałbym kupić na początek kilka książek. Nie wiem tylko, czy ten język bardziej przypomina Basic albo C# z początków czy ma też bardziej zaawansowane elementy takie jak np. klasy generyczne, delegaty, zdarzenia itp i jak jest z aplikacjami graficznymi w Pythonie . Czy wy używacie Visual Studio do programowania w Pythonie czy czegoś innego ?

KamilAdam
  • Rejestracja:ponad 6 lat
  • Ostatnio:7 dni
  • Lokalizacja:Silesia/Marki
  • Postów:5505
4

Jedyny prawdziwy poważny język to Java. Dlatego powstaje w Javie większość softu bankowego /s


Mama called me disappointment, Papa called me fat
Każdego eksperta można zastąpić backendowcem który ma się douczyć po godzinach. Tak zostałem ekspertem AI, Neo4j i Nest.js . Przez mianowanie
BraVolt
+1 bo wyprzedziłeś fanów NET :)
stivens
  • Rejestracja:ponad 8 lat
  • Ostatnio:około godziny
2

czy ma też bardziej zaawansowane elementy takie jak np. klasy generyczne

Generyki w dynamicznie typizowanym jezyku? No nie :P
Tzn. masz jeden wielki generyk pod tytulem any ¯_(ツ)_/¯


λλλ
edytowany 3x, ostatnio: stivens
lion137
  • Rejestracja:około 8 lat
  • Ostatnio:4 minuty
  • Postów:4884
0

@Zimny Krawiec: Pyton jest dynamicznie typowany, więc rozmowa o generykach, czy delegatach nie ma za bardzo sensu. Jeśli interesuje Cię to o co pytasz, programy graficzne, czy programowanie pod Visual Studio, to Python jest, raczej nie dla Ciebie.
Tego języka używa się głównie w webie, sporo fajnych framewoków i bibliotek asynchonicznych; oraz w data science, jedne z najpopularniejszych bibliotek używanych w industry i Academii, (dobra, na uczelniach jest może więcej R) to: PyTorch, TensorFlow, Scikit-learn


edytowany 1x, ostatnio: lion137
ZK
  • Rejestracja:prawie 7 lat
  • Ostatnio:4 miesiące
  • Postów:273
0

@lion137: Czyli tak reasumując do czego można wykorzystać Pythona ?

Spine
Do prokreacji :]
CZ
tak mówiąc pół żartem pół serio to do wszystkiego i nauka Pythona na pewno nie będzie stratą czasu
ZK
Właśnie kilka dni temu kupiłem 3 książki do Pythona - grubą biblię - wprowadzenie, dla zaawansowanych i Diango 3 Autor pierwszej pisze że jedną z wad jest to że python jest czasem wolniejszy od takich języków jak C++ .
Spine
@Zimny Krawiec: ale ta szybkość wykonywania kodu ma znaczenie, kiedy chcesz napisać jakiś skomplikowany algorytm. Aplikacja w Django zazwyczaj wydaje polecenia bazie danych (która jest odrębnym bytem, napisanym w innym języku) i odbiera wyniki tych poleceń. Żeby odczuć różnicę wydajności, musiałbyś bardzo dużo danych pobrać, żeby Django, się męczył łącząc je z szablonem (przetwarzanie dużej ilości danych). Najczęściej stronka co robi? Pobiera i wyświetla ze 20 rekordów? Nie trzeba do tego C++ :)
CZ
Dodatkowo biblioteki używane w pythonie są nieraz napisane w c++, więc na jedno wychodzi
lion137
  • Rejestracja:około 8 lat
  • Ostatnio:4 minuty
  • Postów:4884
1

Tak jak napisałem, webówka, frameworki, Django, Flask, REST - owe API, data science, AI, itp... plus skryptowanie, czyli, np., taka pomocnicza "day to day job" w jakiejś wiekszej firmie.


ledi12
  • Rejestracja:ponad 5 lat
  • Ostatnio:19 dni
  • Lokalizacja:Wrocław
0

Znawcą nie jestem, ale co raz większa ilość ofert w tym języku, w Polsce, za bardzo duży hajs wskazuje na to, że chyba warto.


Robię http response status cody w martwych ciągach
IK
  • Rejestracja:ponad 7 lat
  • Ostatnio:prawie 2 lata
1

Warto znać ten język, ale o ile nie siedzisz w ML/data science to nie powinien być to twój główny wybór. Python najlepiej się sprawuje w małych i średniej-wielkości projektach. Do tych większych też się nadaje, ale trzeba mieć sporo dyscypliny i ogarnięty zespół żeby nie zrobił się z tego clusterfuck.

ledi12
Dlaczego nie główny ? Nie żebym miał pretensje, ale jestem po prostu ciekaw. W większości ofert na Python/Senior Python Developera nie wymagają innych języków. No chyba, że webówka to często występuje JS, ale nadal bardziej w formie dodatku, bo i tak na pierwszym miejscu jest Django :)
IK
No jak ktoś ma projekt w Pythonie, albo 10 devów znających tylko Pythona to szuka Senior Python Deva :) ale głównie chodzi mi o te kobyły napisane w Pythonie. Miałem (wątpliwą) przyjemność pracować z kilkoma i zawsze robił się z tego clusterfuck, część kodu otypowana część nie, jakieś magiczne workaroundy, monkey patche, hitem wg mnie są konstruktory zwracające instancję zupełnie innej klasy w zależności od przekazanego parametru. Oczywiście można się tego wystrzegać, ale jak pisałem - wymaga to dyscypliny. (cdn)
IK
Po prostu wygodniej jest użyć języka, który z założenia na takie cuda nie pozwala. Żeby nie kusiło. Nawet, albo i zwłaszcza, pod presją czasu. A Django jeszcze to wszystko potęguje.
ledi12
Niemniej jednak firmy nadal praktykują takie a nie inne podejście i jeszcze za to płacą :P
IK
Myślę, że to wypadkowa kilku rzeczy: 1 nikt się nie spodziewał, że produkt się tak rozrośnie 2 nikt w porę nie przeprowadził porządnej separacji modułów - wyżej opisania przeze mnie magia jest do opanowania, jeśli zamykamy się w kilku tysiącach SLOC 3 "byznes" nie wyraża zgody na refactoring (bo po co skoro wszystko działa?) i oczekuje, że zmiany będą robione tak samo szybko przy 300kSLOC jak przy 30kSLOC.
PK
PK
  • Rejestracja:ponad 4 lata
  • Ostatnio:ponad 3 lata
  • Postów:245
0

Tak pomyślałem, że podzielę się pewnym przemyśleniem:

Jak człowiek uczy się jakiegoś programistycznego języka i chce być w nim coraz lepszy to z czasem dowiaduje się o jakiś praktykach, technikach jakie są stosowane w języku, często to kwestia zależna od paradygmatu, czy obecnych konstrukcji jakie oferuje dany język. Język promuje pewne podejścia które są zgodne z nim oraz kładzie nam kłody pod nogi jeśli próbujemy inaczej kodować. Gdy dostatecznie dużo razy się potkniemy, stajemy się lepsi i w końcu patrzymy na problemy zgodnie z wybranym językiem. Cenę jaką płacimy za tą naukę jest fakt, że ciężko jest się z tego wyleczyć, ciężko jest dostrzec inne alternatywy, a jeszcze ciężej jest się przełączyć na nie, bo trzeba wcześniej oduczyć się starych sztuczek, rzeczy które są dla nas łatwe i przede wszystkim fundamentalne.

Python pod tym względem jest trochę wyjątkowy. To jest język króty oferuje kilka różnych i ciekawych możliwości: opp, fp, contextmanagery, immutable types, generatory, async, metaclass, repl. Jest w czym wybierać i niestety każda z tych opcji długofalowo ma jakieś niedociągnięcia przez co ogranicza, i tak w praktyce ciężko jest wybrać taki sposób, który mógłby w pythonie się zwracać. Te niedogodności to była dla mnie zachęta do dalszej nauki i dalszego eksperymentowania, a wraz z tym przekonywałem się na własnej skórze jak diametralnie może się zmienić moja perspektywa patrzenia na problem. Zacząłem dostrzegać minusy, oceniać konstrukcje względem stawianych problemów co doprowadziło do tego, że coraz rzadziej na nich polegałem.

Gdybym miał wskazać jakie podejście python najbardziej promuje to właśnie byłoby to dążenie do prostoty poprzez unikanie purystycznych rozwiązań, nadużywania mutacji, formalnego kodu, hacków czy rozdętego pisania. Pisząc w pythonie najlepiej zwraca się postawa gdy piszesz tak prosto i tak jawnie jak to możliwe, wtedy praca z pythonem staje się super doświadczeniem.

edytowany 2x, ostatnio: pan_krewetek
ZK
Obawiam się że mi się teraz wszystkie te języki pomieszają. C++, C#, Python, Java. Ucząc się tych języków dochodzę do wniosku że wszystkie są bardzo podobne do siebie. Nie wiem, czy warto ciągnąć 4 sorki za ogon na raz , hehehehe
antekgort200
  • Rejestracja:około 4 lata
  • Ostatnio:ponad 3 lata
  • Postów:10
0

oczywiście python nie jest językiem programowania dla dzieci on po prostu jest prosty można robić wiele rzeczy


każdy umie klikiać w klawisze
vpiotr
  • Rejestracja:ponad 13 lat
  • Ostatnio:prawie 3 lata
1

Obawiam się że mi się teraz wszystkie te języki pomieszają. C++, C#, Python, Java.

Jak dopiero zaczynasz przygodę z programowaniem to eksperymentuj z kilkoma.
Ja przed pierwszą pracą bawiłem się programowaniem w Basicu, ASM, Action!, C, C++, Pascal, Logo.

Obecnie do eksperymentowania masz bardzo duży wybór i języki są coraz bardziej zaawansowane.
Masz Julia, Clojure, Ocaml, Rust, Nim, Haxe, Zig, Haskell, Odin, i te trochę mniej rozrywkowe - Java, C#, Kotlin, Scala.
C/C++/ASM/Fortran polecam tylko do projektów gdzie chcesz wycisnąć 100% wydajności procesora. A to tak naprawdę jest przereklamowana zaleta. Lepiej jest pobawić się np. w Javie samym algorytmem niż np. w C++ konstruktorem kopiującym z przenoszeniem (co w innych językach czy realnym świecie nie ma żadnego znaczenia).
Rust ponoć jest w niektórych rzeczach szybszy od C/C++.
Fortran na pewno najlepszy w liczeniu macierzy (C/C++ w tym temacie są zaskakująco skomplikowane).

Pythona też planuję nauczyć się w tym roku, korzystałem z niego już przy różnych okazjach (shell do API, skryptowanie deploymentu Javy), ale nigdy nie było czasu siąść do jakiejś książki która by nauczyła podstaw.

Python potrafi zaskakiwać szybkością, renderingiem w czasie rzeczywistym lub batchowym czy wydajnością ML (patrz TensorFlow), głównie dzięki wsparciu sprzętu i bibliotekom stworzonym w innych językach, głównie C/C++.

Jak chcesz w miarę wydajne i łatwe programowanie, spróbuj jeszcze z Go lub Julią.

ZK
Przygodę z programowaniem zacząłem bardzo dawno temu. Był to język Basic. Mało kto wie, że coś ta śmiesznego istniało kiedyś. Jak ktoś chciał zrobić coś bardziej skomplikowanego od napisów to musiał wypisywać kod maszynowy od pamięci. To nie był nawet asembler. Potem był język Turbo Pascal, jakiś język do baz danych i C++ - jedna z wcześniejszych wersji. Pisało się bodaj w notatniku a potem się go kompilowało. Później była długa przerwa i jakieś 9 lat temu . Visual Studio . C++, a potem mój najbardziej ulubiony C#. Jeszcze trochę Javy a teraz chcę poznać Pythona
grski
  • Rejestracja:ponad 9 lat
  • Ostatnio:8 miesięcy
  • Postów:245
2

Teraz to złoty czas dla pythona. Miliony monet i ofert pracy, próg wejścia niski. Pakować się i to po same uszy.

A opis wad czy zalet... Wrzuce shameless pluga z mojego bloga - Krótki opis wad i zalet Pythona i trochę o Historii pythona


Napisałem książkę - Programowanie z Górskim: Junior Python Developer
Pora na następny krok na drodze po pierwszą pracę w it i WCALE-NIE-MITYCZNE #programista40k? Zapraszam.
TS
  • Rejestracja:ponad 5 lat
  • Ostatnio:około 2 godziny
  • Postów:853
3

Za każdym razem kiedy ktoś mówi, że Python jest wolniejszy niż Java, coś we mnie umiera. Zacznijmy od tego, że przez długi czas w rankingach benchmarków serwerów http w kategorii req/s JS biło Javę. W wielu PHP jest na czele. To co wy właściwie macie na myśli mówiąc, że wasz język jest szybszy?

Albo jak architekt wybiera Javę bo mówi, że jest szybsza niż Python i programiści piszą aplikację w Javie ze Springiem, która raz na godzinę ma się uruchomić, wykonać jakieś proste zadanie. Przecież Python zyskuje tutaj na pół minuty na samym odpaleniu maszyny wirtualnej.

Albo jak ktoś mi mówi, że w Pythonie są robione hacki, a w Javie macie Springa, jakieś Beany, singletony, AOP, refleksje. To gdzie jest więcej hacków? Wystarczy dać programistom Clean Code do przeczytania i odzywać się w Pull Requestach to kod w Pythonie będzie czysty.

Spine
  • Rejestracja:prawie 22 lata
  • Ostatnio:6 minut
  • Postów:6627
3
twoj_stary_pijany napisał(a):

Za każdym razem kiedy ktoś mówi, że Python jest wolniejszy niż Java, coś we mnie umiera.

Python jest wolniejszy niż Java. Python jest wolniejszy niż Java. Python jest wolniejszy niż Java. Python jest wolniejszy niż Java. Python jest wolniejszy niż Java. Python jest wolniejszy niż Java. Python jest wolniejszy niż Java. Python jest wolniejszy niż Java. Python jest wolniejszy niż Java. Python jest wolniejszy niż Java. Python jest wolniejszy niż Java. Python jest wolniejszy niż Java.

Żyjesz :] ?


🕹️⌨️🖥️🖱️🎮
TS
Jeszcze tak, aczkolwiek nie poprawiasz mojej kondycji fizycznej :)
Spine
Ważne, że jest jakiś efekt ;)
TS
Najgorsza jest obojętność :)
Szalony Programista
Szalony Programista
A to nie przypadkiem stan równowagi? :)
PL
  • Rejestracja:około 7 lat
  • Ostatnio:ponad 2 lata
  • Postów:104
0

Nie ma wolnych języków programowania - są tyko niestaranne implementację. Każdy język programowania ma swój smaczek, który należy odkryć aby pisać w nim szybko działające programy. Po odbyciu Bootcampu nie będziesz umiał pisać szybkich programów. Bo żeby pisać szybkie programy to trzeba rozumieć architekturę komputera i jak to wszystko działa pod maską. Algorytmy + struktury danych + architektura PC + architektura maszyny wirtualnej = szybki program. Dynamiczne typowanie oraz brak JIT sprawia że Python jest trochę wolniejszy ale to nie problem bo język pozwala na użycie bibliotek napisanych w C++.

edytowany 2x, ostatnio: ple
PL
Dodam jeszcze że większość języków programowania przekształcana jest do asemblera(kod pośredni), który jest fundamentem tego wszystkiego.
stivens
Ale to ze interpreter tlumaczy wszystko do assemblera nie nadrabia tego ze interpretacja jest wolna
stivens
  • Rejestracja:ponad 8 lat
  • Ostatnio:około godziny
0
twoj_stary_pijany napisał(a):

Za każdym razem kiedy ktoś mówi, że Python jest wolniejszy niż Java, coś we mnie umiera. Zacznijmy od tego, że przez długi czas w rankingach benchmarków serwerów http w kategorii req/s JS biło Javę. W wielu PHP jest na czele. To co wy właściwie macie na myśli mówiąc, że wasz język jest szybszy?

Albo jak architekt wybiera Javę bo mówi, że jest szybsza niż Python i programiści piszą aplikację w Javie ze Springiem, która raz na godzinę ma się uruchomić, wykonać jakieś proste zadanie. Przecież Python zyskuje tutaj na pół minuty na samym odpaleniu maszyny wirtualnej.

Albo jak ktoś mi mówi, że w Pythonie są robione hacki, a w Javie macie Springa, jakieś Beany, singletony, AOP, refleksje. To gdzie jest więcej hacków? Wystarczy dać programistom Clean Code do przeczytania i odzywać się w Pull Requestach to kod w Pythonie będzie czysty.

Ja np. nie powiedzialem "Python jest wolniejszy niz Java" tylko

Na studiach to co moim kolegom w Pythonie sie liczylo 2h to mi w Scali tylko 5 minut. A takie obliczenia trzeba bylo wykonac wielokrotnie z roznymi parametrami uczenia.

I to jest pstryczek w kierunku "a bo Python to jest dobry do AI, ML, ...". Co w sumie samo w sobie tez jest absurdalne bo sie ludziom reklamuje Pythona przez jakies MLe a oni koncza piszac w Django - huh?


Tak w ogole jak ktos interesuje ML to chyba sie powinien uczyc ML a jezyk juz jakis znac :)


λλλ
edytowany 6x, ostatnio: stivens
Spine
  • Rejestracja:prawie 22 lata
  • Ostatnio:6 minut
  • Postów:6627
0

Mój kolega, maniak PHP, na studiach przepisał GAlib (polecany przez prowadzących) z Javy do PHP i tak go zoptymalizował, że algorytm genetyczny w PHP działał dziesiątki razy szybciej.


🕹️⌨️🖥️🖱️🎮
Zobacz pozostały 1 komentarz
Spine
Widocznie dla Javy tak samo ktoś sobie nazwał bibliotekę ;) Autor tego Javowego projektu pewnie znał się na algorytmach genetycznych bardziej niż na programowaniu.
stivens
Tak czy siak gdyby zlozonosc obliczeniowa byla taka sama to program w PHP w najlepszym przypadku dzialalby w podobnym czasie :p Ale raczej wolniej
stivens
Autor tego Javowego projektu pewnie znał się na algorytmach genetycznych bardziej niż na programowaniu. moze tak byc :)
stivens
Jest tez opcja ze kolega zszyl algorytm konkretnie pod jego problem i dlatego bylo szybciej. Ale skoro mowisz ze przepisal biblioteke to pewnie zachowal ogolnosc.
Spine
Z tego, co pamiętam, to m. In. usunął jakieś operacje, których wynik nigdzie nie był wykorzystywany. Ograniczył alokacje pamięci. Użył jak najwydajniejszego generatora liczb losowych.
M9
  • Rejestracja:około 4 lata
  • Ostatnio:prawie 4 lata
  • Postów:42
0

@twoj_stary_pijany: Mamy na myśli to, że Java jest częściowo językiem interpretowanym i częściowo JIT compilowanym, a python tylko interpretowanym

koszalek-opalek
  • Rejestracja:około 9 lat
  • Ostatnio:około 2 lata
0
m94 napisał(a):

@twoj_stary_pijany: Mamy na myśli to, że Java jest częściowo językiem interpretowanym i częściowo JIT compilowanym, a python tylko interpretowanym

Python też jest częściowo kompilowany. Aczkolwiek, nie jest to JIT.

M9
W sensie ktoś napisał sobie statyczny kompilator do .py ? Bo jeżeli tak to JVM potrafi sobie oczywiście wybrać lepszą metodę dynamicznie i JIT javowy ma sporo optymalizacji, których pewnie python kompilator by nie osiągnął bedąć statycznym i robionym non-commercial
Althorion
W sensie implementacja referencyjna, CPython, kompiluje program do bytecodu przed wykonaniem (pliki mają rozszerzenie .pyc).
DE
DE
  • Rejestracja:ponad 4 lata
  • Ostatnio:ponad 2 lata
  • Postów:311
0

"Python jest wolniejszy od C++", Gdzieś czytałem, że niby tak, ale człowiek nie jest w stanie nawet tego zauważyć więc są to minimalne wartosci.

stivens
Przeczytaj moj post wyzej
stivens
Bo jesli kilka godzin to niezauwazalna roznica to ja nie wiem :)
vpiotr
Zalezy co palisz.
TS
  • Rejestracja:ponad 5 lat
  • Ostatnio:około 2 godziny
  • Postów:853
0
stivens napisał(a):

Ja np. nie powiedzialem "Python jest wolniejszy niz Java" tylko

Na studiach to co moim kolegom w Pythonie sie liczylo 2h to mi w Scali tylko 5 minut. A takie obliczenia trzeba bylo wykonac wielokrotnie z roznymi parametrami uczenia.

I to jest pstryczek w kierunku "a bo Python to jest dobry do AI, ML, ...". Co w sumie samo w sobie tez jest absurdalne bo sie ludziom reklamuje Pythona przez jakies MLe a oni koncza piszac w Django - huh?

No fajnie, że umiesz pisać w Scali, tylko jak dokładnie odpalasz ten Twój program w Pythonie? Bo jeżeli piszesz program do obliczeń numerycznych, jakieś modele i odpalasz to na procesorze to strzelasz sobie w kolano. Python jest świetnym interfacem do pracy z bibliotekami napisanymi w C++, które uruchamiają kod na kartach graficznych. Uruchom mi teraz kod w Scali na karcie graficznej. Teraz mi wyskoczysz z jakimiś libami z Githuba, które potrafią to zrobić. Tylko kto te liby utrzymuje? Widzieliście już kogoś kto je kiedykolwiek wdrożył na produkcję?

stivens
  • Rejestracja:ponad 8 lat
  • Ostatnio:około godziny
0

@twoj_stary_pijany:
https://github.com/scalanlp/breeze

Widze ponad 100 kontrybutorow, 3500 commitow i regularne utrzymywanie od lat.
Do tego dochodza jeszcze biblioteki Javo-centryczne bo Scala dziala na JVMie. To nie jest tak ze Python ma wylacznosc na komunikacje z binarkami.

GPU jest obslugiwane bodajze poprzez delegacje do np. natywnej systemowej libki cuBLAS.


Z przymrozeniem oka ;)


λλλ
edytowany 8x, ostatnio: stivens
ZK
  • Rejestracja:prawie 7 lat
  • Ostatnio:4 miesiące
  • Postów:273
0

@twoj_stary_pijany:
Już miałem zacząć naukę Pythona ale coś mnie odrzuciło . Muszę wziąć głęboki oddech. Autor książki napisał że Python to język wysokiego poziomu a C++ niskiego poziomu i że jeden kompilator Pythona może być 10 razy szybszy od innego ale nie zawsze. Chce pisać w Visual Studio. Nawet nie wiem, która tam jest wersja.
Jest co najmniej 7 różnych wersji.
Python - https://pl.python.org/
Cython - https://cython.org/
Pypy- https://www.pypy.org/
stackless-python - https://pypi.org/project/stackless-python/
IronPython - https://ironpython.net/
Psyco - http://psyco.sourceforge.net/
Jython - https://www.jython.org/

Zobacz pozostałe 35 komentarzy
stivens
Czytanie ksiazki o jezyku programowania od deski do deski nie ma sensu. Wiekszosc to lanie wody. A juz na pewno 90% zapomnisz dopoki w praktyce nie uzyjesz
stivens
aplikacji webowych i baz danych nie piszę z jednego powodu bo nie mam dostępu do serwera ale wiesz ze serwer to tylko komputer i Twoj PC tez nim moze byc?
stivens
a nawet nie tyle komputer co usluga odpalona na nim
ZK
ok ok ok . Idę coś poczytać i popisać .
M9
Jak ogarniesz podstawy to zacznij jakiś competitive programming https://www.hackerrank.com/. Ewentualnie jakiś opensource projekt wbrew temu co sądzą początkujący nie potrzebujesz nikogo zgody, żeby wziąć w takim projekcie udział. Jak będzie Ci dobrze szło to i robote znajdziesz, takie portfolio lepiej się prezentuje na CV, niż wylistowanie znajomości 30 technologii
PL
  • Rejestracja:około 7 lat
  • Ostatnio:ponad 2 lata
  • Postów:104
0

Dobry programista zna kilkanaście języków programowania i wybiera jeden z nich w zależności od problemu. W Pythonie bardzo szybko napiszesz skrypt który wykona np. przetwarzanie plików tekstowych w katalogu. Python ma bardzo fajną składanie i ciekawe funkcje zaporzyczone z języków funkcyjnych. Jeżeli skrypt będzie uruchamiany sporadycznie to nie ma sensu przejmować się szybkością wykonania programu.

koszalek-opalek
  • Rejestracja:około 9 lat
  • Ostatnio:około 2 lata
0
ple napisał(a):

Dobry programista zna kilkanaście języków programowania i wybiera jeden z nich w zależności od problemu. W Pythonie bardzo szybko napiszesz skrypt który wykona np. przetwarzanie plików tekstowych w katalogu. Python ma bardzo fajną składanie i ciekawe funkcje zaporzyczone z języków funkcyjnych. Jeżeli skrypt będzie uruchamiany sporadycznie to nie ma sensu przejmować się szybkością wykonania programu.

Kilkanaście? @ple -- wymień 11 języków, które znasz (albo powinno się znać)!

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)