เหตุใดฉันจึงควรใช้ IDE [ปิด]


391

ในอีกคำถามหนึ่งมาร์คพูดถึง IDEs อย่างมากโดยพูดว่า "บางคนยังไม่รู้ว่าทำไม" พวกเขาจึงควรใช้หนึ่ง ... " ในฐานะคนที่ใช้เสียงเรียกเข้าสำหรับการเขียนโปรแกรมและทำงานในสภาพแวดล้อมที่เพื่อนร่วมงานของฉันส่วนใหญ่ใช้เสียงเรียกเข้าหรือ emacs สำหรับงานของพวกเขาทั้งหมดข้อดีของ IDEs คืออะไร เหตุใดฉันจึงควรใช้

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

หากคุณคิดว่า IDEs อาจเหมาะกับงานบางประเภท แต่ไม่ใช่งานอื่น ๆ ฉันก็สนใจที่จะฟังว่าทำไม


1
ขอบคุณที่ติดต่อฉันแม้ว่าบล็อกของฉันควรมีระบบส่งข้อความส่วนตัวในเว็บไซต์นี้!
ทำเครื่องหมาย

11
emacs เป็นตัวอย่างที่ไม่ดี เป็นการยากที่จะค้นหาคุณลักษณะ IDE ที่ emacs ขาด ความแตกต่างคือสิ่งที่มีอยู่นอกกล่องและสิ่งที่ต้องมีการปรับแต่ง
jfs

8
IDEs ไม่มีประโยชน์โปรแกรมเมอร์ที่แท้จริงใช้ vim

30
ดังนั้นคุณเริ่มใช้ IDE เพราะความคิดเห็นหรือไม่
Aftershock

1
บางครั้งคุณก็ไม่มีทางเลือกนอกจากใช้ IDE :(
Lorem Ipsum Dolor

คำตอบ:


537

มันขึ้นอยู่กับภาษาที่คุณใช้ แต่ใน C # และ Java ฉันพบว่า IDEs มีประโยชน์สำหรับ:

  • การนำทางไปยังประเภทอย่างรวดเร็วโดยไม่ต้องกังวลเกี่ยวกับเนมสเปซโปรเจ็กต์อื่น ๆ
  • นำทางไปยังสมาชิกโดยถือว่าพวกเขาเป็นไฮเปอร์ลิงก์
  • การเติมข้อความอัตโนมัติเมื่อคุณไม่สามารถจำชื่อของสมาชิกทุกคนด้วยใจ
  • การสร้างรหัสอัตโนมัติ
  • Refactoring (อันยิ่งใหญ่)
  • จัดระเบียบการนำเข้า (เพิ่มการนำเข้าที่เหมาะสมใน Java โดยอัตโนมัติโดยใช้คำสั่งใน C #)
  • คำเตือนขณะที่คุณพิมพ์ (เช่นข้อผิดพลาดบางอย่างไม่จำเป็นต้องมีวงจรการรวบรวม)
  • วางเมาส์เหนือบางสิ่งเพื่อดูเอกสาร
  • รักษามุมมองของไฟล์ข้อผิดพลาด / คำเตือน / คอนโซล / หน่วยทดสอบ ฯลฯ และซอร์สโค้ดทั้งหมดบนหน้าจอในเวลาเดียวกันในวิธีที่มีประโยชน์
  • ความง่ายในการเรียกใช้การทดสอบหน่วยจากหน้าต่างเดียวกัน
  • การดีบักแบบรวม
  • การควบคุมแหล่งรวม
  • การนำทางไปยังตำแหน่งที่เกิดข้อผิดพลาดในการคอมไพล์หรือข้อยกเว้นขณะทำงานเกิดขึ้นโดยตรงจากรายละเอียดข้อผิดพลาด
  • ฯลฯ !

ทั้งหมดนี้ช่วยประหยัดเวลา พวกเขาเป็นสิ่งที่ฉันสามารถทำได้ด้วยตนเอง แต่ด้วยความเจ็บปวดที่มากขึ้น: ฉันอยากจะเขียนโค้ด


90
ฉันเดาว่า emacs เป็น IDE จากนั้น;)
Svante

97
เมื่อมันแสดงในลักษณะนั้นฉันจะบอกว่า Vim นับว่าเป็น IDE แล้ว
Jon Skeet

58
จากประสบการณ์ของฉันสิ่งที่ใหญ่ที่สุดที่ Vim และ Emacs หายไปจาก IDE "ของจริง" (ใช่ฉันรู้ว่าพวกเขาสามารถเป็นสิ่งแวดล้อมการพัฒนาที่ดีได้) เป็นส่วนที่เตือนคุณ โดยทั่วไปจะหมายถึงการฝังคอมไพเลอร์ขั้นสูงในตัวแก้ไขและฉันไม่คิดว่าพวกเขาจะได้รับการรวมระดับนั้น
Joachim Sauer

16
saua: คุณดูที่ Flymake, flymake.sourceforge.netหรือไม่? อย่างน้อยก็ให้บางคำเตือน-as-you-ประเภทฟังก์ชั่นการ Emacs
พูดได้หลายภาษา

62
คำเตือนขณะที่คุณพิมพ์ฉันถือว่า John Skeet ต้องการสิ่งนี้เพื่อเตือน IDE ที่พยายามแก้ไขรหัสต่อไปนี้จะเป็นความพยายามที่ไร้ประโยชน์
cmcginty

100

การเติมโค้ดให้สมบูรณ์ ช่วยได้มากกับการสำรวจรหัส


107
ผมจะบอกว่าจบรหัสแทน Intellisense
Hannoun Yassir

2
จากนั้นอีกครั้งฉันสามารถกด Ctrl + P โดยให้รายการแบบหล่นลงของกลุ่มคำสั่งทั้งหมดที่vimคิดว่าฉันสามารถใช้ได้
new123456

17
เป็นมากกว่าการสำรวจโค้ด ถ้าฉันพิมพ์ และไม่มีอะไรปรากฏขึ้นนั่นหมายความว่ามีบางอย่างผิดปกติกับรหัสของฉัน ฉันมักจะไม่ต้องรวบรวมเพื่อค้นหา ถ้าฉันพิมพ์ และไม่ได้สิ่งที่ฉันคาดหวังหมายความว่าฉันใช้ผิดประเภทหรือลืมทำบางสิ่งภายในหรือสาธารณะหรือปัญหาอื่น ๆ ฉันไม่ต้องวิ่งเพื่อค้นหาปัญหา Intellisense มีประโยชน์อย่างยิ่งสำหรับการตรวจพบข้อผิดพลาดในช่วงเวลาที่เร็วที่สุดที่เป็นไปได้
Ryan Lundy

1
นี่เป็นคำตอบอย่างไร เมื่อคุณอ่านมันออกมาดัง ๆ มันฟังดูเหมือนสโลแกนของ Microsoft ที่ไม่ดี ...
Kolob Canyon

ตกลง ... YouCompleteMe, Deoplete ... หากคุณต้องการให้รหัสนั้นสำเร็จ ฉันไม่รู้เกี่ยวกับเรื่องนี้สำหรับ Emacs Vim ยังมีระบบเติมข้อความอัตโนมัติที่ยอดเยี่ยมเกินกว่าที่ฉันจะพลาดเมื่อใช้โปรแกรมแก้ไขอื่น ๆ
JakeD

85

คำตอบสั้น ๆ ว่าทำไมฉันถึงใช้ IDE ก็คือความเกียจคร้าน

ฉันเป็นคนขี้เกียจที่ไม่ชอบทำสิ่งที่ยากเมื่อมีวิธีง่าย ๆ ที่จะทำแทน IDE ทำให้ชีวิตง่ายขึ้นและดึงดูดพวกเราขี้เกียจพื้นบ้าน

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

ไม่จำเป็นต้องใช้ IDE มันเป็นเรื่องยากที่จะไม่ทำงาน


ถ้าคุณใช้ Visual Studio .NET, F12 จะถูกแมปกับ "ไปที่คำจำกัดความ" (ฉันเพิ่งค้นพบสิ่งนั้น) ดังนั้นคุณไม่จำเป็นต้องคลิกขวาเพื่อไปหามัน 8)
Knobloch

