Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Lima bahasa pengaturcaraan setiap pembangun harus belajar (Bahagian 1)

Lima bahasa pengaturcaraan setiap pembangun harus belajar (Bahagian 1)

PHPz
PHPzke hadapan
2023-04-10 11:41:031455semak imbas

Lima bahasa pengaturcaraan setiap pembangun harus belajar (Bahagian 1)

Terdapat banyak bahasa pengaturcaraan umum di mana pengaturcara menulis kod, dan kebanyakan pengaturcara yang menggunakan perisian perusahaan biasanya hanya menggunakan satu bahasa pengaturcaraan sebelum bersara. Namun begitu, terdapat juga pengaturcara yang berpeluang menggunakan pelbagai bahasa pengaturcaraan dalam kerja harian mereka. Contohnya, jika pengaturcara menggunakan modul asli Flatter, terdapat peluang untuk menggunakan Dart, Kotlin (atau Java), Objective-C (atau Swift), C/C++, dsb.

Kebanyakan pengaturcara telah bekerja dalam satu bahasa selama beberapa dekad, yang mengehadkan kemahiran teknikal mereka. Kami sering melihat ramai pakar .NET dan Java. Tetapi jarang melihat pengaturcara yang menguasai pelbagai bahasa. Mempelajari pelbagai bahasa pengaturcaraan membawa lebih banyak faedah. Walau bagaimanapun, mempelajari setiap bahasa pengaturcaraan yang popular bukanlah pilihan yang bijak.

Dalam cerita ini, saya akan menunjukkan kepada anda lima bahasa pengaturcaraan yang perlu dipelajari oleh setiap pengaturcara. Dan gunakan contoh untuk menggambarkan faedah mempelajari bahasa pengaturcaraan ini.

1. C/C++

Bahasa C ialah bahasa asas untuk hampir semua komponen perisian asas. Abstraksi C lebih dekat dengan perkakasan, dan C menyediakan pengaturcara dengan sintaks minimum (32 kata kunci dikhaskan). Berbanding dengan bahasa pengaturcaraan popular moden yang lain, sintaks C lebih dekat dengan bahasa himpunan. Hasilnya, penyusun C boleh menukar kod sumber C dengan cekap ke dalam bahasa mesin dan menghasilkan boleh laku binari yang ringan dan sangat pantas.

C++ ialah lanjutan daripada C, jadi anda boleh menggunakan ciri C++ yang kekurangan bahasa C (contohnya: kelas, ruang nama, dll.). Pembelajaran C/C++ mempunyai banyak faedah untuk mana-mana pengaturcara. C/C++ memaksa anda menulis kod yang dioptimumkan kerana C/C++ tidak menyediakan pengumpulan sampah automatik.

C meningkatkan kebolehan menyelesaikan masalah anda dan kemahiran asas sains komputer kerana ia tidak menyediakan struktur data pra-bina dan perpustakaan standard berciri penuh. Sebagai contoh, jika anda memerlukan timbunan dalam C, anda perlu membina sendiri.

Begitu juga, pembelajaran C/C++ membantu meningkatkan pengetahuan dan kemahiran sains komputer. Kisah berikut menerangkan mengapa pengaturcara harus mempelajari C terlebih dahulu.

Mengapa setiap pembangun harus memulakan pengaturcaraan dalam C

Anda boleh memulakan pengaturcaraan dalam mana-mana bahasa - Tetapi terdapat banyak lebih banyak faedah untuk bermula dengan C!

Lima bahasa pengaturcaraan setiap pembangun harus belajar (Bahagian 1)

Terdapat kira-kira 700 bahasa pengaturcaraan di dunia. Walau bagaimanapun, pembangun menggunakan kira-kira 20 bahasa pengaturcaraan yang berbeza untuk membina perisian perusahaan. Dalam erti kata lain, walaupun terdapat banyak bahasa pengaturcaraan, terdapat hanya beberapa bahasa pengaturcaraan tujuan umum yang popular. Pembangun biasanya memulakan pengekodan di sekolah, kolej atau pada permulaan kerjaya mereka.

Apabila mereka mula mengekod, setiap pembangun mendapati diri mereka bertanya satu soalan: Bahasa pengaturcaraan manakah yang harus saya pelajari dahulu? Jika anda belajar sains komputer di universiti, sukatan pelajaran biasanya bermula dengan bahasa pengaturcaraan C.

Bahasa miming dalam pengaturcaraan bahasa C masih kerap digunakan dalam projek perisian berkaitan perkakasan.

Tetapi bahasa seperti Java, C#, JavaScript, Go, Python, Ruby, PHP dan Kotlin menguasai industri perisian moden. Ini kerana:

  • Sintaks dan semantik mesra manusia.
  • API standard berciri penuh.
  • Sokongan komuniti.
  • Ekosistem rangka kerja dan perpustakaan yang kaya.

