Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Python
Forum PHP.pl > Inne > Hydepark
Stron: 1, 2, 3, 4, 5
misiek172
Witam.

Od paru dni próbuję zapoznać się z tematyką Pythona. Przeczytałem pare artykułów, posiedziałem na forach itp. I nadal do końca niewiem do czego on tak naprawde służy, co ma takiego co innym językom brakuję.

Bardzo proszę o przedstawienie mi tematyki Pythona tak na chłopski rozum. Jego zalty i wady oraz w czym ułatwie prace.

Pozdrawiam i z góry dziękuje, Łukasz.
nasty
Witam,
Ja osobiście nie znam python-a, ale z tego co się nasłuchałem to jest to język lepszy od php (Ze strony OOP). Mnie on nie przekonuje z kilku powodów takich jak np. mała popularność albo brak curly brackets. winksmiley.jpg

<edit>
Po małym researchu i naczytania się tego topiku, wycofuje to co powiedziałem o tym ze Python ma lepsze OO niż PHP. Takie informacje kiedyś słyszałem ale okazały się nie prawda smile.gif
Przepraszam wszystkich wprowadzonych w błąd tongue.gif
</edit>
wolan
misiek172: do czego potrzebujesz tego Pythona?

nasty_psycho: mała popularnosc? ohmy.gif obecnosc na wielu platformach (wszystkich?), mozliwosc napisania wlasciwie kazdej aplikacji (www czy okienkowa - bez roznicy). nie bardzo rozumiem w czym problem... istnieje mnostwo frameworkow webowych, pythonowych bindingow roznych bibliotek GUI. nic tylko googlowac i pisac. zreszta zobacz.
Fipaj
Panowie, po prostu wstyd ;-)
http://pl.wikipedia.org/wiki/Python
Nie wierzę, że po przeczytaniu tego możecie mieć jeszcze takiego typu wątpliwości.

A jeśli - w Pythonie można zrobić to, co w PHP, i jeszcze więcej ;-)
Jabol
Python jest po prostu niesamowity. Porównywanie tego języka do php to po prostu pomyłka. PHP przy Pythonie to jak zabawka dla dzieci przy przyśpieszaczu atomów w cernie. Po pierwsze składnia - w PHP się pisze, w Pythonie się myśli. Po prostu myśli dużo naturalniej układają się w składnie pythona niż jakiegokolwiek innego języka. Dwa jest on po prostu dużo bardziej przejżysty i ładniejszy niż kod innych języków. Dalej PHP to OOP w jego wydaniu wytryskowym, czyli ściągniętym z Javy i niekoniecznie najlepszym. OOP w pythonie jest dużo bardziej naturalne, przemyślane i w przeciwieństwie do PHP pełne (wszystko jest obiektem - nawet klasy oraz funkcje). Dalej Python czerpie też z języków funkcjonalnych i takiego podejścia do programowania, co daje dużo naturalniejsze implementowanie jakichkolwiek algorytmów w Pythonie niż w PHP. Jest to też język dużo bardziej przemyślany i to od początku, a nie jak PHP łatkowany raz po raz.
Osobiście też grzebałem troszkę w źródłach pythona i pisałem do niego rozszerzenia. Muszę powiedzieć, że sposób w jaki Python jest zaimplementowany po prostu powala na kolana. Python jest językiem obiektowym już na poziomie implementacji, pomimo, że jest napisany w C, czyli w języku strukturalnym.
Jeżeli chodzi o popularność to byś się chyba zdziwił. Cała dystrybucja Gentoo, BitTorrent, Gajim i wiele innych programów (których nazw akurat nie pamiętam) zostało napisanych Pythonie. Oprócz tego wiele innych oferuje pluginy w tym języku.
Poza tym python to język na którym naprawdę można polegać - nie odważyłbym się napisać systemu obsługi lotniska w PHP, a w Pythonie i owszem.

Z bardziej aktualnych doświadczeń testowałem ostatnio ORM SQLObject. Genialna rzecz. PHP po prostu czegoś takiego nigdy nie będzie mieć. W Pythonie definiujesz model, który automatycznie staje się integralną częścią języka i środowiska. W PHP język i program pozostają oddzielone - nie unifikują się.

Python to po prostu jak rozwój od ryby do człowieka, od świadomości do samoświadomości. Oczywiście nie uniżam tutaj nikomu kto piszę w PHP bo oczywiście na końcu wszystko zależy od programisty. Polecam jednak Pythona tak mocno jak tylko mogę. Tym bardziej, że tak jak boom PHP powoli już mija (albo conajmniej zwalnia), to boom Pythona nie jest co prawda tak gwałtowny i zapewne nigdy nie będzie aż tak duży, ale język ten zdobywa sobie coraz większe uznanie we wszystkich kręgach (przede wszystkim Open Source, ale też przedział komercyjny). Od Pythona się nie odchodzi, podczas gdy od PHP i owszem.

PS. przepraszam za nadużywanie "po prostu", to z podekscytowania.

PS2. Osobom które by chciały zacząć polecam koniecznie interfejs interaktywny ipython - narzędzie niewiarygodne - coś, czego nie ma chyba rzaden inny język oprócz shelli, z których jedynie tcsh dorównuje temu z ipythona.

