Jump to content
Patrunjel

PHP , Python sau altceva?

Recommended Posts

Salut.

Am cont pe-aici de multa vreme insa nu am facut nimic pana acum (legat de hacking).Era doar un forum de pe care ma inspiram/informam.

Totusi, acum ma gandeam sa invat ceva, sa pot sa fac si eu cate una-alta.. :)

Si aici vine intrebarea mea.Tinand cont ca stiu doar C++ (la un nivel mediu, sa zicem), si nicun alt limbaj de programare, ce-mi recomandati? Eu ma gandeam la PHP sau Python fiindca...nustiu, pur si simplu imi fac cu ochiul, insa sunt liber la orice fel de opinii pe care va rog sa le argumentati (un rand, doua, plm, sa-mi fac o idee :) )

Link to comment
Share on other sites

PHP-ul este o alegere bun?, dat fiind c? este un limbaj matur / cu un ecosistem mare, documenta?ie excelent? ?i o comunitate uria?? de developeri.

Dac? vrei s? o iei pe drumul webdevului, ?sta-i cocktailul pe care trebuie sa-l serve?ti: PHP (+ frameworkuri coapte, dar nu-i musai), ceva SQL (orice aplica?ie care vrea s? fie serioas? are o baza de date in spate), Javascript (?i jQuery), xHTML, CSS.

Nici Python nu este o alegere proast?, dar fiind c? este unul dintre cele 4 limbaje de programare folosite la Google ( al?turi de C++, Java ?i Javascript).

tl;dr

A language that doesn’t affect the way you think about programming is not worth knowing.

– Alan Perlis

Little correlation has been found between performance and years of experience in the field. Actual productivity is better correlated with the number of programming languages the person knows.

- Edward Yourdon

Edited by wvw
Link to comment
Share on other sites

Nu pot spune ca ma intereseaza webdev-ul atat de mult.Daca o fi sa invat si eu destule cat sa pot sa ma joc umpic pe calculatoarele altora, in niciun caz n-am sa ma apuc sa dau deface-uri sau chestii de genu.Mi se pare mai palpitant/interesant/alte superlative de genu , sa ma joc cu un server direct.

De fapt, m-am starnit cu invatarea unui alt limbaj cand am vazut ca a cerut cineva un scanner (nu mai stiu de ce) si ca raspuns a primit un sfat (habar nu mai am de la cine) sa isi scrie singur in php o jucarica care sa faca acelasi lucru, si chestia asta mi s-a parut destul de ok.

Pana la urma cred ca invat html si dupa php... :)

Link to comment
Share on other sites

Da ... ai gandit bine :).

In momentul asta ai 2 alegeri:

1) Sa te faci programator si sa munctesti in domeniu din pasiune, indiferent ca inveti, descoperi, creezi ... programarea e o arta trebuie sa o "simti" si sa ai o chemare si pe urma ai sa te simti ca un fel de Dumnezeu in spatiul virtual.

Daca alegi (1) atunci invata in continuare C++, incepand cat mai low level, lucrand la partea de algoritmica si optimizari, apoi usor sa incepi sa folosesti clase si cat mai multe librarii si chiar si ceva grafica si ajunge. In stadiul asta te decizi daca vrei sa ajungi la ceva gen MIT si clar te apuci si de ASM si faci numai algoritmica si probleme de judeteana / nationala sa le ai cu microcontrolerele si ceva electronica sau te apuci serios de OOP si in stadiul asta te decizi pe ce platforma vrei sa te specializezi (unix/win) daca alegi win atunci duci pana la capat C++ si te bagi pe C#, .NET daca alegi unix atunci te apuci de Java si ceva Python pentru scripting. Ori devii vreun expert pe AI si chestii SF si ramai pe la NASA, MIT, AT&T, Texax (de unde se castiga cel mai bine, dar iti pierzi complet viata cu asa ceva) ori ajungi un dezvoltator / depanator de soft in C++/Java plus alte bonusuri (ceva protocoale si lucrul cu socket) si castigi si aici destul de bine dar e mult mai lejer, mai omenesc, flexibil.

2) Sau sa te faci un web developer si sa te bagi direct pe php, html, mysql, css si ceva java ... neaparat sa inveti si sa-ti iei un certificat Adobe de designer si te apuci mai mult de stilistica site-urilor, inovatii temporare, concepte si poti foarte bine sa-ti bagi nasul si prin Javascript ca merge bine cu lucrurile astea. De aici intervine talentul in cat de bine vei fi platit :). De aici te duci si foarte usor black inveti sa exploatezi vulnerabilitati te apuci sa faci tot felul de rahaturi si chestii care au o baza de date ceva cu despre ceva pe mai multe servere sa comunice intre ele, scamuri, etc.

