Skip navigation.

HUYHUNG'S BLOG

Entertainment and study

C# Compiler in Linux

C# đúng là hay thật. Nó sử dụng một cái compiler của ngôn ngữ mở rộng một chút của C++ là C++/CLI, cùng với một cái thư viện .Net Framework. Như vậy thì cái bộ Visual Studio của M$ thật khổng lồ bao gồm tá lả các thư viện và công nghệ từ API, MFC, ATL, COM+, DCOM đến .Net Framework Library.

Họ cũng đưa ra nhiều feature cũng như công nghệ mới trong programming language và software development. Nói chung thì mình cũng không thích lắm vì cảm thấy nó làm cho developer trở nên lười biếng hoặc là nó quá phức tạp và cồng kềnh để có thể hiểu sâu bên trong, thế nhưng việc có kiến thức rộng (bao gồm tùm lum tùm la các ngôn ngữ hay programming paradigms) cũng có cái hay của nó. Cái hay đó là kỹ năng giải quyết vấn đề trở nên flexible hơn rất nhiều. Hơn thế nữa tìm hiểu sâu bên trong những cái gì khổng lồ bao giờ cũng tốt. Giờ thì mình công nhận ngày xưa Terry nói đúng rằng biết nhiều thứ thì làm cho kỹ năng uyển chuyển và mạnh mẽ hơn.

Mấy tháng nay mình làm tùm lum tùm la các kiểu khác nhau từ Java, J2ME đến cả các ứng dụng web-application như openlaszlo hay client-server model, không chỉ bó hẹp trong cái C++ và *Nix nữa và thấy tư duy mình mở hơn rất nhiều. Mấy ngày nay thì gò mình trong cái C# cũng thấy thú vị phết.

Sau đó mình cảm nhận ra rằng những lập trình viên “tự do” sẽ biến những công cụ bị bó hẹp của M$ mà họ phải hàng ngày làm việc ở công ty (giống như mình bây giờ) trong môi trường Windows sẽ tìm cách để được làm việc trong môi trường ưa thích. Rất nhanh chóng mình đã tìm ra trình biên dịch C# trên linux và cả môi trường .Net Framework “giả” nữa. Hãy ghé thăm mono-project (bao gồm mono runtime để chạy các ứng dụng .Net framework và một bộ trình dịch C# cũng như bộ thư viện .Net Framework nữa). Ngoài ra có thể sử dụng thêm bộ thư viên GTK# để phát triển ứng dụng trên môi trường X-window cũng khá hay.

Đây là một ứng dụng đầu tiên.



// HelloConsole.cs
using System;

namespace mynamespace {
public class HelloWorld {
public static void Main(string [] args) {
Console.WriteLine(”hello, world”);
}
}
}

và dịch

$ gmcs HelloConsole.cs

và chạy

$ mono HelloConsole.exe

Hãy lướt qua cả monodevelop xem nó giống Visual Studio tới chừng nào (mặc dù không powerful bằng). Rất dễ hiểu khi cả mono và monodevelop được phát triển bởi Novell. Không biết M$ có chiến lược gì với cộng đồng nguồn mở nhỉ

Mình phải công nhận rằng những lập trình viên đã cố gắng đưa trình dịch C# hay Visual Studio lên Linux phải có những am hiểu sâu sắc về ngôn ngữ lập trình, hệ thống, … Thật đáng khâm phục

Dù gì thì hi vọng mình sẽ được làm việc trên môi trường yêu thích, và nếu dịch lỗi hay thiếu gì đấy biết đâu mình sẽ vọc cái source của nó

Thế giới chẳng hề phẳng! Kỹ thuật xác định Subnet Masks

Write a comment

You must be logged in to write a comment. If you're not a registered member, please sign up.

December 2009
M T W T F S S
November 2009January 2010
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31