İçindekiler:
Tanım - Referans Şeffaflığı ne demektir?
Referans şeffaflığı, bir programın belirli bir bölümünün veya programlama dilinin, özellikle Haskell ve R gibi fonksiyonel programlama dillerinin bir özelliğidir.Programdaki bir ifadenin, değeri ile değiştirilebildiği ve sonuçta ortaya çıkan davranış olduğu durumlarda referans olarak şeffaf olduğu söylenir. değişiklikten önceki ile aynı. Bu, kullanılan girdinin bir başvuru ya da başvurunun işaret ettiği gerçek bir değer olup olmadığı programın davranışının değişmediği anlamına gelir.
Techopedia Referans Şeffaflığını Açıklıyor
Referans şeffaflığının kökleri, matematik ve mantık yöntemlerine dayanan doğal dil yapılarını, argümanları ve ifadeleri inceleyen ve bilgisayar bilimcileri tarafından benimsenmesine rağmen programlama ile ilgisi olmayan bir felsefe dalı olan analitik felsefenin kökenine sahiptir.
Kavram basittir, ifadenin ifade ettiği şey "referans" ifadesi, ifadenin anlamını değiştirmeden "yönlendireni" değiştirmek için kullanılabilir. Örneğin, "Luke'un babası kötü bir adamdır" ifadesi, "Luke'un babası", Star Wars'daki "Darth Vader" a atıfta bulunur. Dolayısıyla ifade referans olarak şeffaftır çünkü "Luke'un babası" herhangi bir zamanda "Darth Vader" ile değiştirilebilir ve ifade anlamında bir değişiklik olmaz. Bununla birlikte, "dinleyiciler 'İmparatorluğun geri döndüğüne' kadar izleyicinin Luke'un babasının aslında Darth Vader olduğunu bilmediği için referans olarak şeffaf bir ifade değildir, çünkü" Luke'un babası "yerine" Darth Vader "ifadesi" izleyiciler Darth Vader'in aslında Darth Vader olduğunu, “İmparatorluk Geri Döndü” ne kadar tamamen farklı bir anlama sahip olduğunu bilmiyordu.
Programlama ile ilgili olarak, kavram ilk bakışta aynıdır, ancak birçok filozof, kavramın programlama dillerinde iyi uygulandığını veya uygulandığını kabul etmez. Ancak genel programlamada bu, bir ifadenin, programın davranışını etkilemeden ortaya çıkan değeriyle değiştirilebileceği anlamına gelir. Örneğin, plusOne (x) işlevi x'in değeri ne olursa olsun bir tane ekler, bu nedenle x = 5 olduğunu bilersek, plusOne kullanırken aynı davranışı sağlayan bir ifadedeki işlevi güvenli bir şekilde 6 değeriyle değiştirebiliriz (x) tanımlanmaktadır. Ancak, ifade içinde harici olarak kontrol edilen harici bir değişken varsa, fonksiyon içindeki Y'nin harici olarak kontrol edildiği plusY (x) fonksiyonunda, sonuçta ortaya çıkan davranış aynı olmayabilir - bu durumda bu referans olarak şeffaf değildir ifadesi.