[ LeSa @ 25.09.2003. 14:51 ] @
Ukratko, hocu da naucim jedan ali vredan programski jezik pa posto je konkurencija velika, zanima me sta VI programeri mislite o tome. Uglavnom necu da ucim bilo sta sto je samo trenutno aktuelno i sto ima ogranicene mogucnosti.

Nisam bas duduk, kao klinac sam pravio programe u Basic-u, a kasnije i u Pascal-u (cak imam jedan pravi destruktivni virus za sobom kao i par igrica) ali davno je to bilo. Znaci smisla za programiranje imam, kao i predznanje, tako da cu brzo nauciti osnovne stvari.

Zanimaju me prvenstveno web aplikacije, znaci Perl, PHP, C++, itd., a dosta mi je bitno i da mogu da napravim normalne izvrsne programe ili da lako mogu da se prilagodim nekom prog. jeziku koji to moze.

Pozeljno je i da mogu da radim programe za sve platforme a ne samo za Windows (ASP?).

Trebalo bi da taj programski jezik bude lak za ucenje i vrlo efikasan, a ne da kucam kilobajt teksta da bih napisao "Hello World!" na web stranici.

Koliko sam uspeo da saznam do sada, PHP, Perl, C++ i Java su u vrhu top liste i verovatno cu odabrati neki od njih. C++ mi je nekako najbolji jer mogu da radim i CGI i EXE, sto mnogo znaci.

E sad, zamolio bih vas da budete nepristrasni i da realno date svoje misljenje o onom jeziku koji znate, nemojte pricati o jeziku koji ne poznajete jer nije OK. Recite koje su dobre strane a koje lose, sta moze a sta ne moze i koliko ste zadovoljni time.


Hvala i pozdrav svim programerima od buduceg kolege! :)
[ popeye @ 25.09.2003. 16:31 ] @
Da li si razmisljao o Python-u?
[ mpapec @ 25.09.2003. 17:02 ] @
Ako te zanima samo web, PHP je tu dosta dobar; oni koji trebaju C obicno ne pitaju sto im treba a i C nije najsretniji jezik za web. Ako hoces "jedan ali vredan" pogledaj Perl, Ruby ili Python pa vidi koji ti vise odgovara.

[ tOwk @ 26.09.2003. 17:48 ] @
Slažem se sa mornarom: Python — sam si ga opisao, ispunjava sve zahteve koje si postavio.
[ anon676 @ 27.09.2003. 00:30 ] @
Java (zaista vredan paznje), PHP(takodje), Perl(tesko da ce te igde neko zaposliti kao profseionalnog perl programera), Python(ne znam ni jednu firmu koja trazi profes. python programera tako da...odluci sam)
[ LeSa @ 27.09.2003. 17:25 ] @
Prvo hvala na odgovorima, a u vezi Pyhton-a, nemam pojma kakav je to jezik, nisam nikad video njegov kod. Pogledacu posle na forumu ako ima nesto.

Citat:
...a i C nije najsretniji jezik za web


Pa ne znam, video sam da moze da se radi otprilike isto kao sa Perlom (mislim na web), plus sto mogu da se prave komercijalni samostalni programi.

Vidim da ima dosta glasova za Python mada je tacno ono sto kaze dpantic, da se to jako slabo trazi i ne znam koliko ce to jos biti aktuelno.

Nego, zanima me (a verovatno i druge pocetnike) zasto je recimo Python bolji od C++ ili Perl-a? Ajde konkretno ako vam nije tesko u par reci.

Gledao sam ovih dana Javu i izgleda mi prosto, to bih mogao usput da naucim jer moram znati i neki skript jezik koji ce recimo da sluzi da proveri uneta polja u nekom formularu i slicno, pa tek onda da ga prosledi Perlu i sl.. Sta mislite o Javi?

PHP vidim da se puno koristi ali katastrofa je sto recimo posetim neki sajt i kada hocu da ga pogledam u off-line modu, nema teorije jer ni jedan browser nista ne sacuva. Ne znam da li je to pravilo, uglavnom kada gledam neki CGI skript, komotno mi ostane u browseru jer on valjda napravi HTML i posalje u browser.

Pitanje u vezi Python-a i Perl-a, ne znam da li sam razumeo dobro, jel moze da se pravi sa njima izvrsni (EXE) program?
[ LeSa @ 28.09.2003. 00:00 ] @

Danas sam se malo pozabavio programskim kodom C++ i Perl-a i vidim da je Perl mnogo citljiviji i jednostavniji od C++ koda. Nema onih << i \" znakova i odmah izgleda citljivije, a nema ni void() i #include na pocetku koda. Ili ovo:

C++:
cout << "REMOTE_ADDR : " << getenv("REMOTE_ADDR") << "<br>" << endl;


Perl:
print "REMOTE_ADDR: $ENV{'REMOTE_ADDR'}<br>";


Ocigledno je koliko Perl ima kraci, pregledniji i jednostavniji kod. Ali ako sa Perl-om ne mogu da pravim EXE fajlove, onda cu se ipak odluciti za C++. Jel moze ili ne?

Za PHP sam iz vise izvora saznao da je ogranicen i mislim da cu njega preskociti, a i ne svidja mi mnogo taj sistem rada. Recimo, na serveru moram da pravim istu stranicu kao HTML samo sto u nju jos ugradim i ono <? php... ?>. Mislim, zasto bih to radio ako vec imam stranicu? Logicno je da korisnik pozove neki pripremljen HTML header koji pozove program koji ubaci tu ono sto treba i zavrsi sa footer-om. A sam program treba da bude bas to - program i da se skoncentrise na ozbiljan posao a ne da ispisuje HTML kodove, jel gresim?
[ Gojko Vujovic @ 28.09.2003. 00:14 ] @
To za perl -> exe je VEOMA staro pitanje na es-u, evo kada je prvi put odgovoreno (barem najstarija tema koju sam sada našao):

