2010-02-02 2 views
6

Bất cứ ai có thể cho tôi một ví dụ về lập trình viên không thành công, 5GL (không phải là tôi chắc chắn chúng là gì!), Hình ảnh, 0 mã nguồn hoặc các công cụ tương tự mà người dùng doanh nghiệp hoặc nhà phân tích có thể sử dụng để tạo ứng dụng?
Tôi không tin là có và tôi muốn được chứng minh là sai.Thành công Không lập trình, 5GL, Visual, 0 Mã nguồn hoặc Công cụ tương tự?

Tại công ty mà tôi làm việc tại, chúng tôi đã phát triển MVC nội bộ mà chúng tôi sử dụng để phát triển các ứng dụng web. Về cơ bản nó là một máy trạng thái giảm được viết bằng XML (à la Spring WebFlow) cho bộ điều khiển và một công cụ dựa trên mẫu đơn giản để trình bày. Một số lợi ích:

  • chất năng động: không cần phải biên dịch lại để xem các thay đổi
  • giảm “semantic tải”: về cơ bản, hành động trong bộ điều khiển chỉ biết “Nếu”. Do đó, thật dễ dàng để đào tạo ai đó để phát triển ứng dụng.

Xu hướng hiện tại trong công ty (hoặc ít nhất ở cấp quản lý) là cố gắng sản xuất các công cụ cho nền tảng yêu cầu 0 mã nguồn, có hình ảnh v.v ... Nó có ảnh hưởng tốt đến khách hàng (hoặc ít nhất) ở cấp quản lý) kể từ:

  • họ có thể tin rằng theo cách này họ sẽ không cần lập trình viên hoặc ít nhất sẽ có thể thuê những lập trình viên có chi phí thấp hơn nhiều so với các lập trình viên thông thường. Có vẻ như có một nguy cơ giảm thiểu liên quan, vì công cụ giới hạn người triển khai hoặc người dùng (chỉ cần không sử dụng lập trình viên!) Trong những gì anh ta có thể làm, vì vậy ít có khả năng anh ta có thể giới thiệu lỗi
  • Dường như đơn giản hóa toàn bộ vấn đề vì dường như không có chương trình nào liên quan (nổi tiếng phức tạp). Vì các ứng dụng tải động, có ít phức tạp hơn thường được kết hợp với vòng đời J2EE: biên dịch, đóng gói, triển khai, v.v.

Tôi cá nhân hoài nghi rằng một cái gì đó như thế này có thể đạt được. Giải pháp chúng tôi có ngày hôm nay có một số vấn đề:

  • Người thực hiện viết mã JavaScript để làm giàu trang (có thể được giải quyết bằng cách phát triển tiện ích con). Mặc dù phía máy khách, vẫn là một mã có thể trở nên rất phức tạp và dẫn đến một số lỗi khó khăn.
  • Đã có một công cụ trực quan, nhưng những người triển khai thích chỉnh sửa XML vì nó nhanh hơn và dễ dàng hơn. Để so sánh, tôi đoán không nhiều người sử dụng Eclipse Spring WebFlow plug-in để chỉnh sửa XML luồng.
  • Có một tái sử dụng rất kém trong giải pháp (dựa trên sao chép-dán XML). Điều này cản trở năng suất và một số khía cạnh khác, như bồi dưỡng kiến ​​thức kinh doanh.
  • Đã có nhiều hiệu suất và các vấn đề khác dựa trên việc sử dụng các công cụ không chính xác. Không có vấn đề làm thế nào giảm sân chơi, luôn luôn có không gian cho lỗi.
  • Mặc dù nền tảng này có thể hiệu quả hơn Struts, nhưng tôi nghi ngờ nó hiệu quả hơn các khung công tác web RAD ngày nay như RoR hoặc Grails.
  • Verbosity

Trước đây, đã có nhiều lỗi theo hướng này. Ý tưởng về các chương trình được viết bởi những người không lập trình là cũ nhưng AFAIK không bao giờ thành công. Ở mức độ nhất định, bất cứ điều gì nhưng sức mạnh của mã nguồn trở nên không thể thay thế. Hôm nay, có rất nhiều cuộc nói chuyện về DSLs, nhưng không phải là một cái gì đó mà người lập trình không nên viết, giống như một cái gì đó họ có thể đọc.

Dường như với tôi rằng công ty định hướng đang tham gia vào khía cạnh này là một kết thúc chết người. Bạn nghĩ sao?

CHỈNH SỬA: Cần lưu ý (và đó là nơi mà một số lượng người tiêu dùng đến từ) mà nhiều người chơi lớn đang thử nghiệm theo hướng đó. Xem Microsoft Popfly, Google Sites, iRise, nhiều giải pháp Mashup, v.v.

Trả lời

1

Sẽ luôn có các ngôn ngữ "thực" để thực hiện công việc, nhưng chúng tôi có thể kéo và thả luồng công việc.

Tôi đang sử dụng Máy tự động của Apple cho phép người dùng kết hợp với nhau "Hành động" được hiển thị bởi các ứng dụng khác nhau trên hệ thống của họ.

Hành động có đầu vào và/hoặc đầu ra, một số có phần tử giao diện người dùng và logic cơ bản có thể được áp dụng cho chuỗi.

Sự khác biệt chính giữa công cụ tự động và môi trường thị giác khác là các hành động sử dụng mã ứng dụng hiện có và không yêu cầu bất kỳ cài đặt đặc biệt .

More Info>http://www.macosxautomation.com/automator/

