Ubuntu มีข้อได้เปรียบอะไรบ้างบน Windows สำหรับการเขียนโปรแกรม


59

เหตุใดการเขียนโปรแกรมในไฟล์ข้อความหรือผ่านเทอร์มินัลจึงเป็นตัวเลือกที่ดีกว่า (เมื่อฉันอ่าน) กว่าการใช้ IDE (s) เช่น Visual Studio บน Windows คุณลักษณะที่ IDE มีให้นั้นมีอยู่ (เช่นแสดงข้อผิดพลาดในการคอมไพล์) หรือเป็นกระบวนการแบบแมนนวลหรือไม่?


16
บางคนทำการเขียนโปรแกรมมาเป็นเวลานานและมีประสิทธิภาพสูงในการทำสิ่งที่พวกเขาทำจากพรอมต์คำสั่งแบบข้อความ พวกเขาอาจพบว่าบรรณาธิการชอบvimความชอบของพวกเขา นี่เป็นพื้นที่ส่วนตัวมาก! แม้ว่าหลายคนใช้ IDEs บน Linux ดังนั้นคุณจะต้องทำหลายสิ่งหลายอย่างที่นี่
Warren P

3
ฉันเชื่อว่า IDEs ไม่ใช่ประเด็นหลักของคำถาม มีIDE มากมายสำหรับระบบปฏิบัติการ linux ตัวอย่างเช่น JetBrains IDEs ทั้งหมด (IntelliJ / PyCharm เป็นต้น) ทำงานบน linux Eclipse ทำงานบน linux QtCreator ทำงานบน linux
บาคุริว

12
คำถามนี้อยู่ในเว็บไซต์นี้จะต้องทนทุกข์ทรมานจากการยืนยันอคติ
zzzzBov

5
ในความพยายามที่จะให้คำถามสะอาดของเมตาอภิปรายผมได้เปิดหัวข้อ Meta แยกเป็นสัดส่วนเฉพาะที่อยู่มัน
Oli

4
โปรดใช้ถ้อยคำนี้ซ้ำอีกครั้งเพื่อให้เข้าใจมากขึ้นโดยเฉพาะชื่อเรื่อง Ubuntu ไม่ได้บังคับให้คุณหลีกเลี่ยง IDEs และติดกับ text editor สำหรับการพัฒนาซอฟต์แวร์ที่มากกว่า Windows
Reinier โพสต์

คำตอบ:


87

สมมุติฐานแบบนี้น่าจะทำได้ดีกว่าในโปรแกรมเมอร์เพราะมันน่าจะเป็นด้านเดียวที่นี่ ที่กล่าวว่าฉันเป็นนักพัฒนา. NET ไม่กี่ปีและมาขึ้นอยู่กับ Visual Studio มันมีประโยชน์กับคุณมากและใช่ฉันชอบดีบักเกอร์ในตัวโดยเฉพาะ ... อย่างไรก็ตามฉันคิดว่ามีเหตุผลบางอย่างที่ผู้คนเลือก Linux:

  • Ubuntu ฟรี Windows และ VS อาจมีราคาแพงมาก

  • อูบุนตูเป็นฟรี Windows และ VS ให้การควบคุมวิธีการใช้งานน้อยมาก

  • อูบุนตูเป็นสภาพแวดล้อมในการเขียนโปรแกรมโดยตรง grepเครื่องมือเช่นทุบตี sed, awk, Windows เป็นความเจ็บปวดในประวัติศาสตร์จากล่างสู่สคริปต์ ไฟล์แบตช์นั้นแย่มากและแม้แต่กับ PowerShell ประสบการณ์บรรทัดคำสั่งใน Windows จะเปลี่ยนไปอย่างไม่มีนัยสำคัญเมื่อเทียบกับ Bash และเครื่องมือ GNU คุณสามารถย้ายพอร์ตบางส่วนไปยัง Windows แต่ไม่ใช่ประสบการณ์เดียวกัน

  • การตั้งค่าที่ซับซ้อนนั้นง่ายต่อการทำให้เป็นอัตโนมัติและทำซ้ำapt-getเครื่องมือต่างๆเช่นPuppet , Chef , Juju , Fabricและสคริปต์อย่างง่าย

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

    ไม่ได้หมายความว่าจะไม่มี IDEs แบบเสาหิน Eclipse และ Netbeans MonoDevelop KDevelop4 และ QT Creator พวกเขามีผู้ใช้ที่สาบานโดยพวกเขา

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


18
"ฟรี" เป็นทั้งเรื่องต้นทุนและความยุ่งยาก ฉันใช้ Mac แต่เครื่องมืออย่าง Vagrant ช่วยให้ติดตั้ง Linux VM แบบสะอาดสำหรับทุกโครงการและละทิ้งเมื่อทำโครงการเสร็จ "ฉันต้องการอะไร สิ่งที่ต้องพิจารณาเพียงอย่างเดียวไม่ใช่ "ฉันมีรหัสสิทธิ์การใช้งานสำหรับระบบปฏิบัติการนี้และจะรู้ได้อย่างไรว่า ... "
นาธานลอง