20.03.2001. - http://www.elitesecurity.org/tema/361

Ukratko, naravno da možeš da kompajliraš perl programe u exe izvršne windows fajlove, postoji gomila softvera koja to radi. Nađi neku perl knjigu za početak i kreni redom, da ne bi ovde mnogo detaljisali. I pročitaj ceo Perl forum na es-u, svega tu ima..
[ VRider @ 28.09.2003. 13:27 ] @
Citat:
Perl(tesko da ce te igde neko zaposliti kao profseionalnog perl programera)

Idi na cia.gov pa vidi sta se trazi.

Ako mene pitas uzmi perl. Sjajan je. Za sve je. Sta ti padne na pamet to mozes u perlu.
PHP je u odnosu na perl uze specijalizov jezik pa samim tim one te (web) zadatke radi lakse ali je i ogranicen.

Perl je izuzetno citljiv. Nema mucenja sa tipovima, povratnim vrednostima (kao u C++ ili Javi...).

Citat:
sto mogu da se prave komercijalni samostalni programi.


Ovo je jedan od mitova vezanih za perl.
"Perl programi su Vase intelektualno vlasnistvo i mogu se kupovati, prodavati i zastititi kao i svi drugi programi. Ako se plasite za kod, bajtkod kompajleri ce da zavrse posao."
Perl Izvornik

[ LeSa @ 28.09.2003. 13:28 ] @
Citat:

Nađi neku perl knjigu za početak i kreni redom, da ne bi ovde mnogo detaljisali.



Hvala za info, a u vezi knjige za Perl... ja ovo sve i pitam da bih znao koji cu jezik da ucim i koje knjige da uzmem, tako da ne vredi unapred da citam bilo sta o nekom programskom jeziku dok ne prikupim dovoljno informacija da se odlucim za neki.
[ Dragi Tata @ 28.09.2003. 23:30 ] @
E, svašta sam čuo u svom životu, ali da je Perl čitljiv, to je najbolji štos koji sam ikada video. Uopšte je cela familija C-like jezika prilično "kriptična", ali Perl je vrhunac nečitljivosti. Što bi rekao Denis Riči, Perl i APL su jedina dva jezika koja izgledaju isto posle kriptovanja. APL ne znam, ali za Perl je potpuno u pravu.

Ako ti je bitna čitljivost, pogledaj VB.NET ili Python.
[ -zombie- @ 29.09.2003. 00:53 ] @
Citat:
Dragi Tata:
Što bi rekao Denis Riči, Perl i APL su jedina dva jezika koja izgledaju isto posle kriptovanja.


xexexe..

SSN (LOL)
[ LeSa @ 29.09.2003. 21:28 ] @
Citat:
Uopšte je cela familija C-like jezika prilično "kriptična", ali Perl je vrhunac nečitljivosti.


Pa ne znam, tacno je da ima nekih glupih resenja i u C++ i ostalim jezicima ali u globalu Perl mi ne izgleda lose, video sam i puno gore! Mislim, lako se uocava sta je sta i cemu sluzi koji deo programa. U principu, svi ti jezici su nekako nabacani i nema one cistine koda kao kod starog dobrog Pascala, sto je takodje dosta bitno. Pogledajte samo program u paskalu i isto to u Perlu ili C++, mislim haos, da ne pricamo o PHP gde se stalno pogubis jer je sve ispreturano, i HTML i sam PHP.

Ja sam pocetnik i nisam merodavan da raspravljam o tako nekim stvarima, ali bas zato sam totalno nepristrasan i mogu da kazem onako sa strane sta mi izgleda najcistije.

Inace, nabavio sam knjige u elektronskom formatu za nekoliko jezika i paralelno gledam kakve su im mogucnosti i sta mi je najbolje da ucim. A Perl mi vec radi na mom web serveru i pravim neke proste stvari, cisto da probam kako to radi, a takodje u cpp Perl i njega startuje mada ne znam kako. Imam recimo .pl i .cpp fajlove i ladno rade oba tipa. U cemu je stos? Server je Savant Web Server.



[ Dragi Tata @ 29.09.2003. 23:30 ] @
Imaš ovde uporedne primere rada u 4 programska jezika (mada primeri za C++ nisu baš najbolji)

http://www.flat222.org/mac/bench/

Vidi sam šta ti se najviše sviđa.
[ popeye @ 30.09.2003. 00:27 ] @
Citat:
LeSa:
Pa ne znam, tacno je da ima nekih glupih resenja i u C++ i ostalim jezicima ali u globalu Perl mi ne izgleda lose, video sam i puno gore! Mislim, lako se uocava sta je sta i cemu sluzi koji deo programa. U principu, svi ti jezici su nekako nabacani i nema one cistine koda kao kod starog dobrog Pascala, sto je takodje dosta bitno. Pogledajte samo program u paskalu i isto to u Perlu ili C++, mislim haos, da ne pricamo o PHP gde se stalno pogubis jer je sve ispreturano, i HTML i sam PHP.


Primetio bih da citljivost koda odredjuje autor, a ne programski jezik. Mada te npr. Python "primorava" da bar uredno uvlacis linije.
[ Dragi Tata @ 30.09.2003. 16:57 ] @
I autor i jezik utiču na čitljivost programa. Ako se u nekom jeziku koristi nešto kao @_ za listu argumenata funkcije, to je nečitljivo ma ko da je autor programa.
[ popeye @ 01.10.2003. 01:49 ] @
Citat:
Dragi Tata:
I autor i jezik utiču na čitljivost programa. Ako se u nekom jeziku koristi nešto kao @_ za listu argumenata funkcije, to je nečitljivo ma ko da je autor programa.


