2008-11-14 10 views
6

Chúng tôi muốn cung cấp cho mọi người khả năng thêm một số logic vào tài khoản của họ (ví dụ: đưa ra một số đối số, cách tính kết quả cụ thể). Vì vậy, về cơ bản, điều này sẽ tương đương với việc viết các quy tắc kinh doanh đơn giản với sự hỗ trợ cho các điều kiện và biểu thức. Tuy nhiên, thách thức là cung cấp cho họ một trình soạn thảo trực tuyến đơn giản, nơi họ có thể tạo ra logic (tốt hơn) bằng các phương tiện hoàn toàn trực quan (kéo/thả các nút Expr-tree có thể - giống như Y!).Ngôn ngữ Macro/Scripting cho người không phát triển với trình soạn thảo dựa trên GUI đơn giản

Có ai biết ngôn ngữ kịch bản/macro/tên miền cụ thể cho phép mọi người thực hiện việc này không? Thách thức là trình chỉnh sửa trực quan, vì chúng tôi không muốn đầu tư phát triển giao diện người dùng để thực hiện chỉnh sửa. Các yêu cầu cơ bản sẽ là:
1. Embedded sang ngôn ngữ khác, hoặc chạy một cách an toàn (không reboot -n hoặc <JUNK-DANGEROUS-COMMAND> >> ~/.bashrc)
2. Dễ dàng truy cập cho người dùng mà không cần mã hóa nền (không cần bất kỳ tính năng nâng cao)
3. Tốt nhất có một Trình soạn thảo dựa trên GUI đơn giản để tạo ra các chương trình logic có thể truy cập được cho các nhà phát triển (như bảng tính)
4. Một số khả năng tạo cảnh báo biên dịch (mã không hợp lệ) sẽ tốt (Loại an toàn?)
5. Khả năng nhúng một số dữ liệu trước khi thực hiện có sẵn cho trình thông dịch (Ví dụ: name, birthday, amount)

Bất kỳ ai đã thử làm điều gì đó như thế này và có ý tưởng gì không? Tôi đã xem Lua, Io, Python, Ruby và một loạt những người khác, nhưng thách thức cơ bản là tôi không nghĩ rằng những người không lập trình sẽ có thể hiểu được mã đó nhiều đến thế. Một thứ có thể được thêm vào thông qua "lập trình meta" để nói rằng Ruby cũng sẽ tốt, nếu một trình soạn thảo có thể dễ dàng phát triển!

Trả lời

0

Tôi không nghĩ rằng bạn sẽ tìm thấy bất kỳ thứ gì không quá chung chung, đặc biệt là về trình chỉnh sửa GUI. Không có công cụ chung nào như tôi biết sẽ có thể tự động giao tiếp với chương trình của bạn và có thể truy vấn dữ liệu từ nó và diễn giải kịch bản lệnh thành các lệnh trong phần mềm của bạn - nếu tôi muốn có một bản sao. Không phải là flippant, nhưng bạn sẽ phải làm một số (có thể rất nhiều) công việc để làm việc này. Nó có thể sẽ dẫn đến việc bạn viết một DSL tùy chỉnh.

+0

Có bất kỳ công cụ đơn giản nào của họ để xây dựng DSL + giao diện web để chỉnh sửa những công cụ đó tốt hơn dựa trên GUI không? Trên thực tế, thay vì một ngôn ngữ chính thức, chỉ cần một lối vào dựa trên web để chỉnh sửa các cây biểu thức là đủ! – kpowerinfinity

2

Thực tế, Microsoft đang phát triển Oslo, nằm ngay bên phải con hẻm của bạn. Chris Sells gần đây đã viết rất nhiều về nó.

Nó được thiết kế để trở thành một cách để tác giả DSL và cũng để trực quan tác giả các mô hình này với một công cụ đồ họa được gọi là Quadrant. Âm thanh rất giống với những gì bạn đang tìm kiếm.

Nguồn mở khôn ngoan, Ruby tôi nghĩ có thể gần gũi, như bạn có thể thấy nếu bạn nhìn vào _whytheluckystiff's Try Ruby hoặc Hackety.

0

Tôi sẽ xem PowerShell. Bạn có thể hiển thị tất cả các hoạt động mà người dùng muốn viết theo một cách dễ đọc. Có một số nói chuyện về việc sử dụng PowerShell để tạo một DSL trên the PowerShell team blog và Bruce Payette, người lãnh đạo kỹ thuật, nói về điều này trong cuốn sách Windows PowerShell của mình trong Hành động từ Manning.

0

Ở đầu kia của quy mô là viết một cái gì đó đơn giản như một ứng dụng HyperText (HTA) - giả sử Windows tất nhiên - dọc theo các dòng của công cụ Clive của tôi. Bài viết trên blog không đề cập đến phiên bản HTA, nhưng về cơ bản tôi có thể nhập mã VBScript-ish vào một vùng văn bản và diễn giải nó ngay tại chỗ, đầu ra đi vào một vùng văn bản khác trên biểu mẫu.

Với HTA cung cấp cho bạn tất cả điều khiển biểu mẫu của HTML, cộng với DOM, bạn có thể nghĩ ra một điều thú vị khá nhanh chóng.