3) Orice ai face (macelar) tot trebuie sa vezi cum sta treaba cu Python :).

  • Upvote 1
Link to comment
Share on other sites

poti incepe de la Un mic ghid de programare web e destul de cuprinzator pentru un incepator.

atentie, daca te bagi pe programare web nu iti va fi de ajuns un singur limbaj

Programarea pentru sistemul de operare cere sa cunosti sintaxa unui singur limbaj (exemplu C#) si algoritmii de programare si notiunile de baza la nivel de hardware

Programarea pentru web necesita sa stii urmatoarele:

- html si variante (xhtml, xml, html5)

- css (css1, css2, css3)

- javascript (si diferentele pentru fiecare browser in parte, sau sa inveti o librarie de genul jquery)

asta doar pe partea de client side pentru ca vine si partea de server side necesara si anume:

- php (sau asp sau rubi sau un limbaj asemanator)

- mysql (sau alt limbaj sql pentru lucrul cu baze de date cum ar fi mssql, sqlite, oracle etc)

Pe langa asta de asemenea ai nevoie sa inveti algoritmica, notiuni de retelistica, notiuni de baza pe parte de server (htaccess de exemplu ) + alte limbaje similare cum ar fi

- flash cu action script

- java (daca vrei sa integrezi appleturi java in pagini sau aplicatii)

- activex (desi nu mai e la moda mai ales ca vine tare din urma html5 care va inlocui astea)

Deci gandeste-te bine ce alegi... + ca pe web mai ai nevoie sa stii bine si partea de securitate si atac altfel scrii un site si in 2 minute e jos doborat de stii tu cine :D

Link to comment
Share on other sites

php + javascript = combinatia ideala pe web development, ca sa numai zic ca nu sunt foarte foarte grele, precum C++

Sa-i scoata cineva gliderul de la avatar.

On: Python sau PHP?, care sunt avantajele - Forumul Softpedia

Python are multithreading [1], poti programa usor functional si pe sisteme distribuite/clustere, are o gramada de librarii, atat standard cat si facute de comunitate, si e usor sa rescrii parti initial scrise in python ca extensie C pentru CPython. Python are o istorie, si un plan pe termen lung. Dezvoltarea limbajului se face pe baza unor standarde peer-reviewed [2], nu ca in PHP unde programatorii implementeaza ce au chef, cand au chef. Toate astea nu le vezi in PHP.

Ah, ca vezi "scripturi PHP", exista o gramada, mult mai multe decat in Python. 50% scrise cu picioarele, vreo 20% bine intentionate, dar tot cu greseli, 10% facute de programatori care stiu ce fac, dar tot cu greseli, partial din cauza ca PHP te stimuleaza sa faci lucruri gresit. Trage linie si aduna-le.

PS: procentajele sunt scoase din burta dar se apropie de ce am vazut eu in viata reala.

[1] facand abstractie de GIL, care se pare ca in practica simplifica userland-ul, chiar daca se pierde din paralelism.

[2] python.org

In plus, poti scrie librarii/module Python direct in C, tot ceea ce iti trebuie vine deja in pachetul standard (fisiere de definitii), module pe care apoi le poti folosi direct in Python fara nicio problema. De asemenea, cum a zis OriginalCopy, exista o varietate vasta de alte module/librarii pentru Python, imi vine un exemplu foarte bun in minte si anume Psyco, care permite compilarea buclelor/bucatilor de cod pretentioase direct in cod masina, ceea ce poate aduce un spor substantial de performanta, wxPython pentru dezvoltare grafica, PyWin32, ca si extensie pentru Windows (ofer module cu functii, de exemplu, pentru enumerare de procese/librarii incarcate, terminare proese, etc.) si multe altele, care fac din Python de departe un limbaj mai bun ca PHP. Si da, cum a mai zis OriginalCopy, e scris cu cap, e foarte stabil, si ii prevad un viitor insorit.

Conform TIOBE, Py e pe locul 5 si PHP pe 4. PHP invata tot prostul, sunt o groaza de locuri de munca, piata e suprasaturata. Crede-ma, n-aveti chef sa va bateti pe locuri de munca de pana in 1000 RON. In schimb, Python nu e prea cautat (verifica pe site-urile de joburi), e mai mult folosit pentru FLOSS si in interiorul companiilor.

Totusi, zi-ne ce vrei sa faci cu limbajele astea.

Edited by Spock
  • Upvote 1
Link to comment
Share on other sites

Multumesc tuturor pentru sfaturi :)