Sebaliknya, C tidak sering digunakan oleh masyarakat moden - bahasa popular lain menawarkan persekitaran yang lebih mesra, ringkas dan lebih fleksibel daripada C. Ya, C ialah pilihan yang lebih baik untuk projek berkaitan perkakasan tetapi kebanyakan pembangun sedang mengusahakan projek berkaitan web dan mudah alih.

Biar saya terangkan sebab pembelajaran C adalah pilihan terbaik.

C menjadikan anda penyelesai masalah yang baik

Hampir semua program menyediakan kaedah terbina dalam atau perpustakaan untuk menyelesaikan masalah pengekodan yang memerlukan algoritma logik. Contohnya, jika anda perlu menyalin item tertentu ke dalam tatasusunan kedua, anda boleh menggunakan kaedah penapis terbina dalam dalam JavaScript. Jika anda menggunakan Java, anda boleh menggunakan kaedah penapis daripada pakej java.util.stream. Secara harfiah mana-mana bahasa pengaturcaraan popular mempunyai kaedah terbina dalam atau perpustakaan untuk menapis tatasusunan. Tetapi jika anda menggunakan C, anda perlu melaksanakannya sendiri - kerana tiada kaedah penapisan terbina dalam atau perpustakaan dalam C.

Apabila anda menjumpai adegan ini, anda akan berhadapan dengan masalah yang perlu diselesaikan. Mempraktikkan masalah algoritma adalah cara terbaik untuk menjadi penyelesai masalah yang baik. Kami tidak selalu menangani tugas mudah yang hanya melibatkan perpustakaan standard dan kefungsian terbina dalam bahasa pengaturcaraan perusahaan kegemaran anda. Kami sering berurusan dengan tugas yang melibatkan kemahiran menyelesaikan masalah. Oleh itu, menulis kod awal anda dalam C akan menjadikan anda penyelesai masalah yang lebih baik.

Selain itu, pembangun yang mengambil bahagian dalam hackathon pengaturcaraan kompetitif sering menggunakan C untuk menyelesaikan masalah.

C memberi anda rasa perkakasan

Bahasa pengaturcaraan seperti Python, C# dan Java adalah bahasa yang sangat mesra pengguna. Walau bagaimanapun, bahasa ini sangat abstrak daripada perkakasan fizikal. Dalam erti kata lain, anda tidak akan dapat mengalami tingkah laku perkakasan komputer anda sehingga anda memulakan pengaturcaraan dalam C. Bahasa pengaturcaraan moden menyembunyikan keseluruhan pengalaman berkaitan perkakasan, menyediakan persekitaran kotak pasir yang baharu sepenuhnya. Dalam kebanyakan kes, persekitaran kotak pasir ini dicipta menggunakan mesin maya.

Malangnya, pembangun melangkau topik utama berkaitan perkakasan seperti pengurusan memori, pengendalian fail dan pengoptimuman kod - kerana ia tidak bermula dalam C. Bahasa pengaturcaraan moden mengendalikan peruntukan memori dan pelepasan oleh pemungut sampah secara automatik. Sebaliknya, dalam bahasa pengaturcaraan C, pembangun mengurus memori dengan menulis kod yang sangat dioptimumkan.

Menulis kod awal dalam C memberikan anda perjalanan perkakasan yang tidak dapat dilupakan yang harus dialami oleh setiap saintis komputer.

C mengajar anda ekspresi dan kebebasan

Bahasa pengaturcaraan tertentu menjadi kurang fleksibel apabila ia menyediakan abstraksi seperti manusia. Setiap kaedah perpustakaan standard dan kaedah terbina dalam perpustakaan pengaturcaraan kegemaran anda bertindak sebagai kotak hitam berkod keras. Dengan kata lain, bahasa pengaturcaraan moden menyembunyikan kod peringkat rendah dan menyediakan antara muka yang bersih tetapi terhad kepada pembangun. Dengan bahasa pengaturcaraan moden, peruntukan memori dinamik langsung hampir mustahil. Pada masa yang sama, C memberi anda kebebasan sebenar dengan mendedahkan semua akses kod peringkat rendah.

Pengkompil C menjana kod pemasangan yang sangat pantas. Oleh itu, persekitaran pembangunan C itu sendiri mendorong anda untuk menulis kod berprestasi tinggi. Dalam C, kita mesti berhati-hati mengisytiharkan pembolehubah, memperuntukkan memori, membersihkan memori, mengakses sumber dan melepaskan sumber. Jika anda bermula dalam C, anda mungkin tidak menggunakan terlalu banyak memori, sumber yang tidak diperlukan dan struktur data yang salah dengan bahasa pengaturcaraan semasa anda.

C memberi inspirasi kepada anda untuk menulis kod bersih