14
+1 สำหรับวัตถุประสงค์การพักอาศัยเมื่อผู้คนจำนวนมากพบว่าทัศนคติที่ง่ายต่อการกระตุก "Windoze ดูดทุกอย่าง" ทัศนคติ
ฟิล

2
สิ่งหนึ่งที่ควรสังเกตคือ visual studio นั้นฟรีมากกว่าที่เคยสนับสนุนไฟล์ในขณะนี้และปลั๊กอินให้คุณเขียนและดีบักแอปพลิเคชั่น cygwinภายใน Visual Studio
Scott Chamberlain

6
even PowerShell scripts lack the power of Bash- ฉันยืนยันว่าคุณไม่รู้จัก PS ดีนัก มันทรงพลังอย่างมากและฉันไม่ได้พบอะไรที่คุณสามารถทำได้ใน Bash ที่คุณไม่สามารถทำได้ใน PS
Mark Henderson

4
@ MarkHenderson ใช่มันเกือบจะผ่านการใช้งานไม่เพียงพอ มันได้รับการแนะนำเช่นเดียวกับที่ฉันทิ้ง Windows และ. NET ไว้ข้างหลังฉัน ผมคิดว่าทุบตี (และโดย "ทุบตี" ผมหมายถึง GNU) เอากับผมเพราะคุณใช้มันทุกที่และทุกอย่าง PS ที่จำเป็นเพื่อให้มาก Googling ทุกครั้งเพราะทุกอย่างเป็นเพียงแค่เสมอซุปเปอร์เฉพาะ มันยากที่จะพูดอย่างจริงจังกับ Bash มานานแล้ว
Oli

37

ฉันต้องการเพิ่มเหตุผลสำคัญอีกข้อหนึ่ง Ubuntu เหมาะสำหรับการทดลองกับไลบรารีภาษา IDE และคอมไพเลอร์ใหม่ ทุกอย่างเป็นไปอย่างง่ายดาย

คุณเคยได้ยินเกี่ยวกับภาษาแฟนซีชื่อHaskell :

sudo apt-get install ghc
nano hello.hs
<copy-paste hello world example>
ghc -o hello hello.hs
./hello
Hello World!

โอ้คุณเคยได้ยินบรรณาธิการแฟนซีสำหรับ Haskell:

sudo apt-get install <fancy-editor-for-haskell>

เช่นเดียวกับไลบรารีC / C ++คุณเพียงแค่apt-get installพวกมันและไบนารีและส่วนหัวไปยังโฟลเดอร์ที่ถูกต้องและคุณสามารถทำได้#includeในไฟล์ต้นฉบับโดยไม่จำเป็นต้องตรวจสอบว่าวางไว้ที่ไหน!

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


36
apt-getและความคิดที่ว่าทุกอย่างจะต้องติดตั้งได้ด้วยวิธีนั้นอาจเป็นสิ่งที่ดีที่สุดเกี่ยวกับ Linux ไม่เปรียบเทียบ OSX หรือ Windows ที่นี่
นาธานลอง

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

2
@NathanLong ฉันเพิ่งทำสิ่งเดียวกันโดยใช้ Macports: sudo port install ghc รวบรวมใหม่จากแหล่งที่มา The MacPorts Project currently distributes 17699 ports. สิ่งหนึ่งที่แตกต่างคือมันมักจะรวบรวม
alecail

2
@karadeniz: และที่ไม่พูดถึงyum, pacman, emerge, petget, pkgadd...
Aesin

2
ฉันชอบ MacPorts (และบำรุงรักษาแพ็กเกจสองสามตัวที่นั่นและที่ Homebrew) แต่มันไม่สามารถเปรียบเทียบกับ Debian ได้จริงๆ โครงการขนาดเล็กเหล่านี้ไม่มีอำนาจบุคคลในการรักษาพื้นที่เก็บข้อมูลขนาดใหญ่ให้เป็นมาตรฐานเดียวกัน เช่นเดียวกับ cygwin และ coapp ทางฝั่ง Windows ความแตกต่างที่สำคัญคือวัฒนธรรมฉันคิดว่าตัวจัดการแพ็กเกจ linux เป็นส่วนหนึ่งของระบบและใช้สำหรับทุกคนโดยทุกคนพวกเขาไม่ใช่คนที่ไม่ใส่ใจเล็กน้อยเกี่ยวกับส่วนเสริม
jcupitt

20

นี่คือความเห็นจากผู้พัฒนาแพลตฟอร์ม Microsoft เป็นหลัก หากคุณไม่ได้กำหนดเป้าหมายระบบนิเวศ. NET ฉันจะยืนยันว่าตัวเลือกที่ดีที่สุดของคุณคือ Ubuntu คุณจะมีเวลามากขึ้นในการรับตั้งค่าและใช้เครื่องมือสำหรับแพลตฟอร์ม / ภาษาอื่น ๆ เกือบทุกครั้งหากคุณใช้ Ubuntu แทน Windows

