Python - czy się opłaca uczyć?

Odpowiedz Nowy wątek
2015-11-01 19:51
0

Witam. Chciałbym Was spytać czy się opłaca uczyć Pythona i jakie książki polecacie do nauki Pythona? Czy ta książka będzie dobra http://helion.pl/ksiazki/pyth[...]danie-iv-mark-lutz,pytho4.htm? Czym się właściwie różni Python od innych języków programowania? Do tej pory programowałem w Java, C#, PHP, SQL i VB.NET. Czy będę miał problemy z przejściem na Pythona czy mi się uda?

edytowany 2x, ostatnio: CSharp, 2015-11-01 20:41
"programowałeś" w pięciu różnych językach, a pytasz o takie rzeczy, które można w internecie odnaleźć w ciągu pięciu minut... Ten Twój post wygląda bardziej po prostu jak nieudolna próba pochwalenia się ;p - Patryk27 2015-11-01 19:54
A tak na co dzień to programuję w C# pod Windows 7 i Java jeżeli chodzi o Linuxa i moją komórę. Czasami w PHP robię ludziom strony ale obecnie nie mam potrzeby używać PHP. - CSharp 2015-11-01 19:58

Pozostało 580 znaków

2015-11-01 20:12
0

Witam. Chciałbym Was spytać czy się opłaca uczyć Pythona

Tak

i jakie książki polecacie do nauki Pythona? Czy ta książka będzie dobra http://helion.pl/ksiazki/pyth[...]danie-iv-mark-lutz,pytho4.htm?

książka Dive in Python była chyba okej: https://pl.wikibooks.org/wiki/Zanurkuj_w_Pythonie , chociaż ja nie rozumiem takich problemów. Znam Pythona (tyle o ile, bo na codzień w nim nie programuję), a nie mam pojęcia z czego się uczyłem. Na pewno dużo wchodziłem na oficjalną dokumentację: https://www.python.org/doc/

Czym się właściwie różni Python od innych języków programowania?

  1. Tym, że wcięcia są elementem języka zamiast klamerek.
  2. Tym, że dużo rzeczy robi się wygodniej i bardziej skrótowo
  3. Inną modą (np. w Pythonie jest moda na pisanie_tak_zmiennych czy metod ew. rownieztak, zamiast pisaniaWTenSposob albo WTenSposob) (snake case vs camel case itp.)

Do tej pory programowałem w Java, C#, PHP, SQL, HTML5, JS, CSS, XML, JSON, VB.NET i ASP.NET.

Ciekawe jak się programuje w CSS, JSON czy XML ;)


((0b10*0b11*(0b10**0b101-0b10)**0b10+0b110)**0b10+(100-1)**0b10+0x10-1).toString(0b10**0b101+0b100);
edytowany 1x, ostatnio: LukeJL, 2015-11-01 20:12
4. tym że co drugie słowo w kodzie pythonowym to self - caer 2015-11-02 10:02
niekoniecznie specyficzne dla Pythona. to zjawisko występuje również w innych językach OOP, gdzie do zmiennych instancji musisz się odwoływać przez self / this, czyli this.foo zamiast foo (np. w JavaScripcie). - LukeJL 2015-11-02 15:22
(chociaż this w JS może znaczyć wiele różnych rzeczy tak naprawdę. Poza tym w JS można tak zrobić, żeby prawie w ogóle nie używać this. W Pythonie też pewnie tak można z selfem (który btw jest i tak przekazywany jako argument w metodzie) - LukeJL 2015-11-02 15:25

Pozostało 580 znaków

2015-11-01 20:36
0

JSON i XML są formatami wymiany danych komputerowych. JSON od XML-a różni się składnią. W XML zapiszesz to tak:

<?xml version="1.0" encoding="utf-8"?>
<customers>
<customer>
<name>Anna Kowalska</name>
</customer>
</customers>

podczas gdy w JSON będzie wyglądało to tak:

{"customers":
{"customer":
{"name":"Anna Kowalska"}}}

CSS jest to język stylizacji treści wykorzystywany do ustawania wyglądu stron internetowych.

:O Raczej {customers: [{name: &quot;Anna Kowalska&quot;}]} - nz 2015-11-01 20:38
nie wiedziałem, że takie rzeczy istnieją w świecie komputerów, dzięki za informacje, czuję się wzbogacony :) - LukeJL 2015-11-01 20:53
@nz a nie {&quot;customers&quot;: {&quot;customer&quot;: [{ &quot;name&quot;: &quot;Anna Kowalska&quot; }]}} ? :O - DibbyDum 2015-11-01 21:02
@CSharp, zapoznaj się ze znaczeniem słowa ironia. - somekind 2015-11-01 21:03

