Milih bahasa pamrograman munggaran anjeun

Pasti ieu mangrupikeun salah sahiji patarosan anu paling sering sumping kana koropak kuring nalika nyarioskeun ngeunaan program. Upami urang badé ngamimitian rangkay tulisan anu bakal ngamungkinkeun anjeun diajar program sareng masihan deui élmu gratis dina bentuk kontribusi pikeun perangkat lunak gratis / komunitas open source di seluruh dunya, perlu ngajawab dasar ieu upami rada sesah patarosan. Naon bahasa pamrograman anu kuring kedah pelajari?

A sajarah saeutik

Dina raraga ngawitan ngartos sareng milih basa pamrograman, urang mimiti kedah terang sakedik perkawis sajarahna, kagunaan sareng fungsina, sareng kumaha aranjeunna ngabéréskeun kabutuhan anu béda-béda dumasar kana waktos.

Bahasa mesin (tingkat handap)

Umum dikenal salaku papanggihan, mangrupikeun bahasa pamrograman anu tiasa urang hartikeun salaku dialék tina basa anu langkung umum ... Ieu hurung rada rumit tapi kuring bakal dicontokeun ... Urang terang yén basa komputasi universal nyaéta listrik, ieu hartosna yén pamustunganana naon anu dibaca ku komputer 0sy 1nuhun, hayu urang nyauran ieu ebahasa inggris komputer. Dina conto ieu, Spanyol mangrupikeun aturan dasar, tapi sakumaha urang terang, Spanyol anu diucapkeun ku Latinos henteu sami sareng anu diomongkeun di Spanyol, sareng sanaos kitu, Spanyol di Peru henteu sami sareng Spanyol Argentina. Jelas urang sadayana ngagaduhan kecap anu hampir sami (0sy 1s), tapi panggunaan sareng hartina tiasa bénten-bénten sesuai kontéksna.

Ieu kajadian dina tingkat prosésor. Nalika urang nyarioskeun komputasi arsitéktur, (amd64, intel, arm, ...) urang tingal kana dialék éta Spanyol komputer. Ieu kusabab perusahaan anu béda ngartos urutan sareng artina ku cara masing-masing, janten sababaraha aya sababaraha jinis detail sapertos aliran arus, atanapi urutan anu bakal dijaga. 0sy 1s.

Bahasa pamrograman ieu gancang pisan, sabab tiasa dianggo dina tingkat paling handap tina pamrograman, tapi aranjeunna gumantung pisan kana arsitéktur sareng pastina rada rumit pikeun diajar tibatan sésana. Ieu sering meryogikeun dasar konsép anu langkung jembar pikeun ngarobih data sareng ngajalankeun hal-hal anu gunana. Pikeun anu resep kana pidéo, contona nyaéta konsol SEGA, anu ngagunakeun Majelis pikeun program gimna. Jelas dina waktos éta jumlah mémori sakedik dibandingkeun sareng ayeuna, sareng perlu dikuasai basa anu tiasa gancang sareng ngahasilkeun program anu enteng.

Bahasa tingkat luhur

Grup ageung ieu merhatoskeun bahasa-bahasa anu aya saatosna papanggihan. Kabutuhan kéngingkeun kode portabel ngarah munculna sakelompok basa anu disebat disusun. Diantara ieu, anu mimiti mangpaatkeun nyaéta C, anu parantos gaduh kalolobaan program dina tingkat sistem operasi ti 70an.

Basa anu disusun

Hayu urang tingali conto praktis naon anu kuring mairan. Hayu urang tingali program bahasa C anu saderhana anu nyetak hiji garis kode.

Milikna. Christopher Diaz Riveros

Saatos nyusunna kami gaduh ieu:

Desain sorangan: Christopher Díaz Riveros

Tapi ayeuna hayu urang tingali naon anu urang kedah nyerat pikeun ngayakeun hasil anu sami dina kode Majelis:

Milikna. Christopher Diaz Riveros

Ieu tarjamahan tina 3 garis kode kami tina simple.c, file na simple.s diciptakeun ngagunakeun paréntah gcc -S simple.c sareng éta anu bakal dipikaharti ku prosésor urang dina dialék papanggihan. Jelas dina raraga nyiptakeun laksana anu diwangun ku 0sy 1s file kedah diolah simple.s sareng sambungkeunna sareng perpustakaan anu dibagi tina sistem kami. Hal ieu dilakukeun nganggo a ngarakit (as) jeung konektor (ld).

Bahasa anu disusun nyayogikeun kaunggulan anu hadé tibatan anu tingkat handap, nyaéta dibabawa. Portabilitas nganteurkeun kode anu tiasa dilaksanakeun dina prosesor anu béda-béda tanpa kedah ngahasilkeun kode khusus pikeun masing-masing arsitéktur. Kauntungan sanés anu jelas nyaéta kesederhanaan anu dianggo nalika maca sareng nyerat kode. Diantara karugian utama na urang gaduh pajeulitna tinggi, sabab dibandingkeun sareng jinis bahasa salajengna anu bakal urang tingali, kabébasan anu ditawarkeun C tiasa ngarugikeun upami anjeun henteu terang kumaha carana ngendalikeun, éta pasti sapertos nganteurkeun bedil, éta tiasa kajantenan yén dina kurangna pangalaman jalma tungtungna némbak suku na nyalira dina upaya ngabersihan bedil.

Bahasa diinterpretasi

Dina grup ieu kami ngagaduhan ragam basa, diantara anu paling penting kami ngagaduhan Python, Ruby, Javascript, PHP, sareng sajabana ... Gagasan dasar tina basa-basa ieu nyaéta nyayogikeun cara gancang pikeun nyieun sareng ngaéksekusi program , ieu kusabab seueur prosés sesah dilakukeun dina juru, sareng pamrograman logika nyaéta anu dilaksanakeun dina kode. Hayu urang tingali conto anu sami di luhur tapi waktos ieu ditulis dina Python:

Milikna. Christopher Diaz Riveros

Diantara hal-hal anu paling luar biasa urang tiasa ningal yén baris kahiji tanggung jawab nelepon juru (program anu bakal ngajalankeun aplikasi kami) sareng kode anu langkung saéna langkung "saderhana" dibanding versi na di C, kumargi sadaya padamelan beurat dilakukeun dina juru.

Milikna. Christopher Diaz Riveros