คุณค่าของ toolchain ของ Microsoft คือมันรวมกันอย่างมาก จาก IDE เพื่อมาควบคุมการบริหารจัดการโครงการสร้างการใช้งานฐานข้อมูลโครงสร้างพื้นฐานเมฆ, nauseum โฆษณา Microsoft ทำให้การใช้งานง่ายขึ้นมากหากคุณกำลังเบื่อกับแพลตฟอร์มของพวกเขา

ดังที่บางคนกล่าวถึงการเบี่ยงเบนจากวิธีของ Microsoft อาจเป็นเรื่องเจ็บปวด ใช้. NET สำหรับรหัสของคุณและ Oracle สำหรับฐานข้อมูลของคุณ ... นี่เป็นเรื่องที่เจ็บปวด

ต้องการสร้างแอปพลิเคชันเว็บ. NET และปรับใช้กับ Amazon Web Services ... ไม่ส่งตรงไปตรงมามาก

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

ข้อโต้แย้งสำหรับค่าใช้จ่ายในการเริ่มต้นใช้งาน Ubuntu อย่างฟรี (เช่นในเบียร์) มีหลายโปรแกรมที่ Microsoft เสนอให้คุณเริ่มต้นใช้งานเครื่องมือของพวกเขาได้ฟรี รวมถึง Bizspark ที่ให้ บริษัท เริ่มต้นของคุณ 3 ปีของใบอนุญาต (รวมถึงใบอนุญาตใช้งานจริงของเครื่องมือของพวกเขา) และประกายความฝันซึ่งมอบให้กับนักเรียนฟรี

ดังที่กล่าวไว้หากคุณต้องการสำรวจและเรียนรู้ภาษาและแพลตฟอร์มใหม่ ๆ คุณจะพบเครื่องมือที่ดีกว่าในการเริ่มต้นบน Ubuntu และหากคุณกำลังมองหางานนอกระบบนิเวศของ Microsoft คุณจะต้องคุ้นเคย ด้วย Ubuntu


7
ใช่ฉันเห็นด้วย หลังจากเขียนโค้ด C / Unix ระดับต่ำไปสักพักบนสภาพแวดล้อม Linux ฉันตัดสินใจที่จะหยุดพักและทำการพัฒนากราฟิก C # ขึ้นมาสร้าง VS ใหม่ขึ้นมาและมันก็ปลดปล่อยให้พูดอย่างน้อยที่สุด มันไม่ยืดหยุ่นเหมือนกัน แต่แน่นอนว่าจะทำให้สิ่งต่าง ๆ ง่ายขึ้นถ้าคุณไม่สนใจขายวิญญาณให้กับ Micr .. เอ่อฉันหมายถึงการขยายขอบเขตของคุณ!
โทมัส

3
ใช่ +1 สำหรับยาแก้พิษยินดีต้อนรับสู่ anti-MS sniping ครึ่งตัว
อลัน B

15

ฉันใช้ทั้งเครื่องมือ IDEs และ text-editors กับC ommand- L ine I nterface (ร้องเรียกว่าCLI ) เพื่อเขียนโปรแกรม

สิ่งที่ Linux เสนอคือCLI ที่มีประโยชน์เริ่มต้นจากการติดตั้งเริ่มต้น หากคุณไม่ต้องการสิ่งนั้นและคุณเพียงแค่ใช้ IDE อยู่ดีก็ไม่ต่างกันมากนัก (IMHO)

IDEs

  • IDE นั้นดีมากเมื่อรวมคุณสมบัติหลายอย่างเข้าด้วยกันและแสดงใน GUI กราฟิก
  • ข้อเสียคือมันสามารถครอบงำคนใหม่ในเรื่องนี้ ตอนนี้คุณจะมีสองสิ่งที่ต้องเรียนรู้: IDE และภาษาการเขียนโปรแกรม

เครื่องมือแก้ไขข้อความและเครื่องมือ CLI

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

ฉันมักจะทำต้นแบบของฉันด้วยเครื่องมือที่ใช้ข้อความ ต่อมาเมื่อมีไฟล์เพิ่มเติมให้จัดการฉันให้ความสำคัญกับเครื่องมือrefactoringที่ IDE เสนอให้ฉัน


8
สำหรับการอ้างอิงในอนาคต CLI เป็นตัวย่อสำหรับอินเตอร์เฟสบรรทัดคำสั่ง โดยทั่วไปแล้ว CLI หมายถึงส่วนต่อประสานเช่นความถนัดซึ่งคล้ายกับ GUI แต่เป็นข้อความ เป็นกลุ่มจะเป็นตัวแก้ไข CLI แต่grepจะไม่เป็น CLI มันไม่มีส่วนต่อประสาน (มันแค่เป็นเครื่องมือบรรทัดคำสั่ง)
kiri

ความเข้าใจผิดเป็นสิ่งที่ดี มาจากพื้นหลัง CLI การเขียนโปรแกรมของ Windows อาจยืนสำหรับโครงสร้างพื้นฐานภาษาทั่วไป
jltrem

