Memilih bahasa pemrograman pertama Anda

Tentunya ini adalah salah satu pertanyaan yang paling sering muncul di kotak masuk saya ketika berbicara tentang pemrograman. Jika kita akan memulai serangkaian artikel yang akan memungkinkan Anda untuk belajar memprogram dan memberikan kembali pengetahuan gratis dalam bentuk kontribusi kepada perangkat lunak bebas / komunitas open source di seluruh dunia, perlu menjawab pertanyaan mendasar ini jika sedikit sulit. Bahasa pemrograman apa yang harus saya pelajari?

Sedikit sejarah

Untuk mulai memahami dan memilih bahasa pemrograman, pertama-tama kita harus mengetahui sedikit tentang sejarahnya, kegunaan dan fungsinya, dan bagaimana mereka menyelesaikan berbagai kebutuhan dari waktu ke waktu.

Bahasa mesin (level rendah)

Umumnya dikenal sebagai MajelisItu adalah bahasa pemrograman yang dapat kita definisikan sebagai dialek dari bahasa yang lebih umum ... Kedengarannya agak rumit tapi saya akan memberikan contoh ... Kita tahu bahwa bahasa universal komputasi adalah listrik, ini berarti bahwa pada akhirnya apa yang dibaca komputer 0sy 1ya, sebut saja ini ekomputer Inggris. Dalam contoh ini, bahasa Spanyol adalah aturan dasarnya, tetapi seperti yang kita ketahui, bahasa Spanyol yang digunakan oleh orang Latin tidak sama dengan bahasa Spanyol yang digunakan di Spanyol, dan meskipun demikian, bahasa Spanyol di Peru tidak sama dengan bahasa Spanyol di Argentina. Jelas kita semua memiliki kata-kata yang hampir sama (0sy 1s), tetapi penggunaan dan artinya dapat bervariasi sesuai dengan konteksnya.

Ini terjadi di tingkat prosesor. Saat kita membicarakannya arsitektur komputasi, (amd64, intel, arm, ...) kami mengacu pada dialek itu komputer spanyol. Ini karena perusahaan yang berbeda memahami urutan dan makna dengan caranya sendiri, sehingga beberapa berbeda dalam detailnya seperti aliran arus, atau urutan penyimpanan barang. 0sy 1s.

Bahasa pemrograman ini sangat cepat, karena mereka bekerja pada tingkat pemrograman serendah mungkin, tetapi mereka sangat bergantung pada arsitektur dan tentunya sedikit lebih rumit untuk dipelajari daripada yang lain. Ini sering kali membutuhkan dasar konsep yang lebih luas untuk mengubah data dan menjalankan hal-hal yang berguna di dalamnya. Untuk pecinta video game, contohnya adalah konsol SEGA, yang menggunakan Assembly untuk memprogram game mereka. Tentunya pada saat itu jumlah ingatannya sangat minim dibandingkan saat ini, dan itu perlu untuk menguasai bahasa yang bisa cepat dan menghasilkan program yang ringan.

Bahasa tingkat tinggi

Kelompok besar ini merenungkan bahasa-bahasa yang datang setelahnya Majelis. Kebutuhan untuk mendapatkan kode portabel menyebabkan munculnya sekelompok bahasa yang disebut dikompilasi. Di antaranya, yang pertama memanfaatkan adalah C, yang telah mendominasi pemrograman di tingkat sistem operasi sejak tahun 70-an.

Bahasa yang dikompilasi

Mari kita lihat contoh praktis dari apa yang saya komentari. Mari kita lihat program bahasa C yang sangat sederhana yang mencetak satu baris kode.

Sendiri. Christopher Diaz Riveros

Setelah menyusunnya, kami memiliki yang berikut:

Desain sendiri: Christopher Díaz Riveros

Tapi sekarang mari kita lihat apa yang harus kita tulis untuk mereplikasi hasil yang sama dalam kode Assembly:

Sendiri. Christopher Diaz Riveros

Ini adalah terjemahan dari 3 baris kode kami dari simple.c, berkas simple.s dibuat menggunakan perintah gcc -S simple.c dan itulah yang akan dipahami prosesor kami dalam sebuah dialek Majelis. Jelas untuk membuat sebuah executable yang terdiri dari 0sy 1s file tersebut perlu diproses simple.s dan menghubungkannya dengan perpustakaan bersama dari sistem kami. Ini dilakukan dengan menggunakan assembler (as) dan konektor (ld).

Bahasa yang dikompilasi memberikan keuntungan besar dibandingkan bahasa tingkat rendah portabel. Portabilitas memberikan kode yang dapat dijalankan pada prosesor yang berbeda tanpa perlu menghasilkan kode khusus untuk setiap arsitektur. Keuntungan nyata lainnya adalah kesederhanaan yang digunakannya saat membaca dan menulis kode. Di antara kelemahan utamanya kita memiliki kompleksitas yang tinggi, karena dibandingkan dengan jenis bahasa berikut yang akan kita lihat, kebebasan yang ditawarkan C bisa berbahaya jika Anda tidak tahu cara mengontrolnya, tentu saja seperti menyerahkan senjata, bisa saja terjadi kekurangan pengalaman seseorang akhirnya menembak kakinya sendiri dalam upaya untuk membersihkan pistol.

Bahasa yang ditafsirkan

Di dalam grup ini kami memiliki banyak variasi bahasa, di antaranya yang paling penting kami memiliki Python, Ruby, Javascript, PHP, dll. Ide dasar dari bahasa-bahasa ini adalah menyediakan cara cepat untuk membuat dan menjalankan program, ini karena banyak proses yang sulit dilakukan di interpreter, dan pemrograman logika adalah apa yang diimplementasikan dalam kode. Mari kita lihat contoh yang sama di atas tetapi kali ini ditulis dengan Python:

Sendiri. Christopher Diaz Riveros

Di antara hal-hal yang paling menonjol, kita dapat melihat bahwa baris pertama bertugas memanggil juru bahasa (program yang akan menjalankan aplikasi kita) dan kode berikutnya lebih "sederhana" daripada versinya di C, karena semua pekerjaan berat adalah dilakukan pada penerjemah.