Nevezano za temu, ali mislim da generalizujes svoj stav po tom pitanju. Perl programeru (tu podrazumevam programera kome je Perl osnovni programski jezik u kome radi) je takav kod citljiv.

Sto se tice teme, ostajem kod preporuke za Python.
[ mpapec @ 01.10.2003. 07:47 ] @
Citat:
popeye:
Nevezano za temu, ali mislim da generalizujes svoj stav po tom pitanju. Perl programeru (tu podrazumevam programera kome je Perl osnovni programski jezik u kome radi) je takav kod citljiv.


Nemoj generalizirati. :) Ne samo da je takav nacin pisanja problematican za citanje (zamisli povecu funkciju koja po svojoj duljini koristi $_[0] do $_[5]) nego su i takve varijable aliasirane na originalne varijable kod pozivanja sto ti moze zadavati glavobolje.

Citat:

Sto se tice teme, ostajem kod preporuke za Python.


Samo zbog citljivosti jezika ili imas neki feature koji bolje radi nego u Perlu?

[ LeSa @ 01.10.2003. 11:21 ] @
Dragi Tata :)

hvala za link, bio je vrlo koristan. Evo ukratko za one koje mrzi da to citaju.

Iz testa moze nedvosmisleno da se zakljuci da PYTHON ima najkraci i najcitljiviji kod od svih tih jezika, ali nazalost, on je i najsporiji. Ono nisu realne aplikacije pa rezultati nisu sasvim realni ali u principu moze da se govori o nekim okvirima.

PERL jako lici na njega ali je brzi i rasprostranjeniji. Ima jako kratak i sasvim pristojno citljiv kod ali i dobru brzinu izvrsavanja i mogucnost pravljenja nezavisnih aplikacija. Iz onog sto sam do sada saznao o Perlu, ne bih se slozio sa Tatom da je Perl vrhunac necitljivosti - jako lici na Python, jedino sto ima dosta {} i $ znakova, mada to nije neki problem ako pogledas C++ i Javu.

JAVA je jako slicna C++ a bas sam se iznenadio kada sam saznao da je brza od Perla i Pythona, jer pamtim da je bila ocajno spora. Java ima kod prakricno iste duzine i komplikovanosti kao C++ ali je laka za debuggovanje, kao i prethodna 2 jezika. Brzina je OK, a steta sto ne mogu da se prave EXE aplikacije (?).

C++ je neprikosnoveni kralj brzine ali ima i ubedljivo najgluplji kod. :) Debugging je katastrofa, to znam i od ranije, a prednosti su sto moze da se radi i za web plus samostalne aplikacije, veoma je rasprostranjen i lako je naci ortaka za saradnju.

Bas je prava steta sto tako dobar jezik kao sto je PYTHON nije malo brzi i rasprostranjeniji jer je UBEDLJIVO najbolji za rad od svih pomenutih. Kuku, sad tek ne znam sta cu! :)

Kas sve saberem i oduzmem, moji favoriti su Perl i C++ (uprkos svemu). PHP ne dolazi u obzir po svemu sto sam video. Java nekako ide uz C++ pa ko zna C++ lako ce se prebaciti na Javu, sto znaci 2 muve jednim udarcem. Mogu vam reci da sam malo radio u Perlu ovih dana kad sam imao vremena i uspeo sam da napravim neke vrlo jednostavne programcice, bez mnogo problema i pocinje da mi se svidja.

Posto nisam mazohista, verovatno necu odabrati C++ iako mi je brat profesionalni programer u C++ (kanadski fakultet) i mogao bih da imam njegovu podrsku. Dakle, moracu VAS da gnjavim! :)

HVALA SVIMA na savetima i podrsci, znam da vam je smaranje da odgovarate na ovakva pitanja ali ste ipak izasli u susret jednom pocetniku. Neki novi pocetnici ce takodje citati ovo pa necete morati i njima posebno da pisete. Javicu vam sta sam odlucio, do tada BIG pozdrav za sve koji su mi odgovorili!

Sasha
[ srki @ 01.10.2003. 14:05 ] @
Citat:
LeSa:
JAVA je jako slicna C++ a bas sam se iznenadio kada sam saznao da je brza od Perla i Pythona, jer pamtim da je bila ocajno spora.

Ne, java samo sporo ispisuje na standardni izlaz i tu je tajna njene sporosti. I zato ima najgori rezultar za test "console". A inace ostale stvari radi dosta brzo s obzirom da interpretira bajt kod. Evo npr za rad sa fajlovima IO je bolja i od Perla i Phytona a tek implementaciju hash algoritma ima mnogo bolju od njih. Oko 6 puta je brza od Perla. Sa listama radi 3 puta brze od Perla i vise od 10 puta brze od Phytona.

Java za ono gde se najvise komercijalno koristi uopste nije spora jer tu botle neck predstavljaju druge stvari kao sto su baze podataka (SQL upiti) i prenos podataka preko mreze.

Posto si rekao da te zanimaju web aplikacije onda uci ili Javu ili Perl. Java je zaista trazena na zapadu a C++ sve manje. A i rekao si da ti je bitna portabilnost.

Citat:
Java ima kod prakricno iste duzine i komplikovanosti kao C++ ali je laka za debuggovanje, kao i prethodna 2 jezika. Brzina je OK, a steta sto ne mogu da se prave EXE aplikacije (?).

Pa i nije ti to toliko bitno. Ionako maltene svi imaju instaliran jvm i onda lepo napravis .bat fajl u kome napises "java tvojfajl" i nema sta da te nervira sto nemas .exe fajl. A inace ako bas hoces exe moze i to. Postoje native kompajleri za javu.

Citat:
C++ je neprikosnoveni kralj brzine ali ima i ubedljivo najgluplji kod. :)
Ma za ovo sto tebi treba zaista je bolje da koristis Javu umesto C++-a.

