2009-04-13 18 views
18

Tôi đã nhận thấy theo thời gian mà người dùng Clojure không có gì ngoài sự nhiệt tình lớn đối với ngôn ngữ. Tuy nhiên, có vẻ như hầu hết người dùng Scala thậm chí không thực sự quan tâm quá nhiều cho ngôn ngữ. Một vài người đã nói với tôi "Nó tốt hơn là phải sử dụng Java." Tôi không chắc tại sao Clojure lại có nhiều sự nhiệt tình đến vậy nhưng Scala hầu như không có. Nó phá hủy mọi động cơ mà tôi phải học ngôn ngữ. Tôi không quan tâm tất cả những gì nhiều cho một ngôn ngữ để sử dụng "Bởi vì nó tốt hơn so với việc phải sử dụng Java." Bạn nghĩ sao? Tôi đã không biết về Scala đủ lâu để đo lường mức độ phổ biến đã tăng hoặc giảm theo thời gian. Suy nghĩ của bạn về ngôn ngữ là gì? Tôi đặc biệt quan tâm đến việc nghe từ những người sử dụng ngôn ngữ.Tại sao Scala có rất ít sự nhiệt tình về nó?

Cảm ơn.

EDIT: Rõ ràng bài đăng này gây khó chịu hơn tôi dự định. Tôi không cố gắng để đặt xuống một trong hai ngôn ngữ, cũng không phải tôi nói rằng Scala không có người đằng sau nó. Tôi chỉ nói rằng theo thời gian có vẻ như với tôi rằng ít người nhiệt tình hơn về Scala như họ đang có với Clojure chẳng hạn. Tôi không đưa ra "những giả định không hợp lý" hoặc tạo ra "động thái bẩn thỉu trong cuộc tranh luận" Tôi chỉ hỏi về lý thuyết.

Nếu tôi biết điều này sẽ gây ra nhiều tranh chấp, tôi thậm chí sẽ không viết chủ đề. Tôi xin lỗi vì bất kỳ sự hiểu lầm nào. Tôi sẽ muốn chỉ ra rằng tôi làm như Scala và Clojure. Tôi đang học Scala khi chúng ta nói. Cảm ơn bài viết của bạn, các phần có lý thuyết ít nhất.

EDIT: ngày 30 tháng 9: Tôi thực sự xin lỗi vì bất kỳ sự thù địch nào mà tôi kiếm được đối với tôi. Câu hỏi này đã bị hiểu nhầm. Tôi yêu Scala, và nghĩ đó là một ngôn ngữ tuyệt vời. Tôi đã nói từ những quan sát của chính tôi, và dường như những quan sát của tôi dường như đã sai. Bạn được quyền tiếp tục bỏ phiếu cho câu hỏi này, nhưng tôi sẽ xóa nó nếu tôi có khả năng làm như vậy, nhưng tôi thì không.

+10

Bạn nên đặt những loại câu hỏi này trên Quora. Ở đây, mọi người cảm thấy khó chịu một cách nhanh chóng. –

+2

@AmoghTalpallikar quora thực thi việc đăng ký, điều này thật đáng sợ. Tôi không thích những câu hỏi của ý kiến ​​ở đây, hoặc, chủ yếu là vì "độ tinh khiết" của SO như một công cụ trợ giúp, mà không phải là công cụ thảo luận. Nhưng tôi phải thừa nhận tôi thích đọc chúng và câu trả lời tôi nhận được thường thực sự hữu ích. – enrey

+0

Là một người dùng Lisp và người dùng Scala: Lisp là về sức mạnh và tính linh hoạt và 'vẻ đẹp bất kỳ chi phí' và tạo ra những người theo dõi chết người (kỳ quặc tôi không vui mừng với Clojure vì thiếu tính linh hoạt so với các lisps hoặc tốc độ khác scala/java/C/etc); Scala là về chủ nghĩa thực dụng và thỏa hiệp, càng nhiều sức mạnh càng tốt có thể được thực hiện hiệu quả trong khi vẫn giữ được quyền truy cập trong suốt vào nền tảng Java - chủ nghĩa thực dụng không truyền cảm hứng cho sự nhiệt tình, còn Scala thì hơi 'xù xì'. – Sam

Trả lời

45

Tôi nghĩ rằng tồn tại người dùng khá đam mê về Scala. Daniel Spiewak viết rất nhiều blog articles về ngôn ngữ, và những người Twitter thường nói về viết lại phần của phần mềm của họ trong Scala. Lý do lớn mà Clojure có thể thấy, so với, để tạo ra sự nhiệt tình hơn là bởi vì, Clojure là một phương ngữ của Lisp, và Lispers có xu hướng rất đam mê ngôn ngữ của họ. Tôi nghĩ rằng ý tưởng là chìa khóa: rất nhiều lập trình viên Clojure sử dụng Clojure vì họ yêu Lisp, không phải vì họ ghét Java, trong khi rất nhiều lập trình viên Scala (không phải tất cả, nhưng rất nhiều) sử dụng Scala không phải vì họ yêu ngôn ngữ chức năng hướng đối tượng, nhưng vì chúng không muốn sử dụng Java.