Pozostało 580 znaków

2015-11-01 20:38
0

To jest programowanie tak samo jak programistą jest tłumacz z polskiego na angielski :)
JSON i XML jak słusznie powiedziałeś to formaty wymiany danych, a nie języki programowania, więc nie możesz w nich "programować".
Podobnie jest zresztą z CSS i HTMLem - to języki opisu, a nie programowania.


edytowany 1x, ostatnio: Patryk27, 2015-11-01 20:38
z drugiej strony jak ktoś pisze w Angularze to może o sobie powiedzieć, że programuje w HTMLu, bo angular wzbogaca HTMLa o pętle, wyrażenia warunkowe, instrukcję switch, możliwość osadzania dynamicznych wyrażeń w {{wyrazenie}}, czy inne rzeczy. Więc tak - można programować w HTMLu korzystając z jakiegoś frameworka, który to umożliwia ;) - LukeJL 2015-11-01 20:56
ja co prawda ostatnio znielubiłem Angulara między innymi za to, że wymyslają własny język programowania oparty na HTMLu, ale jednak wciąż jest to popularny framework i tysiące programistów Angulara programuje we wzbogaconym HTMLu defacto - LukeJL 2015-11-01 20:58
Ta dana osoba wtedy programuje w Angularze, a nie HTMLu :P Równie dobrze mogę powiedzieć, że programuję w języku angielskim, bo asmowe mnemoniki są po angielsku, a zatem to taki "wzbogacony inglisz". - Patryk27 2015-11-01 22:30
no, w sumie jest solidny argument, w tym co piszesz ;) - LukeJL 2015-11-01 22:45

Pozostało 580 znaków

2015-11-01 20:58
0

Wg mnie język jak język, ma swoje mocne jak i te słabe strony. Na plus to z pewnością prosta składnia, szeroka paleta bibliotek z zakresu naukowych, wsparcie do asynchronicznych operacji co ułatwia pracę przy skalowalnych systemach. Na minus współbieżność na jednym rdzeniu, zbyt szybka fragmentacja pamięci czy też problemy z przenoszeniem kodu z wersji 2 na 3.

edytowany 2x, ostatnio: pyholic, 2015-11-01 20:59
Pokaż pozostałe 5 komentarzy
@Nozi, multiprocessing nie jest tak opłacalny jak Ci się wydaje. Zwykle warto robić tyle procesów ile masz rdzeni, i na każdym rdzeniu stawiasz kilka wątków. Inaczej tracisz na posiadaniu procesów, bo są zbyt zasobożerne. - pyholic 2015-11-01 21:11
@Wizzie, To coś innego. Poczytaj sobie o tym: http://krondo.com/?p=1209 - pyholic 2015-11-01 21:13
@pyholic napisałem tylko, że można ominąć GIL'a, poza tym nigdy bym nie wybrał pajtona do multithreadingu ... - NoZi 2015-11-01 21:14
@NoZi, powtarzam - nie można, bo to się nie opłaca. Co z tego, że będziesz miał więcej procesów jeśli to będzie Ci się przekładać na gorszą wydajność? A co do wybierania to zwykle jest tak, że nie masz wyboru, gdy dołączysz do zarabiającego na siebie projektu. Zobacz, choć Coyote można byłoby napisać w go/clojure/scala to i tak php rządzi :) - pyholic 2015-11-01 21:26
robienie czegoś w PHP to kredyt techniczny, który nawet Facebook musiał w końcu spłacić, chociaż w brawurowym stylu (bo goście z Facebooka zrobili przy okazji HipHop for PHP, oraz język programowania Hack oparty na pehapie - ja tam PHPa i tak nie lubię, ale fajnie, że zamiast przepisywać na choćby Javę to wybrnęli z tego PHPa w ciekawy sposób). - LukeJL 2015-11-01 21:42

Pozostało 580 znaków

2015-11-01 22:51
Krwawy Terrorysta
0

A wg mnie CSS to jest język programowania tyle że deklaratywny. Tak samo HTML. Opisujesz efekt a nie procedurę osiągnięcia go.
Równie dobrze można by powiedzieć że SQL w porówaniu z C nie jest językiem programowania.
Choć niby język programowania musi pozwalać na ułożenie dowolnego algorytmu w nim, ale po co algorytm, gdy można opisać jego efekt?

Według mnie HTML jest językiem opisowym. - Kooneer 2016-02-04 22:18

Pozostało 580 znaków

