2010-05-23 64 views
16

Tôi nghe nói Microsoft đã phát triển một ngôn ngữ lập trình có tên là M.Ngôn ngữ M là gì?

Ai đó có thể giải thích việc sử dụng M và cách lập trình viên C# có thể nhận được từ M.

+0

Ug, trang đó đã bị xóa. – Michael

Trả lời

24

UPDATE 2:

Vào tháng Bảy năm 2015, Microsoft đã phát hành một phiên bản sửa đổi nặng nề của M gọi Power Query. Nó được mô tả như là một "ngôn ngữ công thức", và không còn mô hình cho mỗi se.


UPDATE 1:

Nó được gần bốn năm kể từ khi tôi viết điều này, và tôi đoán (rằng "nó không phải là rất hữu ích") hóa ra đã được chia sẻ bởi rất nhiều folks. M là lâu kể từ khi không còn tồn tại và không bao giờ được phát hành. Thay vào đó, MS đã chuyển sang số OData.


Để hiểu được điểm đằng sau M, bạn phải hiểu một số lịch sử ngắn gọn:

  • Vào giữa những năm 1990 và đầu những năm 2000, đã có một cái gì đó của một mini-phong trào trong công nghệ phần mềm để khuyến khích các doanh nhân viết và phát triển phần mềm. Đây được coi là một nỗ lực để giảm bớt sự phức tạp của các dự án phần mềm lớn bằng cách cắt bỏ người trung gian của các nhà phát triển phần mềm để lập mô hình các ứng dụng kinh doanh lớn. Nhiều nhóm quản lý yêu thích ý tưởng này, vì giờ đây những người kinh doanh có thể đóng góp trực tiếp vào phát triển phần mềm.

  • Có rất nhiều chiến lược mà mọi người đã sử dụng để cố gắng tăng mức độ tương tác của nhà phân tích kinh doanh. Một trong những cái phổ biến hơn là kiến ​​trúc hướng mô hình. Theo chương trình này, những người kinh doanh có thể chỉ định các mô hình trực tiếp bằng cách sử dụng một số loại ngôn ngữ trực quan (ví dụ: UML), sau đó sẽ được tạo thành mã. Điều này sẽ không giống như có một số loại nhà thiết kế trực quan đã tạo ra các cột và bảng cơ sở dữ liệu được tạo tự động cũng như các lớp C# được gắn thẻ có thẻ NHibernate phù hợp.

  • Bởi vì nó không thuận tiện để học một ngôn ngữ lập trình mới chỉ vì mục đích mô hình hóa một vài khái niệm, hầu hết các doanh nghiệp không thể hiểu mã được tạo của họ. Thật vậy, hầu hết mọi người chỉ muốn trao một chồng mã mô hình cho các nhà phát triển và nói "ở đây, chạy với điều này". Nói chung, mức chất lượng của mã được tạo ra thấp.

  • Cuối cùng, chuyển động đã chết đi một khi nó trở nên rõ ràng rằng có những người kinh doanh không thể hiểu được phần mềm mà họ vừa viết là có vấn đề.Các công cụ này cũng có phần đổ lỗi: các biểu đồ hộp và mũi tên trơn trông rất tuyệt trong các bản trình bày PowerPoint, nhưng có các biểu diễn không rõ ràng trong phần mềm. Sự khác biệt về ý định giữa các triển khai có thể thường quá tinh tế để nắm bắt trong một công cụ.

Đây là nơi M đến. Microsoft đang cá cược rằng công cụ này giờ đây có thể mô hình hóa trực tiếp mọi thứ hơn. Họ rõ ràng đã học được từ những sai lầm của người khác, vì M là một ngôn ngữ văn bản (thay vì ngôn ngữ hộp-và-mũi tên của các công cụ tạo mô hình trực quan trước đó). Hãy suy nghĩ về M như một phiên bản khác của UML, nhưng với rất nhiều tàu bị tước đi, và tập trung ít nhiều vào các đối tượng mô hình hóa (chứ không phải chuỗi các sự kiện, diễn viên, vv, và tất cả những thứ khác mô hình).

IMO, nó không phải là rất hữu ích ngay bây giờ bởi vì không có đủ một tâm trí để làm việc với nó có hiệu quả. Một phần của tiện ích của một ngôn ngữ là các công cụ nó hoạt động, và ngay bây giờ có rất ít trong số đó (thực ra, ngay bây giờ tôi không thể nghĩ ra một công cụ của bên thứ ba giúp bạn với M).

Thanh bên: ai đó cần cung cấp cho Microsoft folks một số lớp học SEO Marketing 101. Không có trong số mười kết quả hàng đầu cho "m dsl" thậm chí còn gần như nói về DSL: một kết quả là cho giải đấu bóng chày ở Detroit; một là về các thuê bao số điện thoại di động; vân vân. Đừng đặt tên cho công cụ mới của bạn sau một chữ cái của bảng chữ cái!

+0

Đến điểm thực hiện tìm kiếm 'm dsl' ... hãy thử tìm kiếm' c dsl'. 'M' là một đặc tả ngôn ngữ, nó chỉ có nhiều nhiễu như' B', 'C', và' D' ... là tất cả các ngôn ngữ lập trình. –

+0

Đã gần sáu năm kể từ khi bạn viết điều này và M hoặc là hoàn toàn khác với những gì bạn đã mô tả hoặc bây giờ là cực kỳ hữu ích. Cảm ơn thông tin cơ bản. –

+1

Các tàn dư bị vỡ của M đã được làm lại thành Power Query với một số sự tốt lành và ý tưởng mới. Power Query không phải là một ngôn ngữ mô hình hóa như M ban đầu, mà đúng hơn là một công cụ để thẩm vấn dữ liệu. Thông tin thêm tại đây: https://msdn.microsoft.com/en-us/library/mt270235.aspx –

5

Một câu nói từ ngôn ngữ của Microsoft M specification:

Microsoft Mã số Tên "M" Modeling Language, sau đây gọi tắt là M, là một ngôn ngữ cho các lĩnh vực xây dựng mô hình sử dụng văn bản. Miền là bất kỳ tập hợp các khái niệm hoặc đối tượng liên quan nào. Miền mô hình bao gồm việc chọn các đặc điểm nhất định để bao gồm trong mô hình và loại trừ hoàn toàn những người khác được cho là không có liên quan. Mô hình hóa bằng văn bản có một số ưu điểm và nhược điểm trong việc mô hình hóa bằng các phương tiện khác như sơ đồ hoặc đất sét. Mục đích của ngôn ngữ M là khai thác những lợi thế này và giảm thiểu những bất lợi.

+11

Họ có nói mô hình bằng đất sét không? Tôi có thể thấy rằng vấn đề là một mô hình giải pháp kinh doanh, vì quá trình này luôn kết thúc khi bị sa thải. –

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