+14

Tại sao mọi người "ghét" Java? Nó là một ngôn ngữ tuyệt vời cho phép các trang web bận rộn nhất thế giới, chưa kể đến Android. Bất cứ ai "ghét" một ngôn ngữ lập trình đều có vấn đề. – stepanian

+15

Vào những năm 90, tôi bị buộc phải tham gia khóa học 'COBOL' ở trường đại học. Tôi không thích ngôn ngữ. COBOL là rất lớn trong những năm 80 và đến một mức độ nào đó trong những năm 90. Tôi ghét lập trình trong COBOL nhưng yêu thích 'Perl' và' C' và shell scripting. Tôi nghĩ việc thích ngôn ngữ bạn sử dụng là quan trọng và bạn không thể yêu mọi ngôn ngữ trong sự tồn tại, bất kể nó phổ biến hay quan trọng như thế nào. Tôi nghĩ rằng ghét một ngôn ngữ là OK, và điều đó không có nghĩa là nó có vấn đề. – Faiz

+2

Một số ngôn ngữ có một đường cong học tập thực sự cao, và kéo tóc mà xảy ra ở đầu chắc chắn có thể đảm bảo ghét. Cuối cùng, sự ghét bỏ có thể biến thành sự khoan dung, chấp nhận, và sau đó là tình yêu, nhưng nó thường là một quá trình mệt mỏi để đạt được điều đó (mối quan hệ của tôi với ML tóm lại) – Kvass

17

Tôi đã lập trình trong scala toàn thời gian trong khoảng một năm. Tôi không có gì ngoài sự nhiệt tình lớn lao cho nó. Bạn có bao giờ nghĩ rằng có lẽ mọi người đang tận hưởng việc sử dụng nó quá nhiều để dành nhiều thời gian cho vận động chính sách? Vào cuối ngày này, tôi nghĩ mọi người sẽ học được nhiều hoài nghi hơn; hệ quả của bài học đó không phải là thừa nhận quá nhiều từ việc thiếu nó. (Mà không phải là để nói scala đã không được thổi phồng, nhưng hầu hết các hype dường như bắt nguồn từ những người không sử dụng nó ...)

+1

ah, hoài cổ ... –

34

Đây là một "bẩn" di chuyển trong cuộc tranh luận cổ điển. Giả sử tiền đề và sau đó đặt một câu hỏi dựa trên tiền đề đó. "Chính xác khi nào bạn ngừng đánh vợ?"

Câu hỏi đặt ra cần phải được chỉnh sửa

I'm not sure why Clojure has so much enthusiasm about it yet Scala has hardly any. 
[citation needed] 

Tôi sẽ không đặt câu hỏi liệu người dùng Clojure có nhiệt tình. Kinh nghiệm của tôi là họ làm.Và đúng vậy, đó là một ngôn ngữ tuyệt vời.

Nhưng dường như bạn tình cờ bỏ qua sự nhiệt tình ở phía Scala. Brian Goetz nói rằng 100 trong số 1300 cuộc đàm phán được gửi tới JavaOne là trên Scala. Vì vậy, đó là ít nhất 100 người đam mê đủ để Scala đứng lên trước mặt người lạ và nói về nó. http://blogs.oracle.com/briangoetz/entry/how_to_get_your_javaone

1

Tôi nghĩ người hỏi đang đưa ra giả định hơi bất công. Programming Language Popularity dường như chỉ ra rằng không phải ngôn ngữ nào trong số các ngôn ngữ này - Clojure hoặc Scala có nhiều cách hỗ trợ khác ngoài hai cộng đồng khá hăng hái của những người dùng đầu tiên. Nếu một bộ hay người đầu tiên khác chấp nhận truyền giáo bằng ngôn ngữ mới của họ thì cả hai đều là những cộng đồng khá nhỏ bất kể.

+0

về ngôn ngữ. Tôi chỉ hỏi về lý thuyết. Tôi không bao giờ có nghĩa là đặt xuống một trong hai ngôn ngữ. – Rayne

+0

LangPop.com chỉ đo lường các ngôn ngữ đã được thêm vào các số liệu thống kê, và cả Scala hoặc Closure đều chưa đủ phổ biến, để chứng minh điều đó. Tôi đang nghĩ đến việc thêm một danh mục cho các ngôn ngữ "lên và sắp". –

+0