ฉันใช้ GUI เพื่อพัฒนา GUI และโปรแกรมแก้ไขข้อความเพื่อพัฒนา CLI หรือโปรแกรม / เนื้อหาตามข้อความ ฉันจะไม่พยายามเขียนแอปพลิเคชันทางธุรกิจที่มี GUI หนักใน Vim, Visual C # ทำให้การสร้างต้นแบบนั้นเป็นเรื่องง่าย ในทำนองเดียวกันฉันจะไม่ทำการพัฒนาเว็บไซต์ (PHP / HTML / CSS / JS ฯลฯ ) ใน IDE บน Windows เพราะการทำ Vim บนเว็บเซิร์ฟเวอร์ของฉันนั้นมีประสิทธิภาพและสะดวกสบายกว่ามาก
ด่าน

@ minerz029 CLI เป็นโปรแกรมสไตล์ grep (หนึ่งคำสั่ง [บรรทัด] พร้อมกัน) คุณกำลังนึกถึง "แอปพลิเคชั่นคอนโซล" ซึ่งเป็นความถนัด / สไตล์เป็นกลุ่ม
Izkata

4
@ minerz029 อินเทอร์เฟซสำหรับgrepคืออาร์กิวเมนต์ stdin และ stdout - คำไม่ได้บ่งบอกถึงสิ่งกราฟิกหรือหลอกกราฟิก อินเทอร์เฟซชนิดอื่น ๆ ได้แก่ เว็บ API โปรโตคอลอนุกรมและอื่น ๆ
Izkata

12

ฉันจะโยนคำตอบของฉันลงในวงแหวน (แม้ว่าฉันเชื่อว่าสิ่งเหล่านี้ล้วนเป็นสิ่งที่ดีเช่นกัน)

คำตอบพื้นฐานที่สุดที่คุณจะได้รับคือทุกอย่างเกี่ยวกับปรัชญา


ในโลกไมโครซอฟท์มันค่อนข้างเคร่งศาสนา - คุณมีเทพเจ้าบนภูเขาทาคาโอะ Redmond ที่จะต้องมีการยื่นคำร้องหากคุณต้องการดำเนินการใด ๆ บางครั้งพวกเขาจะฟังบางครั้งการเสียสละและคำอ้อนวอนของคุณจะตกอยู่ในหูของคนหูหนวก บางทีพวกเขาออกล่า Microsoft ควบคุมระบบนิเวศทั้งหมด - พวกเขาเป็นเจ้าของระบบปฏิบัติการพวกเขาเป็นเจ้าของ IDE และพวกเขาจับคู่เข้าด้วยกันในรูปแบบที่อาจไม่เหมาะสมที่จะพูดคุยเกี่ยวกับเครือข่าย SE แม้แต่ภายในชิ้น IDE ก็ยังมีการเชื่อมต่ออย่างแน่นหนา - มันอาจถูกเรียกว่าบูรณาการแต่ฉันคิดว่าคู่นั้นมีความแม่นยำมากกว่า หากคุณต้องการเปลี่ยนแปลงบางสิ่งบางอย่างเล็กน้อย Gates ห้ามมิให้คุณต้องการเปลี่ยนแปลงบางอย่างในแบบที่นักออกแบบของ Windows หรือ Visual Studio ไม่อนุญาตอย่างชัดแจ้ง แล้วโยนเทคโนโลยีเช่น IE และ IIS เซิร์ฟเวอร์ Microsoft และ MS SQL Server และ Office ... และทุกอย่างเป็นครอบครัวที่มีความสุขที่ยิ่งใหญ่ แต่ถ้าคุณต้องการทิ้งครอบครัวไว้เบื้องหลัง ตัวสั่น !


ในอีกทางหนึ่งคุณมี Linux ซึ่งสืบทอดมาจากปรัชญา Unix ที่แต่ละชิ้นควรรับผิดชอบความรับผิดชอบเล็ก ๆ ของตัวเอง มันควรทำสิ่งหนึ่งและทำได้ดี และยิ่งการสื่อสารควรเกิดขึ้นผ่านสายอักขระของข้อความ เป็นคนอื่นได้ชี้ให้เห็นsed, awk, grepฯลฯ เป็นตัวอย่างที่สมบูรณ์แบบนี้ พวกเขาทำสิ่งหนึ่งที่พวกเขาถูกออกแบบมาให้ทำและพวกเขาทำได้ดีมาก หากคุณต้องการทำสองสิ่งคุณจะรวมเครื่องมือทั้งสองเข้าด้วยกัน ซึ่งเป็นเรื่องง่ายมากที่จะทำ

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

ไม่เพียง แต่จะง่ายต่อการรวมเข้าด้วยกัน แต่มันก็ง่ายมากที่จะแยกพวกเขาออกจากกัน - ถ้าฉันตัดสินใจว่าฉันไม่จำเป็นต้องแก้ไขสตรีมอีกต่อไป แต่ฉันต้องการกรองผลลัพธ์แทนที่จะส่งข้อความของฉันไปsedฉันสามารถผ่านได้ มันไปgrepแทน