PS3. Fanom .NET polecam boo, choć rozumiem, że nie jest język jeszcze całkiem gotowy do użytku komercyjnego.
son
Jabol dałeś świetną recenzję... aż wypada poznać podstawy smile.gif Jaką lekturę na jego temat polecacie oprócz manuala?
Fuzja
Książka Python od podstaw.
Traktuje od podstaw czyli pętli, zmiennych, obiektówki, przez gui w tk, moduły, aplikacje sieciowe i internetowe skrypty po tworzenie rozszerzen w jezyku C oraz tematy teorytczne jak python w firmie czy aplikacjie shareware, freeware.
wolan
tutorial i potem Dive into Python. A potem jak chcesz zapomniec o PHP, to np. Django i Django Book.
splatch
A ja powiem tylko, że oprócz wielkich zachwytów i westchnień och i ach nie pada żaden przykład, który by do mnie przemawiał. Prezentuję podejście pragmatyczne, czyli muszę ocenić coś w działaniu. Co mi po tym, że core języka jest obiektowy, co wielkiego w tym, że zaimplementowano ORM, w końcu co z tego, że parę programów okienkowych napisano w pythonie? Co mi po matematyce wysokiej precyzji, jeśli nie korzystam z tego częściej niż raz na pół roku.

W końcu argumentowanie, że OOP jest bardziej naturalne niż gdziekolwiek indziej jest dla mnie po prostu pomylone. Idea programowania obiektowego jest jedna, różne są tylko konstrukcje. Dlaczego niby python miałby zmuszać do myślenia a PHP nie? Idąc tym tokiem myślenia C, czy też Asembler jest lepszy ponieważ tam się najwięcej myśli.

Zdanie Python czerpie też z języków funkcjonalnych i takiego podejścia do programowania, co daje dużo naturalniejsze implementowanie jakichkolwiek algorytmów w Pythonie niż w PHP można między bajki włożyć.
Jak mechanizmy dwóch różnych języków wysokiego poziomu mogą przyczyniać się do tego, że implementacja jakiegoś algorytmu może być naturalniejsza?

Nie chcę być ani złośliwy a tym bardziej sprawiać wrażenia malkontenta, ale nie padły żadne rzeczowe argumenty a tylko bardzo subiektywne opinie, które nie są w stanie mnie przekonać, wszak pragmatyzm bazuje na doświadczeniach.

Jabol będę wdzięczny, za przykłady kodu naturalnych implementacji algorytmów jak bardziej naturalnego OOP niż gdziekolwiek indziej.
Proszę o opamiętanie. Po prostu zamiast oceniać i osądzać język z góry usiądźmy i porównajmy go z innymi. Nie wątpię, że Python może być lepszy od PHP czy innych języków skryptowych.

Na koniec krótka historyjka. Jakieś pięć lat temu Bruce Eckel twierdził, że Python to idealny język i zawojuje świat. Minęło pięć lat i prawdę powiedziawszy pozycja Pythona nie ulega znacznej poprawie a Eckel zmienił konika i jest nim teraz Agile ..
Jabol
Nie napisałem, że w Pythonie się bardziej myśli, tylko łatwiej się myśli (łatwiej przetłumaczyć sobie myśli na kod pythona).

Teraz tutaj Model drzewka jaki sobie ostatni stworzyłem:
Kod
from sqlobject import *
from connection import *
from string import join
from exceptions import KeyError

class Node(SQLObject):
  name        = StringCol(length=100)
  parent      = ForeignKey('Node', default=None)
  features    = MultipleJoin('Feature')
  content     = ForeignKey('Content', default=None)
  children    = MultipleJoin('Node', joinColumn='parent_id')
  parentNameInd = DatabaseIndex('parent', 'name', unique=True)
  parentInd     = DatabaseIndex('parent')
  def _get_path(self):
    nodes = []
    r = self
    while r is not None:
      nodes.append(r.name)
      r = r.parent
    nodes.append('')
    nodes.reverse()
    return join(nodes, '/')
  def __getitem__(self, key):
    for f in self.features:
      if f.name == key:
        return f.value
    raise KeyError('Feature %s not found!' % key)
  def __setitem__(self, key, val):
    for f in self.features:
      if f.name == key:
        f.value = val
        return
    Feature(name=key, value=val, node=self)
  def __delitem__(self, key):
    for f in self.features:
      if f.name == key:
        f.destroySelf()
        return
    raise KeyError('Feature %s not found!' % key)


class Feature(SQLObject):
  node    = ForeignKey('Node')
  name    = StringCol(length=20)
  value   = StringCol(length=100)
  nodeIdNameInd = DatabaseIndex('node', 'name', unique=True)

class Content(SQLObject):
  content = StringCol()
  nodes   = MultipleJoin('Node')

Jestem ciekawy ile zajęłoby stworzenie podobnego modelu w PHP i czy byłby kiedykolwiek tak funkcjonalny.

Tutaj algorytm dzielenia pliku z napisami na trzy części - w php chyba trzeba by się z tym bardziej pomęczyć, co?
Kod
import string, datetime