@Rayne, vì vậy nếu nó không phải là về sự phổ biến, bạn sẽ nghĩ điều gì khác là một thước đo hợp lý về sự nhiệt tình cho một ngôn ngữ nhất định? –

11

Thú vị. Cá nhân, tôi nghĩ Scala là một ngôn ngữ tuyệt vời (và sức mạnh của nó sẽ hiển thị trong các dự án lớn hơn), nhưng bạn bằng cách nào đó đúng theo nghĩa tôi không thấy các bình luận như "đá Scala và ngôn ngữ của bạn là suxx0r !!" dường như khá phổ biến ở các cộng đồng khác.

lẽ

  • ... các thành viên của cộng đồng Scala là trưởng thành hơn? (er ... cũ hơn?)
  • ... chúng quá bận rộn khi viết nội dung trong số Scala và họ không có thời gian cho việc vận động ?
  • ... họ đã biết nhiều hơn một ngôn ngữ và biết rằng không có ai và chỉ một ngôn ngữ để cai trị chúng tất cả?

(hài hước ngụ ý, không cần phải bắt đầu một flamewar)

5

Scala không phải là ngôn ngữ của một người mới bắt đầu. Nó phức tạp, tinh tế và đòi hỏi đầu tư đáng kể vào việc học. Thật tuyệt vời, nhưng không dễ.

câu trả lời khác đã thực hiện âm thanh này:

mipadi: rất nhiều lập trình viên Scala (không phải tất cả, nhưng rất nhiều) sử dụng Scala không phải vì họ tình yêu hướng đối tượng chức năng ngôn ngữ , nhưng bởi vì họ không muốn để sử dụng Java

Tôi muốn thấy điều này trong ánh sáng tích cực. Scala là một ngôn ngữ đã học được từ những sai lầm của lịch sử và cố gắng không lặp lại chúng. Nó thu hút các nhà phát triển có đủ kinh nghiệm, trong Java và các ngôn ngữ truyền thống khác, để đánh giá cao điều này.

Dấu hiệu của sự chưa chín chắn là niềm tin rằng một phương pháp luận sẽ vượt qua tất cả những phương pháp khác. Tôi biết tôi đã phạm tội, một thập kỷ trước, tin rằng định hướng đối tượng là một cách thực sự. Bây giờ chúng tôi có những người tuyên bố rằng lập trình chức năng và không có gì khác là đúng cách. Scala trưởng thành hơn thế: nó hiểu rằng một kích thước không phù hợp với tất cả.

Scala vẫn còn khá mới (trong quy mô của những thứ này), và một phần của nó được giải quyết khi tôi gõ này, nhưng nó chỉ là vấn đề thời gian trước khi ai đó sử dụng nó để tạo ra một ứng dụng sát thủ. dựa vào.Tôi tất nhiên hy vọng đó sẽ là tôi :)

+0

Tôi không thực sự đồng ý rằng nó không dành cho người mới bắt đầu. Nếu bạn lấy 2 nhóm người không biết gì về lập trình và dạy một Java và Scala khác một cách mạnh mẽ trong một tuần, tôi sẽ đặt cược nhóm Scala sẽ hiệu quả hơn vào cuối. Bạn có thể làm những điều rất phức tạp trong Scala nhưng điều đó không làm cho việc thực hiện những điều đơn giản trở nên khó khăn hơn - thực ra các nhiệm vụ đơn giản trong Java dễ dàng hơn trong Scala, bởi vì nó loại bỏ quá nhiều lượng cruft và boilerplate. –

2

Tôi tình cờ gặp câu hỏi này sau khi tìm kiếm Google với cụm từ scala language popularity. Trớ trêu thay, bốn ngày trước khi tôi tham dự Scala Days 2011, một hội nghị nơi hàng trăm người dùng Scala nhiệt tình từ khắp nơi trên thế giới đã cùng nhau trình bày và thảo luận về những phát triển mới nhất với ngôn ngữ đáng chú ý này.

@Rayne, tôi không biết hoàn cảnh nào khiến bạn đề nghị rằng hầu hết người dùng Scala không quan tâm nhiều đến ngôn ngữ, nhưng trải nghiệm của riêng tôi hoàn toàn ngược lại. Phải thừa nhận rằng, hầu hết những người dùng Scala tôi biết, tôi đã gặp qua các nhóm và sự kiện của người dùng địa phương như Scala Days và OSCON Scala Summit; điều này rõ ràng là tạo ra một tập hợp con tự chọn bởi sự sẵn sàng của họ từ bỏ thời gian rảnh rỗi để tìm hiểu và/hoặc chia sẻ kiến ​​thức Scala của họ.