ตอนนี้นี่คือปรัชญาพื้นฐานที่อยู่เบื้องหลังการพัฒนาในสภาพแวดล้อม Linux - แม้ว่าคุณจะขึ้นจากที่นั่นเครื่องมือจำนวนมากก็มีอินเตอร์เฟสที่คล้ายกัน พวกมันช่วยให้คุณสามารถแยกมันออกเป็นส่วน ๆ หรือเชื่อมต่อพวกมันผ่านบรรทัดคำสั่งหรือพอร์ตหรือ HTTP

และแม้ว่าจะไม่เป็นเช่นนั้นคุณก็มีซอฟต์แวร์โอเพ่นซอร์ส ซอฟต์แวร์ส่วนใหญ่ (ถ้าไม่ใช่ทั้งหมด) บนแพลตฟอร์ม Linux เป็นโอเพ่นซอร์ส ดังนั้นหากคุณไม่ชอบวิธีการเขียนคุณสมบูรณ์สามารถเปลี่ยนซอฟต์แวร์ได้ด้วยตัวเอง นี่คือการเสริมพลังอย่างไม่น่าเชื่อ ไม่สามารถแยก IDE ที่เป็นแบบที่คุณต้องการได้ใช่ไหม ดำเนินการเปลี่ยนแปลงและส่งกลับมาที่ upstream หรือแยกโครงการ ไม่แน่ใจว่าทำไมบางสิ่งบางอย่างทำงานอย่างที่มัน? ใช้แหล่งที่มาลุค! ต้องการที่จะสามารถทำอะไรบางอย่างโดยอัตโนมัติผ่านบรรทัดคำสั่งหรือไม่ แฮ็คโครงการและติดการเปลี่ยนแปลงของคุณเจอข้อบกพร่องหรือปัญหาด้านความปลอดภัยหรือไม่ สวัสดีเดาอะไร - คุณสามารถแก้ไขได้ด้วยตัวเองคุณไม่ต้องรอให้ SP3.432vb89234.startdate1eQ ออกมา

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

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

กำจัดแรงเสียดทานเป็นกุญแจสำคัญ

ดังนั้นหากระบบนิเวศน์วิทยาของ Microsoft เป็นที่ที่คุณรู้สึกเหมือนอยู่บ้านและคุณเพลิดเพลินกับเครื่องมือมากมายจนไม่ได้ให้แรงเสียดทานใด ๆ แก่คุณ ... ก็อาจเป็นเรื่องดี

แต่ถ้าคุณไม่เหมาะกับ Microsoft Mold (tm), อยู่ระหว่างการจดสิทธิบัตรคุณจะพบกับแรงเสียดทาน การพัฒนาจะต้องเจ็บปวด ทุกครั้งที่คุณหวังว่าคุณจะทำบางสิ่งได้ แต่ทำไม่ได้นั่นจะทำให้ทรัพยากรทางปัญญามีค่า และถ้าเป็นเช่นนั้นสภาพแวดล้อมการพัฒนา Linux น่าจะเหมาะกับคุณ


1
ฉันชอบเรียงความที่คุณเชื่อมโยงจริงๆขอบคุณ
Gareth Davidson

3
สรรเสริญ Balmer และอาจตั้ง Parity Bits ของเขาทั้งหมดอย่างถูกต้อง ACK ACK ACK
Warren P

9

ฉันต้องการให้ความคิดทั่วไปของฉันกับคำถาม:

"ทำไม Linux จึงเป็นสภาพแวดล้อมที่ดีกว่าสำหรับการเขียนโปรแกรม"

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


2
จุดดี. โอเพ่นซอร์สนั้นเป็นประโยชน์โดยธรรมชาติสำหรับนักพัฒนาทุกคนที่มีความอยากรู้อยากเห็น บน windows มันเต่าตลอดทาง!
Warren P

นั่นเป็นจุดที่ดี คุณมีข้อมูลเชิงลึกเกี่ยวกับซอฟต์แวร์ภายในที่นี่
Anwar

นักพัฒนา Windows จำนวนมากจะทำงานตลอดชีวิตของพวกเขาบนแพลตฟอร์ม Windows การเขียนโปรแกรมกับ API ที่พวกเขาจะไม่เห็นอีกด้านหนึ่งของมัน คุณคิดเช่นนั้นหรือไม่?
Warren P

@WarrenP หากมีการบันทึก API อย่างเหมาะสมคุณจะไม่ได้เรียนรู้เพิ่มเติมโดยดูที่ซอร์สโค้ด (แม้ว่าผมยอมรับ APIs จำนวนมากไม่ได้รับการบันทึกไว้อย่างเต็มที่ในโลกทั้งสอง.)
svick

8

ทำไม Linux จึงดีกว่าสำหรับการเขียนโปรแกรม

IDEs