fpr=open("lotr3.txt")

fpw1=open("lotr3_1.txt", "w")
fpw2=open("lotr3_2.txt", "w")
fpw3=open("lotr3_3.txt", "w")

dts=[[fpw1, datetime.datetime(2000, 1, 1, 0, 0)]
    , [fpw2, datetime.datetime(2000, 1, 1, 1, 25)]
    , [fpw3, datetime.datetime(2000, 1, 1, 2, 35)]]
dts.reverse()
dt0=datetime.datetime(2000, 1, 1, 0, 0)

for l in fpr.xreadlines():
    arr=l.split(":")
    ddt=dt0+datetime.timedelta(hours=int(arr[0]), minutes=int(arr[1]), seconds=int(arr[2]))
    for try_ in dts:
        if ddt>=try_[1]:
            try_[0].write((dt0+(ddt-try_[1])).strftime("%H:%M:%S:")+string.join(arr[3:], ":"))
            break

fpr.close()
fpw1.close()
fpw2.close()
fpw3.close()

Tutaj dalej mała klasa implementująca nowy język do robienia porównań
Kod
# author: Adam Wieckowski <mail>
# date:   07.01.2007

from re import compile
from fnmatch import *

class StringConstraint:

  def __init__(self, op, pattern):

    # 0 - equals caseinsensitive, 1 - equals casesensitive
    # 2 - fnmatch, 3 - fnmatchcase, 4 - regexp
    if op[0] == "!":
      self.__passMap = {True: False, False: True}
      op = op[1:]
    else: self.__passMap = {True: True, False: False}
    match           = {"==":0, "=*":1, "likei":2, "like":3, "=~":4}[op.lower()]
    self.__match    = match
    self.__pattern  = (match == 4) and compile(pattern) or pattern
  # /def __init__(self, pattern, op):

  def Evaluate(self, str):

#    # the readable way (long way/wrong way)
#    if self.__match == 0:
#      retVal = str.lower() == self.__pattern.lower()
#    elif self.__match == 1:
#      retVal = str == self.__pattern
#    elif self.__match == 2:
#      retVal = fnmatch(str, self.__pattern)
#    elif self.__match == 3:
#      retVal = fnmatchcase(str, self.__pattern)
#    elif self.__match == 4:
#      retVal = not self.__pattern.match(x) == None
#    return self.__passMap[retVal]

    # the one-statement-one-eval way
    return self.__passMap[ \
             [  (lambda x: x.lower() == self.__pattern.lower()) \
              , (lambda x: x == self.__pattern) \
              , (lambda x: fnmatch(x, self.__pattern)) \
              , (lambda x: fnmatchcase(x, self.__pattern)) \
              , (lambda x: not self.__pattern.match(x) == None)] \
              [self.__match](str)]

#    # the one-statement-all-eval way
#    return self.__passMap[ \
#             [  str.lower() == self.__pattern.lower() \
#              , str == self.__pattern \
#              , fnmatch(str, self.__pattern) \
#              , fnmatchcase(str, self.__pattern) \
#              , type(self.__pattern) is not type("") and not self.__pattern.match(str) == None or False] \
#              [self.__match]]
  # /def Evaluate(self, str):
# /class StringConstraint:

def StringConstraintParse(str):
  for op in ["likei", "like", "=~", "=*", "=="]:
    parts = str.split(op, 1)
    if len(parts) == 2: break
  if len(parts) == 1: raise Exception("Unknown operator.")
  if parts[0][-1] == "!": # negation
    op = "!" + op
    parts[0] = parts[0][:-1]
  if parts[0][-1] == "\\": # lets be able to escape the operator
    s, p = StringConstraintParse(parts[1])
    parts[0] = parts[0] + op + s
  else: p = StringConstraint(op, parts[1].strip())
  return (parts[0].strip(), p)
# /def StringConstraintParse(str):

def StringConstraintEvaluate(str): # shortcut
  str, p = StringConstraintParse(str)
  return p.Evaluate(str)
# /def StringConstraintEvaluate(str):
Polecam głównie linijkę 35 - tak apropo programowania funkcjonalnego.

Te trzy przykłady to różne możliwości zastosowania Pythona, które pokazują mam nadzieję główne różnice w zastosowaniu w przeciwieństwie do PHP. Jeżeli chodzi o zdanie z funkcjonalnym programowanie to jest opinia subiektywna - osobiście po prostu nabardziej lubię to podejście do programowania. Mam nadzieję, że podane przykłady unaoczniają jak można w Pythonie zaimplementować algorytmy w kilku dosłownie linijkach.

Pozdrawiam. I weźcie poprawkę, że to są wszystko subiektywne opinie.
splatch
Cytat(Jabol @ 22.03.2007, 06:36:56 ) *
Teraz tutaj Model drzewka jaki sobie ostatni stworzyłem:
Kod
...

Jestem ciekawy ile zajęłoby stworzenie podobnego modelu w PHP i czy byłby kiedykolwiek tak funkcjonalny.

Możliwość obsługi drzew w Propelu. Propel ma swoje ograniczenia ale ma i zalety - nie piszesz kodu, którego nie musisz.

