Tôi đang tìm kiếm hương vị tốt nhất của Linux sẽ thu hút phía nhà phát triển của tôi. Tôi là một người yêu thích nguồn mở và sử dụng một số ngôn ngữ khác nhau.
Có một thứ như Linux hướng đến các nhà phát triển?
Tôi đang tìm kiếm hương vị tốt nhất của Linux sẽ thu hút phía nhà phát triển của tôi. Tôi là một người yêu thích nguồn mở và sử dụng một số ngôn ngữ khác nhau.
Có một thứ như Linux hướng đến các nhà phát triển?
Câu trả lời:
Trong thực tế, các distro đều sử dụng nhiều chuỗi công cụ phát triển giống nhau, vì vậy chúng không thực sự khác biệt đáng kể như một nền tảng cho công việc phát triển chung. Tuy nhiên, một số có những lợi thế cụ thể có thể liên quan đến một số loại công việc phát triển:
Các bản phân phối thương mại (RHEL, SLES) có sự hỗ trợ tốt nhất từ các nhà cung cấp nguồn đóng của bên thứ ba. Nếu bạn muốn làm việc với (giả sử) Oracle, bạn có thể tốt hơn với một trong số này, mặc dù Oracle có thể được tạo để hoạt động với hầu hết các bản phân phối nếu bạn cài đặt đúng thư viện. CentOS được tổng hợp từ các nguồn của RHEL và sẽ chơi tốt với hầu hết các phần mềm thương mại được xây dựng cho RHEL.
Nếu bạn muốn tinker, bạn có thể dùng thử Linux From Scratch. Đây là một hướng dẫn khá hay về cách phân phối linux kết hợp với nhau.
Nếu bạn muốn một cái gì đó mà gần như mọi thứ đã từng có hoặc là nguồn mở có sẵn từ các kho lưu trữ, thì một bản phân phối dựa trên Debian (Debian hoặc Ubuntu) có thể là một chiến thắng. Có một lý do Canonical chọn .deb để sử dụng làm hệ thống quản lý gói cho Ubuntu.
Nếu bạn muốn điều chỉnh mọi thứ ở mức độ thứ n thì Gentoo cho phép bạn xây dựng lại toàn bộ hệ thống cho kiến trúc bộ xử lý cụ thể của mình.
Nếu bạn muốn có trải nghiệm 'unix truyền thống' thì bạn có thể dùng thử Slackware hoặc FreeBSD (không phải là bản phân phối Linux nhưng có thể được OP quan tâm). Ngoài ra, gia đình BSD đặc biệt mạnh về kết nối mạng nên họ có thể cung cấp các lợi thế so với Linux cho các nhà phát triển làm việc trong lĩnh vực này.
Trong số đó, tôi đã sử dụng CentOS, Debian, Fedora, Ubuntu, Slackware và FreeBSD tại nhiều thời điểm trong quá khứ, cộng với một vài phiên bản khác (Vector, SLS, Yggdrasil và các phiên bản Redhat từ khoảng 4.0 trở đi). Là một môi trường phát triển 'unix', tất cả họ đều cung cấp các công cụ của thời đại và có thể đã được sử dụng cho công việc phát triển với công cụ đi kèm hoặc bằng cách tải xuống và xây dựng bất cứ thứ gì bạn cần.
Unix đã từng được mô tả như là một IDE giả mạo như một hệ điều hành, hoặc từ ngữ cho hiệu ứng đó. Bất kỳ biến thể unix hoặc linux có thể cung cấp cho bạn trải nghiệm nhà phát triển unix nếu bạn muốn điều đó. Đã có lúc tôi không thực sự quan tâm nhiều đến môi trường. Tôi thực sự chỉ sử dụng trình quản lý cửa sổ để mở các cửa sổ xterm và bắt đầu một vài ứng dụng; mọi thứ khác được thực hiện khá nhiều từ dòng lệnh. Hầu hết các loại unix hoặc linux có thể làm điều đó.
Nếu bạn vào C thì vim hoặc emacs với ctags, make và gcc hoạt động khá tốt; bạn có thể sử dụng gdb có hoặc không có giao diện. Chuỗi công cụ này cũng cung cấp hỗ trợ tốt cho các ngôn ngữ như perl hoặc python và đi kèm với một hệ sinh thái hỗ trợ phong phú từ các công cụ của bên thứ ba.
Đối với một quy trình làm việc tập trung vào GUI hơn, nó thực sự đi đến sự lựa chọn cá nhân của trình quản lý cửa sổ, môi trường máy tính để bàn và các công cụ phát triển. Nếu bạn vào Java thì Eclipse và netbeans đã được xây dựng trên hầu hết các bản phát hành chính. Các IDE thông thường khác nhau tồn tại với sự hỗ trợ cho C / C ++, perl, python và các ngôn ngữ script khác. Chúng có thể được thực hiện để hoạt động trên hầu hết nếu không phải tất cả các bản phân phối Linux. Java chỉ được hỗ trợ trên BSD thông qua các cổng của bên thứ 3, vì vậy bạn có thể tốt hơn với linux nếu bạn đang làm việc với điều đó.
Có một thứ như Linux hướng đến các nhà phát triển?
Đúng. Nó được gọi là Linux.
Fedora (hoặc bất kỳ dẫn xuất Red Hat nào) cũng tốt như mọi Debian, Slackware, Gentoo hoặc bất cứ thứ gì. Nghiêm túc mà nói, bạn có thể phát triển với bất kỳ phân phối chính nào, đó là một câu hỏi ngớ ngẩn khi yêu cầu Linux "hướng nhà phát triển".
Thật ngớ ngẩn khi nói rằng bất kỳ bản phân phối nào tốt hơn các bản phát hành khác cho các nhà phát triển. Nó không nghiêm trọng.
Câu hỏi này thực sự cầu xin cho tranh luận.
Tôi đã thử khá nhiều bản phân phối vì tôi thực sự thích làm như vậy.
Tôi là một nhà phát triển và tôi cũng đã tự hỏi về một Linux tốt cho các nhà phát triển và theo kinh nghiệm của tôi, không có bất kỳ bản phân phối Linux nào dành riêng cho các nhà phát triển.
Lý do là vì là một nhà phát triển, bạn không chỉ có thể tùy chỉnh bất kỳ bản phân phối nào cho phù hợp với nhu cầu của mình, mà bạn chắc chắn sẽ cần biết cách thực hiện tùy chỉnh đó.
Về cơ bản, nếu bạn không quen thuộc với Linux:
1) Debian, vì có rất nhiều máy chủ web sản xuất đang chạy Debian, vì vậy có lẽ nên tìm hiểu cách thức tổ chức các máy Debian. Điểm hay của Debian là vì Linux chắc chắn được sử dụng rộng rãi nhất (bao gồm cả các công cụ phái sinh như Ubuntu), sự hỗ trợ, cộng đồng và số lượng các gói được biên dịch sẵn có là vô cùng rộng rãi. Điều tồi tệ ở Debian là nó hướng đến một môi trường sản xuất ổn định và vì thế hiếm khi cung cấp cho bạn những thứ mới nhất mà bạn có thể muốn thử làm nhà phát triển.
2) Arch-Linux (ArchBang thực sự) là sở thích hiện tại của tôi vì 3 lý do: - Nó không cung cấp nhiều cách cài đặt và cấu hình công cụ dễ dàng bằng một cú nhấp chuột nhưng có một hướng dẫn tuyệt vời để giúp bạn thiết lập mọi thứ như bạn muốn, cách tiếp cận này cho phép bạn tìm hiểu rất nhiều về cách mọi thứ hoạt động ở chế độ nền và có nghĩa là đến lúc bạn có mọi thứ được thiết lập đúng cách, bạn sẽ cảm thấy khá thoải mái khi sử dụng hệ thống Linux / Unix. - Đó là bản phát hành, có nghĩa là bạn sẽ không bao giờ phải tải xuống phiên bản mới và cài đặt lại mọi thứ, bạn chỉ cần cập nhật hệ thống và Voila!. - Nó cố gắng thực hiện tất cả các công cụ mới nhất, vì vậy bạn sẽ luôn theo kịp các cải tiến mới cho phần mềm và là một nhà phát triển thực sự đáng trân trọng. -Oh và nó cũng có một cộng đồng tuyệt vời.
Nhưng dù sao thì về cơ bản là tùy thuộc vào bạn để thử một vài thứ và quyết định cái gì phù hợp nhất với bạn, điều tôi có thể đảm bảo là dù Linux bạn có buộc phải luôn luôn có cách để định cấu hình / tùy chỉnh nội dung theo ý thích của bạn, vì vậy vấn đề lớn là học cách thực hiện tùy chỉnh đó, và sau đó bạn chọn thứ gì đó đã được cấu hình sẵn càng gần càng tốt với những gì bạn muốn kết thúc.
Chẳng hạn, ngày càng có nhiều hương vị khác nhau trong các bản phân phối Linux, có những bản phân phối như Qimo hoặc DoudouLinux được định hướng cho trẻ em.
Tất nhiên bạn có thể thay đổi chúng để phù hợp với nhu cầu của bạn (chúng ta đang nói về Linux, phải:]), nhưng vẫn sẽ lãng phí rất nhiều thời gian.
Một số người sẽ cho rằng đó là một cách tuyệt vời để học những điều mới. Tuy nhiên, dù sao bạn cũng sẽ phải mất một thời gian để đào sâu vào bản phân phối và điều chỉnh nội dung, điều đó là không thể tránh khỏi với bất kỳ bản phân phối nào.
Nhưng điều quan trọng nhất là các gói.
Một số mang đến cho bạn những cái mới (ví dụ: Arch) và một số cái khác rất ổn định (ví dụ: Debian).
Các tài liệu cũng thay đổi rất nhiều, như đối với hỗ trợ phần cứng (trình điều khiển, trình điều khiển, trình điều khiển!).
Xem xét 3 điểm này (gói, tài liệu, trình điều khiển) và kỹ năng của riêng bạn, bạn nên dành chút thời gian để khám phá một số phân phối chính thống.
Một khởi đầu tốt có thể ở đây: http://distrowatch.com/
Fedora là người đầu tiên áp dụng các công nghệ mới, cho phép bạn thử nghiệm và phát triển với chúng hàng tháng trước khi chúng có mặt ở hầu hết các bản phát hành khác. Nó hỗ trợ nhiều ngôn ngữ lập trình và thư viện, và giúp dễ dàng thêm vào hệ thống của bạn bất kỳ thứ gì có thể thiếu. Nó có một triết lý mã nguồn mở thuần túy, lựa chọn cho phép các bên thứ ba cung cấp các gói cho các tính năng trái ngược với điều đó. Đừng gọi nó là "Fedora Core" (nó đã mất "Core" sau khi Core và Extras sáp nhập cho Fedora 7).
Tôi nghĩ, dựa trên kinh nghiệm của bản thân và câu trả lời ở đây, bạn đang tìm kiếm nhiều hơn cho một bộ ứng dụng và công cụ sẽ giúp phát triển dễ dàng và thiết thực hơn.
Điều thú vị về Linux là mọi phân phối đều rất dễ tùy chỉnh. Tôi khuyên bạn nên tìm một danh sách các phần mềm bạn sử dụng thường xuyên nhất trong khi phát triển và tạo một tarball lớn mà bạn có thể mang từ máy tính sang máy tính (nếu bạn chuyển đổi không gian làm việc nhiều).
Để phát triển Java / Eclipse, hãy xem xét Debian qua Ubuntu / Linux Mint (và thậm chí có thể là 32 bit trên 64 bit).
Bối cảnh: Tôi đã thực hiện một số phát triển Java / Eclipse RCP * và đã sử dụng Ubuntu và Linux Mint sau này, nhưng đã gặp phải tất cả các loại lỗi khó chịu, liên quan đến sự không ổn định trong môi trường máy tính để bàn (Cinnamon trên Linux Mint) hoặc thủ tục hơi phức tạp để cài đặt Sun Java6 JDK (được sử dụng bởi dự án của chúng tôi ... Ubuntu / Linux Mint chỉ gửi với OpenJDK trong kho của họ).
Gần đây tôi đã kích hoạt Debian 6 Squeeze trong một máy ảo và nhận ra làm thế nào những thứ này hoạt động tốt hơn nhiều. Cài đặt Sun Java chỉ yêu cầu thêm từ khóa "không miễn phí" sau chuỗi kho lưu trữ chính trong /etc/apt/source.list và sau đó cài đặt qua apt-get và máy tính để bàn (Gnome2) được cung cấp cùng với nó cũng ổn định hơn nhiều hơn các lựa chọn thay thế Gnome3 / Unity / Cinnamon trong Ubuntu / LinuxMint.
[*] Eclipse RCP có nghĩa là bạn sử dụng Eclipse không chỉ như một GUI mà còn là một thư viện để xây dựng GUI của riêng bạn.
Ubuntu là tuyệt vời, nghiêm túc.
Họ có tất cả các gói, cập nhật và dễ cài đặt. Sử dụng cấu hình mặc định (= Gnome) và bạn sẽ dành phần lớn thời gian để lập trình và không định cấu hình.
Cài đặt bộ biên dịch gcc, make, autoconf, v.v ... mất 5 phút với kết nối internet tốt. Ba mươi phút nữa và bạn có sẵn Ruby, Python, Sun JVM và Eclipse.
Chỉnh sửa: Ubuntu cung cấp các gói bổ sung với các biểu tượng gỡ lỗi cho nhiều thư viện. Rất vui khi có các nhà phát triển C / C ++.
Câu trả lời là không có Linux tốt để phát triển, trừ khi bạn tạo một cái và không có linux nào khác thực sự cung cấp nhiều trong lĩnh vực này như gentoo. Bạn biên dịch mọi thứ từ nguồn (thứ gì đó bạn nên là một nhà phát triển. Quá trình cài đặt sẽ dạy cho bạn nhiều hơn về hệ thống hơn bất kỳ bản phân phối nào khác khi trả lời nhiều câu hỏi bạn sẽ có khi bạn tạo ứng dụng.
Phần tốt nhất là bạn có thể chọn loại chương trình bạn muốn phát triển. Nếu bạn muốn java cài đặt javac hoặc gcj hoặc cả hai. Hỗ trợ cộng đồng không giống ai, vì vậy nếu bạn có câu hỏi, họ sẽ được trả lời hoặc đưa bạn đến nơi bạn cần đến để tìm câu trả lời.
Mọi IDE bạn có thể nghĩ là có sẵn để "xuất hiện" / cài đặt vào gentoo. Mặc dù không dễ để cài đặt hoặc "đơn giản" để hiểu, nhưng nether là lập trình và nếu bạn không thể cài đặt một bản sao của gentoo, tôi sẽ không muốn chạy các chương trình của bạn trên máy của tôi. Hầu hết những khó khăn mà mọi người đã cài đặt nó bắt nguồn từ việc thiếu kiến thức cơ bản về Linux. Tôi hứa bạn sẽ thích nó sau khi bạn thiết lập mọi thứ theo cách bạn thích.
Sau khi cài đặt xong, bạn có thể sao lưu tar và đặt nó vào bất kỳ máy tính nào bạn có thời gian để cấu hình lại kernel hoặc sử dụng nó để khôi phục khi mọi thứ trở nên khó khăn.