Sendiri. Christopher Diaz Riveros

Bahasa yang ditafsirkan memberi pengembang lapisan keamanan yang lebih besar, karena mereka memiliki kontrol keamanan yang lebih ketat (HATI-HATI bahwa itu tidak sempurna, karena bahkan yang terbaik pun dapat membuat kesalahan) dan kami tidak lagi menanggung risiko menembakkan senjata tanpa menyadarinya itu, karena pada percobaan pertama, penerjemah akan menaikkan peringatan dan eksekusi akan dibatalkan. Kerugian utama menjadi jelas ketika menjalankan program, karena lebih lambat daripada program binernya, ini justru disebabkan oleh jumlah pemrosesan yang lebih besar untuk dapat memastikan bahwa kode tersebut berfungsi. Jika program tidak memerlukan tenggat waktu yang sangat singkat, perbedaannya mungkin tidak diperhatikan, tetapi jika kita berbicara tentang ribuan atau jutaan data per detik, perbedaannya menjadi terlihat secara eksponensial dalam bahasa yang dikompilasi.

Mengetik

Ini adalah karakteristik bahasa pemrograman, ini bisa dengan kuat lemah diketik. Saya akan meninggalkan topik ini untuk posting lain, karena itu perlu dan ingin tahu untuk memahami bagaimana memori disimpan dalam sebuah program, tetapi untuk saat ini kita hanya perlu membuat perbedaan: Bahasa yang diketik dengan kuat adalah bahasa yang memerlukan mengetahui jenis data yang akan digunakan. untuk dikerjakan pada variabel atau konstanta, sedangkan lemah jenis dapat melakukan konversi jadi implisit dan semuanya akan bergantung pada hierarki konversi yang diikuti oleh bahasanya. (jika tidak dipahami sekarang, tidak masalah, kami akan tinggalkan untuk nanti)

Paradigma

Seperti semua yang ada di dunia GNU / Linux, bahasa pemrograman didasarkan pada paradigma, dan komunitas dihasilkan di sekitarnya. Misalnya kami memiliki file Yayasan Python o Rubi o PHP o Bash (dalam hal ini adalah komunitas GNU). Yang ingin saya sampaikan adalah bahwa saya tidak dapat mengungkapkan banyak pro dan kontra yang dimiliki masing-masing, tetapi saya dapat memberi tahu Anda bahwa di mana ada bahasa pemrograman gratis, di sana ada komunitas untuk belajar dan berpartisipasi. Perlu disebutkan bahwa banyak, jika tidak semua, penerjemah bahasa ditulis dalam C, atau beberapa turunan dekat, dan perkembangannya biasanya dilakukan oleh sekelompok kecil komunitas, yang bertugas mengambil alih bahasa. keputusan yang akan mempengaruhi semua pengguna bahasa. Lembaga bahkan dapat dibentuk untuk memastikan perkembangan bahasa yang benar, seperti halnya dengan C.

Yang mana yang harus dipilih?

Kami sudah cukup banyak berbicara tentang bahasa dan saya masih belum menjawab yang paling penting 😛. Tetapi saya harap setelah meninjau artikel kecil ini, saya tidak perlu memberi tahu Anda bahasa mana yang harus dipilih, karena dengan informasi ini Anda sepenuhnya dapat mencari bahasa yang menimbulkan rasa ingin tahu. Tentunya jika Anda ingin belajar program dalam suatu bahasa Majelis akan memakan waktu lama sebelum Anda dapat memiliki sesuatu yang berfungsi, waktu akan sangat berkurang jika Anda memilih bahasa yang dikompilasi, di mana selain memiliki portabilitas pada sistem * NIX, Anda akan dapat mempelajari informasi mengenai pengoperasian sistem yang sama, karena berhubungan dengan C atau turunannya membuat Anda dalam satu atau lain cara mempelajari cara kerja sistem operasi secara umum. Terakhir, jika Anda ingin mempelajari sesuatu yang ringan dan memungkinkan Anda melakukan banyak hal tanpa perlu banyak memahami, bahasa interpretasi adalah cara yang menghibur untuk mempelajari dan mengembangkan keterampilan pemrograman.

Belajar dengan sesuatu yang menarik

Ini adalah saran terbaik yang dapat saya berikan kepada Anda, jika Anda ingin mempelajari sesuatu, Anda perlu menemukan sesuatu yang menarik terlebih dahulu, jika tidak maka akan cukup sulit untuk mengatasi kurva belajar yang khas dari bahasa pemrograman apa pun. Misalkan Anda mengelola sistem, dalam hal ini Anda mungkin perlu mempelajari bahasa yang ideal untuk scripting (ditafsirkan), di dalamnya kami memiliki Perl, Python, Bash, dll ... Mungkin milik Anda adalah game, ada banyak proyek dalam bahasa seperti Javascript, Lua, C ++, tergantung pada jenis permainan yang ingin Anda mainkan. Mungkin Anda ingin membuat alat tingkat sistem, karena kami memiliki C, Python, Perl, seperti yang akan Anda lihat, beberapa diulang, dan ini karena banyak bahasa dapat digunakan untuk banyak tugas, itulah mengapa definisi dari bahasa multiguna di sebagian besar.

Mulailah sebuah proyek

Dengan ini saya tidak bermaksud bahwa Anda membuat kompiler berikut, atau bahkan bahasa pemrograman berikut, sebuah proyek dapat memperbaiki bug kecil di program favorit Anda, bahkan mungkin membantu meningkatkan dokumentasi. Mengapa dokumentasi? karena tidak ada cara yang lebih baik untuk mempelajari cara kerja perangkat lunak selain dengan membaca dan membantu menulis dokumentasinya, karena setelah kode sumber, itu adalah sumber informasi terbesar yang akan Anda temukan tentang program. Di lain waktu kita akan melihat bagaimana membaca kode proyek dan memahami fungsi dan nilai yang mereka peroleh.

