คำนามที่สอดคล้องกันสำหรับ“ ผลข้างเคียงฟรี” หรือไม่


10

สำหรับฟังก์ชั่นหรือการคำนวณเรามีเงื่อนไขดังนี้:

  • กำหนดขึ้น - กำหนด
  • บริสุทธิ์ - ความบริสุทธิ์

ตอนนี้คำนามที่เกี่ยวข้องที่ถูกต้องสำหรับผลข้างเคียงฟรีคืออะไร?

"ผลข้างเคียง freeness"? "เสรีภาพผลข้างเคียง"? "Non-ด้านที่มีประสิทธิภาพ"?


4
สิ่งนี้ไม่ควรเป็นภาษาอังกฤษและการใช้งาน ? ;) ไม่ว่าในกรณีใดคุณสามารถกำหนดบริบทการใช้งานของคุณได้หรือไม่? ฉันยอมรับว่าการใช้คำนามที่เหมาะสมประเภทนี้ไม่ถูกต้อง (ในฐานะชาวเยอรมันพื้นเมืองฉันเห็นอกเห็นใจ แต่เราต้องบังคับตัวเองไม่ให้แปลมอนสเตอร์ตัวอักษรพวกนี้มันแย่มากในเยอรมันเช่นกันถ้าเป็นไปได้)
Raphael

1
ผลข้างเคียงต่างจากบริสุทธิ์หรือไม่?
Andrej Bauer

@ ราฟาเอลฉันก็คิดที่จะถามคำถามที่นั่น แต่เมื่อฉันถามเกี่ยวกับคำนามที่ถูกต้องในบริบทการเขียนโปรแกรมฉันคิดว่านักวิทยาศาสตร์คอมพิวเตอร์อาจให้คำตอบที่ดีกว่า
rolve

3
@ AndrejBauer ฉันคิดว่าบริสุทธิ์เป็นทั้งผลข้างเคียงฟรีและกำหนดขึ้นในขณะที่ผลข้างเคียงฟรีอาจยังคงเป็น nondeterministic
rolve

@ ราฟาเอลจริงๆแล้วมันไม่มีบริบทที่เฉพาะเจาะจงมาก ฉันกำลังคิดว่าฟังก์ชั่นบริสุทธิ์และปราศจากผลข้างเคียงที่กำหนดได้อย่างไร และคิดเกี่ยวกับแนวคิดเหล่านี้โดยไม่มีชื่อสำหรับแต่ละของพวกเขาทำให้ฉันไม่สบายใจ : D
rolve

คำตอบ:


8

กฎง่ายๆสำหรับคำถามไวยากรณ์คือถ้ามันซับซ้อนจนคุณต้องถามมันจะเป็นการดีกว่าถ้าคุณใช้ประโยคใหม่ ตัวอย่างเช่น "ผลข้างเคียง - อิสระของฟังก์ชั่นรับประกัน X" เขียนง่ายกว่าและหรูหรากว่า "เนื่องจากฟังก์ชั่นนี้ไม่มีผลข้างเคียงรับประกัน X" หรือแม้กระทั่ง "ฟังก์ชั่นนี้ไม่มีผลข้างเคียงดังนั้น X รับประกัน "

ต้องบอกว่าคำหลักสำหรับบทความที่คาดว่าจะเป็นวลีคำนามเพื่อที่จะใช้สถานที่ "เสรีภาพผลข้างเคียง"

(โดยวิธีการ "ไม่มีผลข้างเคียง" เป็นคำคุณศัพท์)


(โดยวิธีการ "ไม่มีผลข้างเคียง" เป็นคำคุณศัพท์)จับได้ดี ... และขอบคุณสำหรับคำตอบ แต่น่าเสียดายที่ฉันไม่ต้องการคำเพียงประโยคเดียว
rolve


7

เป็นคำที่nullipotenceในรูปแบบที่เป็นรูปธรรมของnullipotent จากคำจำกัดความแรกใน Wiktionary:

(คณิตศาสตร์คำนวณ) อธิบายการกระทำที่มีผลข้างเคียงที่ไม่มี โดยทั่วไปแล้วการสืบค้นจะเป็นโมฆะ: พวกมันจะส่งคืนข้อมูลที่เป็นประโยชน์ แต่จะไม่เปลี่ยนโครงสร้างข้อมูลที่ถูกสอบถาม ตัดกับ idempotent

(เน้นที่เหมือง)

http://en.wiktionary.org/wiki/nullipotent