นอกจากVisual Studioและ Xcode ซึ่งให้บริการตามวัตถุประสงค์เฉพาะแล้ว IDEs ยอดนิยมส่วนใหญ่ยังมีหลายแพลตฟอร์ม มันอาจจะดูเหมือนมี IDEs gazillion สำหรับหลายภาษา แต่ในท้ายที่สุดของพวกเขาจะขึ้นอยู่กับทั้งEclipse , IntelliJ IDEAหรือNetBeans สิ่งที่พวกเขามีเหมือนกันคือพวกเขาทั้งหมดที่ใช้ Java Java ทำงานได้อย่างมีประสิทธิภาพบน Linux มากกว่าบน OS อื่น ๆ บนฮาร์ดแวร์เดียวกัน ในความเป็นจริง Java เร็วเท่า 20% บน Linux มากกว่าบน OS X บนฮาร์ดแวร์เดียวกัน IDEs เหล่านี้จำนวนมากพร้อมที่จะติดตั้งด้วยคลิกเดียวใน Ubuntu Software Center

ผู้รวบรวม

GCC กลายเป็นมาตรฐานอุตสาหกรรมอย่างมาก ไม่ต้องสงสัยเลยว่าแพลตฟอร์มหลักคือ Linux ซึ่งเป็นระบบที่รองรับได้ดีที่สุด และมันฟรีและปลอดค่าลิขสิทธิ์

เครื่องมือเพิ่มเติม

Linux จัดเตรียมเครื่องมือที่ไม่เหมือนใครซึ่งไม่สามารถใช้ได้บนแพลตฟอร์มอื่นเช่นValgrind (เครื่องมือสำหรับการดีบักหน่วยความจำการตรวจจับการรั่วไหลของหน่วยความจำและการทำโปรไฟล์) ลินุกซ์ยังมาพร้อมกับเครื่องมือการดีบักเช่นstraceและltraceซึ่งสามารถใช้ในการดีบักแม้กระทั่งรหัสการผลิต (เช่นไม่ได้รวบรวมด้วยสัญลักษณ์การดีบัก) เครื่องมือที่เทียบเท่าสำหรับ Windows นั้นไม่มีอยู่จริงหรือมีราคาแพงมากและไม่ได้มีฟังก์ชั่นการใช้งานเดียวกัน

ความง่ายในการติดตั้ง OSS

Ubuntu มีผู้จัดการแพกเกจที่ยอดเยี่ยม ในกรณีส่วนใหญ่การติดตั้งซอฟต์แวร์เป็นเพียงapt-get install package-name(คุณสามารถทำได้ด้วย GUI ด้วยเช่นกันทั้ง Ubuntu Software Center หรือ Synaptic) เมื่อติดตั้งแล้วพวกเขาจะได้รับการอัปเดตโดยอัตโนมัติโดยระบบพร้อมการแก้ไขข้อผิดพลาด ระบบแพคเกจยังติดตามการอ้างอิงโดยอัตโนมัติดังนั้นคุณไม่ต้องกังวลเกี่ยวกับแพคเกจอื่น ๆ ที่จำเป็น พวกเขาจะถูกติดตั้งโดยอัตโนมัติ

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

เครื่องจักรที่ใช้ในการผลิตนั้นมีแนวโน้มว่าจะเป็น Linux

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

แน่นอนคุณอาจกำลังพัฒนาแอพพลิเคชั่นเดสก์ท็อปสำหรับ Windows แต่ทุกวันนี้นี่เป็นตลาดงานเฉพาะสำหรับโปรแกรมเมอร์


แอพสำหรับเดสก์ท็อปสำหรับ Windows เป็นตลาดเฉพาะหรือไม่ อะ?
Alan B

2
@AlanB: ไม่โปรแกรมเมอร์ของเดสก์ท็อป Windows เป็นช่อง โดยประมาณ 90-95% ของโปรแกรมเมอร์กำลังทำการพัฒนาภายในองค์กรและส่วนใหญ่ไม่ใช่แอปบนเดสก์ท็อป นอกจากนี้ลองคิดดูสิว่าครั้งสุดท้ายที่คุณซื้อแอปพลิเคชัน Windows (ซึ่งจ่ายเป็นเงินจริง) เป็นแอปพลิเคชัน Windows นั่นไม่ใช่เกม (หรือผลิตภัณฑ์ Adobe สำหรับเรื่องนั้น)
vartec

เท่าที่ฉันสามารถเห็นเกือบทุกอย่างในพื้นที่ธุรกิจยังคงอยู่บนเดสก์ท็อปและจ่ายเงินอย่างแม่นยำแม้ บริษัท ที่มีศูนย์กลางทางคลาวด์จะอ้างสิทธิ์เป็นอย่างอื่น
Alan B

4
@ AlanB: อีกครั้งฉันไม่ได้พูดถึงตลาดของผู้ใช้ปลายทาง ผมพูดเกี่ยวกับตลาดงานสำหรับโปรแกรมเมอร์ ตัวอย่างหนึ่งแอปพลิเคชันที่คุณกำลังพูดถึงคือ MS Office แต่ทีม Office ทั้งหมดที่ MS นั้นมีโปรแกรมเมอร์เพียง 2,500 คนและหลายคนไม่ได้ทำงานกับรุ่นเดสก์ท็อป
vartec

7

เหตุใดการเขียนโปรแกรมในไฟล์ข้อความหรือผ่านเทอร์มินัลจึงเป็นตัวเลือกที่ดีกว่า (เมื่อฉันอ่าน) กว่าการใช้ IDE (s) เช่น Visual Studio บน Windows

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