Cytat(Jabol @ 22.03.2007, 06:36:56 ) *
Tutaj algorytm dzielenia pliku z napisami na trzy części - w php chyba trzeba by się z tym bardziej pomęczyć, co?

  1. <?php
  2. $fp = fopen('lotr.txt', 'r');
  3. $fps = array(
  4. fopen('lotr_1.txt', 'w'),
  5. fopen('lotr_2.txt', 'w'),
  6. fopen('lotr_3.txt', 'w')
  7. );
  8.  
  9. while (!feof ($fp)) {
  10. $data = fgetcsv($fp, 1024, ':');
  11. foreach ($fps as $key => $val) {
  12. fwrite($val, $data[$key]);
  13. }
  14. }?>



Cytat(Jabol @ 22.03.2007, 06:36:56 ) *
Tutaj dalej mała klasa implementująca nowy język do robienia porównań

Jedno pytanie, po co? Czy w praktyce wykorzystałeś ten kod? Czy kilka klas to nowy język czy też może rozszerzenie języka? Chodzi o to by nazywać rzeczy po imieniu, bez marketingowego szumu (tj Collections framework w Javie czy też krotki, list i słowniki w Pythonie - wszystko to po prostu kolekcje).
nasty
Cytat
nasty_psycho: mała popularnosc? ohmy.gif obecnosc na wielu platformach (wszystkich?), mozliwosc napisania wlasciwie kazdej aplikacji (www czy okienkowa - bez roznicy).

Jest różnica miedzy wszechstronnością i przenośnością a popularnością.
Mówiąc o popularności mam namyśli, ilość firm hostingowych które oferują hosting Pythona, ilość firm tworzących oprogramowanie w Pythonie, itd...
A nie co można w nim zrobić i gdzie to uruchomić.

A z tego co widze tu na tych pokazanych przykładach, to składnia Pythona jest co najmniej dziwna żeby nie powiedzieć irytująca.
Fuzja
No składnia to akurat dziwna nie jest napewno...
Wiele firm hostingowych oferuje pythona wiec nie narzekaj.
Uruchomisz wszędzie.
Zrobić można w nim praktycznie wszytko, a tworzenie w django na potrzeby internetu jest szybsze i przyjemniejsze niż w jakimkolwiek fw w php.
W pythonie tworzy oprogramowanie wiele firm, m.innymi google i nasa.
splatch
Cytat(Fuzja @ 22.03.2007, 13:52:25 ) *
W pythonie tworzy oprogramowanie wiele firm, m.innymi google i nasa.

To nie jest argument. Microsoft tworzy oprogramowanie w C# i nie jest to powod dla ktorego ten jezyk jest lepszy niz inne. To, ze pythona wykorzystuje nasa osobiscie dla mnie niewiele znaczy. Banki wykorzystuja platformy sprzed kilku lat - czy to znaczy ze sa one najlepsze? Absolutnie nie.
mike
Cytat(splatch @ 22.03.2007, 14:28:35 ) *
To nie jest argument.
Dokładnie.
To jest żaden argument.

Tak samo można powiedzieć, że Yahoo! korzysta z PHP.
I co z tego? Nic.


No i składnia, bleeee.
Koniecznie musieli się tak wygłupić?
Fuzja
Mi składnia odpowiada.
Słuchajcie to nie miał być argument winksmiley.jpg
Chciałem tylko pokazać nasty_psycho, że są firmy które używają pythona.
Nigdy bym tego nie wykorzystał jako argument bo bym nikogo nie przekonał winksmiley.jpg
A co do skladni to jak ktoś nie lubi to może skorzystać z ironpython czy jpython i pisać aplikacje w swingu winksmiley.jpg
Ociu
Brakuje jeszcze wypowiedzi fana RoR, że Ruby ma coś z Pythona (Jak i 5 innych).
Imho. Argumenty, które padły w tym temacie nie przemawiają nic za tym, że Python jest świetny, a reszta języków po prostu wysiada.

PHP ma o tyle plus, że jest na tyle popularne, że wsyzstkie jest pod dostatkiem, mając google znajdziesz wszystko, co skróci czas pisania aplikacji do minimum.

Co do skoku popularności...
Może nie było, ale to z lenistwa ludzi. Python ma dość odmienną składnię niż inne języki, brak klamerek wcale nie pomaga, a tylko przeszkadza. Ludzie, którzy pisali w innych językach często zapominają, że typowa składnia z klamrami, średnikami, funkcjami i throw new Exception nie pasuje do tego języka.
Aha, zapomniałem dopisać. Skok był, gdy w sieci wydano artykuł "walki" między django, RoR i symfony, w którym wygrał django. Ludzie zaczęli się podniecać, że świetny framework, że rzucam wszystko i ucze się pythona. Ale to lenistwo sprawia, że jest tak mało programistów w tej dziedzinie.