I to ti kazem kao C++ programer koji zna ponesto od Jave.

Citat:
Kas sve saberem i oduzmem, moji favoriti su Perl i C++ (uprkos svemu).
Pa ako bas neces Javu onda izaberi Perl. Za to cime ti hoces da se bavis mnogo je bolji Perl i lakse ces naci posao.
[ Dragi Tata @ 01.10.2003. 16:58 ] @
Ma dečko je rešio da uči Perl - neka ga :) I ja sam pre nekoliko meseci krenuo da se bakćem Perlom dok na jednom realnom projektu srednje veličine nisam osetio na svojoj koži "lepote" tog jezika. Mislim da je Perl mnogo korisnija alatka za Unix administratore nego za programere.
[ mpapec @ 01.10.2003. 18:35 ] @
Citat:
Dragi Tata:
I ja sam pre nekoliko meseci krenuo da se bakćem Perlom dok na jednom realnom projektu srednje veličine nisam osetio na svojoj koži "lepote" tog jezika.


Mozda nisam u pravu ali cini mi se da ti je ovo moglo koristiti,
perldoc strict
perldoc warnings

[ Dragi Tata @ 01.10.2003. 19:11 ] @
Svaki modul sam počinjao linijama

Code:

use strict;
use Carp;
use Log;


ali Perl je ipak grozan :)
[ mpapec @ 01.10.2003. 21:00 ] @
A cuj, ne znam o sto si se tocno spotaknuo, ali ti mogu reci svoja nedavna iskustva sa c#, a sto se u biti odnosi i na njemu slicne jezike. Naime, ima puno pisanja i deklariranja a malo samog algoritma u svemu tome. Perl pak je problemski orjentirani jezik i po tom pitanju je prilicno ispred takvih jezika. Isto sam primjetio da C programeri koriste Perl za prototipiranje(provjeru algoritma) prije nego idu stvar kodirati u C radi brzine.

[ MasterOfUndead @ 01.10.2003. 22:01 ] @
Jel mozete da preporucite neku knjigu za Phyton na srpskom, ali za pocetnike.
[ tvucko @ 02.10.2003. 11:56 ] @
Ovde se nalazi kratki kurs iz Python-a na srpskom :

http://www.ravangrad.net/~walker/prevodi/ihacking.html

PS. Mislim da je sasvim OK za pocetak :-)
[ Au197/79 @ 02.10.2003. 12:08 ] @
Preteče me tvucko sa adresom. Ne znam ni jednu drugu :(

Ja sam čitao da se python više nego perl koristi za brzo stvaranje prototipa programa, pa posle se taj prototip pretvara u C, C++, javu ili neki drugi jezik. To je svakako lakše i prirodnije na python-u.

Oni uporedni primeri su malo bajati pošto je izašlo nekoliko novih inerpretera. Za poslednju se tvrdi da je za petinu brža od prethodne. Uglavnom ne vidim razloga da Python bude značajno sporiji od perla.

Što se tiče tvrdnje da ima malo programera u pythonu:
Citat:
"Python has been an important part of Google since the beginning, and remains so as the system grows and evolves. Today dozens of Google engineers use Python, and we're looking for more people with skills in this language." said Peter Norvig, director of search quality at Google, Inc.
(More quotes)
[ tvucko @ 02.10.2003. 13:09 ] @
Python je odlican za sve primene. Jos mi se nije desilo da postoji problem koji ne moze da se resi sa Python-om.

Dobra kombinacija je : wxWindows + Python = wxPython za izradu desktop aplikacija
koju koristim vec duze vreme.

Sa Python-om sam napravio sve scipt-ove koje sam nekada radio sa Perl-om za administraciju, sada su mnogo pregledniji i bolji :-)

Jedino sto nije bas najbolje uradjeno je mod_python podrska za Apache, ali ce valjda biti bolje, iako je i on upotrebljiv.

Jednostavno je Python jezik, sa dodatnim modulim, koji je pokrio skoro sve oblasti izrade programa, razlicite namene, lako i brzo.




[ Dragi Tata @ 02.10.2003. 16:25 ] @
Citat:
mpapec:
A cuj, ne znam o sto si se tocno spotaknuo, ali ti mogu reci svoja nedavna iskustva sa c#, a sto se u biti odnosi i na njemu slicne jezike. Naime, ima puno pisanja i deklariranja a malo samog algoritma u svemu tome. Perl pak je problemski orjentirani jezik i po tom pitanju je prilicno ispred takvih jezika. Isto sam primjetio da C programeri koriste Perl za prototipiranje(provjeru algoritma) prije nego idu stvar kodirati u C radi brzine.


Nisam se baš "spotakao" - projekat je završen na vreme, ali ipak je to bilo frustrirajuće iskustvo. Moj utisak je da je Perl pogodan za kratke programčiće tipa: imam gomilu log fajlova, sad ću da napravim program koji će iz njih da "izvuče" korisne informacije i sastavi izveštaj. Za iole složenije sisteme, ono "pisanje i deklariranje" koje se tebi ne sviđa postaje suštinski važno, a posebno u timu sa više programera. Jezici kao što je C, C++, Java i C# imaju dobru podršku za razbijanje složenih problema u module sa jasno definisanim interfejsom i skrivenom unutrašnjom implementacijom. C i C++ to postižu praktično bez žrtvovanja performansi i "bliskosti" sa mašinom, pa se mogu uspešno koristiti za bukvalno svaku primenu: od pisanja kernel modula, preko desktop programa do web aplikacija.
[ Dragi Tata @ 02.10.2003. 17:04 ] @
E, da. Evo kako sam "kukao" na Perl i kakve su bile reakcije kolega programera:

http://www.codeproject.com/scr...mp;ed=10%2F2%2F2003#xx592974xx
[ bOkIcA @ 02.10.2003. 19:43 ] @
Ajd da se i ja ukljucim...
Citat:
LeSa:
Ukratko, hocu da naucim jedan ali vredan programski jezik...

