ฉันกำลังมองหาลินุกซ์ที่ดีที่สุดที่จะดึงดูดความสนใจของฉัน ฉันเป็นคนรักโอเพ่นซอร์สและใช้หลายภาษา
มีสิ่งใดบ้างที่ Linux มุ่งเน้นไปที่นักพัฒนาหรือไม่?
ฉันกำลังมองหาลินุกซ์ที่ดีที่สุดที่จะดึงดูดความสนใจของฉัน ฉันเป็นคนรักโอเพ่นซอร์สและใช้หลายภาษา
มีสิ่งใดบ้างที่ Linux มุ่งเน้นไปที่นักพัฒนาหรือไม่?
คำตอบ:
ในทางปฏิบัติ distros ทั้งหมดใช้โซ่เครื่องมือการพัฒนาเดียวกันมากดังนั้นพวกเขาจึงไม่ได้แตกต่างกันอย่างมีนัยสำคัญเป็นแพลตฟอร์มสำหรับงานพัฒนาทั่วไป อย่างไรก็ตามบางคนมีข้อได้เปรียบเฉพาะที่อาจเกี่ยวข้องกับงานพัฒนาบางประเภท :
Distros เชิงพาณิชย์ (RHEL, SLES) ได้รับการสนับสนุนที่ดีที่สุดจากผู้จำหน่ายที่เป็นบุคคลที่สาม ถ้าคุณต้องการทำงานกับ (พูด) Oracle คุณอาจจะดีกว่าด้วยหนึ่งในนั้นแม้ว่า Oracle สามารถทำงานกับ distros ส่วนใหญ่ได้หากคุณติดตั้งไลบรารีที่ถูกต้อง CentOS รวบรวมจากแหล่ง RHEL และจะเล่นได้ดีกับซอฟต์แวร์เชิงพาณิชย์ส่วนใหญ่หากไม่ใช่ทั้งหมดที่สร้างขึ้นสำหรับ RHEL
หากคุณต้องการคนจรจัดคุณอาจลอง Linux ตั้งแต่เริ่มต้น มันค่อนข้างจะเป็นแบบฝึกหัดที่ดีเกี่ยวกับการกระจายของลินุกซ์
หากคุณต้องการบางสิ่งบางอย่างที่เกี่ยวกับทุกสิ่งทุกอย่างที่เคยเป็นหรือเคยเป็นโอเพ่นซอร์สนั้นสามารถหาได้จากแหล่งเก็บข้อมูลจากนั้นระบบปฏิบัติการแบบ Debian (Debian หรือ Ubuntu) อาจเป็นผู้ชนะ มีเหตุผลที่ Canonical เลือก. deb เพื่อใช้เป็นระบบจัดการแพคเกจสำหรับ Ubuntu
หากคุณต้องการปรับทุกอย่างให้อยู่ในระดับ n แล้ว Gentoo ให้คุณสร้างระบบทั้งหมดของคุณใหม่สำหรับสถาปัตยกรรมโปรเซสเซอร์ของคุณ
หากคุณต้องการประสบการณ์ 'ยูนิกซ์ดั้งเดิม' คุณสามารถลองใช้ Slackware หรือ FreeBSD (ซึ่งไม่ใช่ Linux distro แต่อาจสนใจ OP) นอกจากนี้ตระกูล BSD มีความแข็งแกร่งเป็นพิเศษในระบบเครือข่ายดังนั้นจึงอาจมีข้อได้เปรียบเหนือ Linux สำหรับนักพัฒนาที่ทำงานในสาขานี้
ในบรรดาที่ผ่านมาฉันเคยใช้ CentOS, Debian, Fedora, Ubuntu, Slackware และ FreeBSD หลายครั้งในอดีตและอีกไม่กี่อย่าง (Vector, SLS, Yggdrasil และ Redhat รุ่นต่างๆประมาณ 4.0 เป็นต้นไป) ในฐานะที่เป็นสภาพแวดล้อมการพัฒนา 'unix' พวกเขาทั้งหมดนำเสนอเครื่องมือในยุคนั้นและสามารถนำไปใช้สำหรับงานพัฒนาด้วยเครื่องมือที่ให้มาด้วยหรือโดยการดาวน์โหลดและสร้างสิ่งที่คุณต้องการ
ยูนิกซ์เคยถูกอธิบายว่าเป็น IDE ที่ปลอมแปลงเป็นระบบปฏิบัติการหรือคำที่มีผลกระทบนั้น ตัวแปร unix หรือ linux ใด ๆ สามารถมอบประสบการณ์ผู้พัฒนา unix ให้คุณได้หากคุณต้องการ จนถึงจุดหนึ่งฉันไม่ได้ใส่ใจสิ่งแวดล้อมมากนัก ฉันเพิ่งใช้ตัวจัดการหน้าต่างเพื่อเปิดหน้าต่าง xterm และเริ่มแอพสองสามตัว ทุกสิ่งทุกอย่างก็ทำมาจากบรรทัดคำสั่ง ความหลากหลายของยูนิกซ์หรือลินุกซ์สามารถทำได้
หากคุณอยู่ใน C คุณจะเป็นกลุ่มหรือ emacs ที่มี ctags สร้างและ gcc ทำงานได้ค่อนข้างดี คุณสามารถใช้ gdb โดยมีหรือไม่มีส่วนหน้า กลุ่มเครื่องมือนี้ยังให้การสนับสนุนที่ดีสำหรับภาษาเช่น perl หรือ python และมาพร้อมกับระบบนิเวศที่หลากหลายของการสนับสนุนจากเครื่องมือของบุคคลที่สาม
สำหรับเวิร์กโฟลว์ GUI เป็นศูนย์กลางมากขึ้นมันมาลงที่ตัวเลือกส่วนบุคคลของตัวจัดการหน้าต่างสภาพแวดล้อมเดสก์ทอปและเครื่องมือในการพัฒนา หากคุณเป็น Java แล้ว Eclipse และ netbeans ได้สร้างใน distros สำคัญที่สุด IDEs ทั่วไปต่าง ๆ นั้นรองรับ C / C ++, perl, python และภาษาสคริปต์อื่น ๆ สิ่งเหล่านี้สามารถทำงานได้กับส่วนใหญ่หากไม่ใช่ distros Linux ทั้งหมด Java รองรับ BSD ผ่านพอร์ตของบุคคลที่สามเท่านั้นดังนั้นคุณน่าจะใช้ Linux ได้ดีกว่าถ้าคุณทำงานกับมัน
มีสิ่งใดบ้างที่ Linux มุ่งเน้นไปที่นักพัฒนาหรือไม่?
ใช่. มันเรียกว่าลินุกซ์
Fedora (หรืออนุพันธ์ Red Hat ใด ๆ ) นั้นดีพอ ๆ กับ Debian, Slackware, Gentoo หรืออะไรก็ตาม อย่างจริงจังคุณสามารถพัฒนากับการกระจายที่สำคัญมันเป็นคำถามที่โง่ที่จะถามสำหรับ "นักพัฒนาเชิง" Linux
นอกจากนี้ยังโง่ที่จะพูดว่า distros ใด ๆ เหล่านี้ดีกว่าตัวอื่นสำหรับนักพัฒนา มันไม่ร้ายแรง
คำถามนี้ขอร้องให้โต้แย้ง
ฉันลองแจกจ่ายไปสักสองสามครั้งเพราะฉันสนุกกับการทำเช่นนั้นจริงๆ
ฉันเป็นนักพัฒนาและฉันก็สงสัยเกี่ยวกับลินุกซ์ที่ดีสำหรับนักพัฒนาและจากประสบการณ์ของฉันไม่มีลีนุกซ์รุ่นใดที่เหมาะสำหรับนักพัฒนาโดยเฉพาะ
เหตุผลก็คือในฐานะนักพัฒนาไม่เพียง แต่คุณจะสามารถปรับแต่ง distro ให้เหมาะกับความต้องการของคุณ แต่คุณจะต้องรู้วิธีการปรับแต่งเช่นนั้น
ดังนั้นโดยทั่วไปหากคุณไม่คุ้นเคยกับ Linux:
1) Debian เนื่องจากเว็บเซิร์ฟเวอร์ที่ใช้งานจริงจำนวนมากกำลังเรียกใช้ Debian ดังนั้นจึงเป็นความคิดที่ดีที่จะทำความรู้จักกับการจัดระเบียบของเครื่อง Debian สิ่งที่ดีเกี่ยวกับ Debian ก็คือเนื่องจากมันเป็น Linux ที่ใช้กันอย่างแพร่หลายมากที่สุด (รวมถึงอนุพันธ์ของมันเช่น Ubuntu) การสนับสนุนชุมชนและจำนวนแพ็คเกจที่รวบรวมไว้ล่วงหน้านั้นมีให้เลือกมากมาย สิ่งที่ไม่ดีเกี่ยวกับ Debian คือมันมุ่งสู่การเป็นสภาพแวดล้อมการผลิตที่มีความเสถียรและไม่ค่อยมีสิ่งใหม่ ๆ ที่จะนำเสนอสิ่งใหม่ ๆ ที่คุณอาจต้องการลองในฐานะนักพัฒนา
2) Arch-Linux (ArchBang จริง ๆ ) เป็นรายการโปรดของฉันในปัจจุบันด้วยเหตุผล 3 ประการ: - มันไม่ได้มีประโยชน์อะไรมากมายในการติดตั้งเพียงคลิกเดียวและกำหนดค่าสิ่งต่าง ๆ แต่มีการสอนที่ยอดเยี่ยม ต้องการวิธีการนี้ช่วยให้คุณเรียนรู้มากมายเกี่ยวกับการทำงานของสิ่งต่างๆในพื้นหลังและหมายความว่าเมื่อถึงเวลาที่คุณมีทุกอย่างที่ตั้งไว้อย่างถูกต้องคุณจะรู้สึกสบายใจโดยใช้ระบบ Linux / Unix - มันกำลังจะเปิดตัวซึ่งหมายความว่าคุณจะไม่ต้องดาวน์โหลดเวอร์ชันใหม่และติดตั้งใหม่ทุกอย่างเพียงแค่อัปเดตระบบและ Voila! - มันพยายามที่จะใช้สิ่งที่ทันสมัยที่สุดเพื่อให้คุณได้รับการปรับปรุงซอฟต์แวร์ใหม่ ๆ อยู่เสมอและในฐานะนักพัฒนาที่ได้รับการยอมรับอย่างแท้จริง - โอ้และมันก็เป็นชุมชนที่ยอดเยี่ยมเช่นกัน
แต่อย่างไรก็ตามมันก็ขึ้นอยู่กับคุณแล้วที่จะลองทำอะไรสักอย่างแล้วตัดสินใจว่าอะไรดีที่สุดสำหรับคุณสิ่งที่ฉันรับประกันได้คือไม่ว่าคุณจะลินุกซ์กับลินุกซ์จะมีวิธีในการกำหนดค่า เรื่องใหญ่คือการเรียนรู้วิธีการกำหนดเองแล้วคุณเลือกสิ่งที่มีการกำหนดค่าไว้ล่วงหน้าให้ใกล้เคียงกับสิ่งที่คุณต้องการแล้ว
มีรสชาติที่แตกต่างกันมากขึ้นใน Linux distros - เช่นมี distros เช่น Qimo หรือ DoudouLinux ซึ่งเน้นสำหรับเด็ก ๆ
แน่นอนคุณสามารถเปลี่ยนพวกเขาให้เหมาะกับความต้องการของคุณ (เรากำลังพูดถึง Linux ขวา:]) แต่ถึงกระนั้นคุณจะเสียเวลามาก
บางคนจะโต้แย้งว่ามันเป็นวิธีที่ดีในการเรียนรู้สิ่งใหม่ อย่างไรก็ตามคุณจะต้องใช้เวลาสักครู่ในการขุดใน distro และปรับแต่งสิ่งต่อไปมันหลีกเลี่ยงไม่ได้กับ distro ใด ๆ
แต่สิ่งที่สำคัญที่สุดคือแพ็คเกจ
บางคนนำคุณใหม่ (เช่น: Arch) และบางคนมีความมั่นคงมาก (เช่น: Debian)
เอกสารประกอบแตกต่างกันไปมากเช่นการสนับสนุนฮาร์ดแวร์ (ไดรเวอร์ไดรเวอร์ไดรเวอร์!)
เมื่อพิจารณาถึง 3 ประเด็นนี้ (แพคเกจเอกสารไดรเวอร์และทักษะของคุณเอง) คุณควรใช้เวลาสักครู่เพื่อค้นหาสิ่งที่สำคัญ
การเริ่มต้นที่ดีอาจอยู่ที่นี่: http://distrowatch.com/
Fedoraเป็นผู้เริ่มใช้เทคโนโลยีใหม่ ๆ ช่วยให้คุณสามารถทดลองและพัฒนากับพวกมันได้หลายเดือนก่อนที่พวกเขาจะสามารถใช้งานได้ในส่วนอื่น ๆ รองรับภาษาการเขียนโปรแกรมและไลบรารี่จำนวนมากนอกกรอบและทำให้ง่ายต่อการเพิ่มระบบของคุณในทุก ๆ กรณีที่อาจหายไป มันมีปรัชญาโอเพนซอร์ซบริสุทธิ์เลือกที่จะอนุญาตให้บุคคลที่สามจัดทำแพคเกจสำหรับคุณสมบัติที่ขัดกับสิ่งนั้น อย่าเรียกมันว่า "Fedora Core" (มันสูญเสีย "Core" หลังจาก Core และ Extras รวมเข้ากับ Fedora 7)
ฉันคิดว่าจากประสบการณ์ของฉันเองและคำตอบที่นี่คุณกำลังมองหาชุดแอพพลิเคชั่นและเครื่องมือที่จะทำให้การพัฒนาง่ายขึ้นและใช้งานได้มากขึ้น
สิ่งที่ยอดเยี่ยมเกี่ยวกับลีนุกซ์คือการแจกจ่ายใด ๆ สามารถกำหนดเองได้ง่ายมาก ฉันอยากจะแนะนำให้คุณค้นหารายการซอฟต์แวร์ที่คุณใช้บ่อยที่สุดในขณะที่กำลังพัฒนาและสร้าง tarball ขนาดใหญ่ซึ่งคุณสามารถนำมาจากคอมพิวเตอร์หนึ่งไปยังอีกเครื่องหนึ่ง (ถ้าคุณสลับพื้นที่ทำงานเป็นจำนวนมาก)
สำหรับการพัฒนา Java / Eclipse ให้พิจารณา Debian ผ่าน Ubuntu / Linux Mint (และอาจเป็น 32 บิตมากกว่า 64 บิต)
แบ็คกราวด์: ฉันได้ทำการพัฒนา Java / Eclipse RCP * และใช้ Ubuntu และ Linux Mint ในภายหลัง แต่ได้พบข้อผิดพลาดที่น่ารำคาญทุกชนิดไม่ว่าจะเกี่ยวข้องกับความไม่เสถียรในสภาพแวดล้อมเดสก์ทอป (Cinnamon บน Linux Mint) หรือ ขั้นตอนที่ค่อนข้างซับซ้อนในการติดตั้ง Sun Java6 JDK (ซึ่งใช้โดยโครงการของเรา ... Ubuntu / Linux Mint มาพร้อมกับ OpenJDK ใน repos ของพวกเขาเท่านั้น)
ฉันเพิ่งยิง Debian 6 Squeeze ในเครื่องเสมือนจริงและรู้ว่าสิ่งเหล่านี้ทำงานได้ดีขึ้นมาก การติดตั้ง Sun Java ต้องการเพียงเพิ่มคีย์เวิร์ด "non-free" หลังจากสตริงที่เก็บหลักใน /etc/apt/sources.list จากนั้นทำการติดตั้งผ่าน apt-get และเดสก์ท็อป (Gnome2) ที่มาพร้อมกับมันมีความเสถียรมากกว่า กว่าทางเลือก Gnome3 / Unity / Cinnamon ใน Ubuntu / LinuxMint
[*] Eclipse RCP หมายความว่าคุณใช้ Eclipse ไม่เพียง แต่เป็น GUI แต่ยังเป็นไลบรารีสำหรับสร้าง GUI ของคุณเองด้วย
อูบุนตูนั้นยอดเยี่ยมและจริงจัง
มีแพ็คเกจทั้งหมดทันสมัยและติดตั้งง่าย ใช้การกำหนดค่าเริ่มต้น (= Gnome) และคุณจะใช้เวลาส่วนใหญ่ในการเขียนโปรแกรมเวลาและไม่กำหนดค่า
การติดตั้งชุดคอมไพเลอร์ gcc, make, autoconf ฯลฯ ใช้เวลา 5 นาทีด้วยการเชื่อมต่ออินเทอร์เน็ตที่ดี อีกสามสิบนาทีและคุณมี Ruby, Python, Sun JVM และ Eclipse พร้อมใช้งาน
แก้ไข: Ubuntu มอบแพ็คเกจพิเศษพร้อมสัญลักษณ์แก้จุดบกพร่องสำหรับห้องสมุดจำนวนมาก ดีใจที่มีสำหรับนักพัฒนา C / C ++
คำตอบคือไม่มีลินุกซ์ที่ดีสำหรับการพัฒนาหากคุณไม่ได้สร้างลินุกซ์และไม่มีลินุกซ์อื่น ๆ ที่ให้สิ่งนี้มากเท่ากับ gentoo คุณรวบรวมทุกอย่างจากแหล่งที่มา (สิ่งที่คุณควรจะเป็น frailer เป็น dev) กระบวนการติดตั้งจะสอนคุณเกี่ยวกับระบบมากกว่า distro อื่น ๆ ที่ตอบคำถามมากมายที่คุณจะมีเมื่อคุณสร้างแอปพลิเคชัน
ส่วนที่ดีที่สุดคือคุณสามารถเลือกประเภทของโปรแกรมที่คุณต้องการพัฒนา หากคุณต้องการ java ติดตั้ง javac หรือ gcj หรือทั้งสองอย่าง การสนับสนุนชุมชนนั้นไม่เหมือนใครดังนั้นหากคุณมีคำถามพวกเขาจะได้รับคำตอบหรือให้คุณได้ในที่ที่คุณต้องไปหาคำตอบ
IDE ทุกตัวที่คุณคิดว่ามีให้สำหรับ "โผล่ออกมา" / ติดตั้งลงใน Gentoo แม้ว่าจะไม่ง่ายต่อการติดตั้งหรือเข้าใจง่าย แต่อย่างง่ายแม้ว่าการเขียนโปรแกรมและหากคุณไม่สามารถติดตั้งสำเนาของ gentoo ได้ฉันก็ไม่ต้องการรันโปรแกรมของคุณบนเครื่องของฉัน ปัญหาส่วนใหญ่ที่ผู้ใช้ติดตั้งมาจากการขาดความรู้พื้นฐานของ Linux ฉันสัญญาว่าคุณจะชอบหลังจากคุณตั้งค่าทุกอย่างในแบบที่คุณชอบ
หลังจากติดตั้งแล้วคุณสามารถสร้าง tar สำรองและวางไว้บนคอมพิวเตอร์ที่คุณมีเวลาในการกำหนดค่าเคอร์เนลใหม่หรือใช้มันคืนค่าเมื่อสิ่งต่าง ๆ ออกไป