Terima kasih banyak telah sampai di sini dan seperti biasa, komentar Anda membantu saya menghasilkan konten yang lebih baik dan tahu ke mana harus fokus, Salam.


tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Penanggung jawab data: Miguel Ángel Gatón
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.

  1.   anonim dijo

    Seperti biasa 10 !!!!!! Terima kasih atas artikel Anda. Salam dan banyak lagi yang akan datang !!!!

    1.    ChrisADR dijo

      Terima kasih banyak 🙂 mendorong saya untuk terus menulis. Bersulang

  2.   Rubén dijo

    Saya pikir itu adalah kesalahan untuk mengajukan pertanyaan "bahasa mana yang harus dipilih?" Saya salah satu dari mereka yang menganggap bahwa bahasa adalah yang terkecil, yang penting adalah mempelajari dasar-dasar pemrograman dan "berpikir secara komputasi". Tentukan sintaks, pengetikannya, jika mendukung OOP, utilitasnya, dll. Saya pikir itu adalah sesuatu yang akan datang secara alami dalam studi dan bagaimanapun juga, setiap programmer tahu lebih dari 1, 2 dan 3 bahasa ... dan berkat konsep pemrograman (dan bukan sintaks) yang dia miliki, dia dapat memprogram dalam bahasa yang belum Anda alami.
    Namun, untuk pemula, saya pikir bahasa yang baik adalah Python karena kesederhanaannya, tetapi yang terpenting, melangkah lebih jauh, pelajari algoritme dan ketahui cara kerja "di dalam".

    Salam ChrisADR

    1.    ChrisADR dijo

      Hai Rubén, terima kasih telah berbagi
      Ada sesuatu yang telah saya pelajari dari waktu ke waktu di dunia pemrograman, dan itu adalah bahwa "dia yang menutupi banyak tidak menekan" dan dengan ungkapan terkenal ini saya maksudkan berkali-kali, dan terutama yang paling antusias, memutuskan untuk coba semuanya sedikit, dan lakukan belokan yang sangat cepat dalam hal belajar kode. Saya percaya, dan ini adalah pendapat pribadi saya, bahwa pengembang yang baik harus mengetahui dan menguasai bahasa kompilator dan bahasa penerjemah, selain memiliki gagasan tentang beberapa dialek Majelis.
      Alasannya adalah sebagai berikut, pembuatan prototipe harus selalu menjadi sesuatu yang sederhana dan cepat, mudah dibuat dan umumnya menunjukkan hasil, tetapi jika tidak cukup, harus ada "rencana B" untuk digunakan ketika penerjemah telah tiba sampai batasnya.
      Mengetahui dialek Assembly tidak hanya memberi Anda kepercayaan diri tetapi juga mengajari Anda untuk berpikir "secara komputasi", tetapi jelas bagian ini adalah yang paling rumit dari semuanya, dan tentu saja tidak semua programmer paham.
      Tetapi kembali ke topik, karena ide utama yang saya pikirkan adalah, "pilih bahasa dan banyak berlatih", karena sebenarnya satu-satunya cara untuk menjadi ahli dalam pemrograman adalah dengan membaca dan menulis kode, dan ini adalah sesuatu yang saya pelajari dari komunitas kernel Saat Anda mempertahankan sintaks yang sama untuk waktu yang lama, Anda berhenti melihat formulir dan mulai mengkhawatirkan LATAR BELAKANG. Ide memilih bahasa atau sintaks dari awal adalah bahwa seseorang dapat membiasakan membaca dan menulis sedemikian rupa sehingga seseorang dapat mulai membaca MAKNA program daripada sintaks program.
      Inilah alasan utama posting ini, bahwa masing-masing memilih bahasa mereka sehingga berikut ini kami dapat menjelaskan konsepnya, mungkin dengan ini keraguan diperjelas 🙂
      Salam dan terima kasih telah berbagi.

  3.   Deibis Contreras dijo

    terima kasih untuk kirimannya, itu bagus.

    salam

    1.    ChrisADR dijo

      Halo Deibis, terima kasih telah berbagi 🙂 Salam

  4.   JorgeFS dijo

    Saran saya: apa pun selain PHP. Dua puluh tahun yang lalu PHP memiliki arti tertentu dalam keberadaannya karena tingkat kerumitan yang tinggi yang memprogram Web dalam bahasa lain menggunakan CGI. Tapi hari ini ada banyak sekali Kerangka untuk membuat pengembangan Web lebih menyenangkan dalam bahasa yang kuat, seperti Django untuk Python, Spring untuk Java atau Rails untuk Ruby. Meskipun PHP saat ini muncul di semua grafik popularitas bahasa, menurut saya PHP akan kehilangan relevansinya seiring waktu.
    Saya sangat menyarankan memulai dengan C \ C ++ untuk memahami realitas pemrograman, meskipun kurva pembelajarannya curam.
    Salam.

    1.    ChrisADR dijo

      Hai Jorge, terima kasih telah berbagi, hanya mengingat Laravel, yang merupakan Kerangka yang cukup solid. Saya pribadi tidak pernah menyukai Spring atau Java untuk pengembangan web, menurut saya itu cukup rumit, tetapi saya rasa itu adalah bagian dari jumlah waktu yang mereka gunakan. pasar, pada saat mereka adalah pelopor dan tentunya alternatif modern saat ini (Js, Python dan Ruby) telah mampu meningkatkan cara penyajian kode yang dapat dibaca dan dimodifikasi tanpa banyak pekerjaan.
      Saya juga cenderung orang yang belajar C / C ++ di beberapa titik dalam hidup mereka, saya mulai dengan Java, tetapi saya kira itulah keindahan pemrograman, Anda dapat mulai dengan apa pun yang Anda inginkan, selama Anda konsisten itu akan membantu 🙂 Bersulang

    2.    Rubén dijo

      Saya tidak bisa tidak setuju dengan Anda lagi. Saya mulai beberapa tahun yang lalu dengan C dan VB, untuk kemudian fokus pada PHP dan JS (karena saya fokus pada pengembangan web) dan kemudian saat belajar saya mempelajari C / C ++ dan Java.
      PHP memiliki sejumlah keunggulan yang tidak dapat saya cantumkan dalam pesan ini. PHP7 cepat (lebih cepat dari Python ... tanpa menggunakan hhvm, cache yang berbeda, kerangka kerja seperti Phalcon atau bytecode dalam kasus Python), ia memiliki sejumlah besar perpustakaan dan kerangka kerja, ia memiliki sejumlah besar fungsi yang diimplementasikan secara langsung untuk digunakan kapan saja, sintaksnya sangat mirip dengan C membuatnya sangat mudah untuk bermigrasi ke bahasa lain.
      30% situs web di seluruh dunia dibuat dengan WordPress (PHP) dan tampaknya tidak berubah, Wikipedia menggunakannya, Facebook (dengan hhvm), dan sejumlah besar situs, secara total, 80%.

      Saya mengingatkan Anda bahwa Ruby on Rails seperti Django berusia 12 tahun! Kuota apa yang telah mereka capai saat ini? Dan tentu saja, kita berbicara tentang 2 framework yang secara praktis memiliki monopoli dan tidak ada jenis fragmentasi. Alternatif serius apa lagi yang saya miliki? Mengatakan bahwa PHP akan kehilangan relevansinya tidak masuk akal.

      Sekarang Python sedang populer karena memiliki kurva belajar yang cepat, ini adalah bahasa yang sederhana dan mereka menjualnya kepada Anda sebagai «menjadi programmer dalam 20 jam dengan Python dan mengerjakannya», dengan dukungan perusahaan seperti Google dan sekarang ada Mode mencari bahasa baru (Go, Dart….) Untuk membedakan diri Anda dalam CV (atau seperti kelahiran harian 50 kerangka kerja untuk Javascript!), Tidak berarti bahwa banyak hal berubah.

      Ruby adalah bahasa yang sangat menarik, tetapi sangat rusak dengan pola yang sudah mapan sehingga saya hampir tidak percaya itu menjadi lebih populer daripada PHP. Tentu saja, Ruby menurut saya adalah bahasa terburuk untuk memulai pemrograman.
      Saya mengerti bahwa Anda memberi tahu saya bahwa Python bisa menyenangkan untuk diprogram, bahkan Ruby dengan banyak keunikannya ... tetapi Spring with Java? Betulkah? Java bisa menjadi banyak hal ... tetapi lebih menyenangkan daripada Python dan PHP?

      Semuanya sangat baik untuk memulai dengan Python, tetapi karena Anda tetap menggunakan Python saja, Anda menghadapi risiko bahwa banyak perusahaan akan percaya bahwa level pemrograman Anda tidak "dalam" (bahkan jika Anda sangat ahli dalam Python). Ini karena Anda bersaing dengan bahasa "multiguna" lainnya seperti C ++ atau Java. Anda dapat memprogram dengan Python tanpa mengetahui perbedaan apa itu pointer, operasi bitwise, cara kerja pengumpul sampah dan sebagainya.
      Python mungkin yang paling tidak mirip dengan "pemrograman klasik" yang ada dan dapat dilihat sebagai "bahasa anak-anak" (dapatkan metafora), dan pada gilirannya merupakan keuntungan dan kerugian.

      1.    JorgeFS dijo

        "Python mungkin yang paling tidak mirip dengan 'pemrograman klasik' yang ada dan dapat dilihat sebagai 'bahasa untuk anak-anak' (memahami metafora), dan pada gilirannya merupakan keuntungan dan kerugian." LOL, ini adalah salah satu hal terlucu yang pernah saya lihat tentang Python. Pernahkah Anda benar-benar mempelajari Python?
        Sudah berapa lama di dunia di luar PHP?
        Teman PHP lahir mati. PHP (\ d +) memiliki banyak hambatan karena desain awal yang sangat buruk dan untuk menjaga komunitas pengguna, PHP terus menyeret semua kesalahan desain awal dengan sangat teliti. PHP lahir tanpa modularitas, dengan banyak fungsi C-style (yang omong-omong, saya tidak tahu dari mana Anda berasal karena sintaksnya mirip dengan C sehingga dapat dengan mudah diporting ke bahasa lain). Bahasa tingkat tinggi, sebagaimana seharusnya PHP berperilaku, memiliki hal-hal jelek seperti jejak fungsi yang terdaftar di situs resminya http://php.net/manual/en/indexes.functions.phpIni karena ia lahir tanpa modularitas, jadi semuanya tercampur aduk dan tanpa namespace.
        Ini adalah bagian dari kode PHP:
        "Stream_notification_callback");
        stream_context_set_params ($ ctx, $ params);
        var_dump (stream_context_get_params ($ ctx));
        ?>
        pada titik tertentu dapatkah ditentukan dari mana semua fungsi 'aliran' ini diimpor? TIDAK, Anda dapat mengatakan bahwa mereka adalah fungsi buildin, tetapi kemudian seluruh ekosistem adalah fungsi buildin?. Jadi, ada banyak sampah dalam kode PHP, yang jika Anda tidak dapat memahami kompleksitas dan ketidakgunaan dari desain yang buruk, maafkan saya tetapi masih banyak hal yang harus dilihat.
        Wordpress adalah solusi perangkat lunak yang sangat baik, tetapi ini tidak berarti bahwa ia memiliki basis teknologi yang baik. Anda dapat memalu dengan batu dan mencabut paku dengan gigi Anda, dan Anda masih dapat melakukan pekerjaan pertukangan yang sangat baik, tetapi tentu saja, dengan lebih banyak pekerjaan daripada tukang kayu lain yang menggunakan palu yang bagus.

        Di sisi lain: "menjadi programmer dalam 20 jam dengan Python dan bekerja di sana", saya belum pernah melihat kebodohan seperti itu. Anda dapat membangun situs web dalam PHP dalam 20 jam dan tanpa memiliki pengetahuan tentang cara kerja pemrograman Web, atau pemrograman itu sendiri. Sebenarnya inilah mengapa PHP sangat populer, karena para pemula saat memasuki dunia ini melihat PHP sebagai titik perkembangan yang cepat (itulah sebabnya begitu banyak kode PHP menyebalkan begitu keras).
        Mengenai kekurangan Python, satu-satunya yang berhasil adalah bekerja dengan pointer, tetapi bagaimanapun juga, Python adalah bahasa tingkat tinggi (seperti Java) dan tidak menggunakannya di tingkat sintaks; tapi operasi bitwise, serius?, maksud Anda x << y, x >> y ini: https://wiki.python.org/moin/BitwiseOperators. Saya sangat kurang memahami hal pemulung: https://docs.python.org/3/library/gc.html.
        Kesenjangan PHP:
        -PHP memiliki desain pemrograman berorientasi objek (OOP) yang sangat buruk.
        -Anda belum bisa membebani operator.
        -Mengherankan, function overloading di PHP, ini bukanlah yang Anda harapkan dari konsep ini.
        … ..Dan aku baru saja bosan hehe.
        Salam.

        1.    Rubén dijo

          Saya memasukkan tanda kurung "memahami metafora" (dengan membandingkan Python dengan C ++ / Java di lingkungan kerja yang sama), jelas bahwa Anda tidak memahaminya. Saya dapat memberi tahu Anda bahwa programmer C ++ dapat belajar Python jauh lebih cepat daripada programmer Python belajar C ++, sama seperti tidak mengherankan bahwa gaji rata-rata programmer C / C ++ lebih tinggi daripada Python.
          Saya bisa menjelaskannya kepada Anda dengan contoh lain, bahkan dengan gambar! Tapi sepertinya Anda hanya fokus pada dekontekstualisasi dan mengejek apa yang saya kemukakan.

          Belum pernah saya katakan bahwa PHP adalah bahasa terbaik di dunia atau memiliki desain yang patut dicontoh, saya tidak tahu dari mana Anda mendapatkannya. Saya pikir sebelum menilai pengetahuan orang lain, Anda harus meningkatkan pemahaman bacaan Anda. Apa yang benar (dan saya katakan dalam pesan saya) adalah bahwa mengembangkan dengan itu sangat gesit, selain seluruh ekosistem kerangka kerja, perpustakaan dan utilitas yang dapat Anda temukan.
          Juga, perbandingan seperti apa yang kita buat? Python sebagai bahasa multiguna atau untuk web? Dalam hal ini, mengapa kita membandingkannya dengan PHP? PHP memiliki bidang tertentu, dan itu adalah bidang di mana Python (dengan pangsa 0.2%, yang tidak berubah sepanjang tahun ini) artinya jika di sebelah PHP.
          Sekarang kita akan melihat tren PHP; dari 82,4% pada Januari 2017 menjadi 83.1% pada Januari 2018: https://w3techs.com/technologies/history_overview/programming_language

          Apakah Python akan menjatuhkan PHP? Pada tahun apa? dalam lima tahun apa? dasawarsa?
          Python dapat digunakan dalam banyak tugas lain, dan bahkan menjadi lebih banyak digunakan daripada PHP, tetapi Python sebagai bahasa pengembangan web masih jauh dari relevan, 0.2% stagnan dibandingkan 83.1% (dengan kenaikan tahun ini).

          Anda juga menerima begitu saja dengan mengatakan bahwa saya tidak berkeliaran di luar PHP, mengisyaratkan bahwa saya hanya tahu PHP, padahal saya sudah lama tidak memprogram di PHP haha. Saat ini, untuk alasan pekerjaan, saya lebih banyak membuat program di Jawa.
          Saya juga belum mengatakan bahwa dengan pemrograman Python Anda tidak memiliki pengetahuan tentang bitwise, pengumpul sampah atau penunjuk. Sebaliknya, Anda dapat memprogram dengan Python tanpa mengetahui apa ini. Namun, saya sangat meragukan itu akan menjadi kasus untuk programmer C ++. Dan jelas saya membuat perbandingan ketika Python memasuki bidang "bahasa multiguna", bukan untuk pemrograman web.

          Menjadi programmer dalam 20 jam hanyalah lelucon, dilebih-lebihkan. Namun, saya dapat menempatkan Anda di sini berbagai tautan tentang platform dan kursus pendidikan online yang menjanjikan hal serupa. Jangan salahkan saya, salahkan pasar kerja yang menganggap bahwa menjadi "programmer ahli" adalah masalah mengambil kursus 20 jam. Dan Python menjadi salah satu bahasa yang modis dan juga, dengan kurva belajar tercepat ... putih dan dalam botol.

          Saya bersikeras, Anda mendasarkan pesan Anda pada mengatakan betapa buruknya PHP (yang pada bagian tertentu, saya setuju). Sepertinya benar bagi saya, hanya saja pesan saya bukan tentang itu, tetapi mengapa PHP akan terus digunakan dan tidak akan hilang besok seperti yang Anda pikirkan.

          Sebuah ucapan

  5.   tidak seorangpun dijo

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

    1.    ChrisADR dijo

      Baru-baru ini seorang pembaca mengirimi saya rekomendasi untuk buku Go ke email saya, tentu saja bahasa yang harus diperhitungkan di masa mendatang dan mungkin akan ada postingan di sini 🙂 Banyak gambar untuk dibagikan

  6.   mvr1981 dijo

    Nah ... dan apa yang saya programkan? Mengapa belajar bahasa pemrograman saat ini dengan programmer yang baik dan berpengalaman yang sudah ada? Masalah apa yang dapat saya pecahkan yang belum diselesaikan orang lain dengan cara yang jauh lebih efisien? ... Singkatnya: Seberapa orisinal menjadi programmer saat ini? Bagaimana saya bisa berkolaborasi dengan orang lain tanpa ditendang atau dikecualikan oleh kurangnya pengetahuan dan pengalaman saya?

    1.    ChrisADR dijo

      Halo mvr1981, pertanyaan yang sangat menarik 🙂 kita akan mengulanginya dari yang terakhir ke yang pertama.

      Bagaimana saya bisa berkolaborasi dengan orang lain tanpa ditendang atau dikecualikan oleh kurangnya pengetahuan dan pengalaman saya?

      Jika Anda tidak ingin ditendang, langkah pertama adalah mempelajari prosesnya, Anda tidak dapat membayangkan jumlah orang yang datang ke proyek yang ingin melakukan sesuatu secara eksklusif dengan cara mereka, ingin komunitas menyesuaikan dengan keinginan mereka. Ini pasti seperti saya datang ke rumah Anda dan membuat kekacauan dan tidak menghormati keluarga Anda (begitulah rasanya berkali-kali). Jika Anda ingin mencegah hal ini terjadi, perhatikan baik-baik pedoman untuk berkontribusi, cara melakukannya, dan jangan mengirimkan sesuatu yang tidak lengkap, jika Anda membutuhkan bantuan selalu ada cara untuk berkomunikasi, tetapi pekerjaan yang dilakukan dengan buruk mungkin akan menciptakan kesan pertama yang buruk. Jika Anda tidak ingin mengecualikan diri Anda sendiri, itu terserah Anda, Anda dapat melihatnya sebagai programmer tidak berguna yang tidak tahu apa yang dia lakukan atau yang sedang dalam perjalanan untuk menjadi programmer yang hebat, dan itu hanya terjadi dengan latihan dan tentunya dengan bug di sepanjang jalan. Saya telah melakukan kesalahan berkali-kali sebelum saya memperoleh status pengembang Gentoo, dan itu tidak menghentikan saya untuk mencoba meskipun dalam "waktu yang buruk" 🙂.

      Seberapa orisinal menjadi programmer hari ini?

      -Ini bukan tentang orisinalitas, ini adalah kebutuhan hari ini, coba pikirkan hal-hal berikut, 20 atau 30 tahun yang lalu, mengetik adalah suatu kebutuhan, banyak pekerjaan menyimpulkan bahwa Anda tahu atau setidaknya bisa melakukannya. Saat ini mengetahui Office adalah suatu kebutuhan, praktis tidak ada pekerjaan yang tidak menempatkan Anda di depan dokumen Office. Besok, segera, pemrograman akan menjadi kebutuhan. Dan ini juga berlaku dari sudut pandang pribadi, mengetahui apa yang terjadi dalam program di mana Anda mempercayakan hal-hal sepenting uang Anda, kesehatan, keluarga, adalah sesuatu yang logis bagi saya, karena Anda hanya dapat mengetahui keterbatasan mereka jika Anda tahu bagaimana mereka bekerja dan untuk untuk mengetahuinya, Anda perlu tahu bagaimana memprogram.

      Masalah apa yang dapat saya selesaikan yang belum diselesaikan orang lain dengan cara yang jauh lebih efisien?

      -Anda akan terkejut dengan jumlah fitur yang dibutuhkan saat ini, dan sejujurnya, tidak masalah bahwa ada programmer terbaik di dunia ini, pekerjaannya akan selalu lebih besar dari kapasitas kerja para pengembang, saya dapat memverifikasi ini di Gentoo, disana adalah orang-orang yang mengembangkan kernel, orang-orang yang bekerja untuk Google, Sony, dll ... satu-satunya kesamaan yang kita semua miliki adalah bahwa tidak ada seorang pun yang memiliki waktu sebanyak yang mereka inginkan untuk dapat melakukan semua pekerjaan yang tertunda.

      Mengapa belajar bahasa pemrograman saat ini dengan programmer yang baik dan berpengalaman yang sudah ada?

      -Ini terjawab pada pertanyaan kedua 😉 Tapi sekarang saya bisa menambahkan bahwa generasi harus bisa mendukung pekerjaan yang sudah dikembangkan, maksud saya pengembang yang "berpengalaman" itu akan berangsur-angsur menghilang dan itu akan diperlukan untuk yang "lebih muda »Pengembang mengambil tanggung jawab dan membantu menjaga siklus tetap hidup, komunitas yang tidak memiliki orang muda dan tidak berpengalaman cenderung menghilang seiring waktu, justru karena tidak akan ada kesempatan untuk menyebarkan pengetahuan.

      Dan apa yang saya programkan?

      -Ini mungkin hal yang paling sulit untuk dijawab, tetapi saya akan mencoba memberi Anda contoh poco Saya baru-baru ini mulai mengalami masalah dengan GNOME 24 dan koneksinya ke Wayland yang mencegah program seperti Shutter mengambil screenshot. Ini adalah masalah bagi saya karena ketika saya menulis artikel saya, saya perlu menunjukkan kepada Anda apa yang saya katakan 🙂 melihat-lihat sedikit Saya datang ke aplikasi Screenshot GNOME, agak "minimalis" untuk sedikitnya. Di antara fungsinya, ada salah satu mengambil daerah layar, tetapi bagaimana jika saya tidak mengambil foto dengan baik? Yah, saya harus keluar dan masuk kembali ke program, sesuatu yang membosankan tentunya, tombol bertuliskan «Ambil Kembali» atau sesuatu seperti itu memungkinkan saya untuk mengambil tangkapan baru tanpa harus pergi dan masuk lagi akan membantu saya. ini adalah proyek pemrograman kecil, saya tidak pernah memprogram apa pun dalam kerangka kerja GNOME jadi jelas saya harus banyak belajar sebelum mengirim "patch" saya dengan tombol baru, tetapi sepanjang jalan saya belajar memprogram dan mudah-mudahan ini ciri itu akan membantu lebih dari satu jika tersedia untuk semua.

      Ini adalah sebuah contoh, ini adalah sesuatu yang sederhana dan yang pasti programmer "ahli" lainnya dapat melakukannya, tetapi karena kurangnya waktu, tidak seperti itu, sekarang saya yang memiliki kemungkinan untuk melakukannya, tanpa benar-benar menjadi super programmer.

      Sekarang terserah Anda untuk menemukan sesuatu yang akan membuat hidup Anda "lebih sederhana" dalam perangkat lunak yang begitu sering Anda gunakan, keindahannya adalah jika kami mengikuti saran yang akan saya berikan kepada Anda di artikel berikut, bahasanya tidak masalah, karena Mereka akan mengetahui dasar-dasar untuk mulai memahami kode yang mereka baca dan memodifikasinya untuk melakukan apa yang Anda inginkan, itu adalah perasaan yang sangat istimewa 🙂

      Salam dan terima kasih lagi

      1.    tidak seorangpun dijo

        Saya pikir hanya setelah saya membuka program menangkap gnome, hal termudah adalah pergi ke pintasan keyboard dan menetapkan tiga kombinasi cetak untuk menangkap semua alt-print untuk menangkap jendela aktif dan super-print untuk membuat pilihan dari menangkap wilayah, pintasan tersedia, itu hanya masalah menetapkannya

        1.    ChrisADR dijo

          Itulah mengapa kami memberi Anda contoh 🙂 karena hal-hal kecil seperti tombol itu adalah pemrograman, mereka dapat membantu beberapa karena mereka dapat luput dari perhatian orang lain, tetapi mereka pasti memenuhi tujuan utama, membantu belajar memprogram, dan memberi jalan pada fitur-fitur baru, Setelah tombol itu banyak hal yang bisa dimulai, seperti manajemen sesi, atau layar pratinjau dari semua foto yang diambil, atau singkatnya, banyak hal yang bisa dilakukan. Idenya adalah Anda menemukan sesuatu yang membuat Anda melompat keingintahuan, perangkat lunak apa pun yang berjalan di sistem Anda mungkin perlu perbaikan atau fitur baru yang karena kurangnya waktu atau personel belum diimplementasikan 🙂

      2.    mvr1981 dijo

        Terima kasih untukmu adalah jawaban yang sangat bagus.

    2.    Guillermo dijo

      Nah, bagi seseorang yang tidak akan menjadi profesional di bidangnya, perlu melihat di lingkungan mana mereka bekerja, baik untuk tugas-tugas administratif maupun arahan mungkin menarik untuk diketahui, misalnya Python / Basic dan tahu cara memprogram makro di paket office seperti LibreOffice atau MS Office. Ada kalanya ini dapat menghemat banyak jam kerja untuk Anda atau pekerja lain di sekitar Anda dan meminta mereka untuk melakukan tugas berulang, Anda dapat membuat dasbor untuk menghitung dengan cepat rasio utama perusahaan setelah terhubung dengan database. dan melakukan beberapa kueri SQL.
      Seperti semuanya, jika Anda mengetahui alat yang ada di ujung jari Anda, Anda dapat memikirkan tentang cara memanfaatkannya secara maksimal. Tidak semuanya dibuat-buat.

  7.   Marcelo dijo

    Guillermo, sangat setuju dengan Anda, "Tidak semuanya ditemukan" dan apa yang ditemukan dapat dimodifikasi. Anda harus memaksimalkan alat dan menggunakan yang paling sesuai dengan kebutuhan Anda.

  8.   Ricardo dijo

    Untuk pemrograman, bahasa pertama yang dipelajari adalah bahasa Inggris, kemudian bahasa yang paling menarik bagi mereka dan tampak paling indah bagi mereka.

    1.    ChrisADR dijo

      Saya belum menulisnya, tetapi sebenarnya 🙂 mengetahui bahasa Inggris sangat membantu karena sebagian besar bahasa ditulis di dalamnya, tetapi juga karena jumlah informasi tangan pertama yang lebih banyak juga también Terima kasih banyak telah berbagi

  9.   Ruben salgado dijo

    Artikel bagus, selain memotivasi.

    1.    ChrisADR dijo

      Baik sekali, terima kasih banyak 🙂 Salam

  10.   Gonzalo Martinez dijo

    Pemrograman adalah mengetahui bagaimana menalar dan menerjemahkan penalaran itu menjadi instruksi.

    Dua klarifikasi tentang artikel tersebut:

    1) Berdasarkan pengalaman saya sebagai guru pemrograman selama hampir 10 tahun, tidak masalah bahasa apa yang Anda pelajari, tetapi bagaimana Anda belajar dan betapa rumitnya itu.

    Menurut saya bahasa yang bisa dipelajari dengan cara yang terstruktur, dan kemudian beralih ke hal-hal lain yang lebih kompleks, lebih mudah daripada memulai dengan bahasa seperti Java dari awal.

    Lebih mudah untuk mempelajari sesuatu seperti Hello World dalam C atau Pascal sebagai basis, daripada dengan beberapa baris (PROGRAM dalam kasus Pascal, atau #include Dalam kasus C) Anda dapat mulai mengembangkan algoritma dan mengkodekan program dengan logikanya secara langsung, seperti di Java, yang dengan sendirinya membutuhkan kelas, metode, dan beberapa hal lain yang bagi pemula adalah informasi yang berlebihan tidak perlu, dan itu mungkin diabaikan dan beralih ke hal lain, tetapi itu adalah konsep yang ada, dan menurut saya, mengabaikan hal-hal bukanlah cara yang baik untuk belajar, terutama jika bahasa memaksa Anda untuk menggunakannya. Ini seperti memulai latihan target untuk pertama kalinya dengan M-16, dan menembak selama berbulan-bulan dalam mode semi-otomatis memegang pegangan dengan kedua tangan seperti pistol.

    2) Apakah suatu bahasa ditafsirkan atau dikompilasi tergantung pada implementasinya, bukan pada bahasa itu sendiri. Misalnya, jika Python digunakan, untuk aplikasi web yang menggunakan wsgi (baik mod_wsgi di apache, atau uwsgi untuk Nginx), kode python dikompilasi saat memulai modul terkait, menghasilkan file .pyc

    Ada juga generator file biner untuk java (yang menghasilkan binari asli bukan bytecode), atau kompiler skrip php dalam biner murni.

    Mengenai apa yang mereka katakan tentang PHP, itu hanyalah bahasa yang dirancang di zaman lain, dengan mempertimbangkan hal-hal lain, dan tanpa mempertimbangkan aspek-aspek yang tidak ada pada saat itu. Jelas, fakta bahwa itu adalah yang paling banyak digunakan tidak menjadikannya yang terbaik untuk apa pun di dunia, tetapi ada kenyataan: ini adalah bahasa yang memiliki peluang terbesar untuk mendapatkan pekerjaan di semua pemrograman. Mengetahui itu tidak menyakitkan, bahkan jika Anda tidak menyukainya.

    Bahkan saya telah bekerja sebagai Administrator Sistem selama beberapa tahun dan meninggalkan pekerjaan pengembang, seringkali saya harus memasukkan kode PHP ke dalam sesuatu.

    1.    ChrisADR dijo

      Hai Gonzalo, terima kasih telah berbagi,

      Tentu saja berbicara tentang kelebihan informasi yang tidak perlu, mengetahui bahwa bahasa yang sama dapat diinterpretasikan atau dikompilasi adalah sesuatu yang tidak diperlukan pada tahap ini 🙂 Tentu saja penerapannya penting, tetapi jika kita mengatakannya pada tingkat ini, kita tidak menghasilkan lebih dari kebingungan. Dengan cara yang sama, masalah pemrograman berorientasi objek tidak ditangani, atau konsep lain yang harus ditutup secara bertahap agar tidak membuat orang pusing.

      Karena ruang terbatas, tujuan utama posting adalah untuk menunjukkan kepada pembaca yang ingin memprogram bahwa ada dua dunia bahasa yang hebat, bahwa penafsiran "tradisional" lebih "sederhana", bahwa kompilasi "tradisional" sedikit. lebih "kompleks" tetapi tingkat kerumitan itu sepadan untuk memiliki pemahaman yang lebih solid dan terserah kepada setiap orang untuk memilih bahasa, karena bergantung pada pendekatan pemrograman, mereka akan dapat memilih proyek favorit mereka dan pada saat yang sama mereka akan dapat memahami apa yang mereka baca dan / atau tulis 🙂

      Sekali lagi terima kasih, salam kenal.

      1.    Gonzalo Martinez dijo

        Ini adalah kesalahan, tidak ada bahasa yang dikompilasi atau diinterpretasikan, ada interpreter dan compiler untuk setiap bahasa, keduanya untuk kasus yang berbeda.

        Ini bukan informasi yang berlebihan untuk disebutkan sekarang, membuat pernyataan seperti itu adalah kesalahan. Menurut pendapat saya, akan lebih produktif mengabaikan penerjemah jika Anda tidak ingin membebani informasi.

        1.    ChrisADR dijo

          Terima kasih atas klarifikasinya, saya akan mempertimbangkannya ketika saya kembali ke subjek. Bersulang

  11.   Ares dijo

    Bahasa apa yang Anda rekomendasikan untuk sisi server mengingat php tidak disukai?
    Hal yang sama untuk database, saya tidak tahu apakah akan ada sesuatu yang lebih baik dan lebih modern dari mySQL.

    1.    ChrisADR dijo

      PHP tidak disukai ... Setiap bahasa memiliki siklus hidupnya, dan php sudah pasti sudah menjadi bahasa yang memasuki skala "dewasa", yang membuatnya berguna di tingkat bisnis, di mana stabilitas di atas segalanya ... Seperti beberapa bank yang masih berkembang di java, yang lebih "matang" dari php dan tentunya memiliki pengikut dan pencela ... Dan belum lagi COBOL ...

      Jika yang Anda cari adalah keseragaman dan modernitas, javascript menjadi salah satu favorit dari apa yang disebut "pengembang tumpukan penuh", meskipun paradigma ruby ​​atau "kesederhanaan" python adalah referensi yang bagus juga…. Bahkan perl bisa jadi pilihan tergantung kebutuhan 🙂

      Saat ini ORM (pemeta relasional objek) mendapatkan banyak kekuatan dalam hal manajemen data relasional. Ini beralih dari sintaks SQL ke penanganan kelas dan atribut ... Hampir semua bahasa (jika tidak semua) menangani beberapa ORM.

      . Mongo DB adalah alternatif untuk database relasional yang telah menjadi sangat penting, namun, perlu diketahui pro dan kontra dan validasi apakah itu akan menjadi solusi terbaik tergantung pada kebutuhan spesifik.

      Saya harap ini membantu Anda, salam 🙂

      1.    Ares dijo

        Terima kasih, saya akan memeriksanya.

      2.    Ares dijo

        Saya lupa.

        Apa yang Anda rekomendasikan agar saya bekerja dengan JAVA di Linux?.
        Jika Anda dapat membedakan antara gratis dan tertutup lebih baik.

        1.    ChrisADR dijo

          Eclipse dan NetBeans adalah open source, saya tidak yakin apakah ada yang murni perangkat lunak bebas, saya memiliki kebiasaan menggunakan vim karena terkadang jumlah kode membuat penggunaan seluruh IDE menjadi lambat dan rentan terhadap kesalahan eksekusi. Salam 🙂

        2.    paulzeta dijo

          Untuk bekerja dengan java di Linux saya menggunakan IntelliJ, saya sarankan Anda.

          1.    ChrisADR dijo

            PS, IntelliJ adalah perangkat lunak berpemilik 🙂

  12.   je dijo

    Teman-teman juga ingat bahwa ... Saya bekerja di bank dan saya memberi tahu Anda bahwa bahasa pemrograman mengambil kursi belakang untuk membiarkan SQL dan prosedur Tersimpan berjalan lebih dulu.

    1.    Gonzalo Martinez dijo

      Anda harus memperhitungkan prosedur yang tersimpan, tetapi dengan tidak menggunakan bahasa portabel antar mesin, setidaknya menurut pengalaman saya, ini selalu tentang menghindarinya kecuali tidak ada pilihan lain.