pozdrawiam
Fuzja
Python:
Plusy:
- Działa na wszystkich platformach
- Pythona przeniesiono także do .NET i vm Javy co powoduje, że każdy może wybrać własną składnię
- Świetny framework do tworzenia aplikacji internetowych - Django
- Duża ilość modułów co pozwala na stworzenie niemal wszystkiego
- Łatwość w tworzeniu modułów i rozszerzeń Pythona
- Polskie kursy: http://pl.wikibooks.org/wiki/Python - podstawy, http://www.ii.uni.wroc.pl/~marcinm/dyd/python/ -od podstaw do bardziej skomplikowanych rzeczy, python.rk.edu.pl - trochę o wszystkim, w tym django, pygame i pyqt.
- Przystępna angielska dokumentacja oraz darmowa książka dive into python i django book.
- Przejrzystość w kodzie
- Szybkość tworzenia - kody w pythonie są nie rzadko o wiele krótsze niż np. w c++ czy javie.
Minusy:
- Brak wiodącego IDE
- Brak strony zreszającej programistów pythona z forum gdzie ludzie pomagali by innym w problemach.
nasty
Cytat
Chciałem tylko pokazać nasty_psycho, że są firmy które używają pythona.
A gdzie napisałem ze niema? Ja pisałem ze jest mało a nie niema.
Cytat
- Przejrzystość w kodzie
Pudło, nie jest nawet w jednej dziesiątej tak przejrzysty jak PHP,C/C++,Java czy nawet debilny VB
Cytat
- Duża ilość modułów
To nie jest argument przemawiający za Pythonem, pogniewasz nie może się równać przynajmniej z .NET czy Java
Cytat
co pozwala na stworzenie niemal wszystkiego
To już zależy od wyobraźni i umiejętności programisty, bo można zrobić wszystko we wszystkim.
Cytat
- Świetny framework do tworzenia aplikacji internetowych - Django
Framework nie jest dobrym argumentem przemawiającym za językiem jeżeli jest robiony przez entuzjastów. Jedyny Framewok który może być takim argumentem to taki który jest częścią języka jak np. klasy Javy czy .NET Framework lub SPL w PHP. Bo to na razie jest jakbym reklamował PHP tym ze ma Symfony
Cytat
- Przystępna angielska dokumentacja oraz darmowa książka dive into python i django book.
A które środowisko niema kilku darmowych książek i obszernego manuala?

Cytat
- Brak wiodącego IDE

a TruStudio ?
Fuzja
Trustudio to nie jest nic ciekawego i wartego uwagi, a poza tym eclipse.
Poza tym nie mam zamaru się kłócić ale no jakby nie było to nie przesadzaj, że python nie jest przejrzysty.
No dobra ale czy phpowe frameworki mają darmowe książki ? Nie więc django book jest trochę nowością.
Nie każde środowisko ma manuala tym bardziej obszernego, a nie chcę mówić o tym, żeby jakoś wyglądał bo niektóre to nawet nie wyglądają.
"To już zależy od wyobraźni i umiejętności programisty, bo można zrobić wszystko we wszystkim." taa ? a to ciekawe, nie można wszystkiego we wszystkiego no chyba, że napiszesz mi sterownik do karty graficznej w php.
nasty
fuzja: Pamiętasz jak społeczność PHP tez stękała ze niema dobrego IDE do PHP? a jednak to nie miało większego wpływu na popularność PHP. wiec to nie jest aż taki problem. Jakby było duże zainteresowanie tym środowiskiem to by ludziska zrobili tak jak było z PHP i Ruby.

Cytat
No dobra ale czy phpowe frameworki mają darmowe książki ?
No masz racje, coś mi się pomyliło blink.gif
Cytat
taa ? a to ciekawe, nie można wszystkiego we wszystkiego no chyba, że napiszesz mi sterownik do karty graficznej w php.
Nie gadajmy jak gówniarze. Proszę...
Jabol
Co do frameworków to muszę przyznać, że Symfony jest lepsze dla PHP niż Django dla Pythona (obiektwynie nie chce się wypowiadać). Jak zobaczyłem Symfony to mi szczena opadła - jak zobaczyłem Django to po prostu było to fajne.
Inna sprawa, że też widziałem to porównanie Django, Symfony oraz RoR. I dla tych którzy nie widzieli - otóż przy większym obciążeniu 30% wywołań Symfony kończyło się błędem (500 - Internal Server Error, albo jakimś wewnętrznym PHP), podczas gdy Django oraz RoR dawały 100% wydajność. To także jest argument za tymi językami, w szczególności w miejscach, gdzie ważna jest wydajność (a nie chce się pomimo to wprowadzać języków kompilowalnych).

A co do IDE - raz rzeden nie oferuje takich możliwości testowania aplikacji i pomocy w jej rozwijaniu jak interaktywny interpreter ipython. A dwa, jest bardzo wiele IDE, które obsługują Pythona w pełni (również tworzenia drzewa struktury - z podziałem na funkcje, zmienne, klasy itp), a to, że nie ma wiodącego to jak dla mnie nie jest wada. Ale to pewnie zboczenie z korzystania ze środowiska open source.

