mata teras
Ini adalah editorial untuk edisi 25 Julai SitePoint PHP Newsletter.
Untuk memikirkannya, kita mesti menyelesaikan beberapa istilah yang berkaitan. Masa Kelas Sejarah!
Word
(font) berasal dari Perancis font - perkara cair; Memandangkan huruf akhbar itu memang diperbuat daripada logam dan cair di foundry , ini masuk akal.
istilah huruf besar
huruf kecil (huruf kecil) merujuk kepada bahagian literal kotak fon yang digunakan untuk pengangkutan fon. Oleh itu, pencetak (lelaki) mempunyai kotak fon berat yang dia bawa dengannya atau set pada akhbar, di mana terdapat dua "tahap" - satu kotak huruf besar dan satu kotak huruf kecil. Kotak huruf modal hanya mengandungi - anda meneka betul - huruf besar, manakala kotak huruf kecil hanya mengandungi huruf kecil.
anda akan melihat bahawa terdapat lebih banyak huruf kecil daripada huruf besar. Ini diharapkan - surat hanya boleh digunakan sekali pada halaman, selepas semua, terdapat lebih banyak huruf kecil dalam teks bertulis daripada huruf besar, kerana tidak ada komen YouTube dan kunci kes pada masa itu.
Jadi apa yang perlu dilakukan dengan rentetan?
Nah, sebagai percetakan menjadi lebih arus perdana, penekan mula memberikan perkhidmatan kepada individu, bukan hanya akhbar dan penerbit, yang dikatakan memutuskan untuk mengenakan bayaran berdasarkan panjang bahan bercetak (kaki). Sudah tentu, banyak yang spekulatif, tetapi jika mereka rentetan bahan bercetak yang dihasilkan bersama -sama, mereka dapat dengan mudah menganggarkan kos dan mengenakan caj pelanggan. Oleh itu, kita dapat menyimpulkan dengan pasti bahawa mereka menggunakan perkataan string (string) untuk mewakili urutan aksara dalam kes ini. 26 Julai 2017 Edit: Seperti yang ditunjukkan dalam komen di bawah, nampaknya terdapat tali sebenar untuk menggabungkan blok watak bersama -sama, kerana mereka dihantar ke akhbar selepas pemasangan! Seorang peminat Twitter juga menghantar saya video berikut yang menunjukkan prosesnya!
Walau bagaimanapun, apakah yang perlu dilakukan dengan bidang pengaturcaraan? Maksud saya, anda boleh mengatakan rentetan tentang apa-apa apa-apa , ia akan masuk akal dalam dunia yang tidak memprogramkan. Ia hanya satu perkataan yang boleh digunakan secara universal untuk perkara -perkara, walaupun ia tidak biasanya digunakan.
Bagaimana jika kita melihat rekod komuniti akademik mengenai rujukan pertama?
Pada tahun 1944 "set integer positif yang boleh dibaca dan masalah keputusannya", kami menyebut sesuatu yang mungkin sama dengan definisi moden:
Untuk tujuan bekerja, kami memperkenalkan huruf 6 dan pertimbangkan "Strings" 1 dan B, seperti 11B1BB1.
Dalam makalah ini, istilah ini merujuk kepada urutan simbol yang sama, jadi ia adalah rentetan 1 atau rentetan b. Ini tidak sesuai dengan definisi kami, tetapi ia hanya permulaan.
Kemudian, 14 tahun kemudian, pada tahun 1958 "A Pengaturcaraan Bahasa untuk Terjemahan Mekanikal", perkataan itu digunakan dengan cara ini, dan hanya sekali:
Setiap rentetan kesinambungan antara tanda baca atau ruang dipandang dalam kamus.
. Jelas sekali, ini tidak terpakai - ia terlalu umum. Walau bagaimanapun, atas sebab tertentu, nampaknya telah menjadi popular.Baiklah, sedikit seperti konsep rentetan kami, tetapi ia kelihatan seperti dia hanya menggambarkan, um,
perkataan
Pada tahun 1958, "Bahasa Perintah untuk Pengendalian Simbol String", perkataan
string
(String) digunakan dengan cara yang sama seperti hari ini, walaupun tidak adadefinisi 🎜> untuk ini.kami menemui rujukan lain dalam 1959 "Sistem Comit for Mechanical Translation":
Jika kita mahu menggantikan d sin (f) dengan cos (f) d (f), di mana f tidak terhad dan boleh menjadi urutan komponen sewenang -wenang, kita menggunakan simbol $ untuk mewakili rentetan ini.
lucu! Ini adalah tanda dolar yang kita semua tahu dari PHP, ia sebenarnya merupakan tanda rentetan dalam Basic.
Juga pada tahun 1959, kami memperoleh definisi yang lebih langsung dalam "SHARE 709 SISTEM: MESIN PELUANG PENGURUSAN Simbol":
Teks adalah rentetan bit yang disusun secara linear yang mewakili maklumat lain yang diperlukan semasa memuatkan dan menyenaraikan.
Malah, ia adalah melalui Algol April 1960 yang rentetan seolah -olah mengambil bentuk singkatan moden mereka "String" (sebelum ini, orang berkata rentetan [sesuatu] ). Lihat abstrak kertas ini.
Kemudian, pada bulan Mei 1960, laporan mengenai bahasa algoritma Algol 60 menyebutnya dalam bentuk yang menyentuh kandungan teras.
Sejak itu, ia telah merebak secepat meme moden.
![]()
Meteor 1963: Penterjemah LISP untuk penukaran rentetan menggunakan "[...] tetapi penukaran mudah beberapa senarai linear (rentetan) sangat baik dalam simbol ini sukar untuk ditentukan."
1964 "Mengenai Pengisytiharan Alphabet Pengekodan sewenang -wenang" Disebutkan "Rentetan Karakter".
cari ACM menunjukkan banyak sumber lain dari tahun 1960 -an dan seterusnya, yang semuanya kini menggunakan istilah ini secara teratur, jadi tahun 1960 -an nampaknya menjadi pemangkin untuk evolusi istilah ini dan menjadikannya hari ini, perlahan -lahan, melalui keperluan sistem. Menariknya, ia akhirnya mewakili konsep yang sama dengan era tipografi -satu set aksara dengan makna dan membawa beberapa kos (hanya kali ini dalam ingatan).
sebagai nota sampingan - pertimbangkan semua kertas ini dari lebih daripada 60 tahun yang lalu. Enam puluh tahun yang lalu, mereka menggunakan kad berlubang untuk menyelesaikan masalah sains komputer dan menulis tentang mereka dalam kertas akademik mereka. Dan kita kini 2017, dengan kerangka JavaScript 2017, dengan alasan siapa yang boleh melakukan hubungan seks dengan siapa di komuniti Drupal dan cuba mentakrifkan semula fasad perkataan berulang kali. Apabila kita berhujah tentang sains roket moden yang dibangunkan "perkara-perkara masuk ke dalam kotak, perkara-perkara yang keluar dari kotak", orang-orang membentuk seluruh dunia dengan mengubah persekitaran analog Pasir ingat nombor.
Kesimpulan
Jadi sekarang kita tahu -atau sekurang -kurangnya fikir kita tahu- String (String) berasal. Sains Komputer selalu menjadi ruang gelap yang penuh dengan misteri dan evolusi yang perlahan, seperti yang kita tahu sekarang bahawa mata manusia mempunyai separuh peringkat dan separuh mata pada masa lalu, dan istilah dalam sains komputer juga telah melampaui dan berkembang di sekitar makna asalnya Sehingga mereka memberikan apa yang kita ada hari ini. Konsep yang sama dengan nama yang sama dilahirkan di pelbagai tempat pada masa yang sama pada tahun 1960 -an sehingga ia berkembang menjadi istilah bersatu yang kita semua difahami dan digunakan, dan yang paling penting, kita semua bersetuju.
Apabila anda memikirkannya dengan teliti, bolehkah kita menggunakan perkataan yang lebih baik? Walaupun rentetan (rentetan) hampir merasa tidak wajar kerana lengkap putus dari istilah yang sama di dunia "nyata" (kita tidak akan memanggil teks pada halaman "rentetan"), saya tidak dapat memikirkan sesuatu yang lebih sesuai untuk popular ini Jenis Data Syarat. Boleh? Beritahu saya.
FAQ untuk rentetan dalam pengaturcaraan komputer
Apakah asal -usul sejarah perkataan "rentetan" dalam sains komputer?
Perkataan "rentetan" dalam sains komputer dipercayai berasal dari frasa "rentetan aksara". Ia mula -mula digunakan dalam pengaturcaraan apabila data sering diwakili sebagai urutan atau "rentetan" aksara alfanumerik. Istilah ini digunakan untuk menggambarkan jenis data sebagai urutan watak dalam bahasa pengaturcaraan, dan ia telah digunakan hingga ke hari ini.
Bagaimana rentetan berbeza daripada jenis data lain dalam pengaturcaraan?
berdiri adalah urutan aksara yang boleh termasuk huruf, nombor, dan aksara khas. Tidak seperti jenis data lain seperti integer atau boolean (mewakili nilai berangka atau benar/palsu, masing -masing), rentetan digunakan untuk mewakili dan memanipulasi teks. Mereka adalah jenis data asas dalam hampir semua bahasa pengaturcaraan, dan mereka datang dengan pelbagai kaedah terbina dalam untuk operasi dan analisis.
Mengapa rentetan tidak berubah dalam beberapa bahasa pengaturcaraan?
Dalam beberapa bahasa pengaturcaraan seperti Java dan Python, rentetan tidak berubah. Ini bermakna bahawa sekali rentetan dibuat, ia tidak boleh diubah. Pilihan reka bentuk ini terutamanya untuk sebab kecekapan dan keselamatan. Oleh kerana rentetan sering digunakan dalam kuantiti yang banyak dalam program, menjadikannya tidak berubah dapat membolehkan sistem mengoptimumkan penggunaan memori dan pemprosesan kelajuan. Ia juga menghalang potensi risiko keselamatan yang berkaitan dengan rentetan yang boleh berubah.
Bagaimana rentetan disimpan dalam ingatan?
berdiri biasanya disimpan dalam ingatan, sebagai urutan watak, setiap watak mengambil sejumlah bait tertentu, bergantung kepada pengekodan watak yang digunakan. Sebagai contoh, dalam pengekodan ASCII, setiap watak menduduki satu bait ingatan, manakala dalam pengekodan Unicode, watak boleh menduduki dua atau lebih bait. Akhir rentetan biasanya ditandakan dengan aksara kosong khas.
Apakah operasi biasa yang boleh dilakukan pada rentetan?
Banyak operasi boleh dilakukan pada rentetan, termasuk penggabungan (penggabungan dua rentetan bersama), pengekstrakan substring (dapatkan sebahagian daripada rentetan), perbandingan rentet watak atau substring dalam rentetan). Operasi ini biasanya disediakan sebagai kaedah terbina dalam dalam bahasa pengaturcaraan.
Bagaimana untuk menukar rentetan ke jenis data lain?
Kebanyakan bahasa pengaturcaraan menyediakan fungsi atau kaedah untuk menukar rentetan ke jenis data lain. Sebagai contoh, dalam Python, anda boleh menggunakan fungsi int () untuk menukar rentetan angka ke integer, atau menggunakan fungsi float () untuk menukarnya ke nombor titik terapung. Walau bagaimanapun, jika rentetan tidak mewakili nombor yang sah, penukaran ini akan gagal.
Apakah interpolasi rentetan?
Interpolasi String adalah teknik pengaturcaraan di mana pembolehubah atau ekspresi dimasukkan terus ke dalam rentetan. Ini sering digunakan untuk memformat rentetan dengan cara yang lebih mudah dibaca dan mudah. Sintaks interpolasi rentetan bervariasi dengan bahasa pengaturcaraan.
Apakah perbezaan antara rentetan dan array watak?
Strings adalah urutan aksara, dan array watak adalah tatasusunan di mana setiap elemen adalah watak. Dalam sesetengah bahasa pengaturcaraan seperti C, rentetan diwakili sebagai watak yang berakhir dengan watak null. Walau bagaimanapun, dalam banyak bahasa peringkat tinggi, rentetan adalah jenis data yang berasingan dengan kaedah dan sifat mereka sendiri.
apakah literasi rentetan?
Stand literal adalah rentetan yang ditulis terus ke kod sumber program. Ia biasanya tertutup dalam petikan, dan sama ada petikan tunggal atau berganda bergantung kepada bahasa pengaturcaraan. Literasi rentetan dianggap sebagai nilai malar, dan dalam beberapa bahasa, mereka tidak berubah.
Bagaimana untuk mewakili watak khas dalam rentetan?
Karakter khas dalam rentetan, seperti pemecahan garis, tab, atau aksara kutipan, biasanya diwakili oleh urutan melarikan diri. Urutan melarikan diri adalah backslash () diikuti dengan urutan watak atau watak. Sintaks yang tepat dan urutan melarikan diri yang tersedia berbeza dengan bahasa pengaturcaraan.
Atas ialah kandungan terperinci Mengapa rentetan dipanggil rentetan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!