Erlang ở đâu sẽ rơi vào quang phổ của sự đồng nhất giữa, ví dụ, Java/.net trên đầu cuối ngắn gọn hơn và Ruby/Python vào cuối ngắn gọn hơn của quang phổ? Tôi gặp vấn đề về RSI nên sự nhất quán đặc biệt quan trọng đối với tôi vì lý do sức khỏe.Erlang là một ngôn ngữ súc tích từ quan điểm của lập trình viên?
Trả lời
Tính rõ ràng là một tính năng ngôn ngữ bị định nghĩa và có thể không đồng đều. Các ngôn ngữ khác nhau có thể ít nhiều ngắn gọn tùy thuộc vào vấn đề.
Erlang là ngôn ngữ chức năng có thể rất ngắn gọn, ngoài Ruby hoặc Python. Kết hợp mẫu cụ thể thường thay thế nếu câu lệnh và đệ quy và danh sách hiểu có thể thay thế vòng lặp.
Ví dụ Java sẽ có một cái gì đó như thế này:
String foobar(int number){
if (number == 0) {
return "foo";
} else if (number == 1) {
return "bar";
}
throw new Exception();
}
khi Erlang mã sẽ trông giống như:
foobar(0) -> "foo";
foobar(1) -> "bar".
Với ngoại lệ là vốn vì không có điều khoản cho đầu vào khác 0 hoặc 1. Đây là nguyên nhân gây ra một vấn đề mà chính nó cũng phát triển theo phong cách Erlang.
Nói chung, bất cứ điều gì bạn có thể định nghĩa là một phép chuyển đổi sẽ khớp với một ngôn ngữ chức năng đặc biệt tốt và có thể được viết rất ngắn gọn. Nguyên nhân gây ra nhiều zealots ngôn ngữ chức năng nói rằng bất kỳ vấn đề nào trong lập trình là một phép biến đổi.
Erlang cho phép bạn nhận ra chức năng trong rất ít dòng mã, so với trải nghiệm của tôi trong Java và Python. Chỉ có Smalltalk hoặc Scheme đến gần với tôi trong quá khứ. Bạn chỉ nhận được rất ít chi phí, nhưng bạn thường có xu hướng nói các mã định danh cho các mô-đun, hàm, biến và nguyên tử. Chúng làm cho mã dễ đọc hơn. Và bạn có rất nhiều niềng răng bình thường, xoăn và vuông. Vì vậy, nó phụ thuộc vào cách bố trí bàn phím của bạn như thế nào thoải mái nó sẽ được. Bạn nên cung cấp cho nó một thử.
mue
Erlang đáng ngạc nhiên ngắn gọn đặc biệt là khi bạn muốn đạt được hiệu suất và độ tin cậy.
Erlang là súc tích thậm chí khi so sánh với Haskell:
http://thinkerlang.com/2006/01/01/haskell-vs-erlang-reloaded.html
Và bất ngờ nhanh chóng (và đáng tin cậy) ngay cả khi so sánh với C++:
(SLX ít hơn 18x không ngạc nhiên).
Dù sao nó luôn phụ thuộc vào sở thích và mục tiêu của bạn những gì bạn muốn đạt được.
Bạn phải dành chút thời gian, viết mã, để hiểu điểm ngọt của erlang, so với tất cả các công cụ mới nổi khác, DHT, cửa hàng doc, khung bản đồ, hadoop, GPU, scala, ... Nếu bạn cố gắng làm , nói các ứng dụng loại SIMD bên ngoài vị trí ngọt ngào, có thể bạn sẽ kết thúc chiến đấu với mô hình và viết mã tiết, trong khi nếu bạn gặp phải các vấn đề cần quy mô máy chủ và phần mềm trung gian liên tục lên xuống, nó sẽ tự động chảy.(Và sự gia tăng của scala ở vị trí ngọt ngào của nó là không thể tránh khỏi, tôi nghĩ)
Một điều tốt để tra cứu sẽ là thử nghiệm Tim Bray Wide Finder (chưng cất các tệp nhật ký apache lớn) từ một vài năm trước, và làm thế nào ông đã thất vọng với erlang.
Tôi thường không khuyên bạn nên đặt nhiều cửa hàng trong loạt đá luân lưu Alioth, cho bạn chắc chắn sẽ so sánh mã thực sự tốt và xấu, nhưng nếu bạn cần đặt số LOC, erlang so với C, ruby, bất cứ điều gì
- 1. Erlang là một ngôn ngữ lập trình Constraint-Logic?
- 2. Ngôn ngữ lập trình PHP hoặc ngôn ngữ lập trình?
- 3. Sự khác biệt giữa lập trình đa lõi trong Erlang và ngôn ngữ khác là gì?
- 4. gVim và nhiều ngôn ngữ lập trình
- 5. Ngôn ngữ lập trình có nên trực quan không?
- 6. Mục đích của ngôn ngữ lập trình Scala là gì?
- 7. C# Ngôn ngữ lập trình
- 8. Ngôn ngữ lập trình Siri
- 9. Dịch mã byte Java sang các ngôn ngữ lập trình và ngôn ngữ lập trình khác
- 10. Tạo ngôn ngữ lập trình với C#
- 11. Ngôn ngữ lập trình có thể là một phần của nền tảng không? (C# và Java liên quan)
- 12. Tạo ngôn ngữ lập trình và thiết kế trình biên dịch. Họ có liên quan không?
- 13. Ngôn ngữ lập trình nào (ngoài Smalltalk) là hình ảnh?
- 14. Ngôn ngữ kịch bản "chính thức" tốt nhất cho các lập trình viên của Windows
- 15. TCL là Ngôn ngữ lập trình phía máy chủ
- 16. Chọn một mô hình nhất quán cho ngôn ngữ lập trình đồng thời
- 17. Ngôn ngữ lập trình nào là FogBugz được viết bằng?
- 18. Học C++ là một lập trình viên của Perl
- 19. Cách tạo ngôn ngữ lập trình .Net?
- 20. Tôi nên chọn ngôn ngữ lập trình chức năng nào làm ngôn ngữ lập trình hàm đầu tiên?
- 21. ngôn ngữ lập trình không xác định
- 22. Kiến thức tối thiểu của CLR là một lập trình viên .NET phải là một lập trình viên tốt?
- 23. Ngôn ngữ lập trình Axum mới này là gì?
- 24. C# là ngôn ngữ lập trình hướng đối tượng 100%?
- 25. Ngôn ngữ lập trình ô tô
- 26. Ấn tượng đầu tiên của ngôn ngữ lập trình Fantom?
- 27. Phương pháp học ngôn ngữ lập trình của Schliemann
- 28. Đặt ngôn ngữ Wordpress theo lập trình?
- 29. Tại sao một số ngôn ngữ lập trình nhanh hơn các ngôn ngữ khác?
- 30. Ngôn ngữ lập trình bí ẩn