Pozdrawiam
Fuzja
Ja lubię nie mieć wyboru i korzystać z jednego ide ale to już też jakaś choroba winksmiley.jpg.
Ja natomiast bardziej podniecilem się django niż symfony.
nasty_pycho: powiedziales po prostu, ze wszystko da sie zrobic we wszystkim to napisalem, ze to nie mozliwe i zebys w takim razie napisal jak sie da, ja moge nawet zaplacic.
Hacker
Przejrzysta składnia?? Dla mnie składnia jest co najmniej dziwna i z tego co czytałem to nie tylko dla mnie.
Fuzja, proszę nie rób z siebie debila - nie sądzę aby ktoś zdrowy umysłowo pisał sterownik karty graficznej w PHP albo Pythonie(chyba, że chciałby pokazać, że się da, co i tak uważam za głupie), ponadto nasty_psycho nie mówił dosłownie. Dla mnie PHP jest stworzony do pisania stron WWW (zaraz pewnie poleci wiele postów, że w PHP da się robić także inne rzeczy). W tym temacie chodzi przecież o Pythona, a nie o to czy sterownik karty graficznej można napisać w PHP czy nie. Nie powiesz, że dosłownie wszystko można napisać w Pythonie, bo to również nie prawda, a chodzi tutaj przecież o argumenty za Pythonem. Ja osobiście lubię PHP i uwielbiam Jave (może dlatego, że był to pierwszy prawdziwy język programowania jaki poznałem). Znam również inne języki C++, asm, VB (korzystam głównie do pisania makr) i inne oraz próbowałem nauczyć się Pythona. Więc mam jakieś porównanie.
Cytat
Działa na wszystkich platformach

o ile się nie mylę to jak zainstalujesz JRE to java też będzie działać (z pewnymi ograniczeniami działa również na większości(żeby nie napisać wszystkich) komórek).
Oczywiście nie mówię, że Python jest blee, a java super. Wszystko zależy od programisty, wady i zalety języków też zależą od punktu widzenia, czasem dla jednego wada jest zaletą dla drugiego.

To jest tylko moje skromne zdanie, jeżeli uważasz inaczej nie musisz zaraz robić na mnie wjazdów, że się nie znam itp., podaj argumenty na tym chyba polega dyskusja. Jeżeli treść mojego posta kogoś uraziła to przepraszam.
Fuzja
No trudno żeby nie uraziła skoro uważasz, że robie z siebie debila winksmiley.jpg
Wiem, że się nie da ale to był porostu przykład dla nasty_psycho żeby zrozumiał, że nie wszystko da sie we wszystkim.
nasty
Cytat
No trudno żeby nie uraziła skoro uważasz, że robie z siebie debila
Hacker cie nie uraża, on cie uświadamia biggrin.gif
Cytat
Wiem, że się nie da ale to był porostu przykład dla nasty_psycho żeby zrozumiał, że nie wszystko da się we wszystkim.
podałem ci 7 argumentów na które nie potrafisz odpowiedzieć normalnie i próbujesz zmienić temat w bardzo prymitywny sposób żeby uniknąć odpowiedzi. jeśli jesteś taki mądry to odpowiedz mądrze chociaż na 1 z argumentów które Ci podałem. A co do tego ze można zrobić wszystko we wszystkim, to nadal to podtrzymuje, to co ty mówisz z tym sterownikiem to jest prawda ale to jest skrajność. Idąc twoim tokiem myślenia to żaden język z tych wymienionych w dyskusji nie jest dobry bo nie można w nim zaprogramować zegarek elektroniczny czy mikrofalówkę.

A z ta przenośnościa to tez "Pudło", dlaczego? bo każdy z języków webowych jest dostępny na wielu platformach, PHP, Python, Ruby a nawet ASP.NET (mono).

Pozdrawiam.

ps. proszę nie zrozumieć tego posta jako zaproszenie do flamewar. ale nie mogłem się powstrzymać czytając takie mądre słowa winksmiley.jpg
Fuzja
A mono to rzeczywiście zajebiście działa, na Twoje argumenty średnio chce mi sie odpowiadac bo i tak wiem, ze Cie nie przekonam.
"Idąc twoim tokiem myślenia to żaden język z tych wymienionych w dyskusji nie jest dobry bo nie można w nim zaprogramować zegarek elektroniczny czy mikrofalówkę" idziesz nie moim tylko Twoim tokiem myślenia, poza tym nie uważam, że jezyk nie jest dobry bo nie mozna w nim zrobic wszystkiego, nie ma takiego jezyka ale uwazam, ze to co napisales, ze mozna wszystko we wszystkim to bzdura
nasty
Cytat
A mono to rzeczywiście zajebiście działa, na Twoje argumenty średnio chce mi sie odpowiadac bo i tak wiem, ze Cie nie przekonam.
I znowu zmieniasz temat sad.gif . A próbowałeś mnie przekonać ze tak mówisz ? czy po prostu nie potrafisz ? :S
Cytat
poza tym nie uważam, że jezyk nie jest dobry bo nie mozna w nim zrobic wszystkiego
Cytat
- Duża ilość modułów co pozwala na stworzenie niemal wszystkiego
To jeden z twoich argumentów za Pythonem :/
Fuzja
Co ma 2 cytat do trzeciego...
To jest ułatwienie rozumiesz...
A co do pierwszego cytatu to nie zmieniam tematu tylko odpieram jeden z Twoich argumentów, że mono dobrze działa...
Mono to gówno...
Nie, nie potrafię Cie przekonać bo wiem, że i tak mi się nie uda. To sie czuje.
ferr
Problem w tym kolego nasty, ze wydaje mi sie, ze Twoje kontrargumenty wcale nie sa lepsze. To tak, jakby dyskutowac o wyzszosci Swiat Wielkanocnych nad Bozym Nardzeniem i odwrotnie. W zasadzie mozna podpiac Twoje, nasty, tezy do prawie kazdego jezyka. I jesli nie mamy dyskutowac jak gowniarze, to sprawdz swoje posty pod wzgledem ortorgrafii, jak na powaznego dyskutanta przystalo, ktory szanuje swoich adwersarzy.