2015-11-01 23:01
0

Ja bym nie kombinował. HTML+CSS to nie programowanie, tylko kodowanie. Algorytm to sposób rozwiązania zadania/problemu. Moim zdaniem layout nie jest efektem działania algorytmu.

Co do samego Pythona. Jeżeli analizujesz opłacalność nauki języka pod kątem zarobkowym, to sprawdź udział w rynku poszczególnych języków programowania i tyle. Postaraj przewidzieć trendy. Nie ma języka lepszego lub gorszego, są tylko języki, które lepiej lub gorzej nadają się do określonego zastosowania.

Imieniny są ważną częścią naszego życia, choć wydaje się, iż czasy ich pielęgnacji są dawno już za nami. Kiedyś imieniny miały większy rozdźwięk, jeśli chodzi o wszystkie osoby. Czy dziś imieniny są dla nas utrapieniem, ponieważ znamy bardzo wiele osób. ? jest to w pewien sposób jak najbardziej możliwe, ponieważ imieniny mogą się nam spisywać na plus, jedynie w momencie, kiedy mamy nasze stałe, pewne grono. Wtedy, jak najbardziej możemy pamiętać o imieninach wszystkich zainteresowanych przez nas osób. W momencie kiedy mamy wielu znajomych, spotykamy wiele osób, nasze imieniny mogą nie do końca polecić się, pod względem swoich własnych możliwości. Imieniny Anny są jednym z ważnych punktów, ponieważ imienin dla tego imiona jest przewidzianych bardzo dużo w ciągu roku. Cóż, przyznać trzeba, iż mamy bardzo dużo imion tego pokroju, co składa się również na odpowiedni wynik, który mamy w tam wypadku do odpowiedniego wykorzystania. Imieniny jak widać, to szerokie spektrum. Więcej na http://www.imienin.pl

edytowany 4x, ostatnio: Puffamon, 2016-08-03 15:54

Pozostało 580 znaków

2015-11-01 23:03
0

