![]() ![]() |
Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 656 Pomógł: 3 Dołączył: 26.10.2005 Skąd: Częstochowa Ostrzeżenie: (0%)
|
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. |
|
|
|
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 634 Pomógł: 14 Dołączył: 27.05.2006 Skąd: Berlin Ostrzeżenie: (0%)
|
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. (IMG:http://forum.php.pl/style_emoticons/default/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 (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Przepraszam wszystkich wprowadzonych w błąd (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) </edit> Ten post edytował nasty_psycho 3.04.2007, 12:07:17 |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 12 Pomógł: 0 Dołączył: 28.10.2004 Ostrzeżenie: (0%)
|
misiek172: do czego potrzebujesz tego Pythona?
nasty_psycho: mała popularnosc? (IMG:http://forum.php.pl/style_emoticons/default/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. |
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 691 Pomógł: 0 Dołączył: 19.01.2005 Skąd: Warszawa Ostrzeżenie: (0%)
|
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 ;-) |
|
|
|
Post
#5
|
|
|
Grupa: Przyjaciele php.pl Postów: 1 467 Pomógł: 13 Dołączył: 22.02.2003 Ostrzeżenie: (0%)
|
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. Ten post edytował Jabol 21.03.2007, 18:39:57 |
|
|
|
Post
#6
|
|
|
Grupa: Zarejestrowani Postów: 210 Pomógł: 0 Dołączył: 31.01.2004 Skąd: Kraków Ostrzeżenie: (0%)
|
Jabol dałeś świetną recenzję... aż wypada poznać podstawy (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Jaką lekturę na jego temat polecacie oprócz manuala?
|
|
|
|
Post
#7
|
|
|
Grupa: Zarejestrowani Postów: 216 Pomógł: 0 Dołączył: 6.11.2005 Ostrzeżenie: (0%)
|
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. |
|
|
|
Post
#8
|
|
|
Grupa: Zarejestrowani Postów: 12 Pomógł: 0 Dołączył: 28.10.2004 Ostrzeżenie: (0%)
|
|
|
|
|
Post
#9
|
|
|
Grupa: Zarejestrowani Postów: 487 Pomógł: 7 Dołączył: 7.01.2004 Skąd: Warszawa Ostrzeżenie: (0%)
|
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 .. |
|
|
|
Post
#10
|
|
|
Grupa: Przyjaciele php.pl Postów: 1 467 Pomógł: 13 Dołączył: 22.02.2003 Ostrzeżenie: (0%)
|
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> Polecam głównie linijkę 35 - tak apropo programowania funkcjonalnego.# 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): 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. Ten post edytował Jabol 1.02.2009, 12:48:52 |
|
|
|
Post
#11
|
|
|
Grupa: Zarejestrowani Postów: 487 Pomógł: 7 Dołączył: 7.01.2004 Skąd: Warszawa Ostrzeżenie: (0%)
|
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. Tutaj algorytm dzielenia pliku z napisami na trzy części - w php chyba trzeba by się z tym bardziej pomęczyć, co?
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). |
|
|
|
Post
#12
|
|
|
Grupa: Zarejestrowani Postów: 634 Pomógł: 14 Dołączył: 27.05.2006 Skąd: Berlin Ostrzeżenie: (0%)
|
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. |
|
|
|
Post
#13
|
|
|
Grupa: Zarejestrowani Postów: 216 Pomógł: 0 Dołączył: 6.11.2005 Ostrzeżenie: (0%)
|
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. |
|
|
|
Post
#14
|
|
|
Grupa: Zarejestrowani Postów: 487 Pomógł: 7 Dołączył: 7.01.2004 Skąd: Warszawa Ostrzeżenie: (0%)
|
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. |
|
|
|
Post
#15
|
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%)
|
|
|
|
|
Post
#16
|
|
|
Grupa: Zarejestrowani Postów: 216 Pomógł: 0 Dołączył: 6.11.2005 Ostrzeżenie: (0%)
|
Mi składnia odpowiada.
Słuchajcie to nie miał być argument (IMG:http://forum.php.pl/style_emoticons/default/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ł (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) A co do skladni to jak ktoś nie lubi to może skorzystać z ironpython czy jpython i pisać aplikacje w swingu (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Ten post edytował Fuzja 22.03.2007, 14:48:23 |
|
|
|
Post
#17
|
|
|
Grupa: Moderatorzy Postów: 1 566 Pomógł: 37 Dołączył: 14.05.2003 Skąd: Kraków |
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 |
|
|
|
Post
#18
|
|
|
Grupa: Zarejestrowani Postów: 216 Pomógł: 0 Dołączył: 6.11.2005 Ostrzeżenie: (0%)
|
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. |
|
|
|
Post
#19
|
|
|
Grupa: Zarejestrowani Postów: 634 Pomógł: 14 Dołączył: 27.05.2006 Skąd: Berlin Ostrzeżenie: (0%)
|
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 VBCytat - Duża ilość modułów To nie jest argument przemawiający za Pythonem, pogniewasz nie może się równać przynajmniej z .NET czy JavaCytat 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 SymfonyCytat - 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 ? Ten post edytował nasty_psycho 22.03.2007, 15:55:12 |
|
|
|
Post
#20
|
|
|
Grupa: Zarejestrowani Postów: 216 Pomógł: 0 Dołączył: 6.11.2005 Ostrzeżenie: (0%)
|
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. Ten post edytował Fuzja 22.03.2007, 16:19:12 |
|
|
|
Post
#21
|
|
|
Grupa: Zarejestrowani Postów: 634 Pomógł: 14 Dołączył: 27.05.2006 Skąd: Berlin Ostrzeżenie: (0%)
|
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 (IMG:http://forum.php.pl/style_emoticons/default/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ę...
Ten post edytował nasty_psycho 22.03.2007, 16:26:01 |
|
|
|
Post
#22
|
|
|
Grupa: Przyjaciele php.pl Postów: 1 467 Pomógł: 13 Dołączył: 22.02.2003 Ostrzeżenie: (0%)
|
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 Ten post edytował Jabol 22.03.2007, 16:28:01 |
|
|
|
Post
#23
|
|
|
Grupa: Zarejestrowani Postów: 216 Pomógł: 0 Dołączył: 6.11.2005 Ostrzeżenie: (0%)
|
Ja lubię nie mieć wyboru i korzystać z jednego ide ale to już też jakaś choroba (IMG:http://forum.php.pl/style_emoticons/default/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. |
|
|
|
Post
#24
|
|
|
Grupa: Zarejestrowani Postów: 225 Pomógł: 0 Dołączył: 1.11.2005 Ostrzeżenie: (0%)
|
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. Ten post edytował Hacker 24.03.2007, 11:43:22 |
|
|
|
Post
#25
|
|
|
Grupa: Zarejestrowani Postów: 216 Pomógł: 0 Dołączył: 6.11.2005 Ostrzeżenie: (0%)
|
No trudno żeby nie uraziła skoro uważasz, że robie z siebie debila (IMG:http://forum.php.pl/style_emoticons/default/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. |
|
|
|
Post
#26
|
|
|
Grupa: Zarejestrowani Postów: 634 Pomógł: 14 Dołączył: 27.05.2006 Skąd: Berlin Ostrzeżenie: (0%)
|
Cytat No trudno żeby nie uraziła skoro uważasz, że robie z siebie debila Hacker cie nie uraża, on cie uświadamia (IMG:http://forum.php.pl/style_emoticons/default/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 (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) |
|
|
|
Post
#27
|
|
|
Grupa: Zarejestrowani Postów: 216 Pomógł: 0 Dołączył: 6.11.2005 Ostrzeżenie: (0%)
|
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 |
|
|
|
Post
#28
|
|
|
Grupa: Zarejestrowani Postów: 634 Pomógł: 14 Dołączył: 27.05.2006 Skąd: Berlin Ostrzeżenie: (0%)
|
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 (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) . A próbowałeś mnie przekonać ze tak mówisz ? czy po prostu nie potrafisz ? :SCytat 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 :/
Ten post edytował nasty_psycho 24.03.2007, 19:25:17 |
|
|
|
Post
#29
|
|
|
Grupa: Zarejestrowani Postów: 216 Pomógł: 0 Dołączył: 6.11.2005 Ostrzeżenie: (0%)
|
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. |
|
|
|
Post
#30
|
|
|
Grupa: Zarejestrowani Postów: 122 Pomógł: 3 Dołączył: 18.12.2004 Ostrzeżenie: (0%)
|
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/. |
|
|
|
Post
#31
|
|
|
Grupa: Przyjaciele php.pl Postów: 2 258 Pomógł: 16 Dołączył: 21.09.2004 Skąd: Kielce Ostrzeżenie: (0%)
|
Cytat w Pythonie pisze sie coraz wiecej (chocby grono.net jesli chodzi o pl rynek) Będąc bardziej precyzyjnym, grono hula na django (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
|
Post
#32
|
|
|
Grupa: Zarejestrowani Postów: 435 Pomógł: 40 Dołączył: 16.02.2003 Skąd: Wrocław Ostrzeżenie: (0%)
|
[...]grono hula na django (IMG:http://forum.php.pl/style_emoticons/default/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 (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) ) |
|
|
|
Post
#33
|
|
|
Grupa: Zarejestrowani Postów: 122 Pomógł: 3 Dołączył: 18.12.2004 Ostrzeżenie: (0%)
|
ano: nadgorliwosc gorsza od faszyzmu ;-), ale zdaje sie, ze revyag chcial tylko uscislic i zapewne zdaje sobie sprawe, ze Django napisany jest w Pythonie :-)
|
|
|
|
Post
#34
|
|
|
Grupa: Zarejestrowani Postów: 866 Pomógł: 32 Dołączył: 2.06.2004 Skąd: Wrocław Ostrzeżenie: (0%)
|
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 (IMG:http://forum.php.pl/style_emoticons/default/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. |
|
|
|
Post
#35
|
|
|
Grupa: Przyjaciele php.pl Postów: 2 258 Pomógł: 16 Dołączył: 21.09.2004 Skąd: Kielce Ostrzeżenie: (0%)
|
== 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 (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) ) Chciałem podać więcej informacji o grono i tyle (IMG:http://forum.php.pl/style_emoticons/default/snitch.gif) |
|
|
|
Post
#36
|
|
|
Grupa: Przyjaciele php.pl Postów: 1 467 Pomógł: 13 Dołączył: 22.02.2003 Ostrzeżenie: (0%)
|
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 |
|
|
|
Post
#37
|
|
|
Grupa: Zarejestrowani Postów: 216 Pomógł: 0 Dołączył: 6.11.2005 Ostrzeżenie: (0%)
|
"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 ?
|
|
|
|
Post
#38
|
|
|
Grupa: Zarejestrowani Postów: 12 Pomógł: 0 Dołączył: 28.10.2004 Ostrzeżenie: (0%)
|
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. |
|
|
|
Post
#39
|
|
|
Grupa: Przyjaciele php.pl Postów: 1 467 Pomógł: 13 Dołączył: 22.02.2003 Ostrzeżenie: (0%)
|
"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 (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) .Pozdrawiam |
|
|
|
Post
#40
|
|
|
Grupa: Zarejestrowani Postów: 691 Pomógł: 0 Dołączył: 19.01.2005 Skąd: Warszawa Ostrzeżenie: (0%)
|
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. (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) |
|
|
|
Post
#41
|
|
|
Grupa: Przyjaciele php.pl Postów: 1 467 Pomógł: 13 Dołączył: 22.02.2003 Ostrzeżenie: (0%)
|
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 (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Pozdrawiam Ten post edytował Jabol 26.03.2007, 18:59:41 |
|
|
|
Post
#42
|
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 11.04.2006 Ostrzeżenie: (10%)
|
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. |
|
|
|
Post
#43
|
|
|
Grupa: Zarejestrowani Postów: 487 Pomógł: 7 Dołączył: 7.01.2004 Skąd: Warszawa Ostrzeżenie: (0%)
|
Nie lubię Pythona, strasznie mi się nie podoba. Odpowiedzcie mi na pytanie co daje Python, czego nie daje PHP? (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
Nie ma to jak rzeczowe argumenty w dyskusji. |
|
|
|
Post
#44
|
|
|
Grupa: Zarejestrowani Postów: 866 Pomógł: 32 Dołączył: 2.06.2004 Skąd: Wrocław Ostrzeżenie: (0%)
|
Satysfakcję (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
|
|
|
|
Post
#45
|
|
|
Grupa: Przyjaciele php.pl Postów: 1 467 Pomógł: 13 Dołączył: 22.02.2003 Ostrzeżenie: (0%)
|
Satysfakcję (IMG:http://forum.php.pl/style_emoticons/default/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ść |
|
|
|
Post
#46
|
|
|
Grupa: Zarejestrowani Postów: 487 Pomógł: 7 Dołączył: 7.01.2004 Skąd: Warszawa Ostrzeżenie: (0%)
|
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. |
|
|
|
Post
#47
|
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 11.04.2006 Ostrzeżenie: (10%)
|
Nie lubię Pythona, strasznie mi się nie podoba. Odpowiedzcie mi na pytanie co daje Python, czego nie daje PHP? (IMG:http://forum.php.pl/style_emoticons/default/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. |
|
|
|
Post
#48
|
|
|
Admin Techniczny Grupa: Administratorzy Postów: 2 074 Pomógł: 93 Dołączył: 5.07.2005 |
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 :] |
|
|
|
Post
#49
|
|
|
Grupa: Przyjaciele php.pl Postów: 2 258 Pomógł: 16 Dołączył: 21.09.2004 Skąd: Kielce Ostrzeżenie: (0%)
|
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 (IMG:http://forum.php.pl/style_emoticons/default/snitch.gif) Mógłbyś uzasadnić dlaczego php jest be ? Konkrety ? Zarzuty w stylu "najdupniejszy" jakoś do mnie nie przemawiają. |
|
|
|
Post
#50
|
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%)
|
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 (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) Ten post edytował mike_mech 27.03.2007, 09:36:46 |
|
|
|
Post
#51
|
|
|
Grupa: Zarejestrowani Postów: 866 Pomógł: 32 Dołączył: 2.06.2004 Skąd: Wrocław Ostrzeżenie: (0%)
|
strona o pythonie a pisana w php :] Hmm... na pewno? To znaczy, czy jeżeli to jest Apache z PHP/5.1.6 to czy strona nie może być napisana w Pythonie? Czy wtedy byłby response header inny? Pytam, bo po prostu nie wiem, a chciałbym się dowiedzieć. I czy zna może ktoś jakiś prosty artykuł a propos pisania w pythonie na potrzeby www? Taki ogólny zarys, na kilka minut czytania (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Ten post edytował sztosz 27.03.2007, 10:07:50 |
|
|
|
Post
#52
|
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 11.04.2006 Ostrzeżenie: (10%)
|
|
|
|
|
Post
#53
|
|
|
Grupa: Zarząd Postów: 2 277 Pomógł: 6 Dołączył: 27.12.2002 Skąd: Wołów/Wrocław |
Kurcze - ale się temat zepsuł.
A tak ciekawie się zapowiadał. Niestety - ja nie mogę się dołączyć do zachwytów nad Pythonem, choć mój pierwszy kontakt był poprzedzony masą informacji na temat jego zalet, i "prawie" (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) w nie uwierzyłem. I faktycznie - ma ten język wiele zalet. Przede wszystkim, nie wiedzieć dlaczego, przy tak zaawansowanej obiektowości, jest bardzo szybki. Ma również świetnie dopracowany mechanizm aktualizacji i instalacji aplikacji - te jajka z pobieraniem kolejnych modułów lub uaktualnień kodu, które sprawiają wrażenie niemal integrujących się z samym językiem i systemem - bardzo ciekawe rozwiązanie, znacznie ułatwiające, jak sądzę, dostarczanie kodu do klienta. Ma też wiele bardzo przydatnych narzędzi do komunikacji z aplikacjami zewnętrznymi - np. świetna obsługa komunikacji z SVN i innymi repozytoriami - nie wiem jak teraz wygląda to w PHP, ale obawiam się, że jest znacznie trudniej. Tyle o zaletach. A teraz o wadach. Przyszło mi popracować trochę nad kodem świetnego projektu napisanego w Pythonie - Trac'u. Przyszło mi to robić bez niemal żądnego przygotowania, przy bardzo słabej znajomości składni. Na początek przerażenie, później już - tak raczej na wyczucie, i dzięki dobrej wyszukiwarce grzebiącej po plikach - udało mi się sporo zrobić. Okazało się jednak, że dzięki tym "fantastycznym" jajkom z kodem praca nad poprawkami była koszmarnie niewygodna. Odnalezienie pewnych elementów i upewnienie się, że to na pewno ten plik, który mnie interesuje - okazało się dla mnie straszne. To, że Python tak dużo robi za mnie przestało mnie szybko cieszyć, gdyż zachowanie kontroli nad działaniem kodu było dla mnie znacznie kłopotliwsze, niż w PHP, gdzie zazwyczaj dokładnie widzę, gdzie jaki plik jest includowany, i skąd brany (nie znoszę autoload (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) ) Przyglądając się rozwojowi tego projektu mam też nieodparte wrażenie, że całe środowisko ciągle jest jeszcze bardzo raczkujące. Z jednej strony powstało świetne narzędzie, z drugiej - problemy pojawiają się na etapie rozważań, jak przygotować obsługę wielojęzyczności, jak przygotować obsługę błędów, oraz jak poradzić sobie z Unicode w bazie. Troszkę było to dla mnie zaskoczeniem, bo wyraźnie widać, że projekt ten tworzą bardzo zaawansowani programiści, a sam język musi przecież umożliwiać to w sposób co najmniej tak dobry jak PHP. A jednak wygląda to tak, jakby byli zmuszeni dochodzić do tego wszystkiego zupełnie sami, tak jak ludzie walczący z PHP z 5 lat temu. Podobny problem pojawił się z wyborem systemu szablonów, z którym pracują, i który drugi czy trzeci raz został już zmieniony lub przebudowany. I choć wiem, że takie sytuacje zdarzają się większości dużej trwających projektów, niezależnie od języka, w którym są pisane, nie sprawiło to zbyt pozytywnego wrażenia. Nie można też pominąć tematu manuala. Który choć jest naprawdę niezły, i wiele podstaw przedstawia w czytelny sposób, to jednak do przyjazności Manuala PHP, według mnie, oczywiście, wiele jeszcze brakuje. (co nie znaczy, że w manualu PHP wszystko mi się podoba - to jak rozwiązano sprawę łącznia materiałów dotyczących php5 z php4 wkurza mnie niesamowicie, szczególnie że wielu rzeczy nawet przy pomocy wyszukiwarki nie bardzo można odnaleźć (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) ) Ach - i temat stabilności jeszcze. Co prawda nie jestem świetnym adminem, i serwerek, na którym mam postawioną swoją wersję traca, doskonały i zuper bezpieczny nie jest, ale nigdy nie zdarzyło mi się, by PHP się "zabiło". Ewentualnie poszła jakaś pętla, która wykorzystała 100% zasobów przez jakiś określony czas, po to tylko, by PHP i Apache po 30, 60 czy iluś tam sekundach grzecznie się z tym uporał. Trac potrafił mi umrzeć, nie mówiąc nawet, że coś z nim jest nie tak... |
|
|
|
Post
#54
|
|
|
Grupa: Zarejestrowani Postów: 634 Pomógł: 14 Dołączył: 27.05.2006 Skąd: Berlin Ostrzeżenie: (0%)
|
Cytat 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. Dobra panie hello.world, skąd te porównanie? z jakimi językami go porównywałeś i w ogóle to jakie języki "Wysokiego Poziomu" Ty znasz, ze takie porównania przeprowadzasz?!A skoro masz honor i nie tykasz PHP, to powiedz mi, czemu nie siedzisz na jakimś Pythonowym forum z Pythonowcami zachwycającymi się tym wspaniałym językiem, tylko siedzisz właśnie na tym forum: forum php Gdyby Python był naprawdę taki super-hiper-mega-extra język, to byłby już dawno sławny i używany prawie wszędzie. Przykładem jest Ruby. Ruby jest stosunkowo młodym językiem który narobił dużo szumu wokół siebie i teraz ma ogromna społeczność wpierająca go. Dlaczego? Dlatego ze Microsoft, IBM, SAP i cala reszta go poparli? Dlatego ze mieli dużo kasy na reklamę? nie. Dlatego ze ludzie się przekonali co do niego. Python jednak jest prawie ze na końcu języków webowych pod względem popularności. Ta akcja przekonywania do Pythona, przypomina mi swego czasu jak czytałem taki fajny flamewar, gdzie to programiści Visual Basic przekonywali cały świat o tym jaki to ich język jest fajny, miły, łatwy i w ogóle. Problem jednak w tym ze nawet oni sami sobie nie do końca wierzyli, jak nie w chwili pisania postu, to po jakimś czasie przestali wierzyć. PS. A oprócz tego honoru, masz coś jeszcze ? Ten post edytował nasty_psycho 27.03.2007, 16:28:05 |
|
|
|
Post
#55
|
|
|
Grupa: Zarejestrowani Postów: 216 Pomógł: 0 Dołączył: 6.11.2005 Ostrzeżenie: (0%)
|
nasty_psycho: chyba sobie kpisz, wolisz pisac w perlu www niz w pythonie (np. django) ?
Python zdecydowanie nie jest na koncu. Poza tym python ma w sobie ogromny potencjał ale żeby go rozpromowac potrzeba jakiegos waznego wydarzenia, lokomotywy, ktora by rozpedzila ten jezyk, taka lokomotywa dla rubiego sa railsy ( no prosze tez zwiazane z lokomotywa ;p) i to jest powod dlaczego jest slawny. Gdyby nie ror to o rubym bys nie slyszal, a w japonii pisalo by w nim tylu programistow co teraz w nemerle (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) |
|
|
|
Post
#56
|
|
|
Grupa: Zarejestrowani Postów: 634 Pomógł: 14 Dołączył: 27.05.2006 Skąd: Berlin Ostrzeżenie: (0%)
|
Cytat Poza tym python ma w sobie ogromny potencjał ale żeby go rozpromowac potrzeba jakiegos waznego wydarzenia, lokomotywy, ktora by rozpedzila ten jezyk, taka lokomotywa dla rubiego sa railsy ( no prosze tez zwiazane z lokomotywa ;p) i to jest powod dlaczego jest slawny. A czy nie jest Django odpowiednikiem Railsow? A jakąś nie spowodował ten framework takiej furory jak w przypadku RoR.---------------- Cytat nasty_psycho: chyba sobie kpisz, wolisz pisac w perlu www niz w pythonie (np. django) ? FUZJA: Ja Ciebie bardzo proszę, jak masz zamiar w taki prymitywny sposób dyskutować, jak tu czy z tym pisaniem sterownika, to byłbym wdzięczny gdybyś nie odpowiadał na moje posty. Po prostu je ignoruj. |
|
|
|
Post
#57
|
|
|
Grupa: Zarejestrowani Postów: 691 Pomógł: 0 Dołączył: 19.01.2005 Skąd: Warszawa Ostrzeżenie: (0%)
|
Ten temat śledzę już od dawna tylko dla dobrej zabawy. I mam taką, owszem ;-)
Osoby, które nigdy nic nie napisały w Pythonie, zażarcie bronią swoich racji - czyli PHP. Cały czas panowie prosicie o argumenty pythonowców, sami nie podając własnych, i jednocześnie tworzycie dziwną atmosferę. Pythonowcy z kolei nie są w stanie podać żadnych dobrych argumentów, poza tą "satysfakcją". To mnie wcale nie dziwi, bo ulubiony język programowania to indywidualna sprawa każdego programisty! Panowie, którzy tak się kłócą za PHP: czy bylibyście w stanie na forum o ASP przekonać bandę 30 osób skupionych wokół technologii MS do PHP? Zanim nie spróbujecie, to nie prowadźcie takich dyskusji. Widzicie, ile osób jest za Pythonem. Oni nie prowadzą tej dyskusji dla siebie, tylko dla ewentualnych osób, które będą chciały spróbować. Zainteresujcie się bardziej Pythonem, bo zapewniam, że to nie jest język ani przestarzały, ani zaściankowy! Jak dzieci normalnie ;-) |
|
|
|
Post
#58
|
|
|
Grupa: Zarejestrowani Postów: 216 Pomógł: 0 Dołączył: 6.11.2005 Ostrzeżenie: (0%)
|
Jak dla mnie django jest lepszy niż RoR, wygodniej się w nim pisze, a przede wszystkim jest szybki. Nie zrobił furory bo nie był tak promowany, przecież wszytko zależy od odpowiedniej reklamy.
Nie będe ignorował Twoich postów bo gadasz bzdury i nie sposób zostawić to bez odpowiedzi. Bardzo dobrze powiedział fipaj, po prostu nie spróbowałeś nie dyskutuj. |
|
|
|
Post
#59
|
|
|
Grupa: Przyjaciele php.pl Postów: 1 467 Pomógł: 13 Dołączył: 22.02.2003 Ostrzeżenie: (0%)
|
Python jednak jest prawie ze na końcu języków webowych pod względem popularności. Bo Python to nie jest język webowy. To tylko jedno z jego zastosowań. Świat pythona to nie świat webdeveloperów a programistów (nie chcę zabrzmieć patetycznie, ale tak jest).Wiem, że jako jest to forum o php patrzycie na to pod tym aspektem, ale to jakby patrzeć na piwo tylko poprzez pryzmat bąbelków na forum ludzi lubiących napoje gazowane (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) . @DeyV: Wszystko zależy od przyzwyczajenia. Ale też nie zapomne jak przez pół dnia się zastanawiałem czemu "import * from openssl" nic nie ładuje, aż zauważyłem, że mam plik openssl.py w katalogu roboczym (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) . Co do szybkości Pythona, to polecam źródła tego języka. Najlepiej napisać sobie jakiś moduł własnoręcznie, wtedy praktycznie bez czytania kodu źródłowego się nie obejdzie (tzn. powiedzmy, od pewnego momentu - wiele rzeczy jest doskonale opisanych - ale np. obsługa słowników oraz list...). I wtedy cała tajemnica się odkrywa. Źródła Pythona są po prostu mistrzostwem. To jak dobra, emocjonująca książka. Myślę, że każdy programista to doceni, bo jest tam kilka naprawdę świetnych rozwiązań. A przy tym wszystko to w C i to bez naginania standartów bądź też jakiś najnowszych standartów. A czuje się jakby się pisało w języku obiektowym... Kiedyś myślałem, że API C Pythona byłoby świetną biblioteką do organizowania własnych programów (w sumie rzeczy to wciaż tak myślę). Naprawdę niesamowite narzędzie. Nie chodzi o to, żeby kłócić się który język jest lepszy. Ale po prostu nie znam nikogo kto po poznaniu Pythona (głębszym), by go odrzucił. Raczej spotykam tylko opinie, że ludzie się wręcz cieszą jak np. z powodów zawodowych już w Pythonie nie piszą a tutaj przyjdzie im coś napisać to zawsze się cieszą. A w PHP jestem najlepszym przykładem, że język ten nie powoduje przywiązania, nie kusi niczym aż tak bardzo. Poza tym niektóre rozwiązania z PHP są strasznie ordynarne, jak np. automatyczna konwersja typów... ble. Albo ta połowiczna obiektwość, ni to w jedną ni to w drugą. Z jednej strony jak mam napisać aplikację to powinienem organizować kod obiektowo, a z drugiej jak chce podzbiór tablicy to muszę używać zewnętrznej funkcji (tutaj się dopiero można pogubić). Nie podważam zalet i możliwości PHP, ale po prostu nie atakujcie tak agresywanie jak tłumacze że PHP to dla Pythona żadne porównanie... no inaczej się tego po prostu nie da powiedzieć. I sympatia dla PHP nic tu nie zmienia. Wystarczy chociażby spojrzeć na ilość stabilnych rozszerzeń do Pythona - nie ma chyba żadnej popularnej biblioteki do której Python nie miałby wrappera, ilość bibliotek jakie wspiera PHP można natomiast wyliczyć na palcach (osób w średniego rozmiaru klasie;) ). Tak samo jeżeli chodzi o technologie (PHP nie jest tutaj co prawda tak daleko w tyle, ale nie ma jakiegoś systemu oficjalnej weryfikajci tych bibliotek). Jeżeli natomiast chodzi o możliwości stosowania w projektowaniu i implementacji aplikacji sieciowych to nigdy tego w Pythonie nie robiłem, ale myślę że i tam by się świetnie sprawdził. No, jeżeli mi ktoś teraz wypomni brak argumentów to już będzi to chyba fanatyzm. I tak swoją drogą - ja nie chce nikogo przekonywać, że Python jest lepszy. Po prostu na moje upodobania oraz wymagania z PHP zupełnie nieporównywalny (jak grudka ziemi z lodami czekoladowymi). |
|
|
|
Post
#60
|
|
|
Grupa: Zarejestrowani Postów: 640 Pomógł: 44 Dołączył: 8.02.2004 Ostrzeżenie: (0%)
|
Ja przeszedłem na django/python i nie odczuwam chęci powrotu do PHP (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
co do wypowiadających się tutaj autorów PPCG - trudna młodzież szkolna (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Ten post edytował Riklaunim 27.03.2007, 18:54:18 |
|
|
|
Post
#61
|
|
|
Grupa: Zarejestrowani Postów: 866 Pomógł: 32 Dołączył: 2.06.2004 Skąd: Wrocław Ostrzeżenie: (0%)
|
Jabol dobrze napisał. Nie chodzi o to aby kogoś przekonać, że Python jest lepszy. Tylko, że warto poznać ten język, bo można w nim prosto i przyjemnie stworzyć wiele rzeczy. W Pythonie nie da się napisać niczego, czego nie można by napisać w innych językach, ale warto spróbować, bo może się okazać, że zrobimy to z o wiele większą przyjemnością i szybciej.
Ja, jeśli mam coś napisać, wole to zrobić w godzinę niż np. trzy. A z tego co przeczytałem Python pozwala stawia właśnie na produktywność programisty, czyli też na szybkość tworzenia kodu. Tu po prostu zastanawiasz się i piszesz, zamiast pisać i się zastanawiać. |
|
|
|
Post
#62
|
|
|
Admin Techniczny Grupa: Administratorzy Postów: 2 074 Pomógł: 93 Dołączył: 5.07.2005 |
Czytam sobie ten temat od początku i na wstępie miałem mieszane uczucia, ale tak w miarę czytania tematu jak i google nawet spodobał mi sie ten język co prawda perla zamierzałem nadgryźć, ale chyba najpierw zrobię to z pythonem (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
ogólnie czytając czyjś blog spodobał mi sie styl pisania w django, prosto, czytelnie i w miarę szybko, to jakoś głównie mnie zainteresowało no i to że można w nim pisać nie tylko na potrzeby sieci jak w php czy Ruby(choć ten język podobno taki fajny, a zupełnie mnie nie pociąga (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) ) tylko muszę sobie jakąś porządną książkę znaleźć lub kurs zdatny do wydruku bo mam awers do czytania długich tekstów na kompie... |
|
|
|
Post
#63
|
|
|
Grupa: Zarejestrowani Postów: 216 Pomógł: 0 Dołączył: 6.11.2005 Ostrzeżenie: (0%)
|
Tak jak pisałem python od podstaw + python.rk.edu.pl i te wykłady chyba z pierwszej strony co dałem.
|
|
|
|
Post
#64
|
|
|
Admin Techniczny Grupa: Administratorzy Postów: 2 074 Pomógł: 93 Dołączył: 5.07.2005 |
a właśnie ktoś tam pisał po drodze ze perl jest blee w porównaniu z pythonem... ktoś mi powie dla czego? tak z czystek ciekawości
przy okazji zaraz chyba mi głowa pęknie na dziś koniec czytania o pythonie :] [ot]btw. Fuzja ile jeszcze będziesz chory (IMG:http://forum.php.pl/style_emoticons/default/snitch.gif) [/ot] |
|
|
|
Post
#65
|
|
|
Grupa: Zarejestrowani Postów: 216 Pomógł: 0 Dołączył: 6.11.2005 Ostrzeżenie: (0%)
|
nie moge zmienic sygnatury (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Perl ma skladnie, ze hej (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) juz wole asm (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) To chyba wina safari ;p |
|
|
|
Post
#66
|
|
|
Grupa: Przyjaciele php.pl Postów: 1 467 Pomógł: 13 Dołączył: 22.02.2003 Ostrzeżenie: (0%)
|
Jest taki kawał.
Rozmawiają dwaj programiści o perlu: - Wiesz, ja nie lubię perla, bo to jest język do skryptów, nic większego w nim nie napiszesz. A na to drugi, miłośnik perla: - To nieprawda. Napiszesz nawet system obsługi lotnisk. I to w jednej linijce (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) . Perl to język hakerów (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) . Normalni ludzie nie lubią się katować. Mam nadzieję, że nikogo tym nie uraziłem. Oczywiście to taki żarcik (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) , w perlu też można wiele i fajnie napisać, ale ten język czasami przesadza. @kwiateusz: Syntax pythona jest prosty. Mam fajną książkę, PYTHON, Programowanie, z RM. Składnia może na 50 str opisana a potem 200 stron opisuje wbudowane moduły (jako dodatek (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) )! Bardzo mi ta książka jest pomocna, nawet jeżeli już ciutkę nieaktualna. Pozdrawiam |
|
|
|
Post
#67
|
|
|
Grupa: Zarejestrowani Postów: 640 Pomógł: 44 Dołączył: 8.02.2004 Ostrzeżenie: (0%)
|
Mam fajną książkę, PYTHON, Programowanie, z RM. Składnia może na 50 str opisana a potem 200 stron opisuje wbudowane moduły (jako dodatek (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) )! Bardzo mi ta książka jest pomocna, nawet jeżeli już ciutkę nieaktualna. tak, ta jest dobra (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) ma dobre wprowadzenie. |
|
|
|
Post
#68
|
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%)
|
Zainteresowaliście mnie. Choć może nie tyle zainteresowaliście co skłoniliście żeby odświeżyć pomysł sprzed pół roku żeby nauczyć się Python'a.
Jak się uda to w tym miesiącu (a jak nie to w przyszłym) kupuję Dive Into Python i jazda (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) W końcu najsłuszniejsze słowa, które padły w tym wątku to że nie trzeba pokochać i zachwycić się, ale na pewno warto poznać. Mam jednak pytanie, może nawet wątpliwość. Edytor. Temat był zahaczony wcześniej przez kogoś ale padło nic konkretnego. Czy Python posiada jakiś edytor/IDE na miarę Zend'a bądź Eclipse'a (mowa o wtyczkach obsługujących PHP, oczywiście). Żeby programista z powodzeniem cieszył się owocną pracą potrzebuje dobrego IDE. Stąd jeśli możecie scharakteryzujcie jakieś dobre pełne środowisko dla Python'a. Poza podpowiadaniem składni (na dobrym poziomie) interesuje mnie zarządzanie projektem podobne jak w Eclipse (bo Zend tutaj dla PHP okazuje się tylko banalnym edytorem) czyli historia zmian, obsługa CVS/SVN, ... Pytam bo chyba w tym temacie nie jest tak fajnie z Python'em jak z PHP czy innym językiem. |
|
|
|
Post
#69
|
|
|
Grupa: Przyjaciele php.pl Postów: 1 112 Pomógł: 20 Dołączył: 10.04.2005 Ostrzeżenie: (0%)
|
Przyznam, że też się zaciekawiłem. Przyznam @Jabol, że masz "lekkie pióro", więc po lekturze twoich postów chce się zajrzeć głębiej, dać Nura w Pythona ;)
Właśnie, mike, jeżeli nie przeszkadza ci czytanie na ekranie tudzież druk we własnym zakresie: http://diveintopython.org/ Eclipse ma pyDEV, ale jeszcze nie próbowałem jak to działa. Strasznie długo budował mi się projekt po jego utworzeniu, nawet chyba skończyło się to jakimś błędem, ale być może to ja coś pokiełbasiłem. pozdr. |
|
|
|
Post
#70
|
|
|
Admin Techniczny Grupa: Administratorzy Postów: 2 074 Pomógł: 93 Dołączył: 5.07.2005 |
JA tez sie chyba zainteresuje Dive Into Python tyle że własnego druku (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) to będzie ciekawe doświadczenie bo jeszcze książki po angielsku nie czytałem tak długiej i tratującej o technicznych sprawach...
|
|
|
|
Post
#71
|
|
|
Grupa: Przyjaciele php.pl Postów: 1 112 Pomógł: 20 Dołączył: 10.04.2005 Ostrzeżenie: (0%)
|
@kwiateusz: w razie czego wikibooks nadciąga z pomocą: http://pl.wikibooks.org/wiki/Python. Co prawda jeszcze widzę, że nie całość w PL, ale zdecydowana większość.
Osobiście przyzwyczaiłem się już za bardzo do takiej literatury po angielsku, ciężko mi się czyta po polsku. pozdr. |
|
|
|
Post
#72
|
|
|
Grupa: Przyjaciele php.pl Postów: 1 467 Pomógł: 13 Dołączył: 22.02.2003 Ostrzeżenie: (0%)
|
Co do IDE...
osobiście pisze w kombie vim + ipython i jest wszystko, zupełnie wszystko czego mi trzeba. Ale rozumiem, że inni widzą to inaczej (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) . Tak więc istnieje pyDEV, jak już ktoś pisał. Też nie próbowałem, ale jak widzę większość z Was lubi Eclipse, więc już chyba po sprawie (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) . Jeżeli jednak nie to wciąż jest wiele edytorów które wspierają Pythona (i to nie tylko kolorowanie składnie) jak np. Geany (mój faworyt jeżeli chodzi o IDE). Dalej idąc jest Anjuta, bardzo fajne IDE. Co do dedykowanych edytorów to sam nie wiem, bo nie używam. Istnieje boa-constructor, ale jakoś mnie nie przekonuje... Istnieje PyIDE, czy jakoś tak ale też mnie nie urzeka... Myślę jednak, że z tej palety jaką podałem coś sobie można wybrać. Istnieją też edytory na Windowsa, ale jak dla mnie to to jest inny świat i nic tutaj nie mogę doradzić. Pozdrawiam Edit: Właśnie sobie zainstalowałem edytor Eric3! Naprawdę świetny! Szkoda tylko, że w Qt (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) . Nie wiem jak jego możliwości prowadzenia projektów ale na pierwszy rzut oka naprawdę świetny. Ten post edytował Jabol 28.03.2007, 12:18:56 |
|
|
|
Post
#73
|
|
|
Grupa: Zarejestrowani Postów: 866 Pomógł: 32 Dołączył: 2.06.2004 Skąd: Wrocław Ostrzeżenie: (0%)
|
Może Komodo? http://www.activestate.com/products/komodo_ide/
|
|
|
|
Post
#74
|
|
|
Grupa: Zarejestrowani Postów: 225 Pomógł: 0 Dołączył: 1.11.2005 Ostrzeżenie: (0%)
|
Ja również postanowiłem dać Nura w Pythona. Poczytam, popiszę, może mi się spodoba. Według mnie nie ma sensu dalej ciągnąć tego tematu. Każdy sam musi spróbować i ocenić.
Edit: Przeczytałem drugi rozdział (1 pominąłem - Pythona nie instalowałem)... i jest dosyć ciekawie (angielski nie znam za dobrze, ale jakoś daję radę). Ten post edytował Hacker 28.03.2007, 12:29:55 |
|
|
|
Post
#75
|
|
|
Grupa: Zarejestrowani Postów: 640 Pomógł: 44 Dołączył: 8.02.2004 Ostrzeżenie: (0%)
|
ja tam jako IDE używam kate - edytor tekstowy z kolorowaniem składni i trzymaniem wcięć/itp. Ogólnie do pythona jest eric3 (dodatkowo pod pyQT), można użyć też kdevelop, wspomniana "wtyczka" dla eclipse itp.
Do 4/2007 phpsolutions będę chyba właśnie coś pisać w stylu PHP vs Python / Django vs CodeIgniter/inne (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
|
Post
#76
|
|
|
Grupa: Zarejestrowani Postów: 800 Pomógł: 0 Dołączył: 26.11.2005 Skąd: Nowy Sącz Ostrzeżenie: (0%)
|
Riklaunim: Nawet się nie waż (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) Bo w końcu wybiorę się do myśliwskiego po dubeltówkę i śrut (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
A co do Python'a. Miły język, ale za dużo przyzwyczajeń z PHP by w nim kodować bardzo szybko i skutecznie. |
|
|
|
Post
#77
|
|
|
Grupa: Zarejestrowani Postów: 866 Pomógł: 32 Dołączył: 2.06.2004 Skąd: Wrocław Ostrzeżenie: (0%)
|
A czemu? Ja bardzo chętnie przeczytam takie porównanie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
|
|
|
|
Post
#78
|
|
|
Grupa: Zarejestrowani Postów: 49 Pomógł: 5 Dołączył: 14.09.2003 Ostrzeżenie: (0%)
|
Sam rowniez naleze do nawroconych z phpa na pythona - obecnie wiekszosc aplikacji tworze w django - glownie ze wzgledu na to iz na prawde malo rzeczy musze dopisywac do jego kodu sam - po opisaniu bazy, stworzeniu mapowania adresow i napisaniu templateow mamy praktycznie gotowe do odpalania systemy.
Dostepny panel administracyjny swietnie nadaje sie do podstawowych czynnosci - fakt faktem czasami dziwi mnie brak niektorych rzeczy - jak np dziwny sposob sortowania elementow za pomoca order_with_respect_to. Jednak jezeli musimy na szybko przygotowac dzialajacy frontend - panel adminsitracyjny dostepny bezposrednio z frameworka wystaczy do zarzadzania trescia! Probowalem kilku roznych frameworkow php - od zenda (ciezka i kaprysna beta) code igniter (php 4 :/) i symfony (no na tym juz zostalem troche dluzej - obecnie jezeli chodzi o aplikacje php uzywam tego frameworka) - 2ch frameworkach pythona - django i pylons(SKALOWALNOSC) i ruby on rails - na razie django i python sa najblizsze temu czego mi potrzeba - na drugim miejscu jest pylons (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) . Co do samego jezyka - pythonem zaczalem sie juz interesowac jakis czas temu - odkad zaczalem uzywac gentoo (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) . Jezyk ten na poczatku wydawal mi sie dziwny. Pierwsza rzecza ktora mnie przerazila skladnia - czemu zmuszaja mnie do uzywania wciec - i jak tu czytac kod w ktorym nie ma klamer. Kolejna denerwujaca rzecza bylo znane z c namespace. W phpie wszystko jest dostepne od razu - wszystkie funkcje jakich tylko potrzebuje. Swoje kroki z pythonem zaczalem od przeczytania "python od podstaw" z hellionu. Tam oprocz podstaw - mamy opisane juz bardziej zaawansowane elementy jezyka - takie jak budowanie modulow w c, jython lub interfejsy sieciowe - nawiasem mowiac, te ostatnie przydaly mi sie do zaliczenia "programowania uslug sieciowych" (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) . Pierwszym elementem zaskoczenia dla programisty php beda na pewno tablice, a wlasciwie 3 rodzaje tablic - niby podobne a jednak inne - nawet kiedys jakis maly flame mialem z fanbojem php upierajacym sie ze fajnie ze w phpie do jednej tablicy raz moze dopisac przez array[]='' innym razem przez klucz jeszcze innym przez funkcje. Wszystko fajnie dopoki kod piszemy samemu - kiedy pozniej ten kod musi ktos po nas przejac powinnismy mu opisac kazda zmienna kiedy jest jakiego typu :/. Niestety - w phpie mamy taka roznorodnosc stylow programowania - ze ciezko znalezc tak samo napisane programy nawet u jednego programisty. Kiedy juz przyszlo do pisania aplikacji w pythonie okazalo sie ze ta cala skladnia mimo pozornej nieczytelnosci jest bardzo przejzysta - w phpie i tak kazdy uzywal wciec - zakonczenie bloku sygnalizowala mu dodatkowo klamra zamykajaca - tutaj mam po prostu powrot do normalnej tabulacji - 2 znaki mniej podczas pisania (ktore i tak za nas wiekszosc edytorow sama zalatwia) - ale tez i 2 znaki mniej do odczytywania! - latwiej mozna zauwazyc cos w kodzie. Brak ";" na koncu polecenia - i nagle koncza sie czeste problemy z syntax error - ze tu sie zapomnialo srednika - szczegolnie gdy poprawiamy cos na szybko. Dalej - importowanie, namespace i cale te dziwne odwolywanie sie przez obiekty i podobiekty - w phpie na "dziendobry" dostajemy caly namespace - wszystkie funkcje - czy potrzebne czy nie sa od razu dostepne - przyznam sie ze czasami mnie cos strzelalo jak w eclipsie probowalem znalezc dopelnienie nazwy jakiejs konkretnej funkcji do bazy danych pg<ctrl+spacja> i szukaj przez 30 podfunkcji - w pythonie musimy kazda funkcje zaimportowac z odpowiedniego modulu - moze sie to wydawac glupie jezeli patrzymy ile to modulow potrzebuje srednio prosta strona (baza, wyrazenia regularne obsluga plikow, operacje matematyczne) - ale zwroccie uwage ze w pythonie kazdy element jest obiektem - co za tym idzie wykonuje tylko okreslone funkcje - vide validacja formularza - wyszukiwanie w bazie danych - wyswietlanie szablonu - przez co finalny kod danego modulu wymaga tylko tych elementow jezyka ktore mu sa potrzebne - mozemy pozniej taki modul wykrozystac w zupelnie innym miejscu - w dodatku przez to ze kazda inkluzja tworzy osobny namespace - bez strachu iz wywali nam error "cannot redeclare function". Co do IDE. na dzien dzisiejszy operuje PyDEV na P2.4 z PyLintem - bardzo ladnie podpowiada kod + podkresla bledy a nawet zwraca uwage na styl kodowania (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) (ta linijka jest za dluga itd...). Obecnie jak mam napisac jakikolwiek kawalek kodu zawsze robie to w pythonie - nawet projekty na uczelnie - mimo iz kumple robia w c/c++ ja wole napisac w pythonie - raz zeby jescze pocwiczyc (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) - dwa - bo jest to po prostu przyjemniejsze. W PHPie pisze - bo musze (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) - mamy w firmie pare aplikacji napisanych w phpie - i czesto trzeba w nich cos zmieniac - i na prawde szlag mnie trafia jak co chwile wyskakuja mi syntax errory, tudziez tutaj zapomnialo sie przecinka tam znowu SQL nie wybiera tego co chce (do dobra - akurat to ze teraz sie z tym nie mecze to zasluga ORMow (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) ). Poza tym nigdy nie wiem co napotkam w danym module - czy bedzie tylko operowal na bazie - czy moze jeszcze zapisze cos do pliku. |
|
|
|
Post
#79
|
|
|
Grupa: Zarejestrowani Postów: 216 Pomógł: 0 Dołączył: 9.08.2003 Skąd: Warszawa Ostrzeżenie: (0%)
|
Z pół roku temu zainteresowałem sie Python'em, pisałem proste aplikacje konsolowe typu bot który przeszukuje cały serwis (gotowa biblioteka do obsługi http), wątki też poznałem.
Do końca nie mogłem dojść do ładu z namespace, ale dawałem sobie radę (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Problem pojawiał się dla mnie z wygodą pisania. W php mam genialne podpowiadanie składni. Wystarczy, że komentuje odpowiednio kod (phpdoc) i wiem co dana metoda zwraca i na zwracanym obiekcie znów działa podpowiadanie składni. Do python'a użyłem PyDEV. Używałem jakiejś metody która zwracała mi obiekt jednak, nie było już podpowiadania składni do tego obiektu. Może spotkaliście się z IDE do pythona które oferuje to? |
|
|
|
Post
#80
|
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%)
|
Zgodnie z obietnicą zacząłem się uczyć Pythona. Chciałem mieć swoje zdanie zdobyte empirycznie i konkretne argumenty w dyskusji.
Co do jednego cofam swoje słowa: składnia Pythona nie jest taka zła a mało tego, po napisaniu kilkudziesięciu linii kodu wręcz przyjemna (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Ale jedno mnie załamało. Z tego co zaobserwowałem, wyczytałem i wypytałem: ten język nie ma interfejsów i klas abstrakcyjnych. Ja pierdziele, nawet nie mówcie więcej, że to jest język z silną i naturalną obiektowością. Brak interfejsów i abstrakcji jest dla mnie na tą chwilę żenująco zabawny. No chyba, że język wspiera inne metody uzyskiwania takich rzeczy. |
|
|
|
Post
#81
|
|
|
Grupa: Zarejestrowani Postów: 2 262 Pomógł: 21 Dołączył: 3.05.2004 Skąd: Sopot, Krakow, W-wa Ostrzeżenie: (0%)
|
Intefejsy w aplikacji produkcyjnej sie wywala a abstrakcyjne nie sa az tak super potrzebne - ew w konstruktorze wyrzucasz wyjatek i z bani (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
|
|
|
|
Post
#82
|
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%)
|
Intefejsy w aplikacji produkcyjnej sie wywala ... Wykorzystujesz interfejsy tylko do wymuszania obecności funkcji w klasach? Nie wiem czy wiesz ale to nie jedyne zastosowanie interfesjów (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) ... a abstrakcyjne nie sa az tak super potrzebne - ew w konstruktorze wyrzucasz wyjatek i z bani (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) ~NuLL jakbym Cię nie znał to bym powiedział, że gówno wiesz o programowaniu obiektowym. A tak powiem Ci tylko: wyśpij się chłopie bo głupoty chrzanisz, że aż ręce opadają (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
|
|
|
|
Post
#83
|
|
|
Grupa: Zarejestrowani Postów: 898 Pomógł: 48 Dołączył: 2.11.2005 Skąd: Poznań Ostrzeżenie: (0%)
|
A właśnie miałem kupić książkę do Pythona... Ale jeśli to co pisze mike_mech jest prawdą to ja już wolę obiektowość w php...
|
|
|
|
Post
#84
|
|
|
Grupa: Zarejestrowani Postów: 640 Pomógł: 44 Dołączył: 8.02.2004 Ostrzeżenie: (0%)
|
A właśnie miałem kupić książkę do Pythona... Ale jeśli to co pisze mike_mech jest prawdą to ja już wolę obiektowość w php... zamiast przysłuchiwać się kłótniom zajrzyj do źródeł, np. http://docs.python.org/tut/node11.html |
|
|
|
Post
#85
|
|
|
Grupa: Zarejestrowani Postów: 487 Pomógł: 7 Dołączył: 7.01.2004 Skąd: Warszawa Ostrzeżenie: (0%)
|
zamiast przysłuchiwać się kłótniom zajrzyj do źródeł, np. http://docs.python.org/tut/node11.html I tam przekonasz się, że w Pythonie nie ma interfejsów a klasy abstrakcyjne to nie mechanizm języka a Twoja proteza. Pozwolę sobie na ironię - to już jest ta naturalna obiektowość czy musimy jeszcze na nią poczekać czy też ewentualnie poszukać w dodatkowym module? |
|
|
|
Post
#86
|
|
|
Grupa: Zarejestrowani Postów: 898 Pomógł: 48 Dołączył: 2.11.2005 Skąd: Poznań Ostrzeżenie: (0%)
|
splatch mnie uprzedził, więc nie będę go powtarzał.
Szczerze mówiąc to bardzo się rozczarowałem bo czytając początek dyskusji spodziewałem się, że znajdę język dla siebie (ASP odpada z powodu kosztów - jestem tylko hobbystą). Ale obiektowość bez interfejsów i klas abstrakcyjnych? Trochę nie potrafię sobie wyobrazić programowania bez tych elementów. To już chyba nawet php jest bardziej obiektowe. Sama składnia też mnie trochę odrzuca - ale wszyscy mówią, że można się przyzwyczaić więc pewnie można. |
|
|
|
Post
#87
|
|
|
Grupa: Zarejestrowani Postów: 866 Pomógł: 32 Dołączył: 2.06.2004 Skąd: Wrocław Ostrzeżenie: (0%)
|
Najpierw uprzedzę, że być może gówno wiem o programowaniu, ale zastanawia mnie po jaką cholerę mi interfejsy i klasy abstrakcyjne? Bo nie znam innego zastosowania interfejsów oprócz tego o który Nullowi chodziło. A jeżeli chodzi o klasy abstrakcyjne to są tylko po to aby mogły z nich korzystać klasy dziedziczące, natomiast nie można stworzysz obiektu który będzie instancją klasy abstrakcyjnej. Więc moim skromnym zdaniem abstrakcja tej klasy jest jak najzupełniej możliwa w pythonie (tak samo jak interfejs) ale nie ma tych magicznych słów "abstract" i "interface" i po prostu nie wywala nam errorów kiedy stworzymy obiekt instancję klasy abstrakcyjnej. Tak więc język nas nie zmusza nas do tworzenia interfejsów i klas abstrakcyjnych i ale wcale nam tego nie zabrania.
A czy zna ktoś może jakiś program który by przerabiał kod Pythona na kod źródłowy C++, bo w pythonie pisze mi się strasznie łatwo, a muszę coś prostego napisać w C++, albo Javie (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) A nie przepadam za tymi językami. ____ PS. Nie mam nic do klas abstrakcyjnych i interfejsów. Trochę łyknąłem Design Patterns i potrafię zrozumieć ich potrzebę. |
|
|
|
Post
#88
|
|
|
Grupa: Zarejestrowani Postów: 898 Pomógł: 48 Dołączył: 2.11.2005 Skąd: Poznań Ostrzeżenie: (0%)
|
@sztos interfejsy dodają obiektowi je implementujace dodatkowy typ.
Czyli np. chcesz w jakiejś kolekcji zebrać elementy, które można wyświetlić - obiekty takie np. implementują interfejs IDisplayable. Teraz możesz w tej kolekcji zrobić np: public function addElement(IDisplayable $element) co wymusi aby dodawane elementy implementowały interfejs. Oczywiście przykład trywialny, ale w większej aplikacji gdzie zachodzi wiele zależności między elementami interfejsy są przydatne. Co do klas abstrakcyjnych to chodzi właśnie o to co napisałeś - klasa abstrakcyjna dodaje ci pewien poziom abstrakcji, który stanowi podstawę do budowy dalszych obiektów, ale sam w sobie nie może być inicjowany. Np. Pisząc program do obsługi warsztatu możesz mieć klasę abstrkcyjną samochód i po niej dziedziczyć osobowy i ciężarowy. Po pewnym czasie możesz zapomnieć, że samochód sam w sobie nie miał być inicjowany bo jest zbyt abstrakcyjny i możesz sobie zrobić kuku powołująć instancję samochodu... Oczywiście wszystko to można obejść, ale są to standardy, które każdy język obiektowy powinien wspierać, aby kod był bardziej czytelny - innymi słowy nie chcę się za rok zastanawiać czemu wyrzucam wyjątek w konstruktorze samochodu. * oczywiście to tylko tak ogólnie |
|
|
|
Post
#89
|
|
|
Grupa: Zarejestrowani Postów: 866 Pomógł: 32 Dołączył: 2.06.2004 Skąd: Wrocław Ostrzeżenie: (0%)
|
Czyli dobrze mi się wydaje że to już tylko i wyłącznie chodzi o czytelność kodu i szeroko pojęty "maintenance", a nie że jest to taka obiektowość jak w BASIC'u?
Tak przeszukując net, to nawet nie wiem czy ta czytelność kodu cierpi jeżeli brak nam klas abstrakcyjnych tylko z powodu brak tego magicznego "abstract", nikt nie broni nam tworzyć abstrakcyjnych klas tak samo jak interfejsów, chociaż może nie wygląda to tak jak w Javie czy C++, być może mniej czytelniej. Ale to już, moim nie przyzwyczajonym zdaniem, kwestia właśnie przyzwyczajeń (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Ten post edytował sztosz 2.04.2007, 15:19:23 |
|
|
|
Post
#90
|
|
|
Grupa: Zarejestrowani Postów: 634 Pomógł: 14 Dołączył: 27.05.2006 Skąd: Berlin Ostrzeżenie: (0%)
|
sztosz: dam Ci dwa przykłady w których użyje interfejsu i klasy abstrakcyjnej a Ciebie bym poprosił o pokazanie mi jakiejś innej alternatywy. (albo zgodzenia się ze mną (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) )
Wiec: 1. Klasa Abstrakcyjna Masz system w którym konfiguracje się wydobywa z kilku źródeł (Xml, Baza danych, itd...) i wszystkie współdzielą funkcje takie jak IsModified (sprawdzającą czy od czasu załadowania dane się zmieniły), to czy w każdej z klas typu konfiguracji byś pisał ta funkcje ? IMO to jest sprzeczne z dobrymi nawykami programowania które mówią żeby się nie powtarzać. A wywołanie instancji takiej klasy która definiuje tylko ta metodę nie przyniesie Ci nic prócz wyjątków. 2. Interfejs Użyje tego samego przykładu co wyżej, masz jakaś metodę która za parametr przyjmuje klasę do czytania konfiguracji, to czy byś przeciążał ta metodę dla każdego typu, czy sprawdzał jakie jest źródło konfiguracji, czy po prostu użył interfejsu ? a może w przyszłości będzie jakieś nowe źródło, i co wtedy ? I jak byś definiował szkielet potencjalnych nowych typów konfiguracji ? (żeby np. funkcje zapisywania zawsze nazywały sie Save a nie Write ?) Tymi przykładami mam nadzieje ze przekonam Cie o ważności klas abstrakcyjnych i interfejsów jak i innych składników OOP, które nie tylko służą do poprawienia czytelności kodu. Pozdrawiam Ten post edytował nasty_psycho 2.04.2007, 19:24:13 |
|
|
|
Post
#91
|
|
|
Grupa: Zarejestrowani Postów: 866 Pomógł: 32 Dołączył: 2.06.2004 Skąd: Wrocław Ostrzeżenie: (0%)
|
Ok co do klasy abstrakcyjnej się z tobą zgodzę że to jest bardzo przydatne. Ale w Pythonie można to bez problemu zrobić. Jedyna różnica tak na prawdę to taka że w np. PHP jest to magiczne słówko "abstract" przed definicją, a w Pythonie nie ma, i z tego powodu można mieć obiekt będący klasą abstrakcyjną (ale jeżeli założenie jest że klasa jest abstrakcyjna, to żaden programista przy zdrowych zmysłach nie będzie tego robił). Dziedziczenie w Pythonie? Jak najbardziej (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Co do interfejsu to nie za bardzo rozumiem twój przykład (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Interfejs to klasa która jedynie definiuje nazwy metod które muszą zawierać klasy dziedziczące (bez żadnej implentacji metody w interfejsie), tak? Więc, to też bez problemu zrobimy w Pythonie, chociaż przyznam że nie widzę na razie wbudowanego w język sprawdzania czy klasa poprawnie implentuje interfejs. Ale akurat, tak jak klasy abstrakcyjne pojąłem, to interfejsy nie bardzo więc mogę być w ogromnym błędzie :| ____ PS. Jak już pisałem dupa ze mnie nie programista, ale lubię mieć jasność, i po tym co przeczytałem w tym wątku miałem i mam niejasność, że wy/my tu o czym innym rozmawiamy niż możliwości Pythona (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) |
|
|
|
Post
#92
|
|
|
Grupa: Zarejestrowani Postów: 898 Pomógł: 48 Dołączył: 2.11.2005 Skąd: Poznań Ostrzeżenie: (0%)
|
@sztosz - myślisz małą skalą :-) OOP chodzi o elegancję i łatwość utrzymania/rozszerzenia kodu. W sumie masz rację po części, że takie rzeczy jak final, abstract, __toString, interfejsy i wiele innych są możliwe do obejścia. Tylko, że o ile w małych aplikacjach możesz to obejść i nic się nie stanie o tyle w większych takie obchodzenie powoduje wiele problemów. Po prostu inny programista czy nawet Ty w przyszłym roku nie będziesz pamiętał o tym, że dana klasa miała być abstrakcyjna i będziesz tworzył jej instancje. Nie zastosujesz final i będziesz po niej dziedziczył itp itd. Im bardziej system skomplikowany tym bardziej potrzebne są tego typu rozwiązania. Trzeba pamiętać, że OOP powstało właśnie po to aby zapanować na chaosem dużych aplikacji.
|
|
|
|
Post
#93
|
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%)
|
Panowie parafrazując słowa jednego z większych [edit]tutaj był epitet ale wykasowałem[/edit] w tym kraju.
Nie róbmy z szamba perfumerii. Nie starajmy się wygładzić niedoróbek języka. Dziś znajomy programista Pythona powiedział mi (zapytałem go właśnie o te interfejsy i abstrakty), że jeśli Python czegoś nie ma to znaczy że trzeba się zastanowić czy to w ogóle jest potrzebne. A potem zastanowić się jeszcze raz jak to obejść. Chyba nie muszę komentować (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) Ten post edytował mike_mech 2.04.2007, 22:12:14 |
|
|
|
Post
#94
|
|
|
Grupa: Zarejestrowani Postów: 866 Pomógł: 32 Dołączył: 2.06.2004 Skąd: Wrocław Ostrzeżenie: (0%)
|
Hmm... ale te final, abstract etc... można zawrzeć w nazwie klasy, w komentarzach(!), etc. Ale rozumiem wasz punkt widzenia.
Ja z tym nie mam problemów (ale też nie tworzyłem wiele (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) ), ale z drugiej strony rozumiem, że dla wielu was jest to bariera nie warta przeskakiwania. Ja w Pythonie prawie zakochałem, innym również życzę takiej wzajemnej miłości. Niekoniecznie Pythona (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
|
Post
#95
|
|
|
Grupa: Przyjaciele php.pl Postów: 1 467 Pomógł: 13 Dołączył: 22.02.2003 Ostrzeżenie: (0%)
|
Osobiście zgadzam się ze Sztosem. Ale może to po prostu nawyki z Pythona. Osobiście korzystam ze wszystkich możliwości interfejsów oraz klas abstrakcyjnych w Pythonie, pomimo iż ich tam nie ma! I się nie gubie. A jeżeli komuś potrzeba czegoś więcej, to przecież można wprowadzić jakiś systematyczny sposób nazewnictwa - np. klasy abstrakcyjne pisać jako AClass albo ClassAbstract, tak samo z interfejsami. Oprócz tego można jeszcze robić po linijce komentarza przy klasach i już wszystko wiadomo.
A to, że w php można zarządać aby argument był instancją jakieś klasy to największa niekonsekwencja w PHP w ogóle. Ten język nawet nie rozróżnia stringa od integera. Nie można zarządać aby input był liczbą, a można zarządać aby był instancją BLEBLE_COSTAM_VERY_COMPLICATED_CLASS? Przecież to jest paranoja. Pozdrawiam |
|
|
|
Post
#96
|
|
|
Grupa: Zarejestrowani Postów: 793 Pomógł: 32 Dołączył: 23.11.2006 Skąd: Warszawa Ostrzeżenie: (0%)
|
PHP konwertuje typy 'w locie' ale je rozpoznaje. Co do instanceof to właśnie jest użyteczne i to pokazuje przydatność interfejsów, bo jak coś dziedziczy po tym interfejsie, to ma na pewno pewne metody, a jeśli tylko z nich korzystamy to wystarczy że dziedziczy po tym interfejsie, np. mamy 'urządzenia elektryczne' każde można 'włączyć' i 'włączyć' więc nas nie obchodzi jak ten przychodzący obiekt to zrobi, wiemy że może to zrobić.
Co do sensu interfejsów czy abstrakcji, to po co nam obiekty przecież bez nich też można pisać programy które będą działać, ba po co nam funkcje też bez nich można pisać... Więc zastanówcie sie czy to tak naprawdę sa zbędne rzeczy. |
|
|
|
Post
#97
|
|
|
Grupa: Przyjaciele php.pl Postów: 1 467 Pomógł: 13 Dołączył: 22.02.2003 Ostrzeżenie: (0%)
|
Więc zastanówcie sie czy to tak naprawdę sa zbędne rzeczy. Jak dla mnie na pewno. Choć rozumiem o co chodzi (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) . |
|
|
|
Post
#98
|
|
|
Admin Techniczny Grupa: Administratorzy Postów: 2 074 Pomógł: 93 Dołączył: 5.07.2005 |
klasa abstrakcyjna dla mnie tez jest zbędna, ale interfejs juz nie brak tego w pythonie jest zapewne upierdliwe (a podobno php takie upośledzone ^^) tak jak już ktoś wspomniał php rozpoznaje typy więc nie ejst jakiś poroniony, a że je w locie konwertuje to nawet użyteczna i duży + tego języka... ale to mnie nie zniechęca do nauki, z czasem wreszcie sie zabiore za pythona...
|
|
|
|
Post
#99
|
|
|
Grupa: Zarejestrowani Postów: 793 Pomógł: 32 Dołączył: 23.11.2006 Skąd: Warszawa Ostrzeżenie: (0%)
|
abstrakcja dostarcza pewne metody dla danej grupy, więc potem jak masz zmienić sposób działania tych metod to robisz w jednym miejscu i koniec, a dlaczego lepiej aby nie dało się tworzyć tego typu obiektów? ponieważ one tylko tworzą pewien szkielet który dopiero po 'ubraniu' jest użyteczny.
Co do interfejsu chyba już wszyscy widzą jego zaletę? Wykorzystujemy rzutowanie w górę i to wykorzystujemy, dlaczego interfejs jest lepszy od jakiejś klasy po której się dziedziczy, bo wymusza dla każdej dziedziczącej tworzenie własnych metod, a interfejs opisuje coś czego możemy określić tyko pewne właściwości ale nie możemy powiedzieć jak to jest realizowane w konkretnym przypadku. Np. mamy interfejs jedzenie potem dziedziczący pieczywo po nim dziedziczą bułki, chleb któe mogą być już załóżmy czymś realnym, więc jedzenie można zjeść ale jak? to już zależy od konkretów inaczej zjemy pomarańcz inaczej bułkę... ale jak przyjmiemy do naszej klasy obiekt który wywodzi się z jedzenia wiemy że możemy wywołać jego metodę 'zjedz' i nas nie obchodzi jak to jest realizowane, dzięki temu możemy tworzyć klasy które na starcie przyjmują jeden tak na prawdę jeden obiekt dziedziczący po danym interfejsie ale po jakimś czasie może być setki implementacji tego interfejsu, a nasza klasa nadal działa jakby nigdy nic. |
|
|
|
Post
#100
|
|
|
Grupa: Zarejestrowani Postów: 70 Pomógł: 0 Dołączył: 29.03.2007 Ostrzeżenie: (0%)
|
... Dziś znajomy programista Pythona powiedział mi (zapytałem go właśnie o te interfejsy i abstrakty), że jeśli Python czegoś nie ma to znaczy że trzeba się zastanowić czy to w ogóle jest potrzebne. A potem zastanowić się jeszcze raz jak to obejść. Właśnie też słyszałem, że python nie obsługuje interfejsów. Swoja droga to o ile mi wiadomo, ale może się mylę, to python obsługuje CORBA'e a ta się opiera na interfejsach, IDL itd. To jest dość ciekawe. |
|
|
|
![]() ![]() |
|
Aktualny czas: 9.06.2026 - 11:48 |