Bahasa anu diinterpretasi nyayogikeun pangembang sareng lapisan kaamanan anu langkung ageung, sabab éta ngagaduhan kontrol kaamanan anu langkung ketat (AWAS yén éta henteu sampurna, sabab anu pangsaéna tiasa ngalakukeun kasalahan) sareng urang henteu deui ngalaman résiko némbak senjata tanpa sadar éta, ti saprak cobaan kahiji, juru bakal naékkeun peringatan sareng pelaksanaanana bakal dibatalkeun. Kerugian utama janten kabuktosan nalika ngajalankeun program, sabab éta langkung laun tibatan réncang binér na, ieu persis kusabab seueur prosés anu tiasa mastikeun yén kode na tiasa dianggo. Upami program henteu meryogikeun tenggat waktos anu pondok, bédana henteu tiasa diperhatoskeun, tapi upami urang nyarioskeun rébuan atanapi jutaan data per detik, bédana janten éksponénsial tiasa diperhatoskeun dina basa anu disusun.

Ngetik

Ieu ciri basa pamrograman, ieu tiasa niatna lemah diketik. Kuring badé ngantepkeun topik ieu pikeun pos anu sanés, sabab perlu sareng panasaran ngartos kumaha ingetan disimpen dina program, tapi pikeun ayeuna urang ngan ukur kedah ngabédakeun: Bahasa anu diketik anu kuat nyaéta anu peryogi terang jinisna data anu badé dianggo dina variabel atanapi konstanta, sedengkeun lemah jenis tiasa ngalakukeun konvérsi kitu implisit sareng sadayana bakal gumantung kana hirarki konvérsi dituturkeun ku basa. (upami teu kahartos ayeuna, henteu masalah, kami bakal ngantepkeun engké)

Paradigma

Saperti sagala rupa di dunya GNU / Linux, basa pamrograman dumasar kana paradigma, sareng komunitas dihasilkeun di sakurilingna. Misalna urang gaduh Yayasan Python o inten beureum o PHP o Bash (dina hal ieu komunitas GNU). Naon anu kuring hoyong terang nyaéta ieu kuring henteu tiasa nganyatakeun seueur pro sareng kontra anu masing-masing gaduh, tapi kuring tiasa ngawartosan anjeun yén dimana aya bahasa pamrograman gratis, aya komunitas pikeun diajar sareng ilubiung. Peryogi disebatkeun yén seueur upami henteu sadayana juru basa ditulis dina basa C, atanapi sababaraha turunan anu caket, sareng kamekaranana biasana dilakukeun ku sakumpulan masarakat anu langkung alit, anu tanggel walerna nyandak kaputusan anu bakal mangaruhan sadaya pangguna basa. Institusi bahkan tiasa dibentuk pikeun mastikeun pamekaran basa anu leres, sapertos kasus C.

Anu kedah dipilih?

Kami parantos nyarios cukup ngeunaan basa sareng kuring masih teu ngajawab anu paling penting 😛. Tapi kuring miharep yén sanggeus marios tulisan leutik ieu henteu perlu kuring nyaritakeun bahasa mana anu dipilih, ku ku inpormasi ieu anjeun sanggup milarian anu ngahasilkeun rasa panasaran. Jelas upami anjeun hoyong diajar program dina basa papanggihan éta bakal nyandak waktos lami sateuacan anjeun ngagaduhan anu fungsina, waktos na bakal ngirangan pisan upami anjeun milih basa anu disusun, dimana salian ti gaduh portabilitas dina * sistem NIX, anjeun bakal tiasa diajar inpormasi ngeunaan operasi sistem anu sami, kumargi kontak sareng C atanapi turunan ngajantenkeun anjeun dina hiji cara atanapi cara diajar kumaha sistem operasi tiasa dianggo sacara umum. Akhirna, upami anjeun hoyong diajar anu hampang sareng anu ngamungkinkeun anjeun seueur pisan ngalakukeun tanpa kedah ngartos pisan, basa anu diinterpretasi mangrupikeun cara anu pikaresepeun pikeun diajar sareng ngembangkeun katerampilan program.

Diajar ku anu pikaresepeun

Ieu mangrupikeun naséhat anu pangsaéna anu tiasa kuring pasihan, upami anjeun hoyong diajar hiji hal, anjeun kedah milarian anu pikaresepeun heula, upami éta bakal hésé pikeun nungkulan kurva diajar anu khas pikeun basa pamrograman. Anggap anjeun ngatur sistem, dina éta hal anjeun panginten kedah diajar basa anu idéal pikeun scripting (diinterpretasi), dina ieu urang ngagaduhan Perl, Python, Bash, jst sareng sajabana ... Sugan anjeun kaulinan, aya seueur proyek dina bahasa sapertos Javascript, Lua, C ++, gumantung kana jinis kaulinan anu anjeun pikahoyong maén. Sugan anjeun hoyong ngadamel alat dina tingkat sistem, sabab urang ngagaduhan C, Python, Perl, sabab anjeun bakal ningali sababaraha anu diulang, sareng ieu kusabab seueur bahasa tiasa dianggo pikeun seueur tugas, éta sababna definisi na tina basa serbaguna dina kalolobaan ieu.

Mimitian proyek

Ku ieu kuring henteu hartosna yén anjeun nyiptakeun kompiler ieu, atanapi bahkan basa pemrograman ieu, hiji proyék tiasa ngalereskeun bug alit dina program paporit anjeun, bahkan panginten ngabantosan dokuméntasi. Kunaon dokuméntasi? sabab teu aya cara anu langkung saé pikeun diajar kumaha parangkat lunak éta jalan tibatan ku maca sareng ngabantosan nyerat dokuméntasi na, sabab saatos kode sumberna, éta mangrupikeun sumber inpormasi anu paling hébat anu anjeun bakal mendakan ngeunaan program éta. Dina momen anu sanés kami bakal ningali kumaha maca kode tina hiji proyek sareng ngartos fungsi sareng nilai anu aranjeunna peroleh.

Hatur nuhun pisan parantos sumping ka dieu sareng sapertos biasa, koméntar anjeun ngabantosan kuring pikeun ngahasilkeun kontén anu langkung saé sareng terang dimana bade difokuskeun, Salam.


Eusi tulisan taat kana prinsip urang tina étika éditorial. Pikeun ngalaporkeun kasalahan klik di dieu.

37 koméntar, tinggalkeun anjeun