@ Knobloch ฉันมักจะใช้ทั้ง VS2008 และ Eclipse ฉันใช้ FlashDevelop เป็นส่วนตัว "ไปกับความหมายทางลัด" ที่แตกต่างกันสำหรับทั้งสามดังนั้นผมจึงมีแนวโน้มที่จะพึ่งพาการคลิกขวา :)
เดวิดอาร์โน

และคุณสามารถทำความคุ้นเคยอย่างใกล้ชิดด้วยการคลิกขวาบนแถบเมนูแล้วเลือกปรับแต่ง / แป้นพิมพ์ลัด
dkretz

19
มันไม่ได้เป็นเพียงเรื่องของความเกียจคร้าน :) - IDE ช่วยประหยัดเวลาอันมีค่าและช่วยเพิ่มผลผลิต
Alex Schimp

นอกจากนี้ IDE ยังพร้อมใช้งานและไม่จำเป็นต้องตั้งค่าสิ่งที่ยากมากมายเพื่อให้สามารถทำงานได้อย่างมีประสิทธิภาพ
Akira Yamamoto

56

ฉันไม่คิดว่ามันยุติธรรมที่จะทำ "text editor และ console window vs IDE" แบบคลาสสิกเมื่อ "text editor" เป็น emacs จริงๆ คุณสมบัติส่วนใหญ่ที่เป็นปกติสำหรับ IDE: s ยังอยู่ใน emacs หรือบางทีพวกเขาอาจมาจากที่นั่นและ IDE สมัยใหม่: ส่วนใหญ่เป็นการปรับปรุงอินเตอร์เฟส / การทำให้เข้าใจง่าย

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


9
ใช่นั่นไม่ใช่ลักษณะทั่วไปที่ปลอดภัย ฉันใช้ Emacs สำหรับคุณสมบัติ IDE ทั้งหมดที่กล่าวถึงในคำตอบเหล่านี้
jfm3

21
ฉันคิดว่าเวลาที่ใช้ในการกำหนดค่าฟีเจอร์ที่คล้ายกับ IDE ในโปรแกรมแก้ไขข้อความที่ทรงพลังน่าจะใช้โค้ดใน IDE ได้ดีขึ้นโดยใช้ฟีเจอร์ที่ล้าสมัย
jfs