Prawda jest taka, ze Python ma inna skladnie, dla jednego moze byc zla dla jednego dobra. Ruby tez odbiega od standardow C/C++ pod wzgledem skladni, ale jakos po pewnym czasie wszyscy o tym zapomnieli i sie przyzwyczaili. Podobnie bedzie pewnie z Pythonem. Moim zdaniem Python to dobry, obiektowy jezyk, ktory jest fajna alternatywa do PHP/Java/Ruby. W dodatku jest szybki. Rozdziewiczac go, jak to probuja tutaj pseudo-sceptycy, nie potrzeba - w Pythonie pisze sie coraz wiecej (chocby grono.net jesli chodzi o pl rynek) i tylko od nas zalezy czy go wybierzemy. Faktem jest, ze to jezyk latwy do nauki.

Chetnym aby dowiedziec sie wiecej o Pythonie, polecam http://blog.zabiello.com/.
revyag
Cytat
w Pythonie pisze sie coraz wiecej (chocby grono.net jesli chodzi o pl rynek)


Będąc bardziej precyzyjnym, grono hula na django smile.gif
ano
Cytat(revyag @ 24.03.2007, 17:56:16 ) *
[...]grono hula na django smile.gif

== grono hula na pythonie.... (przecież dijango to framework napisany w Python'ie, to tak jakby powiedzieć, że strona X która oparta jest na zend framework nie jest napisana w php biggrin.gif)
ferr
ano: nadgorliwosc gorsza od faszyzmu ;-), ale zdaje sie, ze revyag chcial tylko uscislic i zapewne zdaje sobie sprawe, ze Django napisany jest w Pythonie :-)
sztosz
Może kogoś przekona spojrzenie Bruce'a Eckel'a na temat pythona: http://mindview.net/FAQ/FAQ-012 do ściągnięcia prezentacja w PowerPoint'cie z jego konferencji.

Mnie przekonało porównanie kodu Pythona, Javy i C++ na prostym przykładzie. Potem sam sobie napisałem prosty program do obliczania pierwiastków funkcji kwadratowej, zawsze to robię przy poznawaniu nowego języka, tuż po poznaniu podstaw składni. Zadziałało bez bugów od razu, tylko musiałem sprawdzić gdzie jest sqrt() i jak to wstawić {import math [...] math.sqrt() } Zawsze z innymi językami zdarzały się wpadki typu brak średnika i inne pierdoły. Tutaj po prostu napisałem programik i zadziałał.

Nie wiem czy kogoś to przekona, ale dla mnie rzeczywiście składnia jest tak naturalna i czytelna jak w żadnym innym języku. Oczywiście nie namawiam nikogo do przesiadki, ale chociaż do spróbowania winksmiley.jpg