ว้าวฉันไม่เคยได้ยินคำนี้มาก่อน ดูเหมือนจะไม่ได้ใช้กันโดยทั่วไป (Google รายงานผลลัพธ์ 16'300 รายการสำหรับ "nullipotent" และผลลัพธ์ 1'580 สำหรับ "nullipotence" และตัวตรวจการสะกดคำในเบราว์เซอร์ของฉันไม่ทราบเลย) แต่ฉันอาจจะใช้เพื่อประโยชน์ของมัน! ขอบคุณ
rolve

3
ฉันเป็นผู้เชี่ยวชาญด้านโดเมนและฉันไม่คิดว่าฉันเคยเห็นคำนี้มาก่อน มันไม่ได้เป็นคำที่ไม่ดี แต่ก็จำเป็นต้องกำหนดอย่างแน่นอนก่อนการใช้งาน
Gilles 'หยุดความชั่วร้าย'

3
นี้ช่วยให้ผมตระหนักดีว่ามีความแตกต่างระหว่างและnullpotent nilpotent
Val

1
@Val ใช่ฉันคิดว่าพวกเขาหมายถึงสิ่งเดียวกันจนกว่าฉันจะศึกษาพีชคณิตนามธรรม ถ้าฉันรู้สึกโหดร้ายเป็นพิเศษฉันจะอธิบายโดยบอกว่าบางสิ่งที่ไม่มีค่าใช้จ่ายไม่มีผลใด ๆ : P
Matthew Piziak

3

ผมได้เรียนรู้แนวคิดนี้เป็นความโปร่งใสอ้างอิง

อย่างไรก็ตามมีการถกเถียงกันว่านี่เป็นคำที่มีความหมายหรือไม่ดังนั้นถ้าคุณจะใช้มันในบทความคุณควรนิยามมันก่อน


2
ความโปร่งใสอ้างอิงไม่ได้เป็นสิ่งเดียวกับการขาดผลข้างเคียง คุณสามารถมีภาษาที่ใช้งานได้อย่างสมบูรณ์ซึ่งมาโครนำมาซึ่งการจับชื่อที่ไม่ต้องการทางซ้ายและขวาจึงทำลายความโปร่งใสในการอ้างอิง
Kaz

@Kaz พูดถึงการอ้างอิงคุณมีการอ้างอิงใด ๆ สำหรับเรื่องมาโครหรือไม่
rolve

@rolve ฉันอาจใช้มุมมองที่ตำบลเกินไป สำหรับสิ่งที่ตัดกันดูคำจำกัดความของโครงการอ้างอิงโปร่งใสซึ่งมีการเชื่อมต่อกับอิสรภาพจากผลข้างเคียง: tunes.org/wiki/referential_20transparency_20and_20state.html
Kaz

@rolve ฉันคิดถึงการอ้างอิงโปร่งใสในบริบทของการประเมิน: การแปลงรหัสสามารถย้ายนิพจน์ได้ แต่การอ้างอิงในนิพจน์เหล่านั้นทำงานได้อย่างเหมาะสมไม่ว่าจะเกิดอะไรขึ้นก็ตาม เช่นระบบมาโครที่ถูกสุขลักษณะกล่าวถึงความโปร่งใสในการอ้างอิง ไม่มีอะไร "ทึบแสงโดยไม่ตั้งใจ" ระหว่างการอ้างอิงและสิ่งที่มันอ้างถึงเช่นสัญลักษณ์ที่มีชื่อเดียวกันแทรกโดยคอมไพเลอร์ในโค้ดที่มองไม่เห็น
Kaz

@Kaz: ดังที่ฉันได้กล่าวไปแล้วในคำตอบของฉันมีคำจำกัดความที่ขัดแย้งกันหลายประการของ 'referential transparent'
BlueRaja - Danny Pflughoeft

2

อิสรภาพข้างเคียงคือสิ่งที่ฉันจะใช้


น่าเสียดายที่นี่มีการตีความว่าผลข้างเคียงมีอิสระไม่ใช่สถานการณ์ที่ปราศจากผลข้างเคียง ที่แสดงออกอย่างไม่น่าสงสัยโดย "อิสรภาพจากผลข้างเคียง"
Kaz

3
อย่างแน่นอน แม้ว่ามันจะเป็นเรื่องจริง แต่ฉันก็เห็นมันใช้ในทางปฏิบัติ
Dave Clarke

2

หากการทำงานของฟังก์ชั่นหลายครั้งมีผลสุทธิเดียวกันบนระบบที่ใช้มันครั้งเดียวฟังก์ชั่นคือidempotentและมีIdempotency ไม่ทราบว่าเป็นสิ่งที่คุณกำลังมองหา