6
ฉันใช้เสียงเรียกเข้าเหมือนฉันใช้ IDE

12
@JF Sebastian: ปัญหาคือเพื่อเพิ่มประสิทธิภาพการผลิตคุณจะต้องเรียนรู้เกี่ยวกับ IDE และลึกหนาบางของ IDE นั้นและหากคุณเปลี่ยนภาษาและใช้เครื่องมือต่าง ๆ มากมายมันอาจสร้างความยุ่งยากได้ ฉันได้เรียนรู้เป็นกลุ่มในปัจจุบันและถึงแม้ว่ามันจะยากที่จะคุ้นเคยในตอนแรก แต่มันก็จ่ายเงินได้อย่างรวดเร็วเมื่อฉันสามารถหามันในระบบที่แตกต่างกันและสำหรับภาษาที่แตกต่างกัน
Isaac Nequittepas

7
@JFSebastian: ฉันคิดว่ามันมีประสิทธิภาพมากขึ้นในการกำหนดค่า Emacs เพื่อทำสิ่ง IDE มากกว่าการกำหนดค่า IDE เพื่อทำสิ่งที่ Emacs เช่นการนำทาง, คนจรจัด, โหมดเชลล์, ... เบื่อหน่าย ฯลฯ
Tikhon Jelvis

51

ฉันมาที่คำถามนี้จากทิศทางตรงกันข้าม ฉันถูกนำขึ้นในการเขียนโปรแกรมที่มี pitstops น้อยมากใน Makefile + Emacs land จากคอมไพเลอร์แรกสุดของฉันบน DOS, Microsoft Quick C ฉันมี IDE เพื่อทำสิ่งต่าง ๆ โดยอัตโนมัติ ฉันใช้เวลาหลายปีทำงานใน Visual C ++ 6.0 และเมื่อฉันเรียนจบลงใน Enterprise Java ฉันทำงานกับ Borland JBuilder และจากนั้นก็ตัดสินใจใช้ Eclipse ซึ่งได้ผลมากสำหรับฉัน

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

ฉันได้เรียนรู้ว่าในการพัฒนาทีมขนาดใหญ่เราสามารถทำงานได้อย่างมีประสิทธิภาพมากที่สุดถ้าเราพัฒนาโค้ดโดยใช้ IDE และทำบิลด์ทั้งหมดของเราโดยใช้สคริปต์บรรทัดคำสั่งที่เขียนด้วยตนเอง (เราชอบ Apache Ant สำหรับการพัฒนา Java) เราพบว่าการเรียกใช้สคริปต์ของเราจาก IDE นั้นเป็นเพียงแค่คลิกเทศกาลหรือฝันร้ายอัตโนมัติสำหรับการสร้างที่ซับซ้อนมันง่ายกว่ามาก (และก่อกวนน้อยลง) เพื่อ alt + tab เปลือกและเรียกใช้สคริปต์ที่นั่น

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

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


2
+1 ความซับซ้อนที่นำมาใช้ในการสร้างสิ่งต่าง ๆ (อย่างน้อยโดยทั่วไป) เป็นหนึ่งในเหตุผลที่ใหญ่ที่สุดที่ฉันมักจะเกลียดชัง IDEs
Scott Schulthess

24

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

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

การออกแบบ, เอกสาร, การติดตาม, การพัฒนา, การสร้าง, การวิเคราะห์, การปรับใช้และการบำรุงรักษา, การก้าวสำคัญในแอปพลิเคชันองค์กรสามารถทำได้ภายใน IDE

ทำไมคุณไม่ใช้สิ่งที่ทรงพลังถ้าคุณมีทางเลือก?

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


10
มีคุณสมบัติของ Emacs ที่ Eclipse อย่างน้อยก็ขาดหรือซ่อนได้ดีมาก ตัวอย่างเช่นความสามารถในการเลือกอันของเส้นและเรียงลำดับพวกเขาในสถานที่ ย่อหน้าเติมของ Emacs นั้นยากที่จะเอาชนะเมื่อแก้ไขความคิดเห็น Eclipse นั้นมีคุณสมบัติที่คล้ายกัน แต่ก็มีจุดอ่อนเมื่อเปรียบเทียบกัน
Porculus

17
ฉันคิดว่าเหตุผลใหญ่ที่ผู้คนไม่ไปหาไอดีเอสคือความป่องของพวกเขา หากคุณต้องการทำแซนด์วิชคุณไม่ต้องการซุปเปอร์มาร์เก็ตทั้งหมด

9
จากประสบการณ์ของฉัน IDEs ไม่อนุญาตให้คุณโต้ตอบอย่างถี่ถ้วนและสม่ำเสมอกับทุกสิ่งที่ใช้แป้นพิมพ์ ยิ่งไปกว่านั้น Emacs ยังมีฟีเจอร์ที่ยอดเยี่ยมที่ IDEs ไม่มีตั้งแต่ขนาดเล็ก แต่มีประโยชน์ (พื้นที่สี่เหลี่ยมผืนผ้า, ฮิปปี้ขยาย, การนำทางคีย์บอร์ดที่กว้างขวาง) ไปจนถึงระบบที่ค่อนข้างสำคัญ มาโครคีย์บอร์ด) ฉันแน่ใจว่า IDE บางตัวมีคุณสมบัติเหล่านี้บางอย่าง แต่ฉันไม่เห็นพวกเขา
Tikhon Jelvis