_______
PS. Nie jestem programistą, jestem hobbystą który czasem musi się opiekować kodem. Dla mnie najważniejsza jest czytelność, bo ja przeważnie nie piszę tylko muszę czytać kod i wstawiać drobne poprawki.
revyag
Cytat(ano @ 24.03.2007, 22:10:08 ) *
== grono hula na pythonie.... (przecież dijango to framework napisany w Python'ie, to tak jakby powiedzieć, że strona X która oparta jest na zend framework nie jest napisana w php biggrin.gif)

Chciałem podać więcej informacji o grono i tyle snitch.gif
Jabol
Cytat(sztosz @ 26.03.2007, 12:09:10 ) *
Zadziałało bez bugów od razu...
Mam dokładnie to samo doświadczenie - z powiedzmy 4 języków jakie regularnie używam, tylko w Pythonie procent programów które działają od razu jest liczbą w miarę znaczącą, w reszczie to kwestia możę 5% (na pewno nie więcej).
Co do silnej społeczności Pythona - może nie ma centralnego forum, polecam jednak zajrzeć na Usenet. comp.lang.python ma dwa razy więcej zarejestrowanych użytkowników niż comp.lang.php. Trzeba jednak niestety przyznać, że w polsce nie ma centralego ośrodka developerów Pythona (ktoś chętny do podjęcia takiej inicjatywy?).

Pozdrawiam
Fuzja
"Trzeba jednak niestety przyznać, że w polsce nie ma centralego ośrodka developerów Pythona (ktoś chętny do podjęcia takiej inicjatywy?)." możemy coś popróbować, zainteresowany ?
wolan
warto wspomniec jeszcze takie projekty, jak Jython oraz IronPython. Pierwszy umozliwia tworzenie projektow Javowych bez Javy, a drugi to python na platformie .NET. zatem uzywajac jednej skladni mozna napisac np. jakis prosty programik administracyjny, aplikacje bazodanowa (pygtk, pyqt, wxpython itd...), strone internetowa (wspomniane django, pylons, myghty itd...) oraz aplikacje wykorzystujace Java VM czy tez platforme .NET.

BTW: uzywam php, ale gdzie tylko wlezie wpycham pythona. moim zdaniem warto.
Jabol
Cytat(Fuzja @ 26.03.2007, 18:46:17 ) *
"Trzeba jednak niestety przyznać, że w polsce nie ma centralego ośrodka developerów Pythona (ktoś chętny do podjęcia takiej inicjatywy?)." możemy coś popróbować, zainteresowany ?
No właśnie o tym piszę. Jeżeli jesteś zaintereoswany to napisz na PW. W ogóle jeżeli ktoś jeszcze jest zainteresowany to walcie narazie do mnie na PW. Nie mam wielkich ambicji, ale skoro tyle tutaj narzekają to trzeba coś zorganizować prowizorycznego winksmiley.jpg.

Pozdrawiam
Fipaj
Takie rzeczy lepiej ustalić gdzieś publicznie, a nuż widelec więcej osób się zgłosi, tylko nie w tym temacie.

Ale anyway - /me zgłasza chęć pomocy, kupuję sobie właśnie serwer na dreamhoście i mogę załatwić hosting za darmo. winksmiley.jpg
Jabol
Ale przecież nie tutaj - to jest forum o php.
Jak na razie zapraszam na http://groups.google.com/group/pythonpl/. Stworzyłem tą grupę, jestem też chyba jej adminem (hehe, tzn. moderatorem - musiałem się zapoznać z tym systemem). Jeżeli macie inne zdanie to dajcie znać.

Polecam zejść z tego OT i dalej kontunuwać dyskusję o tym wspaniałym języku winksmiley.jpg

Pozdrawiam
hello.word
Nie lubie PHP, strasznie mi się nie podoba. Odpowiedźie mi na pytanie co daje PHP, czego nie daje Python?
Pierwsza strona posiwęcona w całości o Pythonie (Nowa) - PPCG.
splatch
Nie lubię Pythona, strasznie mi się nie podoba. Odpowiedzcie mi na pytanie co daje Python, czego nie daje PHP? tongue.gif

Nie ma to jak rzeczowe argumenty w dyskusji.
sztosz
Satysfakcję tongue.gif
Jabol
Cytat(sztosz @ 27.03.2007, 01:05:29 ) *
Satysfakcję tongue.gif

Oczywiście Python, prawda? Mi i owszem. Jak myślę o pisaniu w PHP to mnie skręca. A w Pythonie to prawdziwa przyjemność
splatch
Panowie, może ktoś powie do czego ma prowadzić ta dyskusja, czyżby do wyrażania swoich zachwytów na temat danego języka programowania?

Wracajcie do tematu bądź milczcie.
hello.word
Cytat(splatch @ 26.03.2007, 21:16:02 ) *
Nie lubię Pythona, strasznie mi się nie podoba. Odpowiedzcie mi na pytanie co daje Python, czego nie daje PHP? tongue.gif

Nie ma to jak rzeczowe argumenty w dyskusji.


Nie ma to jak powtarzanie myśli przedmówcy z powodu braku odpowiedzi... - jesteś gupi.

Mam honor PHP nie tykam! Dorobił sie w końcu jakiegoś sensownego interfejsu? Bo ostatnio jak patrzyłem, to był najdupniejszy z jezykow wysokiego poziomu. Pozdrawiam.
kwiateusz
Cytat(hello.word @ 26.03.2007, 23:02:38 ) *
Nie lubie PHP, strasznie mi się nie podoba. Odpowiedźie mi na pytanie co daje PHP, czego nie daje Python?
Pierwsza strona posiwęcona w całości o Pythonie (Nowa) - PPCG.

strona o pythonie a pisana w php :]
revyag
Cytat(hello.word @ 27.03.2007, 10:08:22 ) *
Nie ma to jak powtarzanie myśli przedmówcy z powodu braku odpowiedzi... - jesteś gupi.

Mam honor PHP nie tykam! Dorobił sie w końcu jakiegoś sensownego interfejsu? Bo ostatnio jak patrzyłem, to był najdupniejszy z jezykow wysokiego poziomu. Pozdrawiam.


Twoja argumentacja jest po prostu miażdżąca snitch.gif Mógłbyś uzasadnić dlaczego php jest be ? Konkrety ? Zarzuty w stylu "najdupniejszy" jakoś do mnie nie przemawiają.
mike
Cytat(hello.word @ 27.03.2007, 10:08:22 ) *
Nie ma to jak powtarzanie myśli przedmówcy z powodu braku odpowiedzi... - jesteś gupi.
Pamiętaj, że jak ludzie przestaną odnosić się do Twoich postów i je zauważać to dlatego, że wzięli sobie do serca tekst napisany na czerwono w mojej sygnaturce.

Jeśli masz zamiar pisać tak rzeczowe posty i taką ilością wspaniałych argumentów to zrób nam przyjemność i się wyloguj tongue.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.