Hteo nehteo vrlo tesko samo jedan jedini.

Citat:
LeSa:
Zanimaju me prvenstveno web aplikacije...

Moj predlog je php. (+html +javascript, recimo ;-)

Citat:
LeSa:
...a dosta mi je bitno i da mogu da napravim normalne izvrsne programe ili da lako mogu da se prilagodim nekom prog. jeziku koji to moze.

Ostale stvari radim u C# vrlo brzo i efikasno (jos kad budu portovali celi framework na linux bice skrooooz coool).

Citat:
LeSa:
Trebalo bi da taj programski jezik bude lak za ucenje i vrlo efikasan, a ne da kucam kilobajt teksta da bih napisao "Hello World!" na web stranici.

Code:
<?php
   echo "Hello World!";
?>

To je sve sto ti treba.

Citat:
LeSa:
...C++ mi je nekako najbolji jer mogu da radim i CGI i EXE, sto mnogo znaci.

Eto ja juce napravio prvi .exe od php fajla, i sto najveci fazon to radi.


I php nije komplikovan kako si cuo.
[ LeSa @ 02.10.2003. 23:21 ] @
Citat:
srki:
Posto si rekao da te zanimaju web aplikacije onda uci ili Javu ili Perl.


Znas sta, Perl mi je jedan od favorita ali sam zakljucio da osim Perla moram da znam i Javu, jer bilo koji formular da napravim moracu da ga obradim u Javi i onda posaljem zahtev na server za dalju obradu u Perlu.

A super ako moze Java u EXE, mada nije najvaznije jer moci cu to sa Perl-om ili nekim drugim.

Thanks!


Citat:
ali Perl je ipak grozan :)


hahaha, tajo, pa ti bas ne volis Perl, a? Jel to nesto iz detinjstva? :)

Jao video sam ono,

my ($inputDirName) = $entry =~ m|\Q$inputDir\E/(.+)$|;
$key =~ s/%(..)/pack("c",hex($1))/ge;

stvarno je katastrofa! Hmm, ma to si ti nesto kriptovao, a?! :)

Kako bi to napisao u Python-u?



Citat:
mpapec
C++ ima puno pisanja i deklariranja a malo samog algoritma u svemu tome


Potpuno se slazem sa tobom jer sam to zakljucio iz vise uporednih listinga raznih programa u raznim prog. jezicima. Ima gomila nekih pripremnih stvari da bi program uopste mogao da radi, a Python i Perl odmah rade ono sto ti treba. Super, bas sam to i trazio u 1. poruci: da ne pisem 2 dana da bih dobio "Hello World".


Za Au197/79, u vezi Google, uopste nije cudo jer oni nemaju vremena da bacaju na piskaranje i debugg-ovanje nego samo konkretan rad. Jedino me cudi da Google onako brzo radi na Pythonu.

Citat:

<?php
echo "Hello World!";
?>

To je sve sto ti treba.


Da, ali sta cu s PHP-om? Onda moram da ucim i C i PHP i Javu, mislim pali brate. :) Svakako moram 2 komada da naucim, znaci Java i jos nesto, a to nesto mora da dopunjuje Javu u onome sto s njom ne mogu da uradim.

[ Dragi Tata @ 02.10.2003. 23:28 ] @
Citat:
LeSa:
Jedino me cudi da Google onako brzo radi na Pythonu.


Zato što i nije pisan u Pythonu već u C++u.
[ popeye @ 03.10.2003. 00:12 ] @
Citat:
LeSa:
Znas sta, Perl mi je jedan od favorita ali sam zakljucio da osim Perla moram da znam i Javu, jer bilo koji formular da napravim moracu da ga obradim u Javi i onda posaljem zahtev na server za dalju obradu u Perlu.


Cini mi se da brkas Javu i JavaScript.
[ bOkIcA @ 03.10.2003. 02:07 ] @
Mislim da on prvo mora da prodje osnove html-a ;-)
[ bOkIcA @ 03.10.2003. 02:21 ] @
u ćale, al sam se ismejao na CodeProject-u xaxaaxaxxa

A ovo je najžešće...

Citat:
roel_
Hah, that's easy peasy. Check this (not written by me, ofcourse):