Tôi cũng ngạc nhiên rằng bất kỳ ai thiếu sự nhiệt tình đối với Scala vào năm 2009 sẽ phải lo lắng khi sử dụng nó. Scala vẫn còn là một công nghệ "sớm chấp nhận" ngay cả bây giờ, và có (và không) thiếu các lựa chọn thay thế hấp dẫn cho các nhà phát triển không bị ấn tượng bởi Scala: Clojure, Groovy, JRuby, Ruby, Python ... Tôi có thể tiếp tục, nhưng sẽ không. Nó không phải là nếu các phòng CNTT của công ty chuyển sang Scala en masse và buộc các nhà phát triển của họ sử dụng nó: ngày đó vẫn còn một số cách tắt trong tương lai. Trường hợp chính xác bạn đã gặp những người dùng Scala không nhiệt tình này?

Một giải thích khác có thể, tôi cho rằng, là bạn đang đo lường người dùng Scala bằng thước đo dài không công bằng. Nhận xét của @ mipadi về Clojure là điểm nổi bật. Bạn sẽ khó có thể tìm thấy một nhóm những người đam mê ngôn ngữ hăng hái hơn để so sánh người dùng Scala.

Tôi nhận thấy rằng bạn đã đặt câu hỏi này cách đây hơn 18 tháng. Tôi hy vọng rằng trong thời gian can thiệp, bạn đã gặp phải một số lượng người dùng Scala nhiệt tình ngày càng tăng và thậm chí có thể trở thành một người bạn.

+0

Tôi muốn giết để chỉ có thể muốn câu hỏi này đi và không bao giờ nhìn thấy hoặc nghe về nó một lần nữa. Mọi người đều hiểu lầm nó. Tôi đoán rất khó để nghe bất cứ ai đề cập đến một ngôn ngữ trong một ánh sáng tiêu cực ngay cả từ xa mà không cần tất cả mọi người nhảy súng. Khi tôi hỏi câu hỏi này, tôi đã chơi đùa ở cả hai cộng đồng Clojure và Scala. Cộng đồng của Clojure là một con thú cực kỳ khác. Mọi người dường như chỉ quan tâm đến Clojure trong cộng đồng Clojure hơn là Scala trong cộng đồng Scala. Đó là những gì câu hỏi này đã được về, nhưng nhìn nơi nó đã cho tôi. : \ – Rayne

+0

@Rayne - không có vấn đề gì khi muốn câu hỏi chỉ vì bạn đang bị quấy rầy. Cá nhân tôi có cảm giác tương tự với bạn. Tôi đã nghiên cứu (các) ngôn ngữ để học tiếp theo, và Scala dường như không có cùng sự nhiệt tình với các ngôn ngữ khác. Sau khi đọc một số câu trả lời ở đây, ý thức của tôi là tôi đã nhầm lẫn, và do đó câu hỏi của bạn đã hữu ích. –

5

Tôi đang sử dụng Scala vì nó cho phép tôi hoàn thành công việc của mình nhanh hơn và tốt hơn. Tôi không sử dụng nó bởi vì nó là một niềm vui cho chương trình (tốt, nó được so sánh với Java). Về cơ bản tôi nghĩ rằng tất cả các ngôn ngữ lập trình hút, tôi đang chọn cái ác ít hơn.

Có lẽ Scala là ngôn ngữ được sử dụng bởi những người thực dụng như tôi. Điều này không có nghĩa đó là một ngôn ngữ xấu. Điều này cũng không có nghĩa là những người thực dụng như vậy sẽ cổ vũ cho Clojure. Có lẽ họ sẽ không sử dụng nó.

5

Tôi khá say mê về Scala và thực tế là tôi dự định đặt cược sự nghiệp mã hóa của mình vào đó. Sau một thời gian dài, ấn tượng đầu tiên của tôi là Scala chỉ là một mốt học thuật - một ngôn ngữ đồ chơi cho các nhà khoa học máy tính và ít sử dụng cho các nhà phát triển phần mềm nghiêm túc, tức là nhà thiên văn học cho phi hành gia của bạn. "C'mon, ai cần Haskell khác?", Nhưng sau một cái nhìn khó khăn hơn, tôi đã bị mắc kẹt.

Đây là ngôn ngữ tôi đã chờ đợi suốt đời - chức năng, hướng đối tượng, dựa trên JVM và khá tiện lợi khi bạn đã thành thạo nó. Một người nào đó đã đề cập đến sự nhiệt tình thông qua các bài viết, nhưng những người đam mê Scala nên làm những gì các lập trình viên làm tốt nhất, viết mã thay thế.

Càng nhiều Scala chúng tôi phát hành - công cụ cơ sở dữ liệu, máy chủ ứng dụng, người môi giới tin nhắn, hệ thống xây dựng, v.v. thì càng tốt. Có thể Scala đưa chúng ta từ Jevil ... um Java.

+0

haha ​​+1 @ nhận xét java của bạn –

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