Tôi đã sử dụng nó để "tự động" nhiều quá trình hàng loạt và có kết quả thực sự tuyệt vời (tôi ngạc nhiên mỗi lần). Tôi đã có nó chạy xây dựng và sao lưu và bất cứ khi nào tôi cần phải xử lý một mess của các tập tin văn bản nó đi qua.

Tôi rất thích biết liệu iHook hoặc Platypus (nhà xây dựng wrapper OSX cho kịch bản shell) có thể cho tôi phát triển plugins trong python ....

Có chắc chắn là chỗ cho nhiều ứng dụng như thế này và hỗ trợ nhiều hơn từ Nhà phát triển ứng dụng OSX nhưng ý tưởng là âm thanh.

Cho đến khi có hỗ trợ chính không có nhiều "hành động" có sẵn, nhưng kiểm tra nhanh trên hệ thống của tôi chỉ cho tôi thêm 30 mà tôi không biết tôi có.

PS. Đã có một ứng dụng khác cho OS-preX được gọi là "Tops lọc" có bộ plugin giới hạn hơn nhiều.

+0

tóm tắt: automator đá và đó là một ví dụ tuyệt vời của một đồ họa tương đương với đường ống lệnh và shell scripting. –

9

Vâng, đó là kết thúc chết. Vấn đề rất đơn giản: dù bạn đơn giản làm cho biểu thức của giải pháp đơn giản như thế nào, bạn vẫn phải phân tích và hiểu vấn đề cần giải quyết. Đó là khoảng 80-90% các lập trình viên (tốt nhất) dành thời gian của họ như thế nào, và đó là phần có kỹ năng và suy nghĩ thực sự. Có, một khi bạn đã quyết định phải làm gì, có một số kỹ năng liên quan đến việc tìm ra cách để làm điều đó (bằng ngôn ngữ lập trình mà bạn chọn). Trong hầu hết các trường hợp, đó là một phần nhỏ của vấn đề, và ít nhất là mở cho những thứ như trượt lịch trình, chi phí vượt quá hoặc thất bại hoàn toàn.

Các vấn đề nghiêm trọng nhất trong dự án phần mềm xảy ra ở giai đoạn sớm hơn, trong phần bạn chỉ đơn giản là tìm ra hệ thống nên làm gì, người dùng phải/nên/có thể làm những việc gì sẽ (và sẽ không) cố gắng giải quyết, v.v. Đó là những vấn đề khó khăn, và thay đổi môi trường để thể hiện giải pháp theo cách nào đó mã nguồn khác sẽ làm chính xác không có gì để giúp bất kỳ vấn đề khó khăn nào.

Đối với một luận hoàn chỉnh hơn về đề tài này, bạn có thể muốn đọc Không Silver Bullet - Essence và tai nạn trong Công Nghệ Phần Mềm, bởi Frederick Brooks (Bao gồm trong 20 thứ Anniversary Edition của Các Mythical thấu Tháng). Toàn bộ bài báo về bản chất là câu hỏi này: bao nhiêu nỗ lực tham gia vào kĩ nghệ phần mềm là điều thiết yếu, và bao nhiêu là kết quả ngẫu nhiên của các công cụ, môi trường, ngôn ngữ lập trình, v.v. mà chúng ta sử dụng. Kết luận của ông là công nghệ không có công nghệ đã có sẵn bất kỳ hy vọng hợp lý nào về việc cải thiện năng suất bằng nhiều thứ tự độ lớn.

2

Tôi đang nghĩ đến dòng sản phẩm bao gồm Ms Access, Excel, Clarion for DOS, v.v. Ở đó bạn có thể tạo ứng dụng với 0 mã nguồn và không có lập trình viên. Không phải là họ có khả năng hoạt động AI quality, nhưng họ có thể làm cho các ứng dụng rất có ích.

+1

Tôi nghĩ bảng tính (Excel) là một ví dụ rất hay về công cụ không lập trình thành công. Với một chút toán, nó có thể đi một chặng đường dài. Một ví dụ khác là máy ghi macro văn phòng: Tôi đã thấy những người không lập trình thực hiện các phiên bản nhỏ để ghi lại mã VBScript để làm cho nó thực hiện đặt giá thầu của họ. Nó cũng là điều tuyệt vời mà những người không lập trình có thể thực hiện với Access, nhưng một số giải pháp mà tôi đã thấy cũng là một ví dụ điển hình về các giới hạn không lập trình và về cách chúng có thể đi xa như thế nào. Ví dụ, rất khó cho người không lập trình để hiểu mô hình quan hệ. Nhiều lần tôi đã thấy một bảng duy nhất được sử dụng cho toàn bộ giải pháp. – Dan

+0

Có một Clarion cho Windows vẫn có sẵn, nhưng nó chứa rất nhiều "lập trình" hơn so với sản phẩm DOS đã làm. Như những người khác đã nói, lập trình ngày nay là một hoạt động cơ bản phức tạp. Bạn có thể câm nó xuống một mức độ lớn, nhưng chỉ bằng cách giảm tập hợp các chương trình có thể. – Bruce

+0

Vâng ... Tôi đã xem phiên bản cửa sổ. Chúng tôi đã cân nhắc việc cập nhật một ứng dụng dos cho ứng dụng dos, nhưng đã quyết định viết lại trong vb/C#. – StingyJack

0

Làm thế nào về Dabble DB?

Tất nhiên, giống như MS Access và các nền tảng lập trình không phải lập trình viên khác, nó có một số hạn chế cần thiết để người dùng không bị người đó kẹt ... như John đã chỉ ra lập trình cứng. Nhưng nó cung cấp cho người dùng rất nhiều sức mạnh, và có vẻ như hầu hết các ứng dụng mà những người không lập trình muốn xây dựng đều là các ứng dụng kiểu cơ sở dữ liệu.