DeCSS DVD descrambler in perl - Keith Winstein and Marc Horowitz
Usage: qrpff 153 2 8 105 225 /mnt/dvd/VOB_FILE_NAME | extract_mpeg2 | mpeg2_dec
$_='while(read+STDIN,$_,2048){$a=29;$b=73;$c=142;$t=255;@t=map{$_%16or$t^=$c^=(
$m=(11,10,116,100,11,122,20,100)[$_/16%8])&110;$t^=(72,@z=(64,72,$a^=12*($_%16
-2?0:$m&17)),$b^=$_%64?12:0,@z)[$_%8]}(16..271);if((@a=unx"C*",$_)[20]&48){$h
=5;$_=unxb24,join"",@b=map{xB8,unxb8,chr($_^$a[--$h+84])}@ARGV;s/...$/1$&/;$
d=unxV,xb25,$_;$e=256|(ord$b[4])<<9|ord$b[3];$d=$d>>8^($f=$t&($d>>12^$d>>4^
$d^$d/8))<<17,$e=$e>>8^($t&($g=($q=$e>>14&7^$e)^$q*8^$q<<6))<<9,$_=$t[$_]^
(($h>>=8)+=$f+(~$g&$t))for@a[128..$#a]}print+x"C*",@a}';s/x/pack+/g;eval


And to finish, my favourite Perl quote:

"Perl - the only language that looks the same before and after RSA encryption."
-Keith Bostic
[ -zombie- @ 03.10.2003. 03:51 ] @
Citat:
LeSa:
Da, ali sta cu s PHP-om? Onda moram da ucim i C i PHP i Javu, mislim pali brate. :) Svakako moram 2 komada da naucim, znaci Java i jos nesto, a to nesto mora da dopunjuje Javu u onome sto s njom ne mogu da uradim.


svakako ćeš morati da naučiš i više od dva jezika, nemoj da živiš u iluziji da će biti drugačije. budi sretan ako broj na kraju bude jednocifren :-P

mislim, samo za web ti treba jedan serverside (recimo php, perl ili java), i plus html, css, javascript, sql, ... (dobro, html i css nisu baš "programski jezici", ali i to treba naučiti).


znači nije bitno. počni sa bilo kojim jezikom, pa čak i sa c/c++. na kraju, jedino je bitno da ti naučiš da programiraš, a sve ostalo je sintaxa...

(a na kraju ćeš najverovatnije koristiti "najbolju alatku za konkretan posao". za web će ti to najverovatnije biti php. i ne, on nije tako nepregledan kako ti se čini. ko zna šta si ti video ;)
[ mpapec @ 03.10.2003. 07:46 ] @
Citat:
Dragi Tata:
Za iole složenije sisteme, ono "pisanje i deklariranje" koje se tebi ne sviđa postaje suštinski važno, a posebno u timu sa više programera. Jezici kao što je C, C++, Java i C# imaju dobru podršku za razbijanje složenih problema u module sa jasno definisanim interfejsom i skrivenom unutrašnjom implementacijom.


Guess what, sve to ima i Perl. :) Interface za klase, odvojeni namespaceovi, timski rad i jos puno toga(moduli, CPAN.org). Kod C# postoji ociti visak koda, npr.

myTip var = new myTip;

dok u perlu samo
my $var = myTip->new;

ovo je samo primjer, kad pogledas gotove programe, c# ne samo da obiluje redundantim informacijama u kodu nego i pretjeranim deklariranjem (ok, djelomicna krivica za ovo je sto je u pitanju jezik sa strogo tipiziranim podacima).

Citat:

C i C++ to postižu praktično bez žrtvovanja performansi i "bliskosti" sa mašinom, pa se mogu uspešno koristiti za bukvalno svaku primenu: od pisanja kernel modula, preko desktop programa do web aplikacija.


Moze, i to je ok, samo je pitanje u kojim projektima ces sto koristiti; osim brzine programa tu je i brzina developmenta a Perl i npr. Python po tom pitanju daleko bolje stoje. :!

[ mpapec @ 03.10.2003. 07:57 ] @
Citat:
Dragi Tata:
E, da. Evo kako sam "kukao" na Perl i kakve su bile reakcije kolega programera:

http://www.codeproject.com/scr...mp;ed=10%2F2%2F2003#xx592974xx


A jesi nasao forum gdje se teme krecu u rasponu od C,preko c++ pa do c#, pitam se kakvi samo programeri zalaze tamo. :)

my ($inputDirName) = $entry =~ m|\Q$inputDir\E/(.+)$|;

Ovo je u biti regex; a ako ti se cini kompliciranim mozes kao i u npr. basicu koristiti index i substr.

Ovo je jednostavniji nacin i ne bi trabao biti problem ako si upoznat s nekim regex osnovama,
my $inputDirName = $entry;
$inputDirName =~ s!\Q$inputDir/!!;

[ mpapec @ 03.10.2003. 08:02 ] @
Citat:
Dragi Tata:
korisne informacije i sastavi izveštaj. Za iole složenije sisteme, ono "pisanje i deklariranje" koje se tebi ne sviđa postaje suštinski važno


Glede deklariranja i ispisa cini mi se da u c like jeziku treba dosta vise pisanja od ovog,

my @arr = (
[1..3],
[4..9],
[7..9],
);

for my $i (@arr) {
for my $val (@$i) {
print "$val\n";
}
}

[ LeSa @ 03.10.2003. 15:42 ] @
Thanks bOkIcA:! Slazem se, HTML, Java Script i jos neki ozbiljan program, oko kojeg u stvari i trazim savete.

Citat:

Mislim da on prvo mora da prodje osnove html-a.


HTML znam dosta dobro, to i ne racunam jer se podrazumeva.



Citat:
popeye:

Cini mi se da brkas Javu i JavaScript.


Znam da ima razlike mada nisam mnogo upucen u to, jel bese Java radi na serveru? Vec neko vreme skupljam .js fajlove iz kesha browsera, jel to Java ili JS?


Citat:
-zombie-

...samo za web ti treba jedan serverside (recimo php, perl ili java), i plus html, css, javascript, sql,...


...jedino je bitno da ti naucis da programiras, a sve ostalo je sintaxa...


Znam da treba serverski i klijentski programski jezik, po nesto vec znam cak i iz JS, CSS dovoljno za izgled linkova i slova, a HTML jako dobro.

Sto se tice logike programiranja, to mi ide dosta dobro, umem da razresim tako reci bilo koji problem koji mi se zada. Ako vas zanima sta sam to radio pre 7-8 godina, sacuvao sam jedan program - igru u QBasic-u.

To je berza metala, kupujes, prodajes, a program prati stanje na lageru, menja cene zavisno od ponude i potraznje, racuna ti prosecnu nabavnu cenu ako si kupovao nekoliko puta, prikazuje da li ti se isplati da prodas itd... To sam napisao jos 1996. iz zezanja ali izgleda sasvim OK i nema gresaka. Napomena: e-mail nije vazeci. Program zajedno sa QBasicom ima oko 190 KB i okacio sam ga malo pre kod jednog prijatelja (posto je moj prostor popunjen) :) na adresi:

http://users.yubc.net/~andram/Berza.zip . Garantujem da nema nikakvih virusa (samo trojanci xexe)! Salim se, cisto je.

