Ngôn ngữ nào được sử dụng để tạo mẫu và tạo tập lệnh nhanh? [đóng cửa]


8

Ngay bây giờ, tôi sử dụng Python cho các kịch bản và nguyên mẫu nhanh của mình (ví dụ: thuật toán, mã giả của tôi cũng rất giống Python). Các ngôn ngữ oher mà tôi quen thuộc bao gồm Java, C, x86 hội và lược đồ, và Python là thứ tốt nhất trong số này theo quan điểm của tôi.

Perl nhận được rất nhiều đại diện cho điều này nhiều lần và tôi đã nghe nói rằng Ruby cũng không tệ và cộng đồng Python cũng ca ngợi Python vì điều này. Ngôn ngữ nào (có thể là ngôn ngữ khác ngoài 3 ngôn ngữ này) bạn có nghĩ là ngôn ngữ lập trình tốt nhất cho:

  • Tạo các nguyên mẫu nhanh chóng của các ứng dụng hoặc thuật toán
  • Tạo các tập lệnh đơn giản cho các tác vụ nhỏ, lặp đi lặp lại

Các tính năng quan trọng cho các ngôn ngữ đó bao gồm:

  • Mã nồi hơi nhỏ, không quá dài dòng
  • (Rất) cấp cao
  • Giải thích
  • Thư viện tiêu chuẩn tốt và toàn diện

Đối với người đóng, đây là một câu hỏi ngôn ngữ với một yêu cầu cụ thể và do đó hợp lệ cho trang web này
Anto

2
Yêu cầu nào là "cụ thể"?
S.Lott

1
Bạn đang cố gắng xác nhận việc sử dụng Python của bạn?
Apalala

1
Bỏ phiếu để đóng, câu hỏi chỉ tốt hơn một chút so với: tốt hơn, Perl, Python hoặc Ruby.
Eric Wilson

Cá nhân tôi sử dụng Ruby nhưng nếu bạn thích Python thì không có lý do gì để dừng lại.
Rig

Câu trả lời:


11

Bám sát Python. Nó có tất cả các giá trị, nó chỉ hoạt động và bạn đã biết nó.
Nếu bạn có nghi ngờ, hãy đọc bài này: http://www.scientificcomputing.com/High-Performance-Development-with-Python.aspx - bài viết rất hay về tạo mẫu trong python.


1
+1 cho một số bạn đã biết, nó cho rằng nó phù hợp với hồ sơ. (Tôi sẽ chọn một ngôn ngữ khác cho nội dung của riêng tôi, nhưng trên thực tế, hầu như bất kỳ ngôn ngữ kịch bản nào có REPL đều có sẵn cho loại điều này.)
Donal Fellows

4

Perl

  • được giải thích.
  • là một ngôn ngữ cấp cao.
  • hoàn toàn không dài dòng, xem PGA .
  • CPAN , nó không có được toàn diện hơn thế.

2

Tất cả ba ngôn ngữ đó đáp ứng tiêu chí của bạn. Cá nhân tôi chưa sử dụng ruby, nhưng giữa python và perl, tôi nghĩ python dễ dàng hơn một chút để mở rộng các nguyên mẫu và script thành các chương trình sử dụng lâu dài.


1

Bạn có thể sử dụng JavaScript cho các UI và tác vụ đơn giản không gây khó khăn cho hệ điều hành (truy cập tệp, v.v.). Rất dễ dàng để gỡ lỗi và phân tích trong Firefox + Fireorms (hoặc trong Chrome).

Tôi thường viết một tệp html rất cơ bản để khởi động tập lệnh của mình và sau đó "chạy" / mở nó trong Firefox. Qua đó tôi có thể dễ dàng thiết lập các điểm ngắt trong mã, khám phá dữ liệu, v.v. Nó thực sự tuyệt vời cho các thuật toán thử nghiệm. Bạn có thể đăng kết quả (tạm thời) lên bảng điều khiển Fireorms bằng cách sử dụng console.log(obj1,obj2,...);, nơi bạn có thể trực tiếp đi sâu vào các "đối tượng" đã đăng nhập này bằng cách nhấp vào chúng trong bảng điều khiển.

Tôi cũng bắt đầu viết các kịch bản hệ thống (bao gồm xử lý tệp) trong Javascript , điều này cũng rất hay nếu bạn biết rõ về Javascript.

Tôi không chắc chắn về "thư viện tiêu chuẩn" mong muốn của bạn nhưng tôi đoán có khá nhiều thư viện xung quanh trong cộng đồng tê giác hoặc node.js.


0

Tôi có thể nói nó phụ thuộc vào HĐH tôi đang sử dụng và công cụ sẽ chạy ở đâu. Nếu nó nằm trong JVM, tôi sẽ sử dụng Groovy. Nếu tôi có quyền kiểm soát môi trường trên Windows hoặc đó là hương vị Linux, tôi sẽ sử dụng Perl hoặc Python. Trên Windows, khi tôi không biết những gì trên máy tính, tôi sẽ sử dụng JScript thông qua WSH hoặc Powershell (vì bạn có thể sử dụng giao diện COM hoặc Thư viện .NET).

Ruby có thể chuyển sang hỗn hợp khi tôi cảm thấy thoải mái hơn với nó.

(Đối với Tạo mẫu nhanh và tạo kịch bản trong JVM, tôi thực sự khuyên dùng Groovy)

Bây giờ tôi đã thêm một loạt các công cụ. Sử dụng ngôn ngữ mà bạn quen thuộc nhất, Python vì bạn sẽ làm việc hiệu quả nhất.


0

Hai xu của tôi cho một câu hỏi gần 3 tuổi:

Ruby là hoàn hảo cho DSL tùy chỉnh và tạo mẫu là một nhiệm vụ cần thiết.

  1. bạn muốn có một ngôn ngữ nhỏ hiệu quả mới cho một nhiệm vụ rất cụ thể

  2. bạn muốn đóng góp từ một người có kỹ năng khác với bạn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.