Tidak seperti bahasa pengaturcaraan moden, anda perlu menulis banyak baris kod dalam C. Ini kerana C menyediakan akses peringkat rendah kepada semua yang anda perlukan - ia tidak memberikan anda perpustakaan standard yang sangat abstrak. Apabila bilangan baris dalam kod meningkat, kerumitan kod juga meningkat. Oleh itu, kita mesti menulis kod yang bersih dan jelas untuk menghilangkan kod yang berterabur.

Menulis kod bersih ialah kemahiran yang amat diperlukan apabila kami mengusahakan projek perisian peringkat industri. Sebenarnya, jika kita telah mengusahakan projek berasaskan C, menulis kod bersih adalah satu kek.

Kesimpulan

Dengan pembangunan aktif projek C++, C telah menjadi subset C++. C++ sememangnya bahasa pengaturcaraan moden dengan perpustakaan standard berciri penuh. Oleh itu, pembelajaran C++ adalah berbeza daripada pembelajaran C. Walau bagaimanapun, keupayaan operasi memori langsung dan keupayaan capaian peringkat rendah masih tersedia. Hampir semua bahasa pengaturcaraan moden bersaing antara satu sama lain dengan memperkenalkan sintaks, semantik, dan kaedah perpustakaan standard. Walau bagaimanapun, bahasa seperti Go hanya memanjangkan perpustakaan standard dan perpustakaan dipacu komuniti.

Jika pembangun segera beralih ke bahasa pengaturcaraan moden seperti Python, JavaScript, C# atau Java, mereka akan terlepas pengalaman berharga yang ditawarkan oleh bahasa pengaturcaraan C. Bermula dengan pengaturcaraan dalam C ialah cara terbaik untuk memahami cara bahasa pengaturcaraan antara muka dengan perkakasan.

Pilih laluan sukar dahulu menggunakan bahasa C. Ia akan membantu anda menjadi pakar dalam bahasa pengaturcaraan kegemaran anda.

*Pautan asal: https://betterprogramming.pub/why-every-developer-should-start-programming-with-c-39b3a87392bf.

2. Bash

Bash ialah bahasa arahan dan penterjemah baris arahan yang dibina untuk sistem pengendalian seperti Unix. Program penterjemah Bash diprapasang pada hampir semua sistem pengendalian seperti Unix. Selain itu, banyak perisian terminal GUI sering menggunakan Bash sebagai penterjemah arahan lalai. Oleh itu, kami boleh menulis skrip Bash mudah alih untuk sistem pengendalian seperti Unix yang berbeza.

Pengaturcara mengikuti amalan yang berbeza untuk meningkatkan kecekapan pengaturcaraan harian mereka. Ramai pengaturcara sering menulis skrip Bash mereka sendiri untuk proses manual yang berulang. Sebagai contoh, saya menulis skrip Bash mudah untuk membina dan menyalin output projek TypeScript. Belajar Bash sudah pasti langkah pertama ke arah mengautomasikan proses pembelajaran. Automasi proses sememangnya satu cara untuk meningkatkan produktiviti.

Bash menyokong proses secara asli. Dengan kata lain, anda boleh menjalankan program lain hanya dengan menyebut namanya. Oleh itu, anda boleh menulis skrip automasi dengan cepat untuk meningkatkan kecekapan pengaturcaraan. Cerita berikut menerangkan cara menambah elemen GUI pada skrip Bash.

Cara memodenkan skrip Bash dengan menambahkan GUI

Skrip Bash terdiri daripada satu set arahan yang ditulis dalam bahasa arahan Bash yang boleh dilaksanakan dalam Unix jurubahasa cangkerang. Kami menggunakan skrip bash untuk mengautomasikan beberapa tugasan yang jelas akan memakan masa jika kami melakukannya secara manual. Tetapi jika kita bandingkan dengan pengkomputeran moden, skrip bash adalah barangan lama kerana semua interaksi dengan pengguna dilakukan melalui antara muka baris arahan. Kami tahu bahawa sesetengah pembangun menggunakan logo dan warna yang menarik perhatian untuk menyerlahkan kandungan penting dalam antara muka konsol. Jika skrip bash lama tertentu digunakan oleh khalayak yang sangat teknikal, tidak mengapa. Tetapi jika ia digunakan oleh khalayak umum, mempunyai beberapa interaksi mesra pengguna jelas merupakan perkara yang baik.

Malah, anda boleh memasukkan komponen input/output berasaskan GUI (Antara Muka Pengguna Grafik) ke dalam skrip bash anda yang seterusnya menggunakan alat baris arahan Zenity, yang membantu kami menunjukkan kotak dialog GTK. Selain itu, pemberitahuan GUI asli boleh dipaparkan menggunakan alat baris arahan pemberitahuan-hantar. Kedua-dua alat ini biasanya disertakan dengan pengedaran Linux yang popular, jadi tiada sebarang jenis prapemasangan diperlukan.