20

การมี IDE มีข้อดีดังต่อไปนี้:

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

มีอีกมากมายบางทีคุณควรลองดู


ฉันไม่สามารถพูดได้สำหรับทุก ๆ ตัวแก้ไขที่น้อยที่สุด แต่ Vim มีมาโครที่คุณสามารถสคริปต์ที่สามารถทำสิ่งต่าง ๆ มากมายเช่นคอมไพล์และรัน

@ จริงๆแล้วประเด็นก็คือคุณต้องเขียนสคริปต์พวกเขา มันควรจะมีอยู่แล้ว
บดขยี้

20

IDE โดยทั่วไปแล้ว:

  • ตัวแก้ไขพร้อมการกรอกรหัสการ refactoring และเอกสาร
  • ดีบักเกอร์
  • ระบบไฟล์ explorer
  • ไคลเอ็นต์ SCMS
  • สร้างเครื่องมือ

ทั้งหมดนี้อยู่ในแพ็คเกจเดียว

คุณสามารถมีทั้งหมดนี้ (และบางส่วน) โดยใช้เครื่องมือแยกต่างหากหรือเพียงแค่เครื่องมือที่สามารถตั้งโปรแกรมได้และเครื่องมือพิเศษเช่น Emacs (Vim เช่นกัน แต่มี IMBility IDEBility น้อยกว่าเล็กน้อย)

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


12

คราส:

มีรหัส higlighting รวบรวมในพื้นหลังชี้ให้เห็นข้อผิดพลาดของฉันเมื่อฉันไป

บูรณาการกับ javadoc แนะนำชื่อตัวแปรด้วย ctrl-Space

เมื่อฉันรวบรวมฉันได้รับข้อผิดพลาดที่นั่น ฉันสามารถดับเบิลคลิกที่ข้อผิดพลาดและมันจะแสดงบรรทัดที่เหมาะสม

รวมเข้ากับ JUnit ได้เป็นอย่างดี ctrl-F11 ทำการทดสอบบอกการทดสอบล้มเหลว หากมีข้อยกเว้นในหน้าต่างผลลัพธ์ฉันสามารถคลิกสองครั้งที่บรรทัดหนึ่งและพาฉันไปที่บรรทัดที่ล้มเหลว ไม่เพียงแค่นั้น แต่ ctrl-F11 ทำให้แน่ใจว่าทุกอย่างจะถูกรวบรวมก่อนที่จะทำการทดสอบ (ซึ่งหมายความว่าฉันไม่เคยลืมที่จะทำเช่นนั้น)

บูรณาการกับมด คำสั่งเดียวในการสร้างและปรับใช้แอปพลิเคชัน

บูรณาการกับผู้ดีบั๊ก

เครื่องมือปรับโครงสร้าง FANTASTIC ค้นหาการอ้างอิงไปยังส่วนของรหัส ช่วยให้ฉันรู้ถึงผลกระทบของการเปลี่ยนแปลง

สรุปแล้วมันทำให้ฉันมีประสิทธิผลมากขึ้น


สิ่งที่เป็นที่ Emacs ทำทั้งหมดนั้นค่อนข้างมากสำหรับภาษามากกว่า Eclipse
Tikhon Jelvis

11

ฉันใช้ Emacs เป็นสภาพแวดล้อมหลักของฉันสำหรับการพัฒนาและจดหมาย / ข่าวเป็นเวลาประมาณ 10 ปี (1994-2004) ฉันค้นพบพลังของ IDEs เมื่อฉันบังคับตัวเองให้เรียนรู้ Java ในปี 2004 และทำให้ฉันประหลาดใจที่ฉันชอบ IDE ( IntelliJ IDEA ) จริง ๆ

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

แต่มีข้อได้เปรียบอย่างหนึ่งกับ IDEs ในสภาพแวดล้อมที่เกี่ยวข้องกับ Emacs / Vim ที่ฉันต้องการมุ่งเน้นคือ: คุณใช้เวลาน้อยลงในการติดตั้ง / กำหนดค่าคุณสมบัติที่คุณต้องการ

ด้วยWing IDE (สำหรับ Python) ฉันพร้อมที่จะเริ่มพัฒนา 15-20 นาทีหลังการติดตั้ง ไม่ทราบว่าฉันต้องใช้คุณสมบัติที่ใช้งานและใช้งานกับ Emacs / Vim กี่ชั่วโมง :)


2
ใช้เวลาในการเริ่มต้นนานกว่า แต่จะดีกว่า 'ปรับแต่ง' ในภายหลัง
sjas

