สภาพแวดล้อมการพัฒนาแบบบูรณาการ

จากวิกิพีเดีย สารานุกรมเสรี
ข้ามไปที่การนำทาง ข้ามไปที่การค้นหา

แอน จูตาเป็น IDE สำหรับ การเขียนโปรแกรม CและC++ในสภาพแวดล้อมเดสก์ท็อปGNOME

สภาพแวดล้อม การพัฒนาแบบบูรณาการ ( IDE ) เป็นโปรแกรมซอฟต์แวร์ที่อำนวยความสะดวกอย่างครอบคลุมแก่โปรแกรมเมอร์คอมพิวเตอร์สำหรับการพัฒนาซอฟต์แวร์ โดยปกติ IDE จะประกอบด้วยตัว แก้ไขซอร์สโค้ดเป็นอย่างน้อยเครื่องมือสร้างระบบอัตโนมัติและตัวดีบั๊ก IDE บางตัว เช่นNetBeansและEclipseมีคอมไพเลอร์ล่ามหรือทั้งสองอย่าง ที่จำเป็น อื่น ๆ เช่นSharpDevelopและLazarusทำไม่ได้

ขอบเขตระหว่าง IDE และส่วนอื่นๆ ของสภาพแวดล้อมการพัฒนาซอฟต์แวร์ในวงกว้างนั้นไม่มีการกำหนดไว้อย่างชัดเจน บางครั้ง ระบบจะรวม ระบบควบคุมเวอร์ชันหรือเครื่องมือต่างๆ เพื่อทำให้การสร้างอินเทอร์เฟซผู้ใช้แบบกราฟิก (GUI) ง่ายขึ้น IDE สมัยใหม่จำนวนมากยังมีคลาสเบราว์เซอร์อ็อบเจ็กต์เบราว์เซอร์และไดอะแกรมลำดับชั้น ของคลาส สำหรับใช้ใน การพัฒนาซอฟต์แวร์ เชิง วัตถุ

ภาพรวม

Vim พร้อมการเติมข้อความอัตโนมัติแบบบูรณาการและการทับซ้อนผ่านปลั๊กอินภายนอก

สภาพแวดล้อมการพัฒนาแบบบูรณาการได้รับการออกแบบมาเพื่อเพิ่มประสิทธิภาพการทำงานของโปรแกรมเมอร์ให้สูงสุดโดยการจัดหาส่วนประกอบที่แน่นแฟ้นพร้อมอินเทอร์เฟซผู้ใช้ ที่คล้ายคลึง กัน IDEs นำเสนอโปรแกรมเดียวซึ่งการพัฒนาทั้งหมดเสร็จสิ้น โดยทั่วไปแล้ว โปรแกรมนี้จะมีคุณสมบัติมากมายสำหรับการเขียน แก้ไข คอมไพล์ ปรับใช้และดีบักซอฟต์แวร์ สิ่งนี้แตกต่างกับการพัฒนาซอฟต์แวร์โดยใช้เครื่องมือ ที่ ไม่เกี่ยวข้อง เช่นvi , GDB , GCCหรือmake

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

IDE บางตัวมีไว้สำหรับ ภาษาการเขียนโปรแกรมเฉพาะทำให้ชุดคุณลักษณะที่ตรงกับกระบวนทัศน์การเขียนโปรแกรมของภาษามากที่สุด อย่างไรก็ตาม มี IDE หลายภาษามากมาย

แม้ว่า IDE สมัยใหม่ส่วนใหญ่จะเป็นแบบกราฟิก แต่ IDE แบบข้อความ เช่นTurbo Pascalนั้นเป็นที่นิยมใช้ก่อนระบบหน้าต่างอย่างMicrosoft WindowsและX Window System (X11) จะพร้อมใช้งาน โดยทั่วไปจะใช้ปุ่มฟังก์ชันหรือปุ่มลัดเพื่อดำเนินการคำสั่งหรือมาโครที่ใช้บ่อย

ประวัติ

GNU Emacsตัวแก้ไขแบบขยายได้ซึ่งมักใช้เป็น IDE บนระบบที่เหมือน Unix

