2009-07-02 40 views
7

Cách di chuyển sang nền tảng * nix sau khi chi tiêu hơn 10 năm trên cửa sổ? Hương vị nào sẽ dễ xử lý để làm cho tôi thoải mái hơn và sau đó có lẽ tôi có thể chuyển sang hương vị đậm đà hơn * nix? Tôi đã trì hoãn một lúc rồi. Giúp tôi với sự đẩy thêm.chuyển từ cửa sổ sang nền tảng lập trình * nix

+0

Tôi hiện có cùng một vấn đề, sau khi làm việc với các công cụ WPF/.NET cấp cao thực sự trong năm qua. Các * nixes dường như không có nhiều mà là tương thích với những gì tôi biết. – IanGilham

+0

Thực ra, XAML có nguồn gốc từ XUL của Mozilla. Nền tảng này không bao giờ cất cánh bên ngoài phát triển plugin firefox. XulRunner không phải là bất cứ điều gì giống như toàn diện như. Net nhưng mô hình có thể là đủ gần để WPF để tìm một số mặt bằng chung. – ConcernedOfTunbridgeWells

Trả lời

9

Linux dễ truy cập nhất và có chức năng máy tính để bàn trưởng thành nhất. BSD (initsvariousflavours) có ít hành lý không gian người dùng hơn và sẽ dễ hiểu hơn ở cấp độ cơ bản. Về vấn đề này nó giống như một Unix truyền thống hơn là một bản phân phối Linux hiện đại. Một số có thể xem đây là một điều tốt (và từ một số quan điểm nhất định), nhưng sẽ xa lạ hơn với một người quen thuộc với Windows.

Các bản phân phối máy tính để bàn chính là UbuntuFedora. Đây là cả hai hệ thống có khả năng nhưng khác đôi chút trong kiến ​​trúc không gian người dùng của họ Các dụng cụ cho môi trường máy tính để bàn và cấu hình mặc định cho an ninh hệ thống làm việc một chút khác nhau trên Ubuntu hơn là trên hầu hết các Linux khác hoặc Unix hương vị nhưng điều này là ít liên quan đến phát triển. Từ quan điểm của người dùng, một trong hai điều này sẽ là một khởi đầu tốt.

Từ góc độ của nhà phát triển, tất cả các hương vị hiện đại của Unix và Linux đều rất giống nhau và chia sẻ về cơ bản cùng một chuỗi công cụ nhà phát triển. Nếu bạn muốn tìm hiểu về hệ thống từ quan điểm của lập trình viên thì có khá ít lựa chọn.

Hầu hết các chương trình Unix có thể được thực hiện khá hiệu quả với trình chỉnh sửa của lập trình viên như vim hoặc emacs, cả hai đều ở chế độ văn bản và cửa sổ. Các trình soạn thảo này rất mạnh mẽ và có giao diện người dùng khá kỳ quặc - giao diện người dùng là bình thường nhưng đóng góp đáng kể vào sức mạnh của các công cụ. Nếu bạn không cảm thấy thoải mái với những công cụ này, this posting sẽ thảo luận về một số trình chỉnh sửa khác cung cấp trải nghiệm người dùng gần hơn với công cụ Windows thông thường.

Có một số IDE chẳng hạn như Eclipse có thể quan tâm nhiều hơn đến một người nào đó sắp tắt Windows/Visual Studio.

Một số thông tin đăng trên Stackoverflow rằng thảo luận về linux/unix nguồn lực bao gồm:

Nếu bạn có t ime và muốn làm một tour du lịch thực sự của các loại hạt và bu lông Linux From Scratch là một hướng dẫn mà đi qua xây dựng một cài đặt Linux bằng tay. Đây là một cách tốt để học sâu.

Để lập trình, hãy cảm nhận C/unix từ K & R và một số tài nguyên được đề cập trong các câu hỏi được liên kết ở trên. Tương đương Petzold, Prosise và Richter trong thế giới Unix là W Richard Stevens' Advanced Programming in the Unix EnvironmentUnix Network Programming vol. 1and 2.

Học một trong những ngôn ngữ động như Perl hoặc Python nếu bạn chưa quen với những điều này cũng là một điều hữu ích để làm.Như một phần thưởng bạn có thể nhận được các cổng Windows tốt của cả hai bên trên từ Activestate có nghĩa là những kỹ năng này rất hữu ích trên cả hai nền tảng.

Nếu bạn vào C++ hãy xem QT. Điều này được cho là bộ công cụ GUI đa nền tảng tốt nhất trên thị trường và (một lần nữa) có lợi ích của một bộ kỹ năng và chuỗi công cụ có thể chuyển trở lại vào Windows. cũng severalgoodbooks có về đề tài này và (như là một tiền thưởng) nó cũng works well with Python.

Cuối cùng, Cygwin là một lớp thi đua unix chạy trên Windows và cho môi trường đáng kể unix-like. Về mặt kiến ​​trúc, Cygwin là một cổng của glibc và crt (các thư viện cơ sở của chuỗi công cụ GNU) như một bộ điều hợp trên đỉnh của Win32. Lớp mô phỏng này giúp bạn dễ dàng chuyển các ứng dụng unix/linux sang Cygwin. Nền tảng này đi kèm với một bộ phần mềm hoàn chỉnh - về cơ bản là một bản phân phối Linux đầy đủ được lưu trữ trên nhân Windows. Nó cho phép bạn làm việc theo cách giống như Unix trên Windows mà không phải duy trì một bản cài đặt hệ điều hành riêng biệt. Nếu bạn không muốn chạy máy ảo, nhiều khởi động hoặc nhiều máy tính, nó có thể là một cách để nới lỏng thành unix.

+0

woaw thx rất nhiều, tải xuống ubuntu đã bắt đầu, tôi đang thử với phiên bản máy tính để bàn 9.x – dhaval

+0

+1 cho liên kết "BSD (trong các hương vị khác nhau của nó)" :) –

+0

Cũng +1 cho BSD. Tôi đã thử chuyển từ Windows sang Linux nhưng nó không hoạt động. Cuối cùng tôi đã thử OpenBSD và thực sự thích nó, ngay cả khi không biết cách làm việc đó. Tôi nghĩ rằng tôi đã học được từ một BSD nhiều hơn chỉ vì tôi đã không giả định rằng có khả năng tương thích cửa sổ trong giao diện người dùng. Nó hoàn toàn khác và buộc bạn phải học. Điều đó đang được nói, bây giờ tôi sử dụng cả Arch Linux và OpenBSD. Tôi thích cả hai, nhưng BSD sẽ luôn sạch hơn Linux – Earlz

1

Ubuntu có vẻ rất thân thiện với người dùng và có rất nhiều thông tin cụ thể về nó trong diễn đàn, v.v. Vì vậy, bạn sẽ được hỗ trợ một cách khôn ngoan.

Tôi đã trải qua sự dịch chuyển từ cửa sổ sang ubuntu như rất nhiều, những thứ bạn có thể làm đồ họa trong cửa sổ có thể được thực hiện giống hệt nhau trong ubuntu (có thể một số ngoại lệ) và hơn một chút. Một cá nhân hiểu biết máy tính không nên có bất kỳ vấn đề gì.

Tuy nhiên, nó giúp ích rất nhiều nếu bạn quen thuộc với các lệnh trình bao cơ bản (bạn sẽ cần chúng như một lập trình viên!). Một số là giống như trên cửa sổ, nhưng đặc biệt là ls (dir) đôi khi đã cho tôi wracking não của tôi cho "lệnh đó là gì một lần nữa", và ngược lại khi tôi trở lại trên cửa sổ. Dành chút thời gian để dùng thử. (ví dụ: pwd, ls, mv, rm, ps, kill)

Cuối cùng, khi cài đặt chương trình thường đơn giản "sudo apt-get install X" thực hiện tất cả công việc cho bạn, thậm chí thân thiện hơn so với cửa sổ thực thi trình cài đặt tôi tìm thấy.

Chỉnh sửa: Bạn có thể muốn dùng thử trình phát VMware và thử một vài bản phân phối Linux để phát xung quanh trước khi cài đặt khởi động kép.

+0

mà vmplayer được đề xuất trên winxp cho ubuntu? – dhaval

+0

Tôi sử dụng VMware player bởi VMware, nhưng nó là một bài tập ở trường, tôi chưa nghiên cứu vấn đề. Nó làm việc mặc dù (trên vista ít nhất) – NomeN

1

Ubuntu được cân bằng độc đáo, với máy tính để bàn thân thiện với người dùng nhưng khả năng thiết lập môi trường lập trình đầy đủ chức năng.

Tôi khuyên bạn nên thử nghiệm với máy ảo - không có lý do gì để bỏ cài đặt hiện tại của bạn cho đến khi bạn thử một vài bản phân phối chính. VMware và những người khác có nhiều bản dựng máy chủ và máy tính để bàn có sẵn.

+0

tôi đang lập kế hoạch để phân vùng và giữ cho xp sẽ cho ít nhất một vài tháng nữa – dhaval

+0

Tôi rất muốn khuyên bạn nên nhìn vào máy ảo thay vì khởi động kép. Bạn sẽ thực sự đánh giá cao khả năng sử dụng một số sytems hoạt động cùng một lúc. Và một khi bạn đã thực hiện một sự lựa chọn bạn luôn có thể chạy các cài đặt cửa sổ ảo khác nhau theo * nix của bạn lựa chọn. – Ken

1

Tôi đoán nó cũng phụ thuộc vào ngôn ngữ lập trình bạn cảm thấy thoải mái.

Nếu bạn đã làm việc với C# trong quá khứ thì bạn có thể xem bằng cách sử dụng kiến ​​thức bằng cách chạy Mono hoặc có thể xem bằng cách sử dụng Java (vốn rất giống cú pháp). Dù bằng cách nào Linux cũng sẽ tốt.

Cá nhân tôi khuyên bạn nên xem OS X của Mac. Hệ điều hành này dựa trên BSD unix, nhưng với giao diện người dùng thực sự mượt mà trên đầu. Đối với tôi nó cảm thấy như là tốt nhất của cả hai thế giới Windows và Unix.

Tôi thực hiện tất cả phát triển unix của mình trên đó, triển khai trên máy chủ Ubuntu.Nếu bạn nhìn vào máy Mac, chắc chắn hãy xem dự án MacPorts, gói này chứa một lượng lớn phần mềm unix/linux mã nguồn mở giúp việc cài đặt các công cụ lập trình trở nên vô cùng dễ dàng.

0

Tải xuống macbook pro. OSX là hương vị mượt mà nhất của unix và máy tính xách tay nên cung cấp cho bạn sự thúc đẩy bạn cần.

Sau đó, khi bạn cảm thấy tự tin hơn, bạn có thể quyết định xem bạn có muốn dành phần lớn thời gian định cấu hình soundcard của mình hay không, chạy ./autoconfigure & & thực hiện và gỡ lỗi trình quản lý gói.

+1

đó là một cảnh báo tốt, sẽ ghi nhớ nhưng mac là một giấc mơ xa vời với giá của nó ở Ấn Độ – dhaval

0

Bất kỳ phiên bản hiện đại nào của Unix (hoặc Linux) mà bạn có thể chạy trên máy của mình sẽ ổn.

Dưới đây là những người mà tôi sẽ xem xét:

  • Ubuntu. Như những người khác đã lưu ý, điều này thường được coi là dễ sử dụng nhất. Tuy nhiên một số phần không phải là "chuẩn" Unix. Ví dụ: các tập lệnh khởi động không sử dụng init. Điều này chủ yếu là một điều tốt, nhưng nếu bạn đang cố gắng để tìm hiểu Unix có thể không phải là những gì bạn cần.
  • Fedora. Chảy máu cạnh nhưng với các cạnh thô.
  • Slackware. Có thể là bản phân phối Linux giống Unix nhất (một số sẽ nói ngày tháng).
  • Một trong số các BSD: FreeBSD, OpenBSD, NetBSD. Cách tiếp cận khác với một số thứ so với Linux.
  • Solaris. Đây là Unix "thích hợp". Có vẻ như xương trần so với Linux nhưng đáng để chơi với những gì là "tiêu chuẩn".

