Tolong jelaskan mengenai Sejarah dari Tanda sama dengan

Dalam etimologi, kata "sama" berasal dari kata Latin "æqualis" berarti "seragam", "identik", atau "sama", dari aequus ("tingkat", "bahkan" atau "hanya").

Simbol "=" yang sekarang diterima secara universal dalam matematika untuk kesetaraan pertama kali tercatat oleh Welsh matematika Robert Recorde di Kiliran Witte (1557). Bentuk asli dari simbol itu jauh lebih luas dari form ini. Dalam bukunya Recorde menjelaskan desain "garis Gemowe" (yang berarti kembar garis, dari bahasa Latin gemellus): … to auoide the tediouſe repetition of theſe woordes: is equalle to: I will ſette as I doe often in woorke vſe, a paire of paralleles, or Gemowe lines of one lengthe, thus: =, bicauſe noe .2. thynges, can be moare equalle.... untuk menghindari membosankan pengulangan kata-kata ini: "sama dengan", saya akan set (seperti yang saya lakukan sering bekerja menggunakan) sepasang paralel, atau Gemowe garis-garis, satu panjang (jadi =), karena tidak ada dua hal yang bisa lebih sama.Menurut sejarah University of St Andrews Skotlandia situs web Matematika:Simbol '=' tidak segera populer. Simbol || digunakan oleh beberapa dan æ (atau œ), dari kata Latin aequalis makna yang sama, itu secara luas digunakan dalam tahun 1700-an.

Penggunaan dalam matematika dan pemrograman komputer

Dalam matematika, tanda sama dengan dapat digunakan sebagai pernyataan sederhana dari fakta dalam kasus tertentu (x = 2), atau untuk membuat definisi ( x = 2), pernyataan bersyarat (jika x = 2, maka ...), atau untuk mengekspresikan universal kesetaraan (x + 1)2 = x2 + 2x + 1.

Penting pertama bahasa pemrograman komputer menggunakan tanda sama dengan adalah versi asli dari Fortran, FORTRAN I, yang dirancang pada tahun 1954 dan dilaksanakan pada tahun 1957. Dalam Fortran, "=" berfungsi sebagai sebuah tugas operator: X = 2 set nilai dari X ke 2. Ini agak menyerupai gunakan "=" dalam definisi matematis, tetapi berbeda dengan semantik: ungkapan berikut "=" dievaluasi terlebih dahulu dan bisa merujuk ke nilai sebelumnya dari X. Misalnya, tugas X = X + 2 meningkatkan nilai X dengan 2.

Saingan pemrograman-penggunaan bahasa dirintis oleh versi asli dari ALGOL, yang dirancang pada tahun 1958 dan diimplementasikan pada tahun 1960. ALGOL termasuk operator relasional yang diuji untuk kesetaraan, yang memungkinkan konstruksi seperti jika x = 2 pada dasarnya sama dengan arti "=" bersyarat penggunaan dalam matematika. Tanda sama dengan adalah dicadangkan untuk penggunaan ini.

Kedua penggunaan tersebut tetap umum dalam bahasa pemrograman yang berbeda ke awal abad ke-21. Serta Fortran, "=" digunakan untuk penugasan dalam bahasa-bahasa seperti C, Perl, Python, awk, dan keturunan mereka. Tapi "=" digunakan untuk kesetaraan dan tidak tugas di keluarga Pascal, Ada, Eiffel, APL, dan bahasa-bahasa lain.

Beberapa bahasa, seperti DASAR dan PL/I, telah menggunakan tanda sama dengan berarti kedua tugas dan kesetaraan, dibedakan oleh konteks. Namun, dalam sebagian besar bahasa-bahasa di mana "=" memiliki salah satu dari makna ini, yang berbeda karakter atau, lebih sering, urutan dari karakter yang digunakan untuk makna lain. Berikut ALGOL, sebagian besar bahasa yang digunakan "=" untuk kesetaraan menggunakan ":=" untuk tugas, meskipun APL, dengan karakter khusus yang mengatur, menggunakan kiri-panah menunjuk.

Fortran tidak memiliki kesetaraan operator (itu hanya mungkin untuk membandingkan ekspresi ke nol, dengan menggunakan pernyataan aritmetika IF) sampai FORTRAN IV dirilis pada tahun 1962, dan sejak saat itu telah digunakan empat karakter ".EQ." untuk menguji kesetaraan. Bahasa B memperkenalkan penggunaan "==" dengan makna ini, yang telah disalin oleh keturunan C dan paling lambat bahasa dimana "=" yang berarti tugas.

Penggunaan beberapa tanda sama dengan

Dalam PHP, tiga tanda sama dengan (===) menunjukkan identitas, yang berarti bahwa tidak hanya melakukan dua ekspresi mengevaluasi dengan nilai yang sama, mereka juga tipe data yang sama. Misalnya, ungkapan 0 == false adalah benar, tapi 0 === palsu adalah tidak, karena jumlah 0 adalah nilai integer sedangkan false adalah sebuah nilai Boolean.

JavaScript memiliki semantik yang sama bagi ===, disebut sebagai "kesetaraan tanpa jenis pemaksaan". Namun, dalam JavaScript perilaku == tidak dapat dijelaskan dengan sederhana aturan yang konsisten. Ekspresi 0 == false adalah benar, tapi 0 == undefined adalah palsu, meskipun kedua belah pihak == bertindak sama dalam Boolean konteks. Untuk alasan ini dianjurkan untuk menghindari operator == pada JavaScript dalam mendukung ===.

Di Ruby, kesetaraan di bawah == memerlukan kedua operand harus jenis identik, misalnya 0 == false adalah palsu. Operator === adalah fleksibel dan dapat didefinisikan secara sewenang-wenang yang diberikan untuk setiap jenis. Sebagai contoh, nilai dari tipe Range adalah range dari bilangan bulat, seperti 1800..1899.(1800..1899) == 1844 adalah palsu, karena jenis yang berbeda (Range vs Integer); namun (1800..1899) === 1844 adalah benar, sejak === pada Berbagai nilai-nilai yang berarti "dimasukkan dalam range". Perhatikan bahwa di bawah ini semantik, === adalah non-simetris; misalnya 1844 === (1800..1899) adalah palsu, karena hal ini diartikan bilangan Bulat#=== daripada Berbagai#===.