เริ่มแรก IDE เป็นไปได้เมื่อพัฒนาผ่านคอนโซลหรือเทอร์มินัระบบแรกเริ่มไม่สามารถรองรับได้ เนื่องจากโปรแกรมถูกจัดเตรียมโดยใช้ผังงาน การเข้าสู่โปรแกรมด้วยบัตรเจาะรู (หรือเทปกระดาษ ฯลฯ) ก่อนที่จะส่งไปยังคอมไพเลอร์ Dartmouth BASICเป็นภาษาแรกที่สร้างขึ้นด้วย IDE (และเป็นภาษาแรกที่ออกแบบมาเพื่อใช้งานขณะนั่งอยู่หน้าคอนโซลหรือเทอร์มินัล) [ ต้องการการอ้างอิง ] IDE ของมัน (ส่วนหนึ่งของDartmouth Time Sharing System ) เป็นแบบใช้คำสั่ง ดังนั้นจึงดูไม่เหมือน IDE แบบกราฟิกที่ขับเคลื่อนด้วยเมนูซึ่งเป็นที่นิยมหลังจากการถือกำเนิดของส่วนต่อประสานกราฟิกกับผู้ใช้ อย่างไรก็ตาม มันรวมการแก้ไข การจัดการไฟล์ การคอมไพล์ การดีบัก และการดำเนินการในลักษณะที่สอดคล้องกับ IDE ที่ทันสมัย

Maestro Iเป็นผลิตภัณฑ์จาก Softlab Munich และเป็นสภาพแวดล้อมการพัฒนาแบบบูรณาการแห่งแรกของโลก[1]สำหรับซอฟต์แวร์ Maestro Iได้รับการติดตั้งสำหรับโปรแกรมเมอร์ 22,000 รายทั่วโลก จนถึงปี 1989 มีการติดตั้ง 6,000 แห่งในสหพันธ์สาธารณรัฐเยอรมนี Maestro เป็นผู้นำระดับโลกในด้านนี้ในช่วงปี 1970 และ 1980 วันนี้เป็นหนึ่งใน Maestro ตัวสุดท้ายที่ฉันสามารถพบได้ในพิพิธภัณฑ์เทคโนโลยีสารสนเทศที่ Arlington ในเท็กซัส

หนึ่งใน IDEs แรกที่มีแนวคิดปลั๊กอินคือSoftbench ในปี 1995 Computerwocheให้ความเห็นว่าการใช้ IDE ไม่ได้รับการตอบรับอย่างดีจากนักพัฒนา เนื่องจากมันจะปิดกั้นความคิดสร้างสรรค์ของพวกเขา

ตั้งแต่เดือนมกราคม 2021 เป็นต้นไป IDE สามตัวที่มีการค้นหาหน้าดาวน์โหลดบ่อยที่สุดคือVisual Studio , EclipseและAndroid Studio [2]

หัวข้อ

การเน้นไวยากรณ์

ตัวแก้ไข IDE มักจะจัดให้มี การ เน้นไวยากรณ์มันสามารถแสดงทั้งโครงสร้าง คำหลักของภาษา และข้อผิดพลาดทางไวยากรณ์ด้วยสีและเอฟเฟกต์แบบอักษรที่มองเห็นได้ชัดเจน [3]

กรอกรหัส

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

การรีแฟคเตอร์

IDE ขั้นสูงให้การสนับสนุนการ ปรับโครงสร้าง ใหม่อัตโนมัติ [3]

การควบคุมเวอร์ชัน

IDE ถูกคาดหวังให้จัดเตรียมการควบคุมเวอร์ชัน รวม เพื่อโต้ตอบกับที่เก็บข้อมูลต้นทาง [3]

แก้จุดบกพร่อง

IDE ยังใช้สำหรับการดีบัก โดยใช้ดีบักเกอร์ แบบบูรณาการ โดยรองรับการตั้งค่าจุดสั่งหยุดในตัวแก้ไข การแสดงภาพขั้นตอน ฯลฯ[4]

ค้นหารหัส

IDE อาจให้การสนับสนุนสำหรับการค้นหาโค้ด การค้นหารหัสมีสองความหมายที่แตกต่างกัน อย่างแรก มันหมายถึงการค้นหาการประกาศคลาสและฟังก์ชัน การใช้งาน การอ่าน/เขียนตัวแปรและฟิลด์ ฯลฯ IDE สามารถใช้อินเทอร์เฟซผู้ใช้ประเภทต่างๆ สำหรับการค้นหาโค้ด เช่น วิดเจ็ตตามรูปแบบ[5]และอินเทอร์เฟซที่ใช้ภาษาธรรมชาติ [6] ประการที่สอง หมายถึงการค้นหาการใช้งานที่เป็นรูปธรรมของฟังก์ชันที่ระบุบางอย่าง สามารถทำได้ทั้งโดยใช้เทคนิค [7]หรือ neural [8]

การเขียนโปรแกรมเชิงภาพ