กลับไปที่คำถามเดิมของคุณสิ่งเดียวที่ Linux ทำได้ดีกว่าคือการเขียนโปรแกรม C ทุกสิ่งที่คุณสามารถทำได้บน Linux คุณสามารถทำได้บน Windows และในทางกลับกัน (การเขียนโปรแกรมอย่างชาญฉลาด) การเขียนโปรแกรม C นั้นดีกว่าบน Linux ด้วยเหตุผลทางประวัติศาสตร์มันมีชุดเครื่องมือที่ยอดเยี่ยม (ซึ่งคุณสามารถใช้กับ Windows BTW แต่การติดตั้ง Linux นั้นง่ายกว่ามาก) ในทำนองเดียวกันหากคุณกำลังเขียน C # และชอบ. NET แล้ว Windows เป็นตัวเลือกที่ดีกว่าด้วยเหตุผลที่ชัดเจน ทุกสิ่งทุกอย่างเป็นเรื่องส่วนตัวอย่างสมบูรณ์และคุณจะได้ยินข้อดีและข้อเสียของทั้งสองฝ่าย


5
โปรดลองตั้งค่า <ใส่ภาษาโปรแกรมอื่นยกเว้นสภาพแวดล้อมของ MS ที่นี่> ใน Windows ลองดูว่ามันไปได้ไกลแค่ไหน
Braiam

1
@Braiam ฉันทำ Java: P
Daniel

6
ลินุกซ์ดีกว่าในการใช้งานทุกอย่างที่เหมือนยูนิกซ์ Toolchain GCC (ซึ่งรวมถึงคอมไพเลอร์ C และ C ++ และอื่น ๆ ) มีมรดก Unix / Posix ที่ยาวนาน แต่ถ้าคุณคิดว่าการเขียนโปรแกรมเหมือน Unix ทั้งหมดคือการเขียนโปรแกรม C คุณจะไม่ได้รับความเศร้าจากความหลากหลายของมรดกและเครื่องมือ Unix / Posix / Linux
Warren P

2
Javaเป็นกรณีพิเศษเล็กน้อยเนื่องจากคุณสร้างโฟลเดอร์และไฟล์จำนวนมากที่ซ้อนกันอย่างรวดเร็ว และทันทีที่คุณเปลี่ยนชื่อคลาสหรือแพ็คเกจคุณจะต้องซิงค์ชื่อไฟล์หรือโฟลเดอร์ตามลำดับ สนุกสนุกสนุก :)
MadMike

1
ฉันไม่รู้ว่า Linux และ CLI จำเป็นต้องดีกว่าสำหรับการเขียนโปรแกรม C หรือไม่(VS ดีมากที่ C ++ แต่ขาดการสนับสนุน C99 หรือไม่ Posix อาจจะสะอาดกว่า Win32 เล็กน้อย) แต่apt-getมันยอดเยี่ยมเมื่อพูดถึงการพัฒนา C คุณสามารถได้รับเครื่องมือห้องสมุดและสัญลักษณ์การแก้ปัญหาสำหรับเช่นsudo apt-get install libcurl4-openssl-dev, sudo apt-get install valgrind, sudo apt-get install libz-dbgและลองสิ่งออกได้อย่างง่ายดาย
Alex Jasmin

6

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

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

ประสบการณ์ส่วนตัวของฉันคือ Ubuntu OS นั้นติดตั้งได้เร็วกว่าและง่ายกว่าสำหรับการพัฒนามากกว่า Windows ฉันเข้าใจว่าเป็นเพราะเครื่องมือและโปรแกรมส่วนใหญ่ที่ฉันใช้คือ build บน Linux และเพราะฉันไม่ต้องค้นหาลิงก์ดาวน์โหลดไปยังโปรแกรมโปรดของฉันบนอินเทอร์เน็ต มันเป็นเพียง 'apt-get install program1 program2 program3' ในการเปรียบเทียบ: ฉันต้องการ 3 วันทำการในการติดตั้งและกำหนดค่าการติดตั้ง Windows ใหม่กับทุกสิ่งที่ฉันต้องการสำหรับการเขียนโปรแกรม (บริษัท ไม่ใช่แบบส่วนตัวที่จะเร็วกว่า) แต่ก็แค่หนึ่งวันสำหรับงานเดียวกันใน Ubuntu

ประสบการณ์ของฉันคือโปรแกรมเมอร์ผู้ที่เปลี่ยนมาใช้ Linux สำหรับการเขียนโปรแกรมมีความเข้าใจเชิงลึกเกี่ยวกับบริบททางเทคนิคและวิธีการทำงานพื้นฐาน ผู้ใช้ Mac และ Windows มักจะไม่ทราบว่าทำไมบางสิ่งบางอย่างทำงานแบบนี้หรือทำไมมันไม่ ฉันไม่แน่ใจว่าคุณสามารถเรียนรู้บางสิ่งบางอย่างจากการทำงานกับ Linux หรือเพียงแค่นั้นความตั้งใจที่จะเรียนรู้การเปลี่ยนมาใช้ Linux