A Python me odusevljava sto ima tako dobar kod i sto je tako jednostavan. Mnogo lici na Basic i neke osnovne stvari u Pythonu sam naucio sinoc za 2 sata! Nego ne znam zasto je slabo rasprostranjen, kao da je programerima ispod casti da rade u tako jednostavnom jeziku? Mozda vise vole da se hvale kako razumeju ovako nesto: $entry =~ m|\Q$inputDir\E/(.+)$|; ?

Ma bas me briga i za brzinu, pravo da vam kazem, a kako neko rece, nova verzija Python-a je za 20% brza od prethodne, wow! :)
[ tOwk @ 03.10.2003. 16:58 ] @
Citat:
mpapec:
Glede deklariranja i ispisa cini mi se da u c like jeziku treba dosta vise pisanja od ovog,


Upravo u tome je stvar. Što je više pisanja potrebno, to je jezik „čitljiviji“ (naravno, ne baš ovako jednostavno i jednoznačno, ali svodi se na to). Jedno osnovno pravilo je da „redunansa“ (tj. „nepotrebno ponavljanje“) olakšava i povećava pouzdanost kôda (morate dva puta da pogrešite da bi ta greška prošla).

Ipak, neki jezici (kao C++, Java) redunansu dovode do tog nivoa da stvarno treba biti vredan pa kucati sve to :-) Zato ja volim Python, gde je praktično najveći „nepotreban“ izdatak upotreba „self“-a, a programi su i dalje čitljivi, zato što ne koriste znake koji ničemu ne služe, kao što su zagrade za blokove, naročito pošto svi već koriste uvlačenje razmacima za to.

Svakako, postoje i jezici koji zahtevaju mnogooo pisanja (neko pomenuo brainfuck? :-), ali nisu baš čitljivi — bar ne onome ko ne razmišlja o modernom programiranju u smislu tjuringove mašine i sličnih „mašina“ ;-)
[ popeye @ 03.10.2003. 17:17 ] @
Citat:
LeSa:
Citat:
popeye:

Cini mi se da brkas Javu i JavaScript.


Znam da ima razlike mada nisam mnogo upucen u to, jel bese Java radi na serveru? Vec neko vreme skupljam .js fajlove iz kesha browsera, jel to Java ili JS?



To je JavaScript.
[ Dragi Tata @ 03.10.2003. 19:52 ] @
Citat:
mpapec:
Kod C# postoji ociti visak koda, npr.

myTip var = new myTip;

dok u perlu samo
my $var = myTip->new;


Hehehe, a šta je ovde kraće?

Citat:

Moze, i to je ok, samo je pitanje u kojim projektima ces sto koristiti; osim brzine programa tu je i brzina developmenta a Perl i npr. Python po tom pitanju daleko bolje stoje. :!


Najobičniji mit.

Uglavnom, da ne podgrevamo raspravu previše, tebi se Perl dopada, meni ne i ostajemo na tome.
[ Au197/79 @ 04.10.2003. 08:24 ] @
Citat:
mpapec:

my @arr = (
[1..3],
[4..9],
[7..9],
);

for my $i (@arr) {
for my $val (@$i) {
print "$val\n";
}
}



Evo python verzije:
Code:

l = [range(1,4), range(4,10), range(7,10)]
for i in l:
    for j in i:
        print j
[ c00l_daem0n @ 04.10.2003. 16:18 ] @
Citat:
Dragi Tata:
Citat:
mpapec:
Kod C# postoji ociti visak koda, npr.

myTip var = new myTip;

dok u perlu samo
my $var = myTip->new;


Hehehe, a šta je ovde kraće?



Mislim da prica o visku koda koji se pojavljuje kod C# i Java-e prilikom kreiranja novog objekta, u ovom primeru myTip var = new myTip, gde se 2 puta ponavlja tip objekta koji se stvara.
O ovome se vodila diskusija pre par meseci na jednoj od comp.lang.java.* news grupa.
U fazonu, zasto se toliko VB-alizujuje Java kod. (naravno mislili su na VisualBasic kao nesto ispod svog nivoa).

[Ovu poruku je menjao c00l_daem0n dana 05.10.2003. u 01:16 GMT]
[ Dragi Tata @ 04.10.2003. 19:12 ] @
Razumeo sam na šta je mislio (mada se naravno nikako ne slažem da je deklaracija promenljive "višak"), ali se iz njegovog primera pre vide neki "viškovi" u Perl kodu. Recimo, potreba da se eksplicitno kuca my da bi promenljiva bila lokalna bi po meni bilo neoprostivo da ne znam osnovnu namenu Perla, a i ovako mi se ne dopada. Drugo, znak $ ispred skalara i @ ispred nizova se takođe pre može smatrati "viškom" nego deklarisanje tipa promenljive koje itekako ima svoju praktičnu namenu.

I uopšte, ovo "prebrojavanje" tokena je zabavno, ali u praksi beznačajno. Moderni editori omogućavaju da se proces kucanja znatno skrati (u Visual Studiu otkucam samo par prvih simbola i onda Ctrl + Space odradi ostalo), a u većim projektima "ukucavanje" novog koda ionako oduzima manje od 10% ukupnog vremena - tu su type-safety i čitljivost mnogo važniji nego ekspresivnost.

Uglavnom, nemojte da mislite da sam baš toliki "mrzitelj" Perla. Za određene probleme Perl može da bude pravo rešenje. Ipak, porediti Perl i npr. C# nema nekog smisla - namena im je potpuno drukčija.
[ LeSa @ 06.10.2003. 00:08 ] @
Cisto da se zna, nema me jer pored svog posla, radim u Python-u, skidam sve o njemu sa neta itd... Odlucio sam se za Python i jako mi se svidja, ali...