3
การกำหนดค่า Emacs / Vim เป็นเพียงเรื่องของการคัดลอกไฟล์ที่เหมาะสมไปยังสถานที่ซึ่งโปรแกรมสามารถค้นหาได้ มันไม่ใช่เรื่องยากหากคุณเก็บไฟล์การกำหนดค่าของคุณไว้ในไดเรกทอรีเดียวหลังจากนั้นคุณสามารถเก็บไว้ในแฟลชไดรฟ์ที่เก็บข้อมูลอินเทอร์เน็ตหรือในที่เก็บเพื่อให้คุณสามารถทำได้cloneทุกเมื่อที่คุณต้องการตั้งค่างานของคุณ สิ่งแวดล้อม :)
Gordon Gustafson

10

มันนำไปสู่การปรับปรุงการผลิตสำหรับฉันอย่างแน่นอน จนถึงจุดที่ฉันได้รหัสแอปพลิเคชัน Linux ใน Visual Studio บน Vista แล้วใช้เครื่องเสมือน Linux เพื่อสร้างพวกเขา

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

การรวมเครื่องมือต่าง ๆ เช่นตัวแก้ไขโมเดลการเชื่อมต่อและเรียกดูฐานข้อมูลภายนอกการจัดการคอลเลกชันของโค้ด "ตัวอย่าง" เครื่องมือสร้างแบบจำลอง GUI ฯลฯ สิ่งเหล่านี้อาจมีแยกจากกัน เวลาและช่วยให้กระบวนการพัฒนามีประสิทธิภาพมากขึ้น


8

อาจมีเหตุผลที่แตกต่างกันสำหรับคนที่แตกต่างกัน สำหรับฉันนี่คือข้อดี

  1. ให้ความรู้สึกแบบบูรณาการกับโครงการ ตัวอย่างเช่นฉันจะมีไฟล์โครงการที่เกี่ยวข้องทั้งหมดในมุมมองเดียว
  2. ให้ผลผลิตรหัสเพิ่มขึ้นเช่น
    1. การเน้นไวยากรณ์
    2. การอ้างอิงของการชุมนุม
    3. Intellisense
    4. มุมมองส่วนกลางของฐานข้อมูลและไฟล์ UI ที่เกี่ยวข้อง
    5. การดีบักคุณสมบัติ

ในตอนท้ายของวันมันช่วยให้ฉันเขียนโค้ดได้เร็วกว่าที่ฉันสามารถทำได้ใน notepad หรือ wordpad นั่นเป็นเหตุผลที่ดีสำหรับฉันที่จะชอบ IDE


8

IDE อาจเป็นตัวเลือกที่ 'เหนือกว่า' ขึ้นอยู่กับสิ่งที่นักพัฒนาพยายามทำ

โปรแกรมแก้ไขข้อความสามารถ 'เหนือกว่า' ได้เพราะโดยทั่วไปแล้ว IDEs จะมุ่งไปที่หนึ่ง (หรือการเลือกขนาดเล็ก) ของภาษา