การเขียนโปรแกรมด้วยภาพเป็นสถานการณ์การใช้งานซึ่งโดยทั่วไปจำเป็นต้องใช้ IDE Visual Basic อนุญาตให้ผู้ใช้สร้างแอปพลิเคชันใหม่โดยการย้ายการเขียนโปรแกรม การสร้างบล็อค หรือโหนดโค้ดเพื่อสร้างผังงานหรือไดอะแกรมโครงสร้างที่คอมไพล์หรือตีความแล้ว ผังงานเหล่า นี้ มักใช้Unified Modeling Language

อินเทอร์เฟซนี้ได้รับความนิยมใน ระบบ Lego Mindstormsและกำลังถูกตรวจสอบโดยบริษัทจำนวนมากที่ต้องการใช้ประโยชน์จากพลังของเบราว์เซอร์ที่กำหนดเอง เช่นเดียวกับที่พบในMozilla KTechlabรองรับ flowcode และเป็น IDE และ Simulator โอเพ่นซอร์สยอดนิยมสำหรับการพัฒนาซอฟต์แวร์สำหรับไมโครคอนโทรลเลอร์ การเขียนโปรแกรมด้วยภาพยังรับผิดชอบพลังของการเขียนโปรแกรมแบบกระจาย (cf. LabVIEWและ ซอฟต์แวร์ EICASLAB ) Maxระบบการเขียนโปรแกรมด้วยภาพในยุคแรกๆถูกจำลองตามการออกแบบซินธิไซเซอร์แบบอะนาล็อกและถูกใช้เพื่อพัฒนาซอฟต์แวร์แสดงดนตรีแบบเรียลไทม์ตั้งแต่ช่วงทศวรรษ 1980 อีกตัวอย่างแรกคือPrographซึ่งเป็น ระบบที่ใช้กระแส ข้อมูลซึ่งเดิมพัฒนาขึ้นสำหรับMacintosh สภาพแวดล้อมการเขียนโปรแกรมแบบกราฟิก "องุ่น" ใช้เพื่อตั้งโปรแกรม หุ่น ยนต์ qfix

แนวทางนี้ยังใช้ในซอฟต์แวร์เฉพาะทาง เช่น Openlab ซึ่งผู้ใช้ปลายทางต้องการความยืดหยุ่นของภาษาการเขียนโปรแกรมเต็มรูปแบบ โดยไม่ต้องอาศัยเส้นโค้งการเรียนรู้แบบเดิมที่เกี่ยวข้อง

รองรับภาษา

IDE บางตัวรองรับหลายภาษา เช่นGNU Emacsที่ใช้CและEmacs Lisp ; IntelliJ IDEA , Eclipse , MyEclipseหรือNetBeansอิงจากJava ; MonoDevelopตามC# ; หรือ PlayCode

ปลั๊กอินมักมีการสนับสนุนสำหรับภาษาอื่นทำให้สามารถติดตั้งบน IDE เดียวกันได้ในเวลาเดียวกัน ตัวอย่างเช่นFlycheckเป็นส่วนขยายการตรวจสอบไวยากรณ์แบบ on-the-fly ที่ทันสมัยสำหรับGNU Emacs 24 พร้อมรองรับ 39 ภาษา [9] EclipseและNetbeansมีปลั๊กอินสำหรับC / C++ , Ada , GNAT (เช่นAdaGIDE ), Perl , Python , RubyและPHPซึ่งถูกเลือกโดยอัตโนมัติตามนามสกุลไฟล์ สภาพแวดล้อม หรือการตั้งค่าโครงการ

ทัศนคติในแพลตฟอร์มคอมพิวเตอร์ต่างๆ