SQL jest językiem programowania, ponieważ jest kompletny w sensie Turinga.
Technicznie HTML+CSS też są (liczone jako całość - http://stackoverflow.com/ques[...]497146/is-css-turing-complete), ale jak to w wielu naukach bywa, tak i w programowaniu trzeba pewne definicje oraz terminologie przyjąć.

Takim pojęciem jest na przykład język programowania, cyt. angielską Wikipedię:

A programming language is a formal constructed language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs to control the behavior of a machine or to express algorithms.

HTML+CSS podpadają pod tę definicję, co do tego nie ma wątpliwości, a ponad to są zgodne z zasadą 110 (patrz: kompletność w sensie Turinga), co technicznie czyniłoby je językami programowania, lecz tutaj ścieżki się rozbiegają, cytując Wiki:

HTML napisał(a)

HyperText Markup Language, commonly referred to as HTML, is the standard markup language (...)

CSS napisał(a)

Cascading Style Sheets (CSS) is a style sheet language used for describing the presentation of a document written in a markup language.

Więc tak, jeśli się bardzo uprzesz, zatkasz uszy i zaczniesz krzyczeć lalalalalalala to faktycznie HTML+CSS tworzą duet będący językiem programowania, ale w pojedynkę nim nie są.
Przeznaczeniem tych języków jest wyrażenie efektu działania algorytmu, a nie bycie algorytmem.

I na sam koniec, podążając za bashowym klasykiem: Programista HTML brzmi jak Pilot Pojazdu Bojowego typu Rowerek Dziecięcy.


edytowany 5x, ostatnio: Patryk27, 2015-11-01 23:07
I na sam koniec, podążając za bashowym klasykiem: Programista HTML brzmi jak Pilot Pojazdu Bojowego typu Rowerek Dziecięcy. Ekspert od HTMLa będzie zawsze traktowany jako „pośledniejszy” niż ekspert od jakiegoś C++ czy innego Pythona? - kmph 2015-11-01 23:33
Trudno się nie zgodzić. Poza tym stwarzuj prawdę, metka eksperta htmlu nic Ci nie da, jeśli nie poprzesz tego jakimś językiem server-side. - Patryk27 2015-11-01 23:37

Pozostało 580 znaków

2015-11-02 09:55
0

Ciężko mi sobie wyobrazić sytuację żeby to python (i zapewne najbardziej znane DJANGO) mogło jakoś znacząco zagrozić PHP (i frameworkom takim jak np. Symfony, Laravel albo systemom takim jak Wordpress, Joomla, Drupal, Magento itd), mówię o rynku w Polsce. Jest pewien problem. Jako że jest mało programistów pythona a o niebo więcej PHP, to czyż nie łatwiej jest perspektywicznie realizować projekty właśnie w PHP? Mówię o takich gdzie PHP jest mocny a nie o takich, gdzie mocne jest ASP.NET czy tam JAVA EE.

@LukeJL

O jakim kredycie technicznym Ty mówisz? To że do Facebooka dali Hiphopa to chyba przede wszystkim chyba dlatego, że bardziej opłacało się coś takiego napisać niż pewnie tworzyć to od nowa, tak mi się przynajmniej wydaje. Tu była taka ciekawa dyskusja i można dojść do ciekawych wniosków:

http://www.wykop.pl/link/1174[...]s-ruby-vs-python-infografika/

I teraz tak, serwis pokroju Allegro i dajmy na to ileś tam milionów odwiedzin miesięcznie. I tu można się zastanawiać w czym coś takiego stawiać czy w pythonie (a jako że jest mało specjalistów a są drodzy) czy też w PHP a standardowe podejście typu dobrze przemyślane algorytmy i cache wystarczy żeby dojść do takiego pułapu?

Poczytajcie sobie tą dyskusję wyżej na wykopie, może to co niektórym da coś do myślenia dlaczego to PHP jest nadal tak bardzo popularny, w pythonie to się coś pewnie realizuje na rynki zagraniczne. Wiem napewno że Codility stoi na DJANGO:

http://geekgirlscarrots.org/1[...]zukiwanie-dobrego-programisty

Tylko jak to się ma do realiów jak ktoś chce pracować w Polsce?

Allegro jest napisane w Javie i innych językach działających na JVM. - tdudzik 2015-11-02 10:12
@tdudzik jesteś pewny że nie w php? allegro powstało w php i w dalszym ciągu część serwisu jest w phpie - saviolaa 2015-11-02 10:44
Możliwe że to bardzo złożony system, przy czym część w javie a to co odpowiedzialne za wypluwanie wyników w PHP. Pytanie jest takie, czy w samym tylko pythonie i przy dobrym sprzęcie i cache można by sobie poradzić z serwisem tego pokroju? - drorat1 2015-11-02 10:57
Wszystko w allegro jest przepisywane na jave i mikroserwisy, w php jest tylko front - NoZi 2015-11-02 11:10
Dokładnie, Allegro było napisane początkowo w PHP o ile się nie mylę (chyba z wykorzystaniem Symfony), a teraz jest przepisywane na Jave i podobne języki. Ponoć system rekomendacji np. jest napisany w Scali. - tdudzik 2015-11-02 12:32
nie "dali HipHopa" tylko stworzyli. Nie znam dokładnie historii jego stworzenia, ale wątpię, żeby stworzenie czegoś takiego zajęło jeden dzień roboczy. - LukeJL 2015-11-02 15:28

Pozostało 580 znaków

2015-11-02 10:11
3
CSharp napisał(a):

Witam. Chciałbym Was spytać czy się opłaca uczyć Pythona i jakie książki polecacie do nauki Pythona? Czy ta książka będzie dobra http://helion.pl/ksiazki/pyth[...]danie-iv-mark-lutz,pytho4.htm? Czym się właściwie różni Python od innych języków programowania? Do tej pory programowałem w Java, C#, PHP, SQL i VB.NET. Czy będę miał problemy z przejściem na Pythona czy mi się uda?

Programowałeś w pięciu językach i zadajesz takie pytania? Chyba, że uczyłeś się w nich programować i w sumie z żadnym nie poszedłeś dalej.... To są pytania, na które odpowiedź można znaleźć poświęcając godzinę na jakikolwiek tutorial o pytonie - od razu masz większość odpowiedzi gotowych...

Krwawy Terrorysta napisał(a):

A wg mnie CSS to jest język programowania tyle że deklaratywny. Tak samo HTML. Opisujesz efekt a nie procedurę osiągnięcia go.
Na plus, w sumie nigdy na to tak nie spojrzałem, ale masz rację...


Pozostało 580 znaków

2015-11-02 11:22
0

Na twoim miejscu nie uczyl bym sie python'a, tylko skupił się na jednej technologii, w której już programujesz np.: Java, C# .
Moje zdanie jest takie, ponieważ python jest całkiem inny niżeli te języki, które umiesz.

Jednak jeżeli twierdzisz, że jednak chcesz uczyć się języka python, to zacznij już od wersji 3.


no chyba o to chodzi by się uczyć zupełnie różnych rzeczy. - MarekR22 2015-11-02 12:05

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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