หากนักพัฒนาใช้เวลาส่วนใหญ่ของเขา / เธอในการใช้ภาษาเดียวหรือ 'กลุ่ม' ของภาษาที่เกี่ยวข้อง (เช่น C # และ T-SQL) ในระบบปฏิบัติการเดียวจากนั้นการออกแบบ GUI, debug, intellisense, refactoring เป็นต้น IDE ที่ดีนั้นน่าดึงดูดมาก ตัวอย่างเช่นถ้าคุณใช้เวลาส่วนใหญ่ทำงานกับ VB.NET โดยอาจใช้ T-SQL เพียงเล็กน้อยในตอนนี้และในสภาพแวดล้อมของ Windows คุณจะค่อนข้างงี่เง่าที่จะไม่ดู Visual Studio หรือ IDE ที่เปรียบเทียบกันได้ .

ฉันไม่มีอคติต่อผู้ที่ชื่นชอบ IDEs หรือเครื่องมือแก้ไขข้อความทั้งสองมีประโยชน์มากและมีประโยชน์หากเรียนรู้ได้ดี !


7

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

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

ฉันกำลังทำงานในโครงการใน Flex และ. NET หนึ่งในสิ่งที่ดีกว่าเกี่ยวกับ Flex คือมีวิธีที่แตกต่างกันสองสามวิธีในการทำสิ่งมาตรฐาน - ดึงข้อมูลจากฐานข้อมูลเปิด / ปิด / อ่าน / เขียนไฟล์ ฯลฯ (แต่ฉันใช้ Flex Builder / Eclipse IDE - ตัวอย่างน้ำหนักทั่วไปทั่วไปเช่น VS เพราะฉันยังคงเรียนรู้พื้นฐานและฉันต้องการล้อการฝึกอบรมฉันคาดว่าจะมีวิวัฒนาการกลับมาเป็นกลุ่มเมื่อฉันมั่นใจในรูปแบบของฉัน) ในมุมมองนี้ฉันสามารถทำอะไรได้บ้าง ฉันต้องทำอย่างมืออาชีพด้วยการรู้บางสิ่งที่ดีจริงๆ

OTOH ฉันไม่สามารถจินตนาการถึงจุดนั้นด้วย. NET เพราะมุมมองที่ฉันคาดว่าจะรักษาขยายตัวและขยับ ความสมบูรณ์ของแนวคิดมีน้อยกว่าและมากกว่าผู้พัฒนาหลายรายในโครงการในช่วงหลายเดือนที่มีความสอดคล้องน้อยกว่ามาก - แต่ IDE สนับสนุนสิ่งนั้น ดังนั้นผู้พัฒนาจำเป็นต้อง (และสามารถทำได้ง่ายขึ้น) รู้สิ่งต่าง ๆ มากมายอย่างเพียงพอ ซึ่งยังมีประโยชน์ในการช่วยให้พวกเขาตอบ (หรือแม้แต่เข้าใจ) ร้อยละของคำถามที่สูงขึ้นใน StackOverflow นั่นคือเราสามารถมีความรู้ที่ลึกซึ้งยิ่งขึ้น และเราสามารถตอบสนองต่อโฆษณาที่ต้องการความช่วยเหลือที่หลากหลาย

สิ่งต่าง ๆ สามารถไปไกลเกินไปในทั้งสองทิศทาง อาจจะมีขอบเขต "ตัวแก้ไขอย่างเดียว" มันก็เหมือน "ถ้าคุณมีค้อนทุกอย่างดูเหมือนเป็นเล็บ" ด้วยวิธีการ IDE สำหรับสิ่งที่คุณต้องการยึดเข้าด้วยกันคุณมีตัวเลือกที่หลากหลายและเครื่องมือที่เกี่ยวข้องให้เลือกมากมาย - nals / hammers, screws / screwdrivers, bolts / wrenches, กาว / ปืนกาว / clamps, แม่เหล็ก และบนและบน - ทั้งหมดที่ปลายนิ้วของคุณ (ด้วยตัวช่วยสร้างเพื่อช่วยให้คุณเริ่มต้น)


5

อย่าคิดว่ามันสุดพิเศษ ใช้ IDE เพื่อประโยชน์ที่ได้รับและเปลี่ยนเป็น vim / โปรแกรมแก้ไขข้อความที่ต้องการเมื่อคุณต้องการโฟกัสที่จริงจัง

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


5

นอกจากนี้ยังมีคำตอบอื่น ๆ ฉันรักการรวมการพัฒนาพลังของ IDE กับการแก้ไขอำนาจของกลุ่มโดยใช้สิ่งที่ต้องการViPluginสำหรับEclipse


5

IntelliSenseเครื่องมือดีบั๊กและหน้าต่างทันทีทำให้ฉันทำงานได้อย่างมีประสิทธิภาพยิ่งขึ้น ( Visual Studio 2008 ) ด้วยทุกอย่างที่ปลายนิ้วของฉันฉันสามารถเก็บส่วนใหญ่ของโครงการใหญ่ไว้ในหัวของฉันในขณะที่เขียนรหัส Microsoft อาจปล่อยลูกบอลบนระบบปฏิบัติการของตนต่อไป แต่ Visual Studio เป็นหนึ่งในผลิตภัณฑ์ที่ดีที่สุดที่เคยพัฒนา


4

ฉันไม่เข้าใจสิ่งที่คุณถาม คุณถามว่า "ฉันควรใช้ IDE แทน ... " แต่ฉันไม่เข้าใจว่าทางเลือกคืออะไร - Vimและ Emacs เติมเต็มฟังก์ชั่นมากมายที่ IDE จะให้คุณ สิ่งเดียวที่พวกเขาไม่ได้จัดการคือ IDE ที่ใหญ่กว่าอาจเป็นสิ่งที่เหมือนกับนักออกแบบ UI จากนั้นคำถามของคุณจะลดลงเหลือเพียง "สิ่งที่ฉันควรใช้ IDE" พร้อมกับการโต้แย้งที่จะสร้างขึ้นสำหรับขอบเขตที่ง่ายกว่าของ Vim และ Emacs


3

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


3

IDEs ที่ใช้ GUI เช่น Visual Studio และ Eclipse มีข้อดีหลายประการเหนือกว่า IDE ที่ใช้ข้อความเช่น Emacs หรือ vim เนื่องจากความสามารถในการแสดงผล:

  • ตัวอย่าง WYSIWYG และการแก้ไขสดสำหรับการออกแบบ GUI
  • เครื่องมือแก้ไขคุณสมบัติที่มีประสิทธิภาพ (เช่นการเลือกสีโดยใช้จานสี GUI รวมถึงการไล่ระดับสีหยุด ฯลฯ )
  • การแสดงกราฟิกของโครงร่างโค้ดความสัมพันธ์ของไฟล์ ฯลฯ
  • การใช้อสังหาริมทรัพย์บนหน้าจออย่างมีประสิทธิภาพยิ่งขึ้นเพื่อแสดงจุดพักบุ๊คมาร์คข้อผิดพลาด ฯลฯ
  • รองรับการลากและวางที่ดีกว่ากับระบบปฏิบัติการและแอพพลิเคชั่นอื่น ๆ
  • การแก้ไขแบบบูรณาการของภาพวาดภาพแบบจำลอง 3 มิติ ฯลฯ
  • แสดงและแก้ไขโมเดลฐานข้อมูล

โดยทั่วไปกับ IDE บน GUI คุณจะได้รับข้อมูลที่เป็นประโยชน์มากขึ้นบนหน้าจอในครั้งเดียวและคุณสามารถดู / แก้ไขส่วนกราฟิกของแอปพลิเคชันของคุณได้อย่างง่ายดายเช่นเดียวกับส่วนของข้อความ

หนึ่งในสิ่งที่เจ๋งที่สุดที่จะได้สัมผัสในฐานะนักพัฒนาคือการแก้ไขวิธีการคำนวณข้อมูลบางอย่างและเห็นการแสดงผลสดของโค้ดของคุณแสดงเป็นกราฟิกในหน้าต่างอื่นเช่นเดียวกับที่ผู้ใช้ของคุณจะเห็นเมื่อคุณเรียกใช้แอป ตอนนี้นั่นคือการแก้ไขแบบ WYSIWYG!

IDEs ที่ทำงานกับข้อความเช่น Emacs และ vim สามารถเพิ่มฟีเจอร์เช่นการเติมโค้ดให้สมบูรณ์และการปรับเปลี่ยนใหม่ตามเวลาดังนั้นในระยะยาวข้อ จำกัด หลักของพวกเขาคือโมเดลการแสดงข้อความ


3

ฉันยังใช้ Vim (โดยเฉพาะเพราะฉันพยายามเรียนรู้ emacs ในตอนนี้) สำหรับการพัฒนาทั้งหมดของฉัน ฉันคิดว่าสัญชาตญาณเลี่ยง (จาก GUI ของหลักสูตร) ​​เป็นเหตุผลหลักว่าทำไมคนชอบใช้ IDE ด้วยการใช้งานง่ายจึงไม่จำเป็นต้องมีค่าใช้จ่ายในการเรียนรู้เพียงเล็กน้อย แต่อย่างใด ยิ่งค่าใช้จ่ายในการเรียนรู้น้อยลงเท่าใดพวกเขาก็สามารถทำงานได้มากขึ้นเท่านั้น


3

IDEช่วยให้หนึ่งในการทำงานได้เร็วขึ้นและง่ายขึ้น ... ผมสังเกตเห็นผมใช้เวลามากเวลาในการนำรหัสในโปรแกรมแก้ไขข้อความง่ายๆ ...

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


3

เหตุผลสองประการที่ฉันสามารถนึกถึงการใช้ IDE:

  • บูรณาการช่วยเหลือเป็นที่ชื่นชอบ
  • Refactor ในตัวพร้อมภาพตัวอย่างของ Visual Studio
  • IntelliSense , การไฮไลต์ของไวยากรณ์, ความง่ายในการนำทางสำหรับโครงการขนาดใหญ่, การดีบักแบบรวม, (แม้ว่าฉันรู้ด้วย addins คุณอาจจะได้รับสิ่งนี้มากมายด้วยEmacsและVim )
  • นอกจากนี้ฉันคิดว่า IDEs วันนี้มีฐานผู้ใช้ที่กว้างขึ้นและอาจมีคนพัฒนา Add-in สำหรับพวกเขามากขึ้น แต่ฉันอาจผิด

และค่อนข้างตรงไปตรงมาฉันชอบเมาส์ของฉัน เมื่อฉันใช้โปรแกรมแก้ไขข้อความล้วนๆมันจะเหงา


2

ประหยัดเวลาในการพัฒนา
ทำให้ชีวิตง่ายขึ้นด้วยการมอบคุณสมบัติต่างๆเช่นการดีบักแบบรวม, Intellisense

มีจำนวนมาก แต่จะแนะนำให้ใช้พวกเขามีมากกว่าที่เห็นได้ชัด


2
ขอบคุณสำหรับการตอบกลับ แต่ถ้าฉันคิดว่าพวกเขาชัดเจนฉันจะไม่ถามคำถามตั้งแต่แรก!
Simon Howard

2

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


+1 สำหรับการสังเกตว่า "ผู้แก้ไข" ในวันนี้มีคุณสมบัติมากกว่า "ides" ของเมื่อวาน
Sean McMillan

2

เหตุผลหลักที่ฉันใช้หนึ่งคือเมื่อรหัสเกิน 100 ไฟล์

แม้ว่า ctags สามารถทำงานได้ แต่IDE บางตัวมีวิธีที่ดีในการนำทางไฟล์อย่างรวดเร็วอย่างรวดเร็ว

ช่วยประหยัดเวลาเมื่อคุณมีงานต้องทำมากมาย


2

สำหรับฉันมันเป็นเพียงเวอร์ชัน GUI ของทุกสิ่งที่เราทำในวันเก่า ๆ ที่ดีของเครื่อง ฉันมักจะเห็นด้วยว่า IDE ไม่ได้เหนือกว่าใครมากเพราะซ่อนสิ่งต่าง ๆ มากมายโดยเฉพาะอย่างยิ่งเกี่ยวกับสิ่งที่เชื่อมโยง แต่พวกเขามีข้อได้เปรียบที่โดดเด่นในบางกรณีเช่นกับแพลตฟอร์มการพัฒนาบางอย่างเช่น Qt

IDE บางอย่างเช่นภาพของคนอื่น ๆ ดูเหมือนว่าจะแยกรหัสของคุณในขณะที่คุณพิมพ์และตรวจสอบข้อผิดพลาดก่อนที่คุณจะรวบรวม: ดูเหมือนว่า logics ที่มีเพียง IDE เท่านั้นที่สามารถทำงานร่วมกับคอมไพเลอร์เพื่อตรวจจับปัญหาได้ทันที

คำตอบที่ฉาบฉวยของฉันคือสงครามเปลวไฟ IDE / Command-line นั้นมีอยู่เพียงเพราะอาคารที่ปฏิบัติการได้แบบ C / C ++ นั้นไม่ได้รับการจัดการอย่างดีจากมุมมองมาตรฐานซึ่งแตกต่างจากภาษา D ทุกแพลตฟอร์มจัดการการคอมไพล์ / เชื่อมโยง / etc เป็นวิธีของตัวเองดังนั้นเพื่อทำให้ยุ่งน้อยพวกเขาสร้าง IDE

จากมุมมองของคุณมันอาจจะง่ายกว่าที่จะใช้ command-line ถ้ามีคอมไพเลอร์เพียงตัวเดียวที่มีตัวเลือกมาตรฐานมันจะง่าย แต่ความจริงก็คือ C / C ++ นั้นมีความยืดหยุ่นดังนั้นในที่สุดแพลตฟอร์มทั้งหมด ทำในแบบของตัวเองดังนั้น IDE ที่จะไม่เสียคำอธิบายวิธีการทำ

หากคุณสามารถเรียนรู้วิธีการพูดถึงปฏิบัติการของเคอร์เนลหรือถ้าคุณรู้อะไรเกี่ยวกับการออกแบบคอมไพเลอร์อาจมีวิธีทำงานกับบรรทัดคำสั่งที่เหมาะสม แต่ฉันสงสัยว่าคุณมี

Microsoft หรือ Apple ไม่ว่าจะเป็นความชั่วร้ายต้องเสนอวิธีการสร้างแอปพลิเคชั่นตรงไปตรงมาโดยไม่ต้องป้อนรายละเอียดและเนื่องจากการสร้างแอปพลิเคชันขึ้นอยู่กับสถาปัตยกรรมของระบบปฏิบัติการโดยตรงจึงแทบจะไม่เป็น "มาตรฐาน" บรรทัดคำสั่งคือ

ในการทำให้แอปพลิเคชั่นขนาดใหญ่และซับซ้อนที่คุณไม่ต้องการขุดลึกลงไปในสิ่งที่มันทำ -> IDE ซอฟต์แวร์ชิ้นเล็ก ๆ หรือการออกแบบซอฟต์แวร์ระบบแบบง่าย -> บรรทัดคำสั่ง ยกเว้นแน่นอนห้องสมุดที่ดีที่ฝัง Makefile แต่นั่นเป็นอีกเรื่อง

นอกจากนี้ฉันคิดว่า IDE จะใช้เมื่อแอปพลิเคชันที่ส่งมอบมีบางอย่างเกี่ยวกับแดกดัน GUI หรือสิ่งที่มีอินเทอร์เฟซหรือเชื่อมต่อโดยตรงกับระบบปฏิบัติการดังนั้นอีกครั้งสำหรับคนที่จะใช้ UI / GUI โดยไม่รู้ตัว มันทำงานอย่างไรในขณะที่คนที่จะเขียนโปรแกรมระบบไม่ต้องการมันทั้งหมด

IDE เป็นเพียงอึที่ทันสมัย ​​แต่ฉันคิดว่าใน 100 ปีบรรทัดคำสั่งจะยังคงอยู่


1

ฉันชอบ IDE เพราะมันทำให้การใช้งานมากมายอยู่ที่ปลายนิ้วของฉัน การแก้ไข / การรวบรวม / การมองเห็นไฟล์ในโครงการเป็นสิ่งที่ฉันให้ความสำคัญใน IDE ตอนนี้ฉันใช้ Visual Studio แต่ในอดีตฉันใช้ SlickEdit และพบว่ามันทำให้กระบวนการพัฒนาของฉันคล่องตัวขึ้นกว่าตอนที่ฉันไม่ได้ใช้


1

มีเพียงสิ่งเดียวที่ต้องพิจารณาเมื่อตัดสินใจว่าจะใช้ IDE หรือไม่และนั่นคือสิ่งที่ทำให้คุณมีประสิทธิผลมากขึ้นหรือไม่

คำถามสั้น ๆ คำตอบสั้น ๆ :)


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

1

ขึ้นอยู่กับว่าคุณกำลังทำอะไรและภาษาที่คุณใช้อยู่โดยส่วนตัวแล้วฉันมักจะไม่ใช้ IDE (หรือ "IDE ของฉันประกอบด้วย 3 xterms ที่รัน vim, หนึ่งไคลเอ็นต์ที่ทำงานกับฐานข้อมูล bash prompt หรือ tailing logs "ขึ้นอยู่กับว่าคุณกำหนด" IDE "ในวงกว้างอย่างไรสำหรับงานส่วนใหญ่ของฉัน แต่ถ้าฉันต้องพบว่าตัวเองกำลังพัฒนา GUI แพลตฟอร์มที่เป็นเจ้าของภาษาฉันจะเข้าถึง IDE ที่เหมาะสมกับภาษาใน การโต้ตอบแบบทันที - IMO, IDEs และการแก้ไขแบบกราฟิกจะทำขึ้นอย่างชัดเจนสำหรับกันและกัน

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