Kotak mesej

Jelas sekali, menggunakan kotak mesej asli untuk menunjukkan penyelesaian tugas pengguna adalah lebih baik daripada mencetak teks mentah dalam konsol. Zenity memudahkan untuk menjana ralat, maklumat, masalah dan kotak mesej jenis amaran.

Kotak mesej maklumat: zenity --info.

Lima bahasa pengaturcaraan setiap pembangun harus belajar (Bahagian 1)

Kotak mesej amaran: zenity --info.

Lima bahasa pengaturcaraan setiap pembangun harus belajar (Bahagian 1)

Kotak mesej ralat: zenity --error.

Lima bahasa pengaturcaraan setiap pembangun harus belajar (Bahagian 1)

Kotak mesej ralat: zenity --soalan.

Lima bahasa pengaturcaraan setiap pembangun harus belajar (Bahagian 1)

Mesej jenis soalan boleh digunakan jika satu set arahan perlu dilaksanakan dengan kebenaran pengguna. Sebagai contoh, padam fail daripada cakera. Ini boleh dilakukan dengan menggunakan syarat if mudah atau $? Pembolehubah khas yang menyimpan nilai pulangan terakhir.

Pemberitahuan

Pemberitahuan sangat bagus untuk memaparkan status arahan kelompok yang berjalan lama. Ini sangat penting supaya pengguna akan menerima pemberitahuan walaupun mereka melakukan beberapa kerja lain daripada melihat konsol untuk melihat apa yang sedang berlaku. Pemberitahuan asli boleh dijana dengan mudah dengan alat baris arahan notify send.

Pertimbangkan contoh mudah di bawah...

Zenity juga mempunyai keupayaan untuk menghantar pemberitahuan, tetapi pemberitahuan menghantar memberi kami lebih kebebasan untuk menyesuaikan diri .

Elemen Input

Zenity menyediakan sokongan yang baik untuk mengumpul input pengguna dengan menyediakan pelbagai elemen input. Ia mempunyai jenis kotak input berikut.

Zeniti kotak input kalendar --kalendar.

Ini ialah cara yang lebih baik untuk menangkap tarikh yang dimasukkan oleh pengguna daripada meminta pengguna memasukkan tarikh yang dikehendaki dalam format yyyy-mm-dd daripada konsol.

Rentetan kotak input zenity --kalendar.

Kami biasanya menggunakan arahan baca untuk mendapatkan beberapa input rentetan daripada konsol. Kebolehgunaan skrip bash kepada orang bukan teknikal boleh dipertingkatkan dengan menyediakan medan teks GUI yang turut menerima ketukan kekunci biasa (kunci rumah/akhir, dsb.) dan fungsi salin-tampal yang mudah.

Zenity yang hampir serupa --kata laluan boleh digunakan untuk menangkap rentetan rahsia pengguna, seperti kata laluan atau PIN. Selain itu, input kata laluan membolehkan anda mendayakan medan nama pengguna. Kemudian nama pengguna dan kata laluan dikembalikan, dipisahkan oleh aksara |.

Dialog pemilihan fail zenity --file-selection.

Dialog simpan/buka asli boleh dipaparkan dengan lancar. Saya menggunakan ciri ini dalam Neutralinojs juga.

Senaraikan pilihan

Jika kami menggunakan input konsol biasa untuk meminta pengguna untuk beberapa pilihan, kami boleh melaksanakan beberapa input utama yang dipendekkan untuk pilihan yang dikehendaki pengguna. Sebagai contoh, pengguna diminta memasukkan huruf A untuk menerima satu pilihan, sebaliknya pengguna diminta memasukkan huruf B untuk mengaktifkan pilihan lain. Dari perspektif pengguna, pendekatan ini boleh dipertingkatkan sedikit dengan menunjukkan pemilihan senarai berasaskan GUI.

Anggap anda sedang membuat skrip pemasangan di mana anda perlu bertanya pemalam pembantu yang perlu dipasang untuk pengesahan dua faktor dengan program perisian utama.

Contoh Terperinci

Seperti yang dinyatakan di atas, terdapat beberapa elemen input GUI yang boleh digunakan dengan skrip bash dan bukannya menggunakan teks mentah sepanjang masa. Selain itu, saya akan menunjukkan kepada anda contoh yang lebih maju yang dilaksanakan menggunakan elemen GUI asli ini.

*Pautan asal: https://medium.com/swlh/how-to-modernize-your-bash-scripts-by-adding-gui-cba613a34cb7.

Atas ialah kandungan terperinci Lima bahasa pengaturcaraan setiap pembangun harus belajar (Bahagian 1). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:51cto.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam