การเขียนโปรแกรมแบบตารางคืออะไร


34

การเขียนโปรแกรมภาษาเหยี่ยวประกาศตัวเองเป็นสนับสนุนการเขียนโปรแกรมแบบตาราง:

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

เอกสารขยายบิตเกี่ยวกับวิธีรสชาติของภาษาในการเขียนโปรแกรมตารางทำงาน แต่มุ่งเน้นไปที่ภาษาของเค้าเองและไวยากรณ์และไม่ได้จริงๆอธิบายประโยชน์ของกระบวนทัศน์ (ยกเว้นของหลักสูตรที่จะเห็นได้ชัดจากตัวอย่างง่าย ๆ ) .

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

คุณช่วยให้ฉันได้ความคิดที่ดีขึ้นเกี่ยวกับการเขียนโปรแกรมแบบตารางคืออะไรเกี่ยวกับและมันทำงานอย่างไรภายใน?

ชี้แจง:ฉันกำลังไม่ได้ถามเกี่ยวกับตารางแบบการเขียนโปรแกรม


11
มีบทความเกี่ยวกับเรื่องนี้คือตาราง Oriented Programming (tl; dr) ฉันเดาว่านี่เป็นการผสมผสานระหว่างอาร์เรย์ของวัตถุ (เช่นในอินสแตนซ์ของคลาส) ฐานข้อมูลและสเปรดชีต
mouviciel

3
วลี "การเขียนโปรแกรมเชิงตาราง" ทำให้ฉันคิดถึง Lua Lua ใช้ตารางเป็นโครงสร้างข้อมูลชั้นแรกแต่ภาษาตัวเองนอกจากนี้ยังสามารถขยายการใช้Metatables
Robert Harvey

5
โรเบิร์ตโต๊ะของลัวะเป็นอีกวิธีหนึ่งในการพูดว่า "ต้นแบบจาก" ซึ่งถูกกล่าวถึงในรายการแล้ว
Jess Telford

คำตอบ:


2

ตารางการเขียนโปรแกรมเป็นนามแฝงของกระบวนทัศน์การเขียนโปรแกรม Table Oriented (TOP) สำหรับ TOP แนวคิดหลักคือตารางสำหรับ Object Oriented Programming (OOP) แนวคิดหลักคือวัตถุ

โดยทั่วไปแล้วภาษาเครื่องมือการโปรแกรมและอื่น ๆ จะจัดการกับตารางและให้ความสำคัญกับมัน อย่างไรก็ตามโปรแกรมเมอร์สามารถใช้กระบวนทัศน์บางอย่างแม้ในภาษาที่ไม่สนับสนุนกระบวนทัศน์นั้นโดยธรรมชาติ สำหรับภาษาอินสแตนซ์ที่ไม่มีคำหลักสำหรับการกำหนดคลาสและไม่สนับสนุนไวยากรณ์สำหรับการดำเนินการกับอินสแตนซ์สามารถใช้เพื่อเขียนโค้ดเชิงวัตถุ ยกตัวอย่างเช่นในภาษา C เราสามารถกำหนดโครงสร้างและวางอ้างอิงถึงโครงสร้างที่เป็นฟังก์ชั่นในการสั่งซื้อเพื่อจำลองนี้ชี้และวิธีการอุทธรณ์ อย่างไรก็ตามรหัส OO ที่เขียนด้วยภาษา C ++ หรือ C # นั้นจะง่ายกว่ามากกะทัดรัดกะทัดรัดอ่านง่ายยืดหยุ่นและลดข้อผิดพลาดได้ง่าย

The Falcon เป็นภาษาที่ให้การสนับสนุน nativly ยอดนิยมในแง่ที่มันมีโครงสร้างการเขียนโปรแกรมในตัวเพื่ออำนวยความสะดวกในการจัดการกับตาราง Altough บอกว่าฟอลคอนถือว่าท็อปเหมือนกับว่า C ++ ถือเป็น OOP ในความเป็นจริงมันเป็นเครื่องมือที่อำนวยความสะดวกหรือบังคับใช้รูปแบบการเขียนโปรแกรมบางอย่าง

ฉันคิดว่า แต่บางทีฉันผิดที่เราควรค้นหาความคิดสูงสุดในสถานที่ที่ถูกสร้างขึ้นสำหรับปฏิบัติการเฉพาะบนตาราง SQL Server และAnalysis Servicesเป็นเวทีที่ดำเนินการที่เน้นข้อมูลแบบตาราง โดยเฉพาะอย่างยิ่งการเขียนโปรแกรมแบบตารางใหม่ใช้ตารางเป็นองค์ประกอบสำคัญในการจัดการ ฉันเชื่อว่าจะมีการเปิดตัวการสนับสนุน API ที่ใช้งานง่ายยิ่งขึ้นสำหรับการเขียนโปรแกรมแบบตารางในอนาคต ดังนั้นฉันจึงปล่อยให้ตัวเองพูดเกี่ยวกับท็อปในบริบทของการเขียนโปรแกรมแบบตารางเหมือนกับด้านอื่นของท็อปข้างฟอลคอน

Tabular Model Programmingใช้ในAnalysis Servicesซึ่งเป็นของSQL Server Technologiesดังนั้นจึงมีความเกี่ยวข้องอย่างใกล้ชิดกับฐานข้อมูลเชิงสัมพันธ์และระบบธุรกิจอัจฉริยะ โหมดแบบตารางเป็นวิธีการใหม่สำหรับการสร้างโมเดลความหมายของระบบธุรกิจอัจฉริยะเป็นทางเลือกแทนโหมดหลายมิติดังนั้นจึงควรเปรียบเทียบกับโหมดหลัง แต่ละโซลูชันแตกต่างกันในวิธีการสร้างใช้และปรับใช้ โหมดตารางเร็วกว่าการออกแบบทดสอบและปรับใช้ ยังคุ้นเคยกับผู้ชมที่ทำงานกับฐานข้อมูลเชิงสัมพันธ์, Excel หรือ Access สำหรับรายละเอียดเพิ่มเติมและ internals หมายถึงการเปรียบเทียบตารางและหลายมิติโซลูชั่น

ฉันคิดว่าวิธีที่ดีที่สุดในการทำความเข้าใจกับการเขียนโปรแกรมแบบตารางคือการใช้ในทางปฏิบัติ รับแบบจำลองแบบตาราง (Adventure Works Tutorial)และรู้สึกถึงมัน


1
สิ่งใดที่เกี่ยวข้องกับฟอลคอน?
yannis

@YanisRizos ฉันคิดว่าคำถามคือการเขียนโปรแกรมแบบตารางคืออะไร? ในแง่ของวิธีการทำความเข้าใจและคุณยกตัวอย่างเหยี่ยวนกเขา คิดเกี่ยวกับการเปลี่ยนคำถามของคุณเป็นวิธีการเข้าใจเหยี่ยวเป็นภาษาการเขียนโปรแกรมแบบตาราง?
yBee

คุณช่วยขยายคำตอบของคุณเพื่ออธิบายว่าการเขียนโปรแกรมโมเดลแบบตารางมีส่วนเกี่ยวข้องกับการเขียนโปรแกรมแบบตารางได้อย่างไร เพราะนอกจากความคล้ายคลึงกันในชื่อพวกเขาดูเหมือนจะแตกต่างไปจากเดิมอย่างสิ้นเชิง
yannis
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.