1
ขอบคุณนั่นเป็นอีกแนวคิดที่ฉันจะต้องคิด บางทีอาจพูดได้ว่า idempotent นั้นอ่อนแอกว่าไม่มีผลข้างเคียง แต่มันไม่ใช่สิ่งที่ฉันกำลังมองหา (และในกรณีใด ๆ มันไม่ใช่คำนาม ;-))
rolve

1
จุดดี - รูปนามเป็น idempotency
Tin Man

3
สุดยอดฟังก์ชั่น idempotent chmod:: คุณสามารถเรียกใช้ซ้ำได้หลายครั้งมันจะไม่ทำงานมากกว่าครั้งแรก (เว้นแต่ไฟล์จะมีการเปลี่ยนแปลงในระหว่าง ... ) มีอีกหลายคน มันไม่ได้เป็น "ผลข้างเคียงฟรี" อย่างแน่นอน แต่มันจะเปลี่ยนแปลงสิ่งต่าง ๆ และสามารถป้องกันโปรแกรมอื่น ๆ ที่จะทำอะไรบางอย่างเกินไปเมื่อมีการเปลี่ยนแปลงการอนุญาต
Olivier Dulac

1
คำนี้น่าจะเป็นสิ่งสำคัญที่สุดในการเขียนโปรแกรมเว็บ - หากคุณกำลังปรับเปลี่ยนฐานข้อมูล (เพิ่มผู้ใช้ใหม่) และคุณกำลังจัดการกับเครือข่ายที่ไม่น่าเชื่อถือคุณต้องแน่ใจว่าเซิร์ฟเวอร์ได้รับข้อความซ้ำซ้อน อย่าทำให้เกิดปัญหาที่ไม่คาดคิด
Tin Man

2
ฟังก์ชั่น Idempotent นั้นไม่มีผลข้างเคียงแน่นอน การเรียกใช้ฟังก์ชัน idempotent ไม่มีผลข้างเคียงโดยรวมเช่นเดียวกับ 1 การเรียกใช้ ฟังก์ชั่นที่ไม่มีเอฟเฟกต์เป็นกรณีพิเศษของ idempotency
Kaz

1

คุณเกือบจะได้รับมันด้วย "อิสรภาพของผลข้างเคียง" ปัญหาคือว่าสิ่งนี้อาจหมายถึงว่าผลข้างเคียงนั้นฟรี (ดังเช่นใน "อิสระของผลข้างเคียง") เพื่อความชัดเจนคุณต้องมี "อิสระจากผลข้างเคียง" และทราบว่า "ฟรี" ไม่จับคู่กับ "เสรีภาพ"; ทั้ง "ฟรีจากบางสิ่ง" และ "ฟรีจากบางสิ่ง" ไปที่ "อิสระจากบางสิ่ง"

โดยทั่วไปแล้วคุณจะพบว่าวลีคำนามผสมซึ่งหัวเป็น "อิสระ" ถูกละทิ้งโดยสัญชาตญาณของเจ้าของภาษาอังกฤษแม้ว่าพวกเขาจะเป็นไวยากรณ์ ตัวอย่างเช่น "เสรีภาพในการพูด" และ "อิสรภาพจากการกดขี่" จะไม่ถูกเรียกว่า "เสรีภาพในการพูด" และ "เสรีภาพในการกดขี่" ความหมายอาจจะทำงานออกจากบริบท ( "เสรีภาพในการพูด" อาจจะไม่ได้เป็น "เสรีภาพจากคำพูด" และ "การกดขี่เสรีภาพ" ไม่ได้ "เสรีภาพในการกดขี่") แต่รูปแบบเป็นเพียงไม่ไพเราะ แม้ว่าจะเป็นเพียงการเลิกใช้ แต่ก็เป็นวิธีที่เป็นอยู่

เอกสารทางวิชาการใน CS นั้นเขียนขึ้นสำหรับผู้ชมทั่วโลกซึ่งรวมถึงผู้ที่ไม่ใช่เจ้าของภาษาอังกฤษด้วย หากคุณสามารถทำได้ให้เขียนเหมือนเจ้าของภาษา


ขอบคุณสำหรับคำอธิบายพวกเขาดูเหมือนสมเหตุสมผลกับฉัน มันจะสร้างความแตกต่างหรือไม่ถ้าฉันสะกดคำด้วยเครื่องหมายขีดคั่นเหมือนที่ฉันทำในโพสต์ต้นฉบับ: "ผลข้างเคียง - เสรีภาพ"? หรือว่าจะผิด
rolve

