อ่าน 9 นาที
Lasso (ภาษาโปรแกรม)
Lassoเป็นแอปพลิเคชันเซิร์ฟเวอร์และอินเทอร์เฟซการจัดการเซิร์ฟเวอร์ที่ออกแบบมาเพื่อพัฒนาแอปพลิเคชันอินเทอร์เน็ต นอกจากนี้ยังเป็นภาษาโปรแกรมระดับสูงอเนกประสงค์ อีกด้วย
Lasso (ภาษาโปรแกรม)
| บ่วงบาศ | |
|---|---|
| กระบวนทัศน์ | หลายกระบวนทัศน์ : เชิงวัตถุที่มีโครงสร้าง ( มัลติดิส ) คำสั่ง : เชิงกระบวนการ , พร้อมกัน , มุ่งเน้นประสบการณ์ เมตา : การสะท้อน |
| ออกแบบโดย | ไคล์ เจสซัป |
| นักพัฒนา | บริษัท ลาสโซซอฟต์ อิงค์ |
| ปรากฏครั้งแรก | พ.ศ. 2538 |
| เวอร์ชันเสถียร | 9.3.1 / 23 ตุลาคม 2558 |
| วินัยในการพิมพ์ | ไดนามิกที่มีข้อจำกัด (แบบไฮบริดเข้มงวด), รูปแบบนาม , เป็ด (ไฮบริด) |
| ภาษาการใช้งาน | ซี , บ่วงบาศ |
| แพลตฟอร์ม | ข้ามแพลตฟอร์ม |
| โอเอส | ( ระบบปฏิบัติการ OS X , Windows , Linux ) |
| ใบอนุญาต | กรรมสิทธิ์ |
| นามสกุลไฟล์ | .lasso, .LassoApp |
| เว็บไซต์ | www.lassosoft.com |
| การนำไปใช้งานหลักๆ | |
| บ่วงบาศ 8, บ่วงบาศ 9 | |
| ได้รับอิทธิพลจาก | |
| ดีแลน , สมอลล์ทอล์ก , สกาล่า | |
Lassoเป็นแอปพลิเคชันเซิร์ฟเวอร์และอินเทอร์เฟซการจัดการเซิร์ฟเวอร์ที่ออกแบบมาเพื่อพัฒนาแอปพลิเคชันอินเทอร์เน็ต นอกจากนี้ยังเป็นภาษาโปรแกรมระดับสูงอเนกประสงค์ อีกด้วย เดิมทีเป็นเครื่องมือเชื่อมต่อแหล่งข้อมูลเว็บ[ 1 ]สำหรับFilemakerและต่อมารวมอยู่ในFileMaker 4.0 ของApple Computer และ Claris Homepageในชื่อ CDML [ 2 ] [ 3 ]ตั้งแต่นั้นมาก็ได้พัฒนาเป็นภาษาที่ซับซ้อนซึ่งใช้ในการพัฒนาและให้บริการแอปพลิเคชันอินเทอร์เน็ตขนาดใหญ่และเว็บเพจ
Lasso มีระบบเทมเพลตที่เรียบง่าย ช่วยให้โค้ดสามารถควบคุมการสร้างHTMLและเนื้อหาประเภท อื่นๆ ได้ Lasso เป็น ภาษาการเขียนโปรแกรม เชิงวัตถุซึ่งทุกค่าเป็นวัตถุนอกจากนี้ยังรองรับการเขียนโปรแกรมเชิงขั้นตอนผ่าน เมธอด ที่ไม่จำกัดขอบเขตภาษาดังกล่าวใช้คุณสมบัติ (traits)และการเรียกใช้ฟังก์ชันหลายทาง (multiple dispatch)อย่างกว้างขวาง
Lasso มี ระบบประเภทแบบไดนามิกซึ่งสามารถโหลดและเสริมวัตถุได้ในขณะรันไทม์มีการจัดการหน่วยความจำ อัตโนมัติ ไลบรารีมาตรฐานที่ครอบคลุมและวิธีการคอมไพล์ สามแบบ ได้แก่ แบบไดนามิก (เทียบได้กับPHP - Python ) การคอมไพล์แบบทันที (เทียบได้กับJavaหรือ.NET Framework ) และการคอมไพล์ล่วงหน้า (เทียบได้กับC ) นอกจาก นี้Lasso ยังรองรับนิพจน์แบบสอบถาม[ 4 ]ซึ่งช่วยให้สามารถวนซ้ำ กรอง และจัดการองค์ประกอบภายในอาร์เรย์และลำดับประเภทอื่นๆ โดยใช้ไวยากรณ์ภาษาธรรมชาติที่คล้ายกับSQL [ 5 ] Lasso มี การสนับสนุนอักขระ Unicode เต็มรูปแบบ ในวัตถุสตริงมาตรฐาน ทำให้สามารถให้บริการและรองรับอักขระหลายไบต์เช่น ภาษาญี่ปุ่นและภาษาสวีเดน และรองรับ การแปลง UTF-8 แบบโปร่งใส เมื่อเขียนข้อมูลสตริงไปยังเครือข่ายหรือระบบไฟล์
Lasso มักใช้เป็นภาษาสคริปต์และยังใช้ในบริบทที่ไม่ใช่สคริปต์ที่หลากหลายอีกด้วย โค้ด Lasso สามารถบรรจุลงในโปรแกรมปฏิบัติการแบบสแตนด์อโลนที่เรียกว่า "LassoApps" ซึ่งโครงสร้างโฟลเดอร์จะถูกคอมไพล์เป็นไฟล์เดียว[ 6 ]
แอปพลิเคชันเซิร์ฟเวอร์ Lasso Server ทำงานเป็นบริการระบบและรับคำขอจากเว็บเซิร์ฟเวอร์ผ่านFastCGIจากนั้นจะส่งต่อคำขอไปยัง Lasso Instance ที่เหมาะสม ซึ่งจะสร้างการตอบกลับ รองรับการใช้งานหลายอินสแตนซ์แยกกัน ทำให้เซิร์ฟเวอร์เดียวสามารถจัดการหลายเว็บไซต์ โดยแต่ละเว็บไซต์เป็นกระบวนการแยกต่างหาก เซิร์ฟเวอร์ใช้ ระบบ เธรดสีเขียว ประสิทธิภาพสูง แบบIOที่ออกแบบมาสำหรับระบบ มัลติคอร์
Lasso สามารถเปรียบเทียบได้กับภาษาสคริปต์ฝั่งเซิร์ฟเวอร์PHP [ 7 ] [ 8 ]และPython , ColdFusion , Rubyเป็นต้น[ 9 ] [ 10 ]
ประวัติศาสตร์
Lasso เริ่มต้นขึ้นในช่วงกลางทศวรรษ 1990 เมื่อนักพัฒนาเว็บยุคแรกพยายามสร้างเว็บไซต์ที่ใช้ฐานข้อมูลโดยใช้ FileMaker Pro ของ Apple บนแพลตฟอร์ม Mac มีสองทางเลือกคือWEB-FM ของ Eric Bickford และ FileMaker CGI (ROFM)ของ Russell Owens ซึ่งทั้งสองสร้างขึ้นด้วยAppleScriptและต้องใช้ฟิลด์การคำนวณของ FileMaker Pro สำหรับการจัดรูปแบบ (ต่อมา WEB-FM ถูกเขียนใหม่ด้วยภาษา C)
ในฤดูใบไม้ร่วงปี 1995 นักพัฒนาอิสระ Vince Bonfanti ได้เขียนCGI ใหม่ โดยอิงจาก ROFM โดยใช้C / C++เพื่อประสิทธิภาพที่ดีขึ้น และใช้แนวคิดของ "เทมเพลต" ที่ใช้ HTMLแทนการใช้ฟิลด์การคำนวณ ซึ่งได้รับความนิยมอย่างมากในชุมชน FileMaker และได้รับความสนใจจาก Bill Doerrfeld เจ้าของBlue World Communications Inc.บริษัทพัฒนาสิ่งพิมพ์และเว็บไซต์ที่ตั้งอยู่ในIssaquah รัฐวอชิงตันซึ่งได้ซื้อซอร์สโค้ดไป[ 11 ]
ในเวลานี้ Blue World ได้ทดลองปรับปรุงCGIในสภาพแวดล้อมการเขียนสคริปต์ Frontier ซึ่งเป็นแรงบันดาลใจให้เกิดชื่อ "Lasso" ความต้องการในการปรับปรุงเพิ่มเติมทำให้เกิดการสร้างCGI ที่ใช้ภาษา C ซึ่งต่อมาได้เผยแพร่ในชื่อ "Lasso 1.0" ณ จุดนี้ Lasso ใช้งานได้เฉพาะกับFileMaker Pro 3.x และWebSTAR เท่านั้น และทำงานได้เฉพาะบนApple Mac OS 8ขึ้นไป[ 12 ]
การใช้งาน Lasso เพิ่มขึ้นอย่างเห็นได้ชัดจากบทวิจารณ์ในสิ่งพิมพ์[ 13 ] และการที่ Blue World เป็นเจ้าภาพและมีส่วนร่วมในรายการสนทนาทางอีเมลจำนวนมาก ซึ่งหลาย รายการเกี่ยวข้องกับ FileMaker Pro โดยเฉพาะ Blue World ยังปรากฏตัวบ่อยครั้งและเป็นที่รู้จักในฐานะบริษัทชั้นนำในการประชุม MacWorld [ 14 ]
หลังจากการเปิดตัว Lasso 1.2 ในเดือนมกราคม พ.ศ. 2540 Blue World และ Bonfanti ได้เริ่มการเจรจาส่วนตัวกับClarisซึ่งเป็นแผนกซอฟต์แวร์ของApple Computerและเป็นเจ้าของ FileMaker Pro ในที่สุด Claris ก็ได้รับอนุญาตให้ใช้ซอร์สโค้ด Lasso เวอร์ชันหลัง 1.2 และด้วยความช่วยเหลือของ Vince และ Paul Bonfanti ได้เปิดตัว FileMaker Web Companion เป็นส่วนประกอบหนึ่งของ FileMaker Pro 4.0 ภาษาของ FileMaker Web Companion คือCDML (Claris Dynamic Markup Language) [ 15 ]ซึ่งแตกต่างจาก LDML (Lasso Dynamic Markup Language) ของ Lasso 1.2 แต่ก็ใกล้เคียงกันมากพอที่จะทำให้การเปลี่ยนผ่านสำหรับนักพัฒนาที่ต้องการให้บริการจาก FileMaker Pro ผ่านเซิร์ฟเวอร์ของบุคคลที่สามเป็นเรื่องง่าย[ 16 ]และมีคุณสมบัติที่น่าสนใจยิ่งขึ้น[ 17 ]
การรวม Web Companion ที่คล้ายกับ Lasso ไว้ในFileMaker 4.0 ยังช่วยกระตุ้นการเติบโตของ Lasso ภายใน ชุมชน การพัฒนาเว็บ Macintosh ด้วย Blue World ยังคงพัฒนา Lasso ต่อไป โดยมี Kyle Jessup เป็นโปรแกรมเมอร์หลักของ Lasso Lasso 2.0 เปิดตัวในเดือนกรกฎาคม พ.ศ. 2540 ซึ่งนำเสนอการเปลี่ยนแปลงพื้นฐานบางประการในการใช้งาน Lasso [ 18 ]
เมื่อวันที่ 26 กุมภาพันธ์ พ.ศ. 2545 Blue World ได้ออก Lasso 5 ซึ่งเป็นการเปลี่ยนแปลงครั้งใหญ่จากภาษาที่เน้น FileMaker เป็นหลัก (ไม่มีการออก Lasso 4; หมายเลขเวอร์ชันข้ามจาก 3 ไปเป็น 5) Lasso 5 ประกอบด้วยการอัปเดตมากมาย รวมถึงสถาปัตยกรรมที่เขียนขึ้นใหม่ทั้งหมด (สำหรับ OS X, Windows, Linux) และฐานข้อมูลMySQL แบบฝังตัว [ 19 ]แม้ว่า Lasso 5 ยังคงสื่อสารกับฐานข้อมูล FileMaker (แต่ไม่ใช่ FileMaker Server) แต่ FileMaker ในฐานะแหล่งข้อมูลยังคงค่อนข้างช้าเมื่อเทียบกับเอ็นจิ้น SQL และมีราคาแพงกว่ามาก ตั้งแต่เวอร์ชัน 2.0 Lasso รองรับมัลติเธรดอย่างเต็มรูปแบบ ทำให้สามารถเชื่อมต่อได้หลายรายการพร้อมกัน แต่ก็ประสบปัญหาเรื่องความหน่วงหรือความล่าช้าของ FileMaker ในการทำงานบางอย่าง และไม่มีวิธีใดที่จะแก้ไขปัญหานี้ได้อย่างน่าเชื่อถือ นอกจากการเปลี่ยนแปลงแหล่งข้อมูลครั้งใหญ่[ 20 ]
Lasso 5 ยังเพิ่มการสนับสนุนApache HTTP Serverแบบเนทีฟภายใต้ OS X, WindowsและLinuxโดยเข้าร่วมกับ Webstar 5, AppleShare IP (ซึ่งถูกแทนที่ด้วย OS X Server) และ iTools (จาก Tenon [ 21 ] ) (Mac OS 9 ซึ่ง Lasso ถูกใช้มาหลายปีแล้วไม่ได้รับการสนับสนุน) สิ่งนี้ทำให้เกิดความสัมพันธ์ที่ใกล้ชิดยิ่งขึ้นกับสถาปัตยกรรมเซิร์ฟเวอร์ LAMP แบบคลาสสิก
Blue World Communications ได้ออกปลั๊กอินหลายตัวสำหรับแพ็กเกจการพัฒนาเว็บยอดนิยมจาก Macromedia และ Adobe Lasso Studio 1.5 สำหรับ Dreamweaver ได้รับรางวัลรองชนะเลิศในรางวัล Editors' Choice Awards ของนิตยสาร MacWorld สำหรับอินเทอร์เน็ตและการพัฒนา[ 22 ]ในปี 2544 โดยแพ้ให้กับAdobe Dreamweaver 3 Lasso Studio สำหรับ Dreamweaver 1.5 [ 23 ]ยังได้รับการวิจารณ์ในเชิงบวกจากนิตยสาร MacWorld โดยได้รับ4 คะแนน+เมาส์ ขนาด1/2 นิ้วเวอร์ชัน Lasso Studio รุ่นหลังรองรับทั้ง Macromedia Dreamweaverและ Adobe GoLiveรวมถึง Lasso Studio 7 สำหรับ Dreamweaver และ GoLive [ 24 ]เมื่อวันที่ 26 มีนาคม พ.ศ. 2547
ด้วยการเปิดตัว FileMaker Server และ FileMaker Server Advanced เวอร์ชัน 7 ในปี 2547 FileMaker ได้ส่งสัญญาณถึงการเปลี่ยนแปลงครั้งสำคัญในกลยุทธ์การให้บริการข้อมูลแก่เว็บไซต์ พวกเขาเน้นย้ำการเชื่อมต่อ XML-XSLT, ODBC และ JDBC แต่เฉพาะผ่านผลิตภัณฑ์ FileMaker Server Advanced ที่มีราคาแพงกว่าเท่านั้น[ 25 ] Blue World เริ่มแยกภาษา Lasso ออกจาก FileMaker และ Apple ในปี 2548 Lasso Pro ได้รับการรับรองจาก MySQL Network [ 26 ]ซึ่งแสดงให้เห็นถึงความสำคัญของฐานข้อมูลโอเพนซอร์สยอดนิยมต่ออนาคตของ Lasso
เมื่อวันที่ 1 สิงหาคม พ.ศ. 2547 Bill Doerrfeld ได้ขายสายผลิตภัณฑ์ Lasso ให้กับ OmniPilot Software, Inc. ในเมือง Ft. Lauderdale รัฐฟลอริดาอย่างเป็นทางการ Lasso 7.0.3 เป็นเวอร์ชันสุดท้ายของ Lasso ที่วางจำหน่ายโดย Blue World [ 27 ]
เมื่อวันที่ 25 ตุลาคม พ.ศ. 2547 OmniPilot ได้ประกาศเปิดตัว Lasso 8 อย่างเป็นทางการ ซึ่งเป็นเวอร์ชันที่มีแซนด์บ็อกซ์สำหรับหลายไซต์บนเซิร์ฟเวอร์เดียวกัน และการเชื่อมต่อกับแหล่งข้อมูลใหม่ ๆ มากมาย[ 28 ]นอกจากนี้ยังรวมถึง Lasso เวอร์ชัน "ฟรี" ตัวแรกที่จำกัดเฉพาะที่อยู่ IP [ 29 ] OmniPilot ได้ออกผลิตภัณฑ์เสริมอีกหลายรายการตามมา รวมถึง Lasso Studio 8 สำหรับ Dreamweaver และ GoLive [ 30 ]เมื่อวันที่ 28 มีนาคม พ.ศ. 2548 Lasso Studio สำหรับEclipseการรวม ChartFX และโซลูชันฟรีที่ใช้ Lasso อีกหลายรายการ[ 31 ]
ในปี 2550 พนักงาน OmniPilot สามคน ได้แก่ Kyle Jessup (ผู้พัฒนา Lasso 1.0 ดั้งเดิม), Fletcher Sandbeck (พนักงานยุคแรกของ Blue World ซึ่งเป็นที่รู้จักจาก Tips and Tricks เป็นประจำ) และ Kerry Adams (พนักงานของ OmniPilot) ได้ก่อตั้งบริษัทใหม่ชื่อ LassoSoft LLC เพื่อซื้อทรัพย์สินทางปัญญาของ Lasso จาก OmniPilot และพัฒนาต่อ[ 32 ] [ 33 ]ด้วยความตระหนักถึงความจำเป็นในการแข่งขันกับภาษาที่ได้รับความนิยมมากกว่า เช่น PHP และASPจึงมีการเปลี่ยนแปลงครั้งใหญ่ในด้านสถาปัตยกรรม ไวยากรณ์ และโครงสร้าง และเปิดตัวเป็น Lasso 9.0 ความท้าทายทางเทคนิคที่เกิดจากการเปลี่ยนแปลงเหล่านี้ ประกอบกับทรัพยากรทางการตลาดที่จำกัด ส่งผลให้ชุมชนลดลงอย่างมาก เนื่องจากบริษัทต้องดิ้นรนเพื่อเผยแพร่เอกสารและให้การสนับสนุนสำหรับภาษาใหม่[ 34 ] [ 35 ]
ในเดือนธันวาคม พ.ศ. 2553 บริษัท LassoSoft Inc. แห่งใหม่ในแคนาดาได้ก่อตั้งขึ้น ซึ่งได้ซื้อและลงทุนอย่างมากในภาษา Lasso 9.0 การตลาด และเอกสาร Kyle Jessup ตกลงที่จะดำรงตำแหน่งนักพัฒนาหลักของ Lasso และเผด็จการใจดีตลอดชีวิตมีการออกเวอร์ชันเพิ่มเติมหลายเวอร์ชัน (9.1 และ 9.2) ในช่วงไม่กี่ปีที่ผ่านมา[ 36 ]
ประวัติการเผยแพร่
| สี | ความหมาย | การพัฒนา |
|---|---|---|
| สีแดง | รุ่นเก่า | ไม่มีการพัฒนา |
| สีเหลือง | เวอร์ชันเสถียร | การแก้ไขช่องโหว่ด้านความปลอดภัย |
| สีเขียว | เวอร์ชันเสถียร | แก้ไขข้อผิดพลาดและปัญหาด้านความปลอดภัย |
| สีฟ้า | วางจำหน่ายในอนาคต | คุณสมบัติใหม่ |
| เวอร์ชั่น | วันที่วางจำหน่าย | หมายเหตุ |
|---|---|---|
| ROFM | 14 มีนาคม 1994 | FileMaker CGI ของ Russell Owens เป็นตัวเชื่อมต่อฐานข้อมูล FileMaker Pro รุ่นแรกๆ ที่ใช้ AppleScript |
| 0.1 | กันยายน 1995 | ตัวเชื่อมต่อ CGI ที่เขียนโดย Vince Bonafonti ด้วยภาษา C/C++ เพื่อเชื่อมต่อ FileMaker Pro กับเว็บ |
| 1.0 | 27 กันยายน 2539 | ตัวเชื่อมต่อสำหรับ FileMaker Pro 3.x และ WebSTAR [ 37 ] [ 38 ] |
| 1.1 | ธันวาคม พ.ศ. 2539 | ปลั๊กอิน WebSTAR ข้อมูลเบราว์เซอร์ไคลเอ็นต์ เลเยอร์ความปลอดภัย GUI ที่สมบูรณ์[ 39 ] |
| 1.2 | มกราคม 1997 | ซอร์สโค้ดที่ได้รับอนุญาตให้ใช้งานโดย Claris (Apple Computer Inc) ชื่อ CDML ติดตั้งอยู่ในหน้าแรกของ Claris |
| 2 | 17 กรกฎาคม 2540 | รวมถึงการคำนวณทางคณิตศาสตร์ ตัวแปร ประเภทข้อมูลที่ซับซ้อน การรวมฝั่งเซิร์ฟเวอร์ ข้อมูลส่วนหัวของไคลเอ็นต์ คำสั่งเงื่อนไขขั้นสูง อินเทอร์เฟซไคลเอ็นต์ Java การควบคุม Apple Events สำหรับแอปพลิเคชันอื่นบนเว็บเซิร์ฟเวอร์ การดำเนินการฐานข้อมูลหลายรายการ และการเผยแพร่เว็บแบบทันที[ 40 ] |
| 2.5 | 1 ธันวาคม พ.ศ. 2540 | เพิ่มการกำหนดมาตรฐานแท็กและความสามารถในการทำงานร่วมกัน ความสามารถในการสื่อสารกับ เว็บเซิร์ฟเวอร์ WebTen (พอร์ตของApache HTTP Serverไปยัง Mac OS โดย Tenon Intersystems) [ 41 ] |
| 3.0 | 07-ต.ค.-1998 | เพิ่มตัวกรองการตรวจสอบความถูกต้องของข้อมูล มาโคร การจัดการไฟล์/ไดเร็กทอรี การควบคุมวันที่/เวลา ตัวแปรรายการ โทเค็นที่มีชื่อหลายรายการ การจัดการข้อผิดพลาดที่แข็งแกร่ง อีเมล MIME ไฟล์แนบอีเมล รูทีนทางคณิตศาสตร์ที่ขยาย ฟังก์ชันสตริงที่ได้รับการปรับปรุง การควบคุมการเข้ารหัสที่ได้รับการปรับปรุง[ 42 ] |
| 3.5 | 14 เมษายน 2542 | เพิ่ม การสร้าง WYSIWYGโดยใช้ Macromedia Dreamweaver 2 และ Adobe GoLive 4, มัลติเธรดดิ้ง, LJAPI, เซิร์ฟเวอร์ HTTP เสริม, รองรับเซิร์ฟเวอร์ Netscape, JavaScript, XML และตัวแยกวิเคราะห์แท็กขั้นสูงพร้อมตัวควบคุมการดีบักในตัว[ 43 ] |
| 3.6 | 5 มกราคม พ.ศ. 2543 | รองรับแหล่งข้อมูล FileMaker 5, ตัวช่วยสร้าง SQL สำหรับการสืบค้น SQL แบบโต้ตอบ, หน้าข้อผิดพลาดทั่วโลกที่ปรับแต่งได้ และ Studio สำหรับ MacroMedia DreamWeaver [ 44 ] |
| 3.6.5 | 1 ตุลาคม 2543 | เพิ่มตัวเชื่อมต่อสำหรับ MySQL, Red Hat และการสนับสนุน OS X [ 45 ] |
| 5 | 26 กุมภาพันธ์ 2545 | สถาปัตยกรรมที่เขียนใหม่สำหรับ OS X, Windows, Linux พร้อม MySQL ในตัว เพิ่มเซสชัน การจัดการไฟล์ ตัวเชื่อมต่อเนทีฟสำหรับ Apache และ LassoScript (เพิ่มวิธีการ "สคริปต์" ให้กับภาษา) [ 46 ] |
| 6 | 17 กันยายน 2545 | เพิ่มการสร้างภาพ การจัดการ PDF XML ดั้งเดิม การรวม FTP การคำนวณวันที่ ระยะเวลา[ 47 ] |
| 7 | 30 สิงหาคม 2547 | MySQL ถูกแยกส่วน (เนื่องจากข้อจำกัดด้านลิขสิทธิ์) และ FileMaker ปิดตัวเชื่อมต่อแล้ว |
| 7.1 | 13 กันยายน 2547 | เพิ่มความเข้ากันได้กับ Filemaker Pro 7 [ 48 ] |
| 8 | 25 ตุลาคม 2547 | Lasso Server ถูกแบ่งออกเป็น "ไซต์" แยกต่างหากสำหรับผู้ให้บริการโฮสติ้ง |
| 8.1 | 19 กันยายน 2548 | เพิ่มการแคชเอกสาร แก้ไขปัญหาเสถียรภาพ[ 49 ] |
| 8.5 | 9 มิถุนายน 2549 | เพิ่มการผสานรวม AJAX อย่างสมบูรณ์ ตัวเชื่อมต่อแหล่งข้อมูลหลายตัวติดตั้งไว้ล่วงหน้าสำหรับ FileMaker, FileMaker Server Advanced, MySQL, SQLite, MS SQL Server, Sybase, Oracle, PostgreSQL, OpenBase, ODBC และเอ็นจิ้น Spotlight ของ Apple [ 50 ] |
| 9 | 29 มกราคม 2553 | การเปลี่ยนแปลงทางสถาปัตยกรรมที่สำคัญ: ไวยากรณ์เพิ่มเติม, การกำหนดประเภทที่เข้มงวดเทียบกับการกำหนดประเภทที่อ่อนแอ, การคอมไพล์ JIT, การทำให้เป็นอนุกรมแบบเนทีฟ, การสนับสนุน 64 บิต[ 51 ] |
| 8.6 | 20 เมษายน 2554 | ความเร็วและความเสถียรเพิ่มขึ้น[ 52 ] |
| 9.1 | 11 กรกฎาคม 2554 | อินเทอร์เฟซการจัดการใหม่ ตัวเชื่อมต่อ 64 บิต การออกใบอนุญาต SAS ใหม่[ 53 ] |
| 9.2 | 1 มิถุนายน 2555 | เพิ่มการรองรับ Windows, การดีบักแบบบูรณาการ, การวิเคราะห์ประสิทธิภาพโค้ดแบบบูรณาการ[ 54 ] |
| 9.3 | 23 มกราคม 2558 | อินเทอร์เฟซผู้ดูแลระบบใหม่ วิธีการรวบรวมใหม่ การปรับใช้เซิร์ฟเวอร์ส่วนกลาง[ 55 ] |
ตัวอย่างโค้ด
สวัสดีโลก
นี่คือสามวิธีในการกล่าวคำว่า "สวัสดีโลก!" บนหน้าเว็บ Lasso
<?lasso 'Hello World!' ?>[ 'สวัสดีโลก!' ]สวัสดีชาวโลก!วงเล็บเหลี่ยมเป็นอักขระสงวนใน Lasso ดังนั้นจึงต้องใช้เอนทิตี HTML เพื่อแสดงวงเล็บเหลี่ยมบนหน้าเว็บ Lasso สำหรับวัตถุประสงค์อื่นนอกเหนือจากการทำเครื่องหมายแท็ก Lasso หรืออีกทางเลือกหนึ่ง สามารถแสดงวงเล็บเหลี่ยมได้ด้วย Lasso หรือปิดใช้งานได้โดยการเพิ่ม [no_square_brackets] ไว้ที่ด้านบนของไฟล์
อินไลน์
// ค้นหาข้อมูลทั้งหมดในตารางแบบอินไลน์( -database = 'db_name' , -table = 'table_name' , -findall ) => { // วนลูปและประมวลผลแต่ละแถวrows => { // แสดงผลแต่ละแถวไปยังคำขอเว็บปัจจุบันcontent_body += ' <a href="' + column ( 'url' ) + '"> ' + column ( 'title' ) + '</a>' } }Inlines คือเครื่องมือพื้นฐานของ Lasso สำหรับการดำเนินการกับฐานข้อมูล สามารถออก คำสั่งฐานข้อมูลได้ดังที่แสดงด้านบน โดยใช้เมตาภาษาที่ไม่ขึ้นกับฐานข้อมูลของ Lasso ซึ่งในกรณีนี้ รหัสการค้นหาเดียวกันจะใช้งานได้กับ MySQL, FileMaker Pro หรือฐานข้อมูลแบ็กเอนด์อื่นๆ ที่ Lasso สามารถเชื่อมต่อได้
หากจำเป็น คุณสามารถแทรกคำสั่ง SQLลงในข้อความโดยตรงได้ เมื่อใช้เซิร์ฟเวอร์ฐานข้อมูลที่รองรับ SQL:
// ดำเนินการคำสั่ง SQL แบบอินไลน์( -database = 'db_name' , -sql = 'SELECT * FROM table_name' ) ...ในตัวอย่างข้างต้น เครื่องหมายขีด (-) หน้าคำสั่งแสดงถึงพารามิเตอร์เสริม พารามิเตอร์เหล่านี้สามารถระบุได้ในลำดับใดก็ได้และสร้างขึ้นแบบไดนามิก โดยพารามิเตอร์ที่ซ้ำกันตัวสุดท้ายจะมีความสำคัญเหนือกว่า คำสั่งอินไลน์รองรับพารามิเตอร์หลากหลาย[ 56 ]ทำให้ผู้พัฒนาสามารถโต้ตอบกับฐานข้อมูลที่พวกเขาอาจไม่มีความรู้เชิงลึกได้
สามารถสร้างตัวเชื่อมต่อฐานข้อมูลแบบกำหนดเองได้ ซึ่งช่วยให้สามารถใช้ประโยชน์จากลักษณะนามธรรมของคำสั่งแบบอินไลน์ได้
เบียร์ 99 ขวด
ตัวอย่างขั้นตอนต่อไปนี้จะพิมพ์เนื้อเพลงของเพลง "99 Bottles of Beer" ออกมา
// กำหนดเมธอดที่มีประโยชน์สองสามอย่างกำหนดbr => '<br/>' กำหนดbottles ( n :: integer ) => #n != 1 ? ' bottles' | ' bottle'// ประกาศตัวแปรโลคอลที่จะใช้เก็บเนื้อเพลงในรูปแบบสตริงโลคอล( เอาต์= '' )// ใช้ไวยากรณ์การค้นหา Lasso เพื่อสร้างเนื้อเพลงโดยที่n อยู่ในช่วง99 ถึง1 โดย-1 ทำ{#out += #n + ขวด( #n ) + ' ของเบียร์บนผนัง, ' + br #out += #n + ขวด( #n ) + ' ของเบียร์; ' + br #n -- #out += 'หยิบลงมาหนึ่งขวด ส่งต่อกันไป, ' + br #out += #n + ขวด( #n ) + ' ของเบียร์บนผนัง. ' + ( br * 2 ) }// ผลลัพธ์ที่แสดง#ออกตัวอย่างต่อไปนี้ใช้วิธีการเขียนโปรแกรมเชิงวัตถุ (OOP) เพื่อพิมพ์เนื้อเพลงออกมาเมื่อวัตถุนั้นถูกแสดงเป็นสตริง:
// กำหนดประเภทdefine bottles_of_beer => type {// กำหนดข้อมูลภายในข้อมูลส่วนตัวbottles = 99// กำหนดเมธอดส่วนตัวprivate br => '<br/>' private s => . bottles != 1 ? 's' | '' // สร้างเนื้อเพลงเมื่อวัตถุถูกแสดงเป็นสตริงpublic asstring => {local ( out = '' ) // ใช้ไวยากรณ์การค้นหา Lasso เพื่อสร้างเนื้อเพลงโดยที่n อยู่ในช่วง99 ถึง1 โดย-1 ให้ทำดังนี้{ . bottles = #n #out + = . bottles + ' ขวด' + . s + ' ของเบียร์บนผนัง, ' + . br #out += . bottles + ' ขวด' + . s + ' ของเบียร์; ' + . br . bottles -- #out += 'หยิบลงมาหนึ่งขวด ส่งต่อกันไป, ' + . br #out += . bottles + ' ขวด' + . s + ' ของเบียร์บนผนัง. ' + ( . br * 2 ) }// ส่งคืนผลลัพธ์return #out } }ขวดเบียร์เครื่องมือและสภาพแวดล้อมการพัฒนา
ลิงก์ภายนอก
- เว็บไซต์อย่างเป็นทางการของ LassoSoft
- เว็บไซต์อย่างเป็นทางการ LassoGuide
- การอ้างอิง Lasso
- ไฟล์เมกเกอร์
- ListSearch - เครื่องมือค้นหารายการของ LassoSoft
- คลังเก็บข้อมูล LassoTalk บน Nabble
- คลังเก็บข้อมูล LassoTalk บน Google Groups
- ExecuChoice - ชุดแท็ก PDF - PassThru - ShortString
- Knop - เฟรมเวิร์กแอปพลิเคชันเว็บแบบโอเพนซอร์สสำหรับ Lasso 8 และ 9
- LassoFusebox - เวอร์ชัน Lasso ของ Fusebox ซึ่งเป็นเฟรมเวิร์กเว็บแอปพลิเคชันโอเพนซอร์สยอดนิยม สำหรับ Lasso เวอร์ชัน 8 และ 9
- LassoBin - PasteBin สำหรับ Lasso
- LassoForge - โครงการ Lasso แบบโอเพนซอร์ส
- tagSwap - แหล่งแลกเปลี่ยนสาธารณะสำหรับแท็กแบบกำหนดเองของ Lasso
- L-Debug - ชุดเครื่องมือดีบักสำหรับ Lasso 8 และ Lasso 9
- บทความในวิกิพีเดียนี้อ้างอิงจากประกาศในยุคแรกๆและแหล่งข้อมูลสำคัญ หลายแห่งที่ ปัจจุบันไม่สามารถเข้าถึงได้บนเว็บแล้ว
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ Lasso (ภาษาโปรแกรม)
Lassoเป็นแอปพลิเคชันเซิร์ฟเวอร์และอินเทอร์เฟซการจัดการเซิร์ฟเวอร์ที่ออกแบบมาเพื่อพัฒนาแอปพลิเคชันอินเทอร์เน็ต นอกจากนี้ยังเป็นภาษาโปรแกรมระดับสูงอเนกประสงค์ อีกด้วย
ประวัติศาสตร์
Lasso เริ่มต้นขึ้นในช่วงกลางทศวรรษ 1990 เมื่อนักพัฒนาเว็บยุคแรกพยายามสร้างเว็บไซต์ที่ใช้ฐานข้อมูลโดยใช้ FileMaker Pro ของ Apple บนแพลตฟอร์ม Mac มีสองทางเลือกคือWEB-FM ของ Eric Bickford และ FileMaker CGI (ROFM)ของ Russell Owens ซึ่งทั้งสองสร้างขึ้นด้วย...
ประวัติการเผยแพร่
สำคัญ สี ความหมาย การพัฒนา สีแดง รุ่นเก่า ไม่มีการพัฒนา สีเหลือง เวอร์ชันเสถียร การแก้ไขช่องโหว่ด้านความปลอดภัย สีเขียว เวอร์ชันเสถียร แก้ไขข้อผิดพลาดและปัญหาด้านความปลอดภัย สีฟ้า วางจำหน่ายในอนาคต คุณสมบัติใหม่ เวอร์ชั่น วันที่วางจำหน่าย หมายเหตุ ROFM 14...
สวัสดีโลก
นี่คือสามวิธีในการกล่าวคำว่า "สวัสดีโลก!" บนหน้าเว็บ Lasso