หวังว่า "blafasel" ของฉันช่วยหน่อย ...


1

ฉันจะยืนยันว่าการกระจาย Linux เป็น IDE

สำหรับการเริ่มต้น Unix ได้รับการออกแบบตั้งแต่เริ่มแรกว่าเป็นสภาพแวดล้อมการพัฒนา มันถูกเขียนโดยโปรแกรมเมอร์สำหรับโปรแกรมเมอร์ Unixes และ Linux ส่วนใหญ่ยังคงมาพร้อมกับเครื่องมือการพัฒนาในการกำหนดค่าเริ่มต้น และชิ้นส่วนที่ขาดหายไปนั้นอยู่apt-getห่างออกไปเพียง(หรือเทียบเท่า) ในทางกลับกัน Windows เป็นสภาพแวดล้อมการพัฒนาที่แย่มากจนกว่าคุณจะติดตั้ง IDE ซึ่งไม่ถูกหรือเป็นเรื่องไม่สำคัญ

IDE นั้นมีการบูรณาการมากกว่าในแง่ที่ว่า IDEs นั้นมีความเชื่อมโยงอย่างแน่นแฟ้นยิ่งกว่าการใช้ GCC, Git และ Vi (ตัวอย่าง) การมีเพศสัมพันธ์อย่างแน่นหนาช่วยให้สิ่งต่าง ๆ เช่น 'intellisense' ทำงานได้ดีขึ้น แต่ในอีกทางหนึ่งการมีเพศสัมพันธ์แบบหลวมมีข้อดีหลายประการ (เช่นความยืดหยุ่นการใช้งานร่วมกันได้การขาดการล็อคอิน)

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


ดังนั้นโดยทั่วไปคุณกำลังบอกว่า Linux เป็นสภาพแวดล้อมการพัฒนาแบบบูรณาการที่ไม่ได้รวมอยู่ในความเป็นจริงมาก? :-)
svick

1

ในเรื่องของปรัชญา: Ubuntu / Linux อนุญาตให้โปรแกรมเมอร์คอมพิวเตอร์เข้าถึงโดยตรงไปยัง internals และฮาร์ดแวร์ในขณะที่ Windows เป็นผู้รักษาประตู นี่เป็นประเด็นทางปรัชญาที่สำคัญเมื่อพูดถึงการเขียนโปรแกรม ดังนั้นการพูดเชิงปรัชญาคุณลักษณะนี้จะเป็นข้อได้เปรียบจะขึ้นอยู่กับว่าผู้ใช้มีความรู้เพียงพอหรือรู้ถึงความสำคัญทางเทคนิคของมัน

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

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


0

ความเร็วคือคำตอบการเรียงลำดับ

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

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

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

ด้วยมุมมองที่แคบคุณจะเก็บไว้ที่ความกว้างคอลัมน์ 80 ซึ่งช่วยให้อ่านง่ายฉันได้เห็นโค้ดที่ขยายออกไปจนถึงความกว้างคอลัมน์ 200 ด้วยการปรับรหัสให้เหมาะสมกับ 80 คอลัมน์คุณสามารถเปิดหน้าต่างได้ครั้งละ 4/5 หน้าต่าง

ด้วยโปรแกรมแก้ไข CLI คุณสามารถโค้ดจากระยะไกลไม่จำเป็นต้องใช้เซสชัน RDP ที่ช้า (เทียบกับข้อความ) กับ Visual Studio ของคุณ คุณสามารถเขียนโค้ดผ่านลิงก์ GSM

รูปแบบการพัฒนาของ Visual sucks ข้อดีอย่างหนึ่งที่คุณอาจใส่ใน GUI IDE คือคุณสามารถวาดหน้าจอและทำได้เร็วขึ้น อย่างไรก็ตามในประสบการณ์ของฉันมันดีสำหรับต้นแบบ แต่บ่อยครั้งที่คุณได้รับผลลัพธ์ที่ดีกว่าด้วยการทำด้วยตนเองในรหัส เครื่องมือวิเคราะห์รหัส VS2012 เมื่อเช้านี้เพิ่งเตือนฉันเกี่ยวกับปัญหา 200+ รหัสที่สร้างขึ้นโดยอัตโนมัติโดย Visual Studio?!?!?


0

ฉันคิดว่าคำถามที่แท้จริงของคุณอาจเป็น "มีทางเลือก Visual Studio ใดบ้างที่จะทำงานบน Ubuntu เนื่องจากจะไม่มีหรือไม่"

MonoDevelop

มันใช้งานได้ แต่คุณจะเกลียดถ้าคุณคุ้นเคยกับ VS และคุณสมบัติทั้งหมด

ไม่มีประโยชน์ที่จะใช้โปรแกรมแก้ไขข้อความ จำไว้ว่าสิ่งที่ดีที่เรียกว่า Intellisense? ไม่เกิดขึ้น (แต่ MonoDevelop มีบางอย่างที่เหมือนกัน) หวังว่านี่จะช่วยได้

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