โปรแกรมเมอร์Unix สามารถรวมเครื่องมือ บรรทัดคำสั่ง POSIXเข้ากับสภาพแวดล้อมการพัฒนาที่สมบูรณ์ ซึ่งสามารถพัฒนาโปรแกรมขนาดใหญ่ เช่นเคอร์เนล Linuxและสภาพแวดล้อมได้ [10]ในแง่นี้ ระบบ Unix ทั้งหมดทำหน้าที่เป็น IDE [11]ซอฟต์แวร์ฟรีGNU tools ( GNU Compiler Collection (GCC), GNU Debugger (GDB) และGNU make ) มีให้ใช้งานในหลายแพลตฟอร์ม รวมถึง Windows [12]ปรัชญา Unix ที่แพร่หลายของ "ทุกอย่างคือสตรีมข้อความ" ช่วยให้นักพัฒนาซอฟต์แวร์ที่ชื่นชอบcommand-lineเครื่องมือที่เน้นการใช้เอดิเตอร์ที่รองรับเครื่องมือบิลด์ Unix และ GNU มาตรฐานจำนวนมาก สร้าง IDE ด้วยโปรแกรมอย่าง Emacs [13] [14] [15 ] หรือVim Data Display Debuggerตั้งใจให้เป็น front-end แบบกราฟิกขั้นสูงสำหรับเครื่องมือมาตรฐานของดีบักเกอร์ แบบข้อความจำนวนมาก โปรแกรมเมอร์บางคนชอบจัดการmakefilesและอนุพันธ์ของพวกมันกับเครื่องมือสร้างโค้ดที่คล้ายคลึงกันซึ่งรวมอยู่ใน IDE แบบเต็ม ตัวอย่างเช่น ผู้ร่วมให้ ข้อมูลส่วนใหญ่ในฐานข้อมูล PostgreSQLใช้makeและGDBโดยตรงเพื่อพัฒนาคุณลักษณะใหม่ [16]แม้ในขณะที่สร้าง PostgreSQL สำหรับMicrosoft Windows ที่ ใช้Visual C++ , สคริปต์ Perlถูกใช้แทนmakeแทนที่จะอาศัยคุณสมบัติ IDE ใดๆ [17] Linux IDE บางตัวเช่นGeanyพยายามจัดเตรียมส่วนหน้าแบบกราฟิกให้กับการดำเนินการสร้างแบบเดิม

บนแพลตฟอร์มต่างๆของ Microsoft Windowsเครื่องมือบรรทัดคำสั่งสำหรับการพัฒนานั้นไม่ค่อยได้ใช้ ดังนั้นจึงมีผลิตภัณฑ์เชิงพาณิชย์และไม่ใช่เชิงพาณิชย์มากมาย อย่างไรก็ตาม แต่ละแบบมีการออกแบบที่แตกต่างกันโดยปกติทำให้เกิดความไม่ลงรอยกัน ผู้จำหน่ายคอมไพเลอร์รายใหญ่ส่วนใหญ่สำหรับ Windows ยังคงให้สำเนาเครื่องมือบรรทัดคำสั่งฟรี รวมถึงMicrosoft ( Visual C++ , Platform SDK , .NET Framework SDK, ยูทิลิตี้ nmake )

IDE ได้รับความนิยมในMac OSและmacOS แบบคลาสสิกของ Apple Macintosh มาโดยตลอด นับตั้งแต่Macintosh Programmer's Workshop , Turbo Pascal , THINK Pascal และTHINK Cในช่วงกลางทศวรรษ 1980 ปัจจุบันโปรแกรมเมอร์ macOS สามารถเลือกระหว่าง IDE ดั้งเดิม เช่นXcode และเครื่องมือโอเพ่นซอร์ส เช่นEclipseและNetbeans ActiveState Komodoเป็น IDE หลายภาษาที่เป็นกรรมสิทธิ์ซึ่งรองรับบน macOS

ปัญญาประดิษฐ์

คุณลักษณะบางอย่างของ IDE สามารถได้รับประโยชน์จากความก้าวหน้าในAI [18]โดยเฉพาะอย่างยิ่ง เราสามารถรวบรวมข้อมูลจากการดำเนินการของ IDE ระหว่างนักพัฒนาต่างๆ เพื่อเพิ่มคุณสมบัติ IDE [19]ตัวอย่างเช่น วิธีการที่ขับเคลื่อนด้วยข้อมูลเพื่อทำให้โค้ดสมบูรณ์ส่งผลให้เกิดการ เติม โค้ดอัจฉริยะให้สมบูรณ์

สภาพแวดล้อมการพัฒนาเว็บแบบบูรณาการ

สภาพแวดล้อม การพัฒนาเว็บแบบบูรณาการ (Web IDE) หรือที่เรียกว่าOnline IDEหรือCloud IDEคือ IDE ที่ใช้ เบราว์เซอร์ที่ช่วยให้สามารถพัฒนาซอฟต์แวร์หรือพัฒนาเว็บได้ [20]เว็บ IDE สามารถเข้าถึงได้จากเว็บเบราว์เซอร์ที่อนุญาตให้มีสภาพแวดล้อมการทำงานแบบพกพา เว็บ IDE มักจะไม่มีคุณลักษณะทั้งหมดเหมือนกับ IDE แบบดั้งเดิมหรือเดสก์ท็อป แม้ว่าคุณลักษณะ IDE พื้นฐานทั้งหมด เช่น การเน้นไวยากรณ์ มักมีอยู่

ดูเพิ่มเติม