@Spock nustiu...adica nu am un scop definit, invat din placere (curiozitate).Nustiu sa-ti spun asa, concret, eu consider ca daca inveti ce-ti place n-ai cum sa nu fii silitor (expresie de cacat) si daca faci ceva cu placere devii bun in mod natural, si asta o sa-ti asigure si un loc de munca ok si asa mai departe.

Pe partea de hacking mi se par interesante exploiturile la nivel de server.Adica mi se pare mult mai interesant sa ma chinui cateva zile sa obtin acces la un calculator (ca-n filme :) ) decat sa pornesc Havij, copy, paste si sa astept.

@cmin legat de locurile de munca...sincer, mie locul de munca perfect mi-l imaginez ca fiind un job cu program de o ora, si salariu cat sa imi ajunga de carti, mancare, chitante, pula mea, de-astea, sunt obisnuit fara pretentii mari, si decat sa muncesc mai bine imi investesc timpul invatand (o ard ca un tocilar de-ala prajit grav, da-mi place :)) ) .Deci ideal ar fi un salariu decent si un program cat mai mic :) (si bineinteles ca astea doua sunt direct proportionale cu cunostiintele, si daca cunostintele cresc si salariul ramane constant, inseamna ca scade tipul petrecut la munca, cam asta e ideea :) )

@Birkoff mersi pentru sfaturi :) Si eu care ma gandeam ca programarea web e simpla :)

Edited by Patrunjel
Link to comment
Share on other sites

Pai aici la ce spui tu apare marele avantaj pe care il au programatorii ... homeoffice-ul, freelanceing-ul muncesti cand vrei, cat vrei, cu cine vrei si daca ai ceva rating, experienta si putin noroc faci proiecte de 200-500 chiar 1000 euro bucata .. si te poti duce pana la 3-4 proiecte pe luna. Ideea este sa nu ramai o singura persoana ci sa-ti cauti aliati colegi cu aceleasi inclinatii si idei si rata de succes e mult mai mare in schimb iti scade salariul (se imparte).

Link to comment
Share on other sites

Dac? te intereseaz? exploiturile low-level ?i/sau un job de ni?? (bine pl?tit), bag? tare pe ASM, C (sau C++), OS internals (Windows, *nix). ?i, dac? te plictise?ti, pune pe list? un limbaj de scripting matur, cum este Python (sau Perl... sau Ruby).

Sunt lucruri pe care le ?tiu din ce în ce mai pu?ini tineri, pentru c?... ?i ?sta este un lucru de care po?i profita ;-)

Pe partea de hacking mi se par interesante exploiturile la nivel de server.Adica mi se pare mult mai interesant sa ma chinui cateva zile sa obtin acces la un calculator (ca-n filme :) ) decat sa pornesc Havij, copy, paste si sa astept.

Este extrem de interesant, dar destul de greu. ?i nu-i ca în filme.

Deci:

[*] Gray Hat Python: Python Programming for Hackers and Reverse Engineers (9781593271923): Justin Seitz: Books

[^] Hacking: The Art of Exploitation w/CD (0689145700701): Jon Erickson: Books

[$] Understanding the Linux Kernel, Third Edition (9780596005658): Daniel P. Bovet, Marco Cesati Ph.D.: Books

[%] Rootkits: Subverting the Windows Kernel (9780321294319): Greg Hoglund, Jamie Butler: Books

[*] The Shellcoder's Handbook: Discovering and Exploiting Security Holes (9780470080238): Chris Anley, John Heasman, Felix Lindner, Gerardo Richarte: Books

[&] Writing Security Tools and Exploits (9781597499972): James C. Foster, Vincent T. Liu: Books

Edited by wvw
  • Upvote 1
Link to comment
Share on other sites

16 :) (De ce? )

Singurul lucru legat de salarii pe care il stiu, e ca un game developer cu mai putin de 3 ani experienta (probabil cu facultate terminata, si destul de bazat in ceea ce face) ia, in medie, undeva la 70.000$ /an (programator in C++, pentru testeri, designeri, graficieni, plm, erau alte preturi) Tin minte ca am vazut asta in GameDeveloper (o revista destul de ok).Nu mai tin minte numarul, insa stiu sigur ca era din 2010.

Edited by Patrunjel
Link to comment
Share on other sites

De curiozitate. Cum este salariul mediu ca angajat pe PHP, in comparatie cu salariul mediu pe care il poti obtine cu C, C++ sau Python, Perl ?

Uita-te pe eJobs. Nu se cauta Python. Si Perl e "must know" pentru un network administrator, adica nu se dezvolta apps & games in Perl.

Chiar sa stii ca si assembly mi se pare interesant (urat cu spume, din ce-am vazut pe net, da tot pe-atat de interesant )

Incearca sa eviti ASM. Iti spun din propria experienta ca am lucrat cu un ATTiny2313 de la AVR.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...