Ninggalkeun koméntar anjeun

email alamat anjeun moal diterbitkeun. Widang diperlukeun téh ditandaan ku *

*

*

  1. Jawab data: Miguel Ángel Gatón
  2. Tujuan tina data: Kontrol SPAM, manajemén koméntar.
  3. Legitimasi: idin anjeun
  4. Komunikasi data: Data moal dikomunikasikan ka pihak katilu kacuali ku kawajiban hukum.
  5. Panyimpenan data: Basis data anu diayakeun ku Occentus Networks (EU)
  6. Hak: Iraha waé anjeun tiasa ngawatesan, cageur sareng mupus inpormasi anjeun.

  1.   henteu aya namina cenahna

    Sakumaha biasana 10 !!!!!! Hatur nuhun pikeun tulisan anjeun. Salam sareng anu sanesna !!!!

    1.    ChrisADR cenahna

      Hatur nuhun pisan 🙂 ajak kuring pikeun tetep nyerat. Surak

  2.   Rubén cenahna

    Jigana kasalahan pikeun nanyakeun patarosan "bahasa mana anu kedah dipilih?" Kuring salah sahiji jalma anu nganggap yén basa pangsaeutikna, anu penting nyaéta diajar dasar-dasar program sareng "mikir sacara komputasi." Mutuskeun sintaksis, ngetikna, upami éta ngadukung OOP, kagunaanna, jst. Jigana éta mangrupikeun hal anu bakal datang sacara alami dina pangajaran sareng saurna, unggal programmer terang langkung ti 1, 2 sareng 3 basa ... sareng berkat konsép pamrograman (sareng sanés sintaksis) anu dipibanda, anjeunna sanggup pikeun program dina basa anu anjeun henteu acan alami.
    Nanging, pikeun anu dimimiti, kuring mikir yén basa anu saé tiasa janten Python pikeun kesederhanaanna, tapi anu paling penting, maju sakedik, diajar algoritma sareng terang kumaha kaayaan "jero".

    Salam ChrisADR

    1.    ChrisADR cenahna

      Hai Rubén, hatur nuhun parantos ngabagi
      Aya hal anu kuring parantos pelajari salami waktos dina dunya program, sareng éta "anjeunna anu nutupan seueur henteu meres" sareng ku kalimat anu terkenal ieu hartosna kuring sababaraha kali, sareng utamina anu paling sumanget, mutuskeun pikeun cobian sakedik, sareng giliran gancang pisan dina hal diajar kode. Kuring yakin, sareng éta mangrupikeun pendapat pribadi kuring, yén pamekar anu saé kedah terang sareng ngawasa basa panyusun sareng basa penerjemah, salian ti ngagaduhan anggepan sababaraha dialék Majelis.
      Alesanna nyaéta kieu, prototipe kudu salawasna aya anu saderhana sareng gancang, gampang dihasilkeun sareng umumna nunjukkeun hasilna, tapi upami éta henteu cekap, kedah aya "rencana B" anu kedah ditampi nalika juru parantos sumping kana wates na.
      Nyaho hiji dialék Majelis sanés ngan ukur masihan anjeun kapercayaan tapi ogé ngajarkeun anjeun mikir "komputasi", tapi écés bagian ieu anu paling rumit sadaya, sareng éta pasti hal anu henteu sadayana didamel ku programer.
      Tapi deui kana topikna, sabab ideu utama anu kuring pikirkeun nyaéta, "milih hiji bahasa sareng latihan LOBA", sabab saleresna hiji-hijina cara pikeun kéngingkeun program nyaéta maca sareng nyerat kode, sareng ieu mangrupikeun hal anu kuring parantos diajar tina komunitas kernel Nalika anjeun nyimpen sintaksis anu sami pikeun waktos anu lami, anjeun lirén ningali bentukna sareng mimitian hariwang ngeunaan LATAR BELAKANG. Gagasan milih basa atanapi sintaksis ti mimiti nyaéta yén urang tiasa ngabiasakeun maca sareng nyeratna sedemikian rupa sehingga seseorang tiasa ngamimitian maca Hartosna program tibatan sintaksis program.
      Ieu alesan utama pikeun tulisan ieu, yén masing-masing milih basana sahingga dina ieu urang tiasa ngajelaskeun konsépna, panginten ku ieu mamangna parantos diklarifikasi
      Salam sareng hatur nuhun pikeun ngabagi.

  3.   kontribre deibis cenahna

    hatur nuhun kanggo postingan éta saé.

    Wasalam

    1.    ChrisADR cenahna

      Halo Deibis, hatur nuhun parantos ngabagi 🙂 Salam

  4.   JorgeFS cenahna

    Naséhat kuring: nanaon salain ti PHP. 20 taun ka pengker PHP ngaraoskeun hartos tangtu ayana kusabab tingkat kompleksitas anu luhur nyaéta program Wéb dina basa anu sanés nganggo CGI. Tapi dinten ayeuna aya seueur jinis Kerangka kerja pikeun ngajantenkeun pamekaran Wéb langkung pikaresepeun dina basa anu kuat, sapertos Django pikeun Python, Spring for Java atanapi Rel pikeun Ruby. Sanaos PHP ayeuna nembongan dina sadaya grafik popularitas basa, numutkeun kuring PHP bakal kaleungitan patalina sareng waktos.
    Kuring nyarankeun pisan mimitian ku C \ C ++ pikeun ngartos kanyataan pamrograman, sanaos kurva diajar lungkawing.
    Salam.

    1.    ChrisADR cenahna

      Hai Jorge, hatur nuhun parantos ngabagi, ngan émut ka Laravel, anu mangrupikeun Rangka Kerja anu cukup padet anu kuring sacara pribadi henteu pernah resep ka Spring atanapi Java pikeun pamekaran wéb, kuring raoseun rada rumit, tapi sigana éta mangrupikeun bagian tina sabaraha waktos aranjeunna parantos aya. pasar, dina waktos aranjeunna naratas sareng pastina ayeuna alternatif modéren (Js, Python sareng Ruby) parantos tiasa ningkatkeun cara nampilkeun kode anu tiasa dibaca sareng tiasa dirobih tanpa seueur padamelan.
      Kuring ogé condong kana jalma anu diajar C / C ++ dina sababaraha waktos dina kahirupan aranjeunna, kuring ngamimitian sareng Java, tapi sigana éta kaindahan program, anjeun tiasa mimitian ku naon anu anjeun pikahoyong, salami anjeun konsisten éta bakal janten ngabantosan 🙂 Cheers

    2.    Rubén cenahna

      Abdi henteu tiasa satuju deui sareng anjeun. Kuring ngamimitian mangtaun-taun ka pengker sareng C sareng VB, pikeun teras fokus kana PHP sareng JS (kumargi kuring fokus kana pamekaran wéb) sareng engké nalika diajar kuring diajar C / C ++ sareng Java utamina.
      PHP ngagaduhan sababaraha kaunggulan anu kuring henteu tiasa daptar dina pesen ieu. PHP7 gancang (langkung gancang tibatan Python ... tanpa nganggo hhvm, béda cache, kerangka sapertos Phalcon atanapi bytecode dina kasus Python), éta ngagaduhan seueur perpustakaan sareng kerangka, éta ngagaduhan seueur fungsi anu langsung dilaksanakeun pikeun dianggo aranjeunna iraha waé, Sintaksis C na sapertos ngajantenkeun gampang pisan hijrah kana basa anu sanés.
      30% situs wéb di dunya didamel nganggo WordPress (PHP) sareng sigana henteu robih, Wikipedia nganggo éta, Facebook (kalayan hhvm) sareng sajumlah ageung situs, totalna, 80%.

      Abdi ngingetan yén Ruby on Rails sapertos Django yuswa 12 taun! Kuota naon anu aranjeunna kahontal dina waktos ieu? Sareng tangtosna, urang nyarioskeun ngeunaan 2 kerangka anu sacara praktis ngagaduhan monopoli sareng teu aya jinis fragméntasi. Naon alternatif serius anu kuring gaduh? Nyarios yén PHP badé kaleungitan hubunganana raoseun pisan.

      Ayeuna yén Python aya dina modeu kusabab éta ngagaduhan kurva diajar gancang, éta mangrupikeun basa saderhana sareng aranjeunna ngajualna ka anjeun salaku "janten programmer dina 20 jam sareng Python sareng damel", kalayan dukungan perusahaan sapertos Google sareng éta ayeuna aya mode Milarian bahasa anyar (Go, Dart….) pikeun ngabédakeun diri dina CV (atanapi salaku lahirna 50 kerangka pikeun Javascript!), henteu hartosna yén hal-hal robih.

      Ruby mangrupikeun bahasa anu narik pisan, tapi éta rusak pisan ku pola anu mantep sahingga kuring hésé yakin yén éta janten langkung populér tibatan PHP. Tangtosna, Ruby panginten mangrupikeun bahasa anu paling parah pikeun ngamimitian program sadayana.
      Kuring ngarti yén anjeun ngawartosan yén Python tiasa pikaresepeun program, bahkan Ruby kalayan henteu terbatasna keunikan ... tapi Spring sareng Java? Leres? Java tiasa seueur hal ... tapi langkung pikaresepeun tibatan Python sareng PHP?

      Éta sadayana saé pisan pikeun ngamimitian ku Python, tapi ku anjeun ngan ukur tetep sareng Python, anjeun ngagaduhan résiko seueur perusahaan bakal yakin yén tingkat pamrograman anjeun henteu "jero" (sanaos anjeun saé pisan dina Python). Ieu kusabab anjeun bersaing sareng basa "multiguna" sanés sapertos C ++ atanapi Java. Anjeun tiasa program di Python tanpa terang bédana naon anu dimaksud pointer, operasi bitwise, kumaha jalanna tukang ngumpulkeun sampah sareng anu sanésna panjang.
      Python panginten paling henteu sami sareng "pemrograman klasik" anu aya sareng tiasa ditingali salaku "bahasa barudak" (kéngingkeun métafora), sareng anu dina gilirannana mangrupikeun kaunggulan sareng karugian.

      1.    JorgeFS cenahna

        "Python panginten paling henteu sami sareng 'pemrograman klasik' anu aya sareng tiasa ditingali salaku 'bahasa kanggo murangkalih' (ngartos kiasan), sareng anu dina gilirannana mangrupikeun kaunggulan sareng karugian." LOL, ieu mangrupikeun hal paling lucu anu kuring ningali nyarios ngeunaan Python. Naha anjeun kantos leres-leres diajar Python?
        Sabaraha lami na di dunya di luar PHP?
        Sobat PHP lahir maot. PHP (\ d +) ngagaduhan seueur beban kusabab desain awal anu goréng pisan sareng pikeun ngajaga komunitas pangguna éta terus nyeret sadaya kasalahan desain awal anu lengkep. PHP dilahirkeun tanpa modularitas, kalayan seueur fungsionalitas gaya C (anu sanésna, kuring henteu terang ti mana anjeun kéngingkeun sabab sintaksisna sami sareng C tiasa gampang diangkut kana basa anu sanés). Basa tingkat luhur, sapertos anu kedah dilakukeun ku PHP, ngagaduhan hal anu goréng sapertos jalur fungsi ieu anu didaptarkeun dina situs resmina http://php.net/manual/en/indexes.functions.phpIeu kusabab lahir tanpa modularitas, janten sadayana kotor dicampur sareng henteu nganggo ruang nami.
        Ieu salembar kode PHP:
        "Stream_notification_callback");
        stream_context_set_params ($ ctx, $ params);
        var_dump (stream_context_get_params ($ ctx));
        ?>
        dina sababaraha waktos naha tiasa ditangtoskeun ti mana sadayana fungsionalitas 'aliran' ieu diimpor? NO, anjeun tiasa nyarios yén éta fungsi buildin, tapi teras ékosistem sadayana fungsi buildin?. Janten, aya seueur sampah dina kode PHP, yén upami anjeun henteu tiasa ngartos kompleksitas sareng kagunaan desain goréng sapertos kitu, hampura kuring tapi masih seueur dunya anu tiasa ditingali.
        Wordpress mangrupikeun solusi perangkat lunak anu saé, tapi ieu henteu hartosna yén éta ngagaduhan dasar téknologi anu saé. Anjeun tiasa palu ku batu sareng ngusir kuku ku waos anjeun, sareng anjeun masih tiasa ngerjakeun tukang kayu anu hadé, tapi tangtosna, ku seueur damel langkung seueur tibatan tukang kayu anu nganggo palu anu saé.

        Di sisi anu sanésna: "janten programmer dina 20 jam sareng Python sareng damel", kuring henteu kantos ningali kabodoan sapertos kitu. Anjeun tiasa nyiptakeun halaman wéb dina PHP dina waktos 20 jam sareng tanpa gaduh kanyaho ngeunaan kumaha cara damel program Wéb, atanapi program sorangan. Nyatana, ieu naha PHP kasohor pisan, sabab anu anyar asup kana dunya ieu ningali PHP salaku titik pangwangunan anu gancang (naha sababna kode PHP nyerep pisan).
        Ngeunaan kakurangan Python, hiji-hijina anu suksés nyaéta damel sareng petunjuk, tapi kumaha waé ogé, Python mangrupikeun basa tingkat luhur (sapertos Java) sareng éta henteu ngamangpaatkeunana dina tingkat sintaksis; tapi operasi bitwise, serius?, hartosna ieu x << y, x >> y: https://wiki.python.org/moin/BitwiseOperators. Kuring sacara serius ngartos tukang ngumpulkeun sampah langkung seueur: https://docs.python.org/3/library/gc.html.
        Sela PHP:
        -PHP ngagaduhan desain program (OOP) anu berorientasi pisan.
        -Anjeun teu tiasa nga-overload operator.
        -Kagét, function overloading dina PHP sanés anu anjeun alami ngarepkeun tina konsép ieu.
        … .. sareng kuring nembé bosen hehe.
        Salam.

        1.    Rubén cenahna

          Kuring nempatkeun kana tanda kurung "ngartos kiasan" (ku ngabandingkeun Python sareng C ++ / Java dina lingkungan padamelan anu sami), jelas yén anjeun henteu ngartos éta. Kuring tiasa ngawartosan anjeun yén programer C ++ tiasa diajar Python ku cara anu langkung gancang tibatan programer Python tiasa diajar C ++, sapertos teu heran yén gaji rata-rata programmer C / C ++ langkung luhur tibatan Python hiji.
          Abdi tiasa ngajelaskeun ka anjeun ku conto anu sanés, bahkan ku gambar! tapi sigana anjeun ngan ukur museurkeun kana dekontékstualisasi sareng nyindiran naon anu kuring nempatkeun.

          Kuring henteu kantos nyarios yén PHP mangrupikeun bahasa anu pangsaéna di dunya atanapi yén éta ngagaduhan desain anu conto, kuring henteu terang ti mana anjeun kéngingkeun éta. Kuring mikir yén sateuacan nangtoskeun élmu batur anjeun kedah ningkatkeun pamahaman bacaan anjeun. Naon anu leres (sareng ceunah dina pesen kuring) nyaéta mekarkeun kalayan éta tangkas pisan, sajaba ti ékosistem kerangka, perpustakaan sareng utilitas anu tiasa anjeun mendakan.
          Ogé, naon jinis perbandingan anu urang ngadamel? Python salaku basa serbaguna atanapi pikeun wéb? Upami kitu, naha urang ngabandingkeun kana PHP? PHP ngagaduhan lapangan khusus, sareng éta aya dina bidang anu Python (kalayan pangsa 0.2%, anu henteu robih sataun ieu) pales gigir PHP.
          Ayeuna hayu urang tingali tren PHP; ti 82,4% dina Januari 2017 dugi ka 83.1% dina Januari 2018: https://w3techs.com/technologies/history_overview/programming_language

          Naha Python badé ngaleupaskeun PHP? Dina taun sabaraha? dina lima taun naon? dasawarsa?
          Python bakal tiasa dianggo dina seueur tugas sanés, komo janten langkung seueur dianggo tibatan PHP, tapi Python salaku basa pangembangan wéb mangrupikeun taun-taun entep ti saprak aya hubunganana, 0.2% stagnasi ngalawan 83.1% (kalayan naék taun ieu) .

          Anjeun ogé nganggap enteng ku nyarios yén kuring henteu ngiringan di luar PHP, nunjukkeun yén kuring ngan ukur terang PHP, padahal pastina kuring parantos lami teu program dina PHP haha. Ayeuna, kusabab damel, kuring seuseueurna program di Java.
          Atanapi kuring parantos nyarios yén ku program dina Python anjeun henteu ngagaduhan kanyaho ngeunaan bitwise, tukang ngumpulkeun sampah atanapi panunjuk. Sabalikna, anjeun tiasa program dina Python tanpa terang naon ieu. Nanging, kuring yakin pisan yén éta bakal janten masalah pikeun programer C ++. Sareng jelas kuring ngadamel perbandingan nalika Python lebet kana bidang "bahasa serbaguna", sanés kanggo program wéb.

          Janten programmer dina 20 jam mangrupikeun guyonan, kaleuleuwihi. Nanging, kuring tiasa nempatkeun anjeun didieu sababaraha tautan ngeunaan platform pendidikan online sareng kursus anu ngajanjikeun hal anu sami. Entong nyalahkeun kuring, nyalahkeun éta di pasar kerja anu mikir janten "programmer ahli" mangrupikeun masalah anu kedah kursus 20 jam. Sareng Python mangrupikeun salah sahiji bahasa modis sareng, sareng kurva diajar panggancangna ... bodas sareng dina botol.

          Kuring keukeuh, anjeun dumasar pesen anjeun nyarios kumaha goréngna PHP (anu dina bagian anu tangtu, kuring satuju). Éta sigana mah leres, kecuali pesen kuring sanés perkawis éta, tapi naha PHP bakal teras dianggo sareng éta moal ngaleungit énjing sakumaha anu anjeun pikirkeun.

          salam

  5.   teu aya ogé cenahna

    C -> Go -> (Lisp | Haskell | Java | naon)

    1.    ChrisADR cenahna

      Nembe pamiarsa ngintun kuring ka email kuring rekomendasi buku Go, pastina basa pikeun diperhatoskeun ka hareupna sareng anu sigana bakal aya tulisan di dieu 🙂 Seueur grafik kanggo dibagi

  6.   mvr1981 cenahna

    Nya ... sareng naon atuh program? Naha diajar basa pamrograman ayeuna ku programer anu saé sareng pangalaman sapertos anu parantos aya? Masalah naon anu kuring tiasa béréskeun anu sanés teu acan direngsekeun ku cara anu langkung éfisién?… Singketna: Kumaha aslina janten programmer ayeuna? Kumaha kuring tiasa kolaborasi sareng anu sanésna tanpa ditajong atanapi dikaluarkeun ku kurangna pengetahuan sareng pangalaman kuring?

    1.    ChrisADR cenahna

      Halo mvr1981, patarosan anu leres pisan 🙂 kami badé gulung deui ti anu terakhir dugi ka anu munggaran.

      Kumaha kuring tiasa kolaborasi sareng anu sanésna tanpa ditajong atanapi dikaluarkeun ku kurangna pengetahuan sareng pangalaman kuring?

      Upami anjeun henteu kersa ditendang, léngkah munggaran nyaéta diajar prosésna, anjeun moal tiasa ngabayangkeun jumlah jalma anu datang kana proyek anu hoyong ngalakukeun hal-hal sacara éksklusif sakumaha karepna, masarakat hoyong adaptasi sareng kahoyongna. Éta pasti sapertos kuring sumping ka bumi anjeun sareng ngadamel kacau sareng henteu ngahargaan kulawarga anjeun (éta anu raoseun sababaraha kali). Upami anjeun hoyong nyegah ieu kajantenan, perhatoskeun pisan pedoman pikeun nyumbang, sarana pikeun ngalaksanakeunana, sareng henteu ngirimkeun anu teu lengkep, upami anjeun peryogi bantosan sok aya sarana komunikasi, tapi padamelan anu henteu hadé dilakukeun sigana nyiptakeun kesan munggaran anu goréng. Upami anjeun henteu hoyong ngaluarkeun diri anjeun terserah anjeun, anjeun tiasa ningali anjeunna salaku programmer anu teu aya gunana anu henteu terang naon anu anjeunna lakukeun atanapi anu dina jalanna janten programmer anu saé, sareng éta ngan ukur kajadian sareng latihan sareng pasti kalayan bug sapanjang jalan. Kuring pernah salah sababaraha kali sateuacan kuring ngagaduhan status pamekar kuring di Gentoo, sareng éta henteu ngahambat kuring nyobian sanaos "waktos goréng" 🙂.

      Kumaha aslina janten programmer ayeuna?

      -Éta sanés ngeunaan kaaslian, éta kabutuhan ayeuna, ngan ukur pikirkeun hal-hal ieu, 20 atanapi 30 taun ka pengker, ngetik éta kabutuhan, seueur padamelan disimpulkeun anu anjeun terang atanapi sahenteuna tiasa ngalaksanakeunana. Dinten ayeuna terang Kantor peryogi, ampir teu aya padamelan anu henteu nempatkeun anjeun payuneun dokumén Kantor. Isukan, gancang pisan, program bakal diperyogikeun. Sareng ieu ogé lumaku tina sudut pandang pribadi, terang naon anu kajantenan dina program anu anjeun percantenkeun hal-hal anu penting sapertos artos, kaséhatan, kulawarga, mangrupikeun hal anu logis pikeun kuring, sabab anjeun ngan ukur tiasa terang batesanana upami anjeun terang kumaha aranjeunna damel sareng kanggo terang éta, anjeun kedah terang kumaha program.

      Masalah naon anu kuring tiasa béréskeun anu sanés teu acan direngsekeun ku cara anu langkung éfisién?

      -Anjeun bakal kaget ku jumlah Fitur anu diperyogikeun dinten ayeuna, sareng nyatana anu leres, henteu masalah yén aya programer anu pangsaéna di dunya di masarakat, padamelanna bakal langkung ageung tibatan kapasitas damel para pangembang, kuring tiasa mastikeun ieu di Gentoo, aya nyaéta jalma anu ngembangkeun kernel, jalma anu damel pikeun Google, Sony, jst sareng sajabana ... hiji-hijina hal anu urang sadayana sami-sami nyaéta henteu saurang ogé ngagaduhan seueur waktos sakumaha aranjeunna hoyong tiasa ngalakukeun sadayana padamelan anu ditangguhkeun.

      Naha diajar basa pamrograman ayeuna ku programer anu saé sareng pangalaman sapertos anu parantos aya?

      -Ieu diwaler dina patarosan anu kadua 😉 Tapi ayeuna kuring tiasa nambihan yén generasi kedah tiasa ngadukung padamelan anu parantos dikembangkeun, ku ieu hartosna éta pangembang "berpengalaman" laun bakal ngaleungit sareng diperyogikeun pikeun " ngora »Pamekar tanggung jawab sareng ngabantosan tetep siklusna hirup, komunitas anu henteu ngagaduhan jalmi ngora sareng teu pangalaman ngalaman gampang ngaleungit kana waktos, tepatna sabab moal aya kasempetan pikeun ngirimkeun élmu.

      Sareng naon anu kuring jadwalkeun?

      -Ieu mangrupikeun hal anu paling hese pikeun dijawab, tapi kuring bakal nyobian masihan anjeun conto poco Kuring nembe mimiti kakurangan tina masalah sareng GNOME 24 sareng hubunganana sareng Wayland anu nyegah program sapertos Shutter tina nyandak screenshot. Ieu masalah pikeun kuring sabab nalika kuring nyerat tulisan kuring, kuring kedah nunjukkeun naon anu kuring carioskeun 🙂 milarian sakedik kuring sumping kana aplikasi Screenshot GNOME, rada "minimalis" sahenteuna. Diantara fungsina, aya salah sahiji nyandak wilayah layar, tapi kumaha upami kuring henteu nyandak poto ogé? Nya, kuring kedah angkat sareng ngalebetkeun deui program, anu matak pikaboseneun, tombol anu nyatakeun "Candak deui" atanapi anu sapertos kitu ngamungkinkeun kuring nyandak néwak anyar tanpa kedah kaluar sareng lebet deui bakal ngabantosan kuring. Éta leutik Proyék pamrograman, kuring henteu kantos ngprogram naon-naon dina kerangka GNOME janten jelas kuring kedah seueur diajar sateuacan ngirim "tambalan" ku tombol anyar, tapi sapanjang jalan kuring diajar program sareng mudah-mudahan ieu hal nu husus éta bakal ngabantosan langkung ti hiji nalika sayogi pikeun sadayana.

      Ieu mangrupikeun conto, éta mangrupikeun hal anu saderhana sareng pastina aya programmer "ahli" sanés anu parantos parantos parantos dilakukeun, tapi ku sabab kurangna waktos, éta henteu sapertos kitu, ayeuna kuring anu gaduh kamungkinan ngalakukeun éta, tanpa leres-leres janten programmer super.

      Ayeuna anjeun ngan ukur néang naon-naon anu bakal ngajantenkeun hirup anjeun "saderhana" dina parangkat lunak anu sering dianggo, kaéndahan éta nyaéta lamun urang nuturkeun naséhat kuring bakal masihan anjeun dina tulisan-tulisan ieu, basa na henteu masalah, sabab Anjeun bakal terang dasar-dasarna pikeun ngamimitian ngartos kode anu anjeun baca sareng ngarobihna pikeun ngalakukeun naon anu anjeun pikahoyong, éta mangrupikeun perasaan anu khusus pisan 🙂

      Salam sareng hatur nuhun deui

      1.    teu aya ogé cenahna

        Kuring pikir éta ngan sakali kuring muka program gnome captures, hal anu paling gampang nyaéta buka jalan pintas keyboard sareng masihan tilu kombinasi cetak pikeun néwak sadaya alt-print pikeun moto jandéla aktif sareng super-print pikeun milih tina tangkepan daérah, jalan pintasna sayogi, éta ngan saukur masalah masihan aranjeunna

        1.    ChrisADR cenahna

          Kusabab kitu kami masihan anjeun conto 🙂 sabab hal-hal leutik sapertos tombol éta nyaéta program, aranjeunna tiasa ngabantosan sabab tiasa ditingali ku anu sanés, tapi aranjeunna pasti minuhan tujuan utama, ngabantosan diajar program, sareng masihan fitur-fitur anyar, Saatos tombol éta seueur hal anu tiasa ngamimitian, sapertos manajemén sési, atanapi layar pratinjau pikeun sadaya poto anu dicandak, atanapi singgetna, seueur hal anu tiasa dilakukeun. Ideu na nyaéta anjeun mendakan hal anu ngajantenkeun anjeun luncat panasaran, naon waé parangkat lunak anu dijalankeun dina sistem anjeun panginten peryogi paningkatan atanapi fitur-fitur anyar anu kusabab kurangna waktos atanapi tanaga teu acan dilaksanakeun 🙂

      2.    mvr1981 cenahna

        Hatur nuhun ka anjeun. waleran anu saé pisan.

    2.    tagihan cenahna

      Nya, pikeun jalma anu sanés janten propésional di lapangan, perlu ditingali dina lingkungan dimana aranjeunna damel, boh pikeun tugas administrasi sareng arahan éta tiasa pikaresepeun terang, contona, Python / Basic sareng terang kumaha pikeun program makro dina bungkus kantor sapertos LibreOffice atanapi MS Office. Aya waktos nalika ieu tiasa ngahémat seueur jam damel kanggo anjeun atanapi pagawé anu sanés anu ngurilingan anjeun sareng nyungkeun aranjeunna ngalaksanakeun tugas anu teras-terasan, anjeun tiasa ngadamel dasbor pikeun gancang ngitung babandingan utama perusahaan saatos nyambungkeun kana database éta sareng ngalakukeun sababaraha pamundut SQL.
      Siga sadayana, upami anjeun terang pakakas dina ujung jari anjeun anjeun tiasa mikirkeun kumaha carana ngamaksimalkeun éta. Henteu sadayana diwangun.

  7.   Marcelo cenahna

    Guillermo, sapuk pisan sareng anjeun, "Henteu sadayana diciptakeun" sareng anu ditimukeun tiasa dirobih. Anjeun kedah ngamanfaatkeun alat-alatna sareng nganggo alat anu paling cocog sareng kabutuhan anjeun.

  8.   Ricardo cenahna

    Pikeun pamrograman, basa anu mimiti diajar nyaéta basa Inggris, teras basa anu paling pikaresepeun pikeun aranjeunna sareng sigana paling saé pikeun aranjeunna.

    1.    ChrisADR cenahna

      Kuring henteu nyerat éta, tapi leres 🙂 terang basa Inggris seueur ngabantosan kumargi seueur basa aya tulisanana, tapi ogé kusabab seueur inpormasi anu mimiti ogé también Hatur nuhun pisan pikeun anjeun ngabagi

  9.   Rubén salgado cenahna

    Tulisan anu saé, salian ti motivasi.

    1.    ChrisADR cenahna

      Sae pisan, hatur nuhun pisan 🙂 Salam

  10.   Gonzalo Martinez cenahna

    Programming nyaéta terang kumaha alesan sareng narjamahkeun alesan éta kana instruksi.

    Dua klarifikasi ngeunaan tulisan:

    1) Dumasar kana pangalaman kuring salaku guru pemrograman salami 10 taun, henteu janten masalah bahasa naon anu anjeun pelajari, tapi kumaha anjeun diajar sareng kumaha rumitna.

    Saur kuring mah basa anu tiasa diajar sacara terstruktur, teras ngalih kana hal-hal anu langkung rumit, langkung gampil tibatan dimimitian ku basa sapertos Java ti mimiti.

    Langkung gampang pikeun diajar anu sapertos Hello World di C atanapi Pascal salaku pangkalan, dibandingkeun sareng sababaraha garis (PROGRAM dina kasus Pascal, atanapi #include Dina kasus C) anjeun tiasa ngamimitian ngembangkeun algoritma sareng kode program kalayan logika langsung, sapertos di Java, anu dina diri na peryogi kelas, metodeu, sareng sababaraha hal anu sanés pikeun anu ngamimitian mangrupikeun inpormasi anu teu perlu, sareng éta tiasa dipaliré sareng ngalih kana hal-hal sanés, tapi éta mangrupikeun konsép anu aya, sareng saur kuring mah, ningali teuing hal sanés cara anu saé pikeun diajar, utamina upami basa maksa anjeun ngagunakeunana. Éta ibarat ngamimitian tarékah targét pikeun kahiji kalina ku M-16, sareng némbak mangtaun-taun dina modeu semi-otomatis nyekel gagang ku kadua leungeun sapertos pestol.

    2) Naha basa ditafsirkeun atanapi disusun gumantung kana implementasina, sanés dina basa sorangan. Salaku conto, upami anjeun nganggo Python, pikeun aplikasi wéb anu nganggo wsgi (naha mod_wsgi dina apache, atanapi uwsgi kanggo Nginx), kode python disusun nalika ngamimitian modul anu saluyu, ngahasilkeun file .pyc

    Aya ogé generator file binér pikeun jawa (anu ngahasilkeun binér asli tibatan bytecode), atanapi panyusun naskah php dina binér murni.

    Ngeunaan naon anu aranjeunna nyarioskeun ngeunaan PHP, éta ngan saukur basa anu dirancang dina jaman anu sanés, kalayan hal-hal anu sanés dina pikiran, sareng tanpa ngémutan aspek-aspek anu teu aya dina waktos éta. Jelas, kanyataan yén éta anu paling sering dianggo henteu ngajantenkeun anu pangsaéna pikeun naon waé di dunya, tapi aya kanyataan: éta basa anu aya kasempetan pangsaéna pikeun kéngingkeun padamelan dina sadaya program. Nyaho éta henteu raoseun, sanaos anjeun henteu resep.

    Malah kuring anu parantos damel salaku Administrator Sistem salami sababaraha taun sareng ngantepkeun padamelan pamekar, unggal sering kuring kedah nempatkeun kode PHP kana sababaraha hal.

    1.    ChrisADR cenahna

      Hai Gonzalo, hatur nuhun parantos ngabagi,

      Pasti nyarioskeun seueur teuing inpormasi anu henteu perlu, terang yén basa anu sami tiasa diinterpretasi atanapi disusun mangrupikeun hal anu henteu diperyogikeun dina tahap ieu Dina cara anu sami, masalah pamrograman anu berorientasi obyék henteu dibahas, atanapi konsép sanés anu kedah dosed laun supados henteu pusing jalma.

      Kusabab rohangan kawates, tujuan utama tulisan éta nyaéta nunjukkeun pamiarsa anu hoyong program yén aya dua dunya basa anu hébat, yén "sacara tradisional" diinterpretasi langkung "saderhana", yén "sacara tradisional" disusun langkung sakedik "kompleks" tapi éta patut tingkat pajeulitna éta pikeun ngagaduhan pamahaman anu langkung mantep sareng éta masing-masing jalma milih basa éta, kusabab gumantung kana pendekatan pemrograman, aranjeunna bakal tiasa milih proyék karesepna sareng waktos anu sami aranjeunna bakal tiasa ngartos naon anu aranjeunna baca sareng / atanapi nyerat 🙂

      Hatur nuhun pisan, salam.

      1.    Gonzalo Martinez cenahna

        Ieu kasalahan, teu aya basa anu disusun atanapi diinterpretasi, aya panarjamahan sareng panyusun pikeun unggal basa, duanana pikeun kasus anu sanés.

        Éta sanés seueur teuing inpormasi pikeun nyebatkeun éta ayeuna, mangrupikeun kalepatan pikeun nyatakeun pernyataan sapertos kitu. Numutkeun kuring, éta bakal langkung produktif pikeun teu malire kana panarjamahna upami anjeun teu hoyong seueur teuing inpormasi.

        1.    ChrisADR cenahna

          Hatur nuhun kana klarifikasi, kuring bakal ngémutan nalika kuring balik deui kana masalah. Surak

  11.   Ares cenahna

    Naon basa anu anjeun nyarankeun pikeun pihak server anu nganggap yén PHP murag tina karesep?
    Sarua pikeun basis data, kuring henteu terang naha bakal aya anu langkung saé sareng langkung modéren tibatan mySQL.

    1.    ChrisADR cenahna

      PHP henteu janten teu dipikaresep ... Unggal basa ngagaduhan siklus hirupna, sareng php tangtosna parantos janten bahasa anu ngalebetkeun skala "dewasa", anu ngajantenkeun gunana dina tingkat bisnis, dimana stabilitas di luhur sadayana ... Siga sababaraha bank dimana éta masih dikembangkeun di jawa, anu langkung "asak" dibanding php sareng pastina ngagaduhan pengikut sareng detractors na ... Sareng teu kakantun COBOL ...

      Upami anu anjeun milari nyaéta keseragaman sareng modérnitas, javascript janten salah sahiji karesep anu disebat "full stack developer", sanaos paradigma ruby ​​atanapi "kesederhanaan" python mangrupikeun rujukan anu saé ogé…. Bahkan perl tiasa janten pilihan gumantung kana kabutuhan 🙂

      Ayeuna ORM (object relational mappers) beuki seueur kakuatan dina hal manajemén data hubungan. Éta tina sintaksis SQL ka kelas sareng nanganan atribut ... Ampir sadayana basa (upami henteu sadayana) nanganan sababaraha ORM.

      . Mongo DB mangrupikeun alternatif pikeun basis data hubungan anu parantos penting pisan; nanging, peryogi kauninga pro sareng kontra na anu ngabuktoskeun upami éta mangrupikeun solusi anu pangsaéna gumantung kana kabutuhan anu khusus.

      Mugi-mugi éta ngabantosan anjeun, salam 🙂

      1.    Ares cenahna

        Nuhun, kuring bakal parios éta.

      2.    Ares cenahna

        Abdi hilap.

        Naon anu anjeun nyarankeun kuring pikeun damel sareng JAVA di Linux?.
        Upami anjeun tiasa ngabédakeun antara bébas sareng ditutup langkung saé.

        1.    ChrisADR cenahna

          Eclipse sareng NetBeans mangrupikeun sumber terbuka, kuring henteu yakin naha aya parangkat lunak murni gratis, kuring gaduh kabiasaan ngagunakeun vim sabab kadang jumlah kode ngajantenkeun ngagunakeun sacara gembleng IDE lambat sareng rawan kasalahan palaksanaan. Salam 🙂

        2.    paulzeta cenahna

          Pikeun damel sareng jawa di Linux kuring nganggo IntelliJ kuring nyarankeun anjeun.

          1.    ChrisADR cenahna

            PS, IntelliJ mangrupikeun parangkat lunak proprietary 🙂

  12.   je cenahna

    Batur ogé émut yén ... Kuring damel di bank sareng kuring nyebatkeun yén bahasa pamrograman nyandak korsi pengker pikeun ngantepkeun prosedur SQL sareng disimpen heula.

    1.    Gonzalo Martinez cenahna

      Anjeun kedah tumut kana akun prosedur anu disimpen, tapi ku henteu nganggo basa portabel antara mesin, sahenteuna dina pangalaman kuring, éta salawasna ngeunaan nyingkahanana kecuali teu aya pilihan anu sanés.