อ้างอิง

  1. ↑ " Interaktives Programmieren als Systems-Schlager"จาก Computerwoche (ภาษาเยอรมัน )
  2. ^ "ดัชนี สภาพแวดล้อมการพัฒนาแบบบูรณาการ TOP IDE ยอดนิยม" pypl.github.io .
  3. ^ a b c "หลักสูตร CS350 Integrated Development Environments" . cs.odu.edu . มหาวิทยาลัยโอลด์โดมิเนียน. สืบค้นเมื่อ10 ตุลาคม 2018 .
  4. ^ "ซอฟต์แวร์การเขียนโปรแกรมและ IDE " บีบี ซีBitesize สืบค้นเมื่อ10 ตุลาคม 2018 .
  5. ^ "ตำรา Eclipse - รหัสการค้นหา" . โอเรล ลี่ .
  6. คิมมิก, มาร์คุส; มอนเพอร์รัส, มาร์ติน; เมซินี, มิรา (2011). "การสืบค้นซอร์สโค้ดด้วยภาษาธรรมชาติ" . 2011 การประชุมนานาชาติ IEEE/ACM ครั้งที่ 26 ด้านวิศวกรรมซอฟต์แวร์อัตโนมัติ (ASE 2011 ) หน้า 376–379. arXiv : 1205.6361 . ดอย : 10.1109/ASE.2011.6100076 . ISBN 978-1-4577-1639-3. S2CID  6898947 .
  7. สโตลี แคทรีน ที.; เอลโบม เซบาสเตียน; โดบอส, แดเนียล (2014). "การแก้ปัญหาการค้นหาซอร์สโค้ด" . ธุรกรรม ACM เกี่ยวกับวิศวกรรมซอฟต์แวร์และระเบียบวิธี 23 (3): 1–45. ดอย : 10.1145/2581377 . ISSN 1049-331X . 
  8. ^ กู่ เจียน; เฉิน Zimin; มอนเพอร์รัส, มาร์ติน (2564). "การแสดงหลายรูปแบบสำหรับการค้นหารหัสประสาท" . การประชุมนานาชาติ IEEE ประจำปี 2564 เรื่องการบำรุงรักษาและวิวัฒนาการซอฟต์แวร์ (ICSME ) ลักเซมเบิร์ก: IEEE: 483–494 ดอย : 10.1109/ICSME52107.2021.00049 . ISBN 978-1-6654-2882-8.
  9. ^ "บทนำ - Flycheck 0.18-cvs" . อ่านเอกสาร เก็บถาวรจากต้นฉบับเมื่อ 10 มีนาคม 2557 . สืบค้นเมื่อ10 มีนาคม 2557 .
  10. เรห์มัน, คริสโตเฟอร์ พอล, คริสโตเฟอร์ อาร์. พอล "แพลตฟอร์มการพัฒนาลินุกซ์: การกำหนดค่า การใช้ และการรักษาสภาพแวดล้อมการเขียนโปรแกรมที่สมบูรณ์" 2002. ISBN 0-13-009115-4 
  11. ^ "UnixIsAnIde" .
  12. ^ ""ใช้ Emacs กับ Microsoft Visual C++ ... ใช้ Emacs เป็น IDE"" . เก็บข้อมูลจากต้นฉบับเมื่อ 4 กรกฎาคม 2556.
  13. ^ "Emacs: ซอฟต์แวร์ IDE ฟรี | Linux Journal " www.linuxjournal.com .
  14. ^ "The Common Lisp Cookbook - การใช้ Emacs เป็น Lisp IDE " cl-cookbook.sourceforge.net _
  15. ^ "Emacs เป็น Perl IDE " obsidianrook.com _
  16. ^ PostgreSQL "คำถามที่พบบ่อยสำหรับนักพัฒนา - วิกิ PostgreSQL " wiki.postgresql.org . {{cite web}}: ตรวจสอบ|url=ค่า ( ช่วยเหลือ )
  17. ^ "บทที่ 18. การติดตั้งจากซอร์สโค้ดบน Windows" . เอกสารPostgreSQL 29 กันยายน 2564
  18. วิลเลียมส์, คริสตินา เมอร์เซอร์ & ฮันนาห์ "เครื่องมือ AI ที่นักพัฒนาทุกคนต้องลอง" . เทค เวิลด์ .
  19. บรูช มาร์เซล; บอดเดน อีริค; มอนเพอร์รัส, มาร์ติน; Mezini, Mira (7 พฤศจิกายน 2010). IDE 2.0: ปัญญาส่วนรวมในการพัฒนาซอฟต์แวร์ FoSER '10. หน้า 53–58. ดอย : 10.1145/1882362.1882374 . ISBN 9781450304276. S2CID  7637561 .
  20. ^ "เครื่องมือบนเว็บและเดสก์ท็อป – EclipseSource " eclipsesource.com . 19 มิถุนายน 2561.