Nazalost, koliko sam video, i nije nesto mnogo zastupljen u svetu, nema cak ni programa da se skinu za ucenje, sve je neki krsh koji nicemu ne sluzi! Bas me cudi jer ja recimo u 10-ak redova napravim jednostavan search engine... kako da niko ne pravi nesto korisno? Za C++ ima apsolutno svega i to jako ozbiljnih programa.. Nemam pojma, Ovo mi je veoma svidja, jeste malo nekako spor Windows shell, ali help je dobar i sve ide fino. Sada se jedino malo mislim da li da idem dalje ili da batalim ovo i predjem na C++.

U medjuvremenu sam pronasao hosta koji nudi besplatan hosting za Python i Zope, ako vas zanima, idite na: http://www.nipltd.net/Free i registrujte se.

Eto toliko, od sada cu malo da pisem i u forumu Python. Hvala svima jos jednom, a cujemo se i ovde ako ima ko da pise sta.
[ mpapec @ 06.10.2003. 17:16 ] @
Citat:
tOwk:
Upravo u tome je stvar. Što je više pisanja potrebno, to je jezik „čitljiviji“ (naravno, ne baš ovako jednostavno i jednoznačno, ali svodi se na to). Jedno osnovno pravilo je da „redunansa“ (tj. „nepotrebno ponavljanje“) olakšava i povećava pouzdanost kôda (morate dva puta da pogrešite da bi ta greška prošla).


S ovim se ne bih slozio, prije bih rekao da se radi o nepozeljnom side efektu u jeziku nego o necem sto je generalno dobro. Osim toga se kosi s osnovnim programerskim nacelima, npr. neki su definirali lijenost kao pozitivan programerski princip, :)

"Laziness is the quality that makes you take great efforts to reduce the
overall amount of work that you have to do. Lazy programmers are apt to
develop reusable and general solutions that can be used in more than
one
place, and are more apt to document what they do, so that they don't
have to
ever waste time or torture their brains figuring it out again."

Citat:
Ipak, neki jezici (kao C++, Java) redunansu dovode do tog nivoa da stvarno treba biti vredan pa kucati sve to :-) Zato ja volim Python, gde je praktično najveći „nepotreban“ izdatak upotreba „self“-a, a programi su i dalje čitljivi, zato što ne koriste znake koji ničemu ne služe, kao što su zagrade za blokove, naročito pošto svi već koriste uvlačenje razmacima za to.


Python mi se takodjer cini jako dobar, da se ranije pojavio bio bi IMO daleko vise popularan.



[ mpapec @ 06.10.2003. 17:19 ] @
Citat:
Au197/79:
Evo python verzije:
Code:

l = [range(1,4), range(4,10), range(7,10)]
for i in l:
    for j in i:
        print j


Sad nam jos jedino fali neka c like verzija. :)

[ mpapec @ 06.10.2003. 17:28 ] @
Citat:
Dragi Tata:
Najobičniji mit.

Uglavnom, da ne podgrevamo raspravu previše, tebi se Perl dopada, meni ne i ostajemo na tome.


Dovoljno je da uzmes dva programera gdje je jedan dobar u C a drugi npr. u Pythonu pa da usporedis brzinu developmenta. Ta razlika u brzini nije stvar osobnih preferencija vec vrlo objektivna cinjenica.
S druge strane, mozda postoji netko tko moze u asembleru brze napisati nego u C-u? :-)

[ Dragi Tata @ 06.10.2003. 17:58 ] @
Ma nije tačno. Neke stvari Python programer će obaviti brže, neke stvari će C programer obaviti brže, a neke stvari se uopšte i ne mogu odraditi u Pythonu a mogu u C-u. Generalno, produktivnost zavisi mnogo više od alata, biblioteka, iskustva itd, nego od programskog jezika, bar kad su "dovoljno veliki" problemi u pitanju. Verovatno će Perl programer brže napraviti neku administrativnu skripticu nego C programer, ali će C programer brže napraviti CAD aplikaciju nego Perl programer (ako bi uopšte iko normalan koristio Perl za tako nešto). Ja ću sa Visual C++om napraviti prostu Windows aplikaciju sa par klikova mišem i tri linije koda, ali ako koristim mingw+vim+make ta ista aplikacija će mi oduzeti sat vremena (tj ako ne koristim neki već postojeći primer). li drugi primer, verovatno ću sa Python+Zope kombinacijom brže da napravim neku Web aplikaciju nego sa IASPI ekstenzijama pisanim u C-u. Generalizacije tipa "ovaj jezik je produktivniji nego onaj" su vrlo popularne u marketingu, ali u stvarnosti nemaju mnogo veze sa životom. Čak i asembler u pojedinim situacijama može biti "najproduktivniji" - ponekad jedino u asembleru možeš da završiš posao.

I opet ponavljam, porediti skript jezike kao što su Perl i Python sa sistemsko-aplikativnim jezicima kao što su C i C++ nema nikakvog smisla. Jednostavno, pravljeni su da zadovolje različite potrebe.
[ mpapec @ 06.10.2003. 20:59 ] @
Citat:
Dragi Tata:
I opet ponavljam, porediti skript jezike kao što su Perl i Python sa sistemsko-aplikativnim jezicima kao što su C i C++ nema nikakvog smisla. Jednostavno, pravljeni su da zadovolje različite potrebe.


Ma jasna stvar da nitko nece pisati kernel ili drivere u Pythonu ali postoji dosta siroka zona presjeka gdje je moguce primjeniti prakticki bilo koji jezik. Govorim o aplikacijama koje su obicno manjeg opsega.

[ Dragi Tata @ 06.10.2003. 23:32 ] @
Citat:
mpapec:
postoji dosta siroka zona presjeka gdje je moguce primjeniti prakticki bilo koji jezik.


Gde je moguće da, ali ne i gde je optimalno. Tu su granice mnogo jasnije postavljene.