Trong thực tế, tôi sẽ xem xét việc chạy ít nhất một vài trong số chúng, hầu hết chạy tốt như một máy ảo. Một trong những điều tốt và xấu về Unix là những gì tiêu chuẩn hóa là nhiều hơn philosophy so với nhiều chi tiết. Không có Visual Studio, không có C# (do đó tôi có nghĩa là không có ngôn ngữ cấp cao kinh điển; Tôi biết về Mono).

-1

Hãy thử Kubuntu như một bản phân phối và Kdevelop và Qt để bắt đầu lập trình, tất cả đều rất văn minh. Kate là một trình soạn thảo văn bản không cần thiết nếu bạn muốn theo cách đó nhưng tôi không thấy lý do tại sao bạn muốn vào Vi hoặc Emac ngoài sự lôi cuốn geeky của việc sử dụng một cái gì đó thực sự phức tạp.

+0

Tôi muốn đi Fedora và sử dụng CDT Eclipse ngày nay, bạn thậm chí có thể sử dụng IDE Eclipse trên cửa sổ quá. Tôi cũng có một cái nhìn về gedit để sử dụng loại 'notepad' của bạn. Tôi đứng bởi bình luận Vi/Vim/Emacs của tôi, xin lỗi nhưng nó đã qua ... – timB33

0

Câu trả lời hay. Một vài nhận xét:

Hầu như tất cả các bản phân phối đều hỗ trợ LiveCD, để bạn thử trước khi cài đặt. folks đã đề cập đến VMWare và VirtualBox, cũng lưu ý rằng trình cài đặt WUBI của Ubuntu cho phép bạn cài đặt Linux dưới Windows mà không cần phân vùng lại; rất đẹp; Tôi sử dụng nó khi tôi lần đầu tiên chuyển sang hệ thống 64-bit của tôi, vì tôi không chắc chắn hỗ trợ trình điều khiển tốt như thế nào. Ubuntu 9.04 hoạt động tốt trong 64, mặc dù. Ngoài ra, vì Ubuntu rất phổ biến, có nhiều phiên bản, Kubuntu sử dụng KDE thay vì Gnome, Mint và Xubuntu đều có trọng lượng nhẹ hơn.

Mong đợi chạy song song một lúc khi chuyển từ Windows. Cygwin có một số sách hướng dẫn có thể tải xuống dễ dàng cho những người quen với việc bash, và thông tin cơ bản về cách * nix hoạt động bên dưới, nhắm vào người dùng Windows. Có rất nhiều trang hữu ích; Diễn đàn cộng đồng Ubuntu có lượng thông tin khổng lồ, cho cả người mới bắt đầu lẫn nâng cao.

Để làm quen với việc phát triển dưới Linux, hãy kiểm tra dự án tài liệu về Linux. Ngoài KDevelop, còn có Anjuta, Eclipse và nhiều thứ khác nữa. Một số là ánh sáng, một số là nặng.

Một điều có thể dễ dàng chuyển đổi là sử dụng phần mềm chạy trong cả hai hệ điều hành. Firefox, Thunderbird, OpenOffice, Subversion, và hàng trăm nếu không phải hàng ngàn người khác chạy tốt trong cả Linux và Windows. Và với rất ít nỗ lực, bạn có thể sử dụng cùng một thư mục cho cài đặt ứng dụng và dữ liệu cho nhiều trong số này. Firefox và Thunderbird có thể dễ dàng sử dụng cùng một thư mục/tập tin trên phân vùng NTFS. Giúp khởi động kép dễ dàng hơn nhiều. Các hướng dẫn có trên trang cộng đồng Ubuntu và các địa điểm khác.

Lưu ý rằng một số phần mềm Linux không thân thiện với NTFS; trong Linux giữ thư mục làm việc Subversion của bạn trên một phân vùng gốc.

Một lưu ý để chia sẻ cài đặt ứng dụng; một số ứng dụng lưu trữ đường dẫn tuyệt đối; như một giải pháp thay thế, bạn có thể tạo các liên kết tượng trưng giống như các ký tự ổ đĩa Windows.

Sau khi bạn cảm thấy thoải mái với Linux, hãy phân nhánh và thử các ứng dụng và công cụ không phải Windowsy. Đôi khi khác nhau là tốt hơn. Rất nhiều người sử dụng Emacs và Vim vì lý do chính đáng.

Các vấn đề liên quan