ยัติภังค์ไม่เปลี่ยนความหมาย เกี่ยวกับยัติภังค์ดูที่นี่ ใช้คำนามร่วมกับคำนามผสม
Kaz

1
"อิสรภาพของผลข้างเคียง" นั้นใช้ได้และใช้กันอย่างแพร่หลาย ไม่มีความเคลือบแคลงในทางปฏิบัติเพราะในการแยกวิเคราะห์ที่เป็นไปได้สองประการ "อิสรภาพจากผลข้างเคียง" เป็นแนวคิดที่สมบูรณ์แบบที่มักจะกล่าวถึงในขณะที่ "เสรีภาพของผลข้างเคียง" นั้นไร้สาระที่ไม่มีใครเคยพูดถึง หากวลีมีความหมายชัดเจนผู้คนจะไม่ไปค้นหาความหมายอื่น: พวกเขาจะอ่านต่อไปด้วยประโยคที่เหลือ
David Richerby

1
@ DavidRicherby ขอบคุณสำหรับความคิดเห็นฉันคิดในสิ่งเดียวกัน ก็ยังดีที่เข้าใจว่ามีความคลุมเครือทางทฤษฎีแม้ว่า
rolve

1
"อิสรภาพของผลข้างเคียง" เป็นวลีมาตรฐานสำนวน มีเพียงสิ่งเดียวที่มันอาจหมายถึงเหตุผลคือ; เพราะฉะนั้นนั่นคือสิ่งที่มันหมาย ไวยากรณ์มีไว้เพื่อรับใช้เราไม่ใช่เพื่อกดขี่เรา
David Richerby

-1

คุณอาจต้องการ " orthogonality " ดูเหมือนว่าจะเหมาะกับคำนิยามของคุณอย่างแน่นอน


ขอบคุณสำหรับคำตอบ. อย่างไรก็ตามฉันคิดว่าคำว่า orthogonal ใช้สำหรับแนวคิดเท่านั้นและไม่ใช่สำหรับการคำนวณหรือฟังก์ชัน อย่างไรก็ตามเป็นความจริงที่ว่าทั้งสองฟังก์ชั่นที่ไม่มีผลข้างเคียงสามารถถูกมองว่าเป็นมุมฉากเนื่องจากมันไม่ได้รบกวนซึ่งกันและกัน
rolve

ความเข้าใจของฉันคือ "orthogonality" ก็ใช้สำหรับฟังก์ชั่น (ฉันคิดว่าฟังก์ชั่นที่บริสุทธิ์ถูกเรียกว่า "orthogonal" บางครั้ง) แต่ฉันอาจจะผิดเนื่องจาก "orthogonal" รู้สึกเหมือนมันต้องการสิ่งที่สองคือบางสิ่งบางอย่าง orthogonal กับสิ่งอื่นดังนั้นแน่นอนว่ามันไม่สามารถเป็นแบบทั่วไปหลังจากทั้งหมด ...
CamilB

แต่ทำไมคุณถึงค้นหาคำแยกต่างหากสำหรับฟังก์ชั่นที่ไม่มีผลข้างเคียง "ฟังก์ชั่นที่บริสุทธิ์" หมายความว่า: ทั้งกำหนดและไม่มีผลข้างเคียง (พูดว่า Wikipedia)
CamilB

นั่นคือประเด็น: ฉันต้องการเหตุผลเกี่ยวกับฟังก์ชั่นที่ปราศจากผลข้างเคียง แต่ไม่จำเป็นต้องกำหนด เพียวมีอยู่แล้ว "มากเกินไป"
rolve

ฉันเข้าใจแล้ว. มันจะเป็นแบบฝึกหัดที่น่าสนใจในการค้นหาฟังก์ชั่นที่ปราศจากผลข้างเคียง ฉันไม่สามารถนึกถึงอะไรได้นอกจากอะตอมจำลองด้วย QM :) ฉันขอแนะนำ thesaurus.com ได้ไหม? อาจจะมีคำตรงกันข้ามของคำนามที่เกี่ยวข้องกับผลข้างเคียงที่นั่น นอกจากนี้คำที่คุณต้องการอาจเป็นคำที่ต้องเพิ่มลงในภาษาอังกฤษจากภาษาอื่น ฉันจะทิ้งคุณไว้คนเดียว :)
CamilB
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.