Vì sao startup tránh Java?
(news.ycombinator.com)Vì sao startup tránh Java? Câu trả lời cho một câu hỏi được đăng trên HN
- Lý do lớn nhất là hệ sinh thái Java đã bị phá hỏng, với những thứ khủng khiếp như Maven/Gradle.
- Tránh vì các lập trình viên quá sùng bái Spring.
- Vì người ta nhầm Java với hibernate/springboot.
- Java gắn với kiểu lập trình doanh nghiệp tẻ nhạt, không phải lựa chọn thời thượng mới như Rust.
- Nếu phải dùng JVM thì tốt hơn nên dùng ngôn ngữ khác như Kotlin hoặc Clojure.
- Nói rằng startup mới của bạn đang dùng Java vào năm 2022 cũng giống như nói rằng bạn đang dùng Cobol.
- Từng có thời nó rất ngầu và hợp xu hướng, nhưng rồi Oracle xuất hiện.
47 bình luận
Một phiếu cho ý ở cuối. Từ sau khi bị Oracle thâu tóm, nó bắt đầu thụt lùi
Ai mà chẳng biết là họ không đủ sức gánh nổi chi phí với nhân sự, còn nói gì nữa...
Những thứ kinh khủng như Maven/Gradle
Điều này ngầm cho thấy trình độ của tác giả qua câu đó.
Em xin lắng nghe kỹ những lời chia sẻ của các anh chị đi trước.
Ưu điểm là dễ tuyển người, nhưng đúng là điều đó cũng có thể trở thành nhược điểm khi gần như ai cũng nộp đơn.
Sẽ có những cựu binh đã nắm vững JVM, thậm chí học cả Kotlin lẫn Scala, và cũng sẽ có những người đã có hơn 10 năm kinh nghiệm Java trong ngành SI nhưng không có ý chí nâng cao kỹ năng, đến cả Stream API cũng không biết, vẫn cứ mãi dừng lại ở cú pháp của thời đó. Nếu tuyển Golang hay Rust thì có vẻ tỷ lệ của nhóm sau sẽ giảm đi đáng kể. Còn Python thì tôi cũng không rõ...
Chuyển từ Java sang Kotlin không khó, và chuyển từ JSP sang Thymeleaf cũng không khó. Chỉ là hơi bất tiện vì ít tài liệu tham khảo hơn thôi. Dù là gì đi nữa, hãy thử bắt đầu từ đối tượng, kế thừa và thiết kế có cấu trúc. Việc phụ thuộc vào thư viện hay các công cụ phụ trợ chỉ chứng tỏ rằng bản thân bạn vẫn còn là người mới.
Cá nhân tôi thấy Java vì có lịch sử lâu đời nên mức độ bất cân xứng thông tin khá nghiêm trọng.
Dù sao đây cũng là ngôn ngữ từng thống trị cả một thời kỳ, nên đến nay vẫn còn lại rất nhiều sản phẩm thông tin từ thời đó, và cũng có rất nhiều trường hợp những sản phẩm ấy vẫn tiếp tục được tái tạo như thể chúng còn hiệu lực đến bây giờ, dù đã trải qua vô số lần nâng cấp phiên bản.
Tôi nhớ mình đã gặp không ít khó khăn trong việc tìm ra những cách tiếp cận mới phù hợp với các phiên bản mới.
Không phải các ngôn ngữ khác thì không như vậy, nhưng nếu phải chọn những ngôn ngữ bị phân mảnh nặng thì có lẽ Python và Java là hai cái tên nổi bật nhất.
Tuy vậy, Python vẫn thường được các startup tuyển dụng vì được đánh giá cao về tốc độ phát triển.
Nhưng có vẻ điều đó khác với lý do startup né tránh Java.
[Lý do startup tránh Java]
[Lý do dù vậy startup vẫn nên chọn Java]
[Nhưng cũng là lý do cần cân nhắc lại]
Bỏ qua chuyện Java tốt hay không tốt, điều tôi cảm nhận rõ là Java dường như không phải dòng chủ đạo ở các startup nước ngoài.
Tôi từng làm công việc phân tích công nghệ để phục vụ các thương vụ mua lại công ty ở nước ngoài, và không có lấy một nơi nào dùng Java. Điều thú vị là ngược lại, .NET lại nhiều hơn tôi tưởng.
Có lẽ vì đã có trải nghiệm như vậy từ 2~3 năm trước rồi nên tôi thấy khá đồng cảm với nội dung này.
Maven quá dài dòng nên tôi cũng không thích lắm,
nhưng hóa ra Gradle cũng là thứ kinh khủng nhỉ.
Cá nhân tôi còn thấy npm đáng sợ hơn cơ;
Với cả, lôi cả COBOL vào thì có vẻ hơi quá tay rồi.
Có lẽ vì bài này viết chủ yếu từ góc nhìn của lập trình viên ở các tập đoàn lớn chăng, haha.
Dù sao thì, mỗi lần thấy cảnh Java bị chỉ trích một cách mù quáng tôi lại thấy khá thú vị. Càng đọc các trường hợp thì càng thấy hiện ra những trải nghiệm đen tối của mỗi người.
Java đã quá trì trệ.
Bị chê cũng đáng thôi.
Dạo này có vẻ đang cố gắng hơn, nhưng tôi vẫn nghĩ nó nên bị chê thêm nữa.
Dù sao thì khi các thế hệ trôi qua, một ngôn ngữ khác rồi cũng sẽ trở thành xu hướng chủ đạo. Có lẽ khác biệt là startup có quy trình ra quyết định đơn giản để đưa vào những xu hướng mới, và chỉ khi ngôn ngữ họ dùng trở thành chủ lưu thì họ mới thoát khỏi giai đoạn startup; còn các công ty quy mô lớn thì quy trình ra quyết định phức tạp và có nhiều bên liên quan, nên chỉ áp dụng khi tính ổn định đã được đảm bảo. COBOL xuất hiện từ năm 1959, nhưng phải đến thế kỷ 21 mới biến mất khỏi lĩnh vực tài chính. Tham khảo thêm, ngay cả Java mà nhiều người cho là không hay cũng khởi đầu như một dự án mã nguồn mở, và từng là ngôn ngữ được ưa chuộng nhất trong giới SOHO. Ngoài ra, việc Java gắn với hình ảnh doanh nghiệp lớn là sau khi bị Oracle mua lại, và ở Hàn Quốc là khi Electronic Government Framework do chính phủ dẫn dắt xuất hiện.
Mình khá tò mò không biết huyền thoại kiểu “Java chỉ phổ biến ở Hàn Quốc” bắt nguồn từ đâu. Có phải vì trong số các tập đoàn IT lớn trong nước thì thực ra chỉ có hai công ty thuộc nhóm NekaRa dùng Java, nên mới tạo ra cảm giác đó không?
Tất nhiên ở Mỹ thì nguồn kỹ sư rộng hơn nhiều, nên cũng có lợi thế hơn khi xây dựng đội ngũ bằng các ngôn ngữ khác, nhưng kể cả ở mọi công ty IT của Mỹ, bao gồm cả FAANG, Java vẫn là một tech stack cực kỳ phổ biến.
Vì đều là các công ty quá lớn nên sự khác biệt giữa các team là rất rõ, nhưng ở Amazon thì hẳn luôn framework tiêu chuẩn nội bộ là Java (mình nghe nói ở version 2 họ từng dùng Spring rồi giờ đã đổi sang Guice). Theo mình biết thì ở Google là khoảng một nửa C++ / một nửa Java, ngoài ra cũng có một số team dùng Python. Còn ở Apple, theo mình biết thì phần lớn web service cũng chạy trên Java.
Netflix thì khỏi phải nói rồi, vì Hystrix, Zuul, Eureka đều do Netflix tạo ra, nên có lẽ đây là công ty dùng Spring giỏi nhất thế giới cũng nên.
Theo mình biết thì Facebook chủ yếu dùng C++ hoặc Hack, nhưng cũng có một số team dùng Java.
Twitter ban đầu viết bằng Ruby rồi sau đó chuyển sang Scala, một ngôn ngữ trên JVM. Ngoài ra, ở các tập đoàn lớn như Atlassian, VMware, Red Hat v.v. thì có lẽ còn khó tìm công ty nào không dùng Java hơn.
Vì Kafka, Hadoop v.v. đều chạy trên JVM, nên ngay cả khi không dùng Java cho dịch vụ trực tiếp đi nữa, mình nghĩ có lẽ cũng gần như không có công ty nào thực sự không cần đến Java.
Không ai phủ nhận rằng trước đây Java đã được sử dụng rất nhiều. Có vẻ điều đó khá xa với ý chính của bài viết này.
Bản thân bài viết của bạn đang bàn về các tập đoàn lớn nói chung, bất kể quốc gia nào, nhưng trong phần bình luận lại đặc biệt thấy rất nhiều nhắc đến kiểu "ở Hàn Quốc thì như vậy" hoặc "chỉ đúng trong phạm vi Hàn Quốc".
Không phải chỉ ở Hàn Quốc mới dùng Java nhiều, nhưng có vẻ đúng là Java đặc biệt được dùng nhiều ở Hàn Quốc. Ví dụ, trong kết quả khảo sát năm ngoái của JetBrains có đoạn “Java là ngôn ngữ được sử dụng nhiều nhất ở Hàn Quốc, Trung Quốc và Đức. Tỷ lệ Java ở Hàn Quốc là 53%, Trung Quốc là 47%, và Đức là 33%.”. Có lẽ trong hiện tượng này, sự tồn tại của e-Government Framework mà nhiều người khác cũng nhắc đến trong phần bình luận, cùng với chương trình giảng dạy của các khóa đào tạo lập trình được nhà nước hỗ trợ, rõ ràng cũng đã phần nào tạo ra ảnh hưởng.
Nhìn vài bình luận ở đây lại khiến tôi nhớ đến bài viết về C++ từng được đăng trước đây. Có vẻ trong cộng đồng phát triển ở Hàn Quốc, C++ và Java gần như đã được đưa lên hàng thánh địa rồi nhỉ haha, cứ hễ chê là như bấm vào nút kích động khiến vô số người phát tác vậy..
Java tất nhiên cũng có lý do riêng khiến nó càn quét thị trường trong nước, nhưng để gộp C++ với Java lại với nhau thì hơi... haha
Cách nói "nút co giật" có lẽ không phải là một cách diễn đạt hay lắm, vì nó thể hiện đối phương theo hướng tiêu cực.
Tôi mạo muội nói điều này vì mong cộng đồng có thể trở thành một nơi tôn trọng lẫn nhau hơn một chút. Xin lỗi.
Tôi đồng ý. Có lẽ bạn không cần phải xin lỗi.
Tôi nghĩ không hẳn là startup tránh Java, mà đúng hơn là ưu điểm của các ngôn ngữ/framework khác lớn hơn, nhưng tôi đồng ý rằng hệ sinh thái Java/Spring tệ hơn tưởng tượng. Nói thật là tôi là lập trình viên Spring nhưng cũng không đặc biệt thích Spring. Có vẻ còn tệ hơn vì không nhiều lập trình viên từng phát triển ứng dụng web trong môi trường khác ngoài Java (thực tế gần như đồng nghĩa với Spring).
Spring
Java
Hệ sinh thái JVM rõ ràng vẫn có ưu điểm, nên với dự án mới thì Kotlin gần như là bắt buộc, và nếu không có lý do thật rõ ràng phải mang Spring vào thì tôi nghĩ bắt đầu với framework nhẹ như ktor sẽ hợp lý hơn. Về những nhược điểm đã nêu, cũng có nhiều người nói là do thiết kế sai hoặc là do không thực sự hiểu đúng triết lý Spring mà phát triển, nhưng OOP thì cũng có thể làm bằng các ngôn ngữ khác..
Dù phần bình luận rất lộn xộn và đầy tính công kích, đây vẫn là một bình luận khiến tôi thấy đồng cảm.
Tôi đồng ý rằng cần chủ động hơn trong việc áp dụng các ngôn ngữ và framework mới, nhưng thành thật mà nói, thực tế trong nước hiện nay là ngay cả khi vừa mới bắt đầu một dự án mới hoàn toàn, vẫn có vô số người theo quán tính chọn Java 8 thay vì Java 17, phiên bản LTS mới nhất, mà không có lý do hợp lý nào. Nếu nhìn vào những nơi như blog Tistory, bạn có thể rất dễ tìm thấy những bài như “Cách tải Java 1.8” được đăng với ngày tháng của năm 2022. Nhìn những điều đó, tôi nghĩ việc nhiều người ở đây tỏ thái độ cực kỳ ác cảm với Java có lẽ cũng không phải là vô cớ.
Tuy vậy, có vẻ những vấn đề này không hẳn chỉ bắt nguồn từ bản thân ngôn ngữ Java. Tôi nghĩ vấn đề lớn hơn có lẽ là văn hóa thù địch với sự thay đổi, có vẻ đặc biệt nghiêm trọng ở trong nước, cùng với sự tràn lan của những đoạn mã copy-paste không có tiến bộ gì. Thực tế, tôi đang làm công việc bảo trì nhiều loại chương trình tương tự nhau được phát triển bằng C#, và dù tôi nghĩ bản thân ngôn ngữ này tốt hơn Java, thì cho dù ngôn ngữ có tốt đến đâu cũng không có cách nào ngăn được sự khủng khiếp của những đoạn mã mà người tiền nhiệm chỉ đối phó bằng cách đại khái copy-paste mã từ các dự án cũ. Thậm chí bây giờ, do những thay đổi của môi trường bên ngoài, chúng tôi đang rơi vào tình huống phải thay thế một phần lớn những đoạn mã lặp lại đó trước cuối năm bằng mọi giá, nên lại càng kinh khủng hơn.
Đây đúng là nút bấm gây bùng nổ tranh cãi nếu chỉ giới hạn trong nước.
Có lẽ rất khó để bỏ Java, thứ đã được dùng nhiều từ trước đến nay, và vì vẫn liên tục cần người nên các học viện đào tạo bằng ngân sách nhà nước cứ với cùng một giáo trình mà sản xuất hàng loạt nhân lực Spring như đúc từ một khuôn..
Tôi nghĩ sẽ rất khó để cắt đứt vòng tuần hoàn này.
Tôi đang nhìn nhận tích cực những nỗ lực muốn sử dụng Kofring.
Dùng Docker rồi thì...
Kích thước image Docker cũng phình ra một cách không cần thiết.
Thời gian để chạy lên cũng lâu, vân vân...
Dạo này ai cũng dùng Docker nên có vẻ nó cũng trở thành lựa chọn kém được ưa chuộng hơn..
Hệ sinh thái của Java chưa từng thực sự bị phá vỡ dù chỉ một lần.
Có vô số dự án mã nguồn mở, và qua các lần nâng cấp phiên bản, theo tôi nó còn phản ánh xu hướng phát triển hiện tại nhanh hơn nhiều ngôn ngữ khác.
gradle/mavenchỉ là lựa chọn cho công cụ build, chứ không phải bắt buộc.Cũng có nhiều công cụ build khác, cứ dùng thứ mình muốn là được.
Vì sao ở Node người ta dùng
npm? Vì nó tiện nên dùng.gradle/mavencũng vậy, vì tiện nên được dùng nhiều.Dù Java cũng có nhiều framework, lý do người ta dùng Spring là vì nó cho thấy khả năng mở rộng linh hoạt, sự thuận tiện trong quản lý dự án và hiệu năng ổn định, nên theo tôi độ phổ biến của nó vẫn kéo dài đến tận bây giờ.
Nhìn vào lý do các startup chuyển sang Java khi quy mô kinh doanh lớn lên, phần lớn là vì quản lý dự án ổn định.
Cho đến lúc còn phát triển quy mô nhỏ bằng Python hay Node thì không có vấn đề gì, nhưng khi công việc kinh doanh thành công và số lập trình viên thành 100 người rồi 1000 người cùng làm một dự án, lúc đó sẽ khó tận dụng được các ưu điểm của Python hay Node nữa, mà ngược lại nhược điểm còn nhiều hơn.
Tôi nghĩ đó là lý do họ chuyển sang Java, nơi có thể quản lý chất lượng trong các dự án quy mô lớn đồng thời vẫn đảm bảo được tính ổn định.
Có lẽ nếu đã có một ngôn ngữ thay thế tốt hơn Java, chẳng phải mọi người đã nhanh chóng dùng ngôn ngữ đó trước ai hết rồi sao??
Cuối cùng, các dịch vụ làm bằng Java có rào cản gia nhập ban đầu cao và chi phí hạ tầng cũng cao. Vì vậy ở giai đoạn đầu của startup, thay vì bỏ nhiều chi phí và thời gian để thiết lập, người ta thường dùng những ngôn ngữ có thể áp dụng dễ và nhanh hơn.
Trước hết, nếu chỉ giới hạn trong nước thì chỉ có quá nhiều lập trình viên Java. Nói chính xác hơn là không phải lập trình viên Java mà chỉ có lập trình viên Spring. Vì framework chính phủ điện tử là Spring nên hầu như toàn những người học phát triển kiểu rập khuôn chỉ học Spring rồi đi làm. Vì những người như vậy có kinh nghiệm chất đầy trên thị trường nên mới thành ra thế. Không có tính đa dạng, và hệ sinh thái ngôn ngữ thì đã hỏng từ lâu. Có rất nhiều người được gọi là lập trình viên Java nhưng không có Spring thì đến một cái bảng tin cũng không làm nổi.
Điểm mấu chốt của câu hỏi này là "startup"; điều quan trọng là "tốc độ phát triển" hơn là "độ ổn định/khả năng mở rộng".
Với startup, thời gian là tiền bạc!
(Về sau nếu có thời gian và tiền thì chuyển sang Java?)
Và có lẽ mức độ phổ biến của Java cũng không phải là đặc thù riêng của Hàn Quốc. Ngay cả bây giờ nó vẫn nằm trong top 3 ngôn ngữ lập trình phổ biến.
Vì vậy, có vẻ như câu chuyện chuyển sang Java chỉ đúng ở Hàn Quốc.
Các công ty lớn có nhiều hệ thống viết bằng Java nên mục đích chủ yếu là để bảo trì.
Việc Oracle có tham gia hay không thì thực ra ở phần lớn các doanh nghiệp tuyến đầu cũng không liên quan mấy... ngay cả Naver, Kakao, Line, Coupang, Baemin cũng dùng Java cho toàn bộ hệ thống chính. Các công ty game như Nexon cũng viết mạng backend nội bộ bằng Java.
Tôi hoàn toàn không đồng ý với nhận định rằng hệ sinh thái Java đã hỏng, hay Gradle là thứ khủng khiếp.
Tôi không hiểu logic kiểu vì Java là ngôn ngữ cũ và có nhiều lập trình viên Java thì những người đó lại không muốn học cái mới hoặc chất lượng kém.
Naver, Kakao, Line, Coupang, Baemin đều lấy Java làm chính, và gần đây mới ở mức bắt đầu đưa Kotlin vào từng chút một. Chẳng lẽ ý là cao thủ thực sự đều ở startup hay sao? Haha
Có vẻ như sẽ có một bản dịch phù hợp hơn cho hotshit.
"Nói rằng startup mới của bạn đang dùng Java vào năm 2022 cũng giống như nói rằng bạn đang dùng Cobol."
Ở Hàn Quốc thì gần như không thể thắng được lập luận rằng nguồn cung lập trình viên Java rất dễ kiếm. Còn chất lượng của những lập trình viên được tuyển theo cách đó thì... cũng khó nói.
Nói hệ sinh thái Java đã hỏng ư? Tại sao lại bảo Spring không ổn? Cơ sở lập luận quá yếu.
Nếu JVM là tiền mã hóa, thì Java là Bitcoin.
kkkkkkkkkkkkkkkkkkkk
Ngày xưa đâu phải tự nhiên mà có meme “2 người đốt Java”.. Với lại vì đây là framework tiêu chuẩn của chính phủ nên trong các dự án SI công của nhà nước gần như bị ép buộc phải dùng JAVA ....
Khá khó để hiểu việc nói rằng hệ toolchain bên Java không tốt.
Cách quản lý của Maven/Gradle đúng là như thiên thần nếu so với việc từng bị npm hành cho ra bã...
Tôi cũng bắt đầu sự nghiệp với Java và đã làm việc khoảng 4 năm chỉ với vai trò lập trình viên Java tại một công ty. Sau đó, khi chuyển việc qua lại giữa nhiều công ty, tôi có cơ hội tiếp xúc với nhiều ngôn ngữ khác nhau như python, ruby, go, và gần đây tôi đang tiếp tục sự nghiệp với vai trò lập trình viên Solidity.
Gần đây, khi nhiều startup đã hoàn tất một mức tăng trưởng nhất định và bước vào quỹ đạo ổn định, tôi thấy phần lớn các trường hợp đều chuyển hạ tầng sang Java. Nghĩ kỹ về lý do tại sao họ lại thay đổi như vậy thì
cuối cùng tôi có cảm giác đơn giản là mọi người làm thế vì quán tính.
Nhiều lập trình viên cấp lead đã quen với Java, lại ngại học ngôn ngữ khác, nên cứ dùng Java mà bản thân họ đã quen thuộc. Và khi những người như vậy đổ vào các startup, có vẻ như toàn bộ hạ tầng cũng dần chuyển sang nền tảng Java.
Cá nhân tôi không thực sự hiểu việc đập đi xây lại hạ tầng chỉ vì lý do quen tay, nhưng con người vốn dĩ thường ngại học cái mới, và vì hệ sinh thái Java ở Hàn Quốc quá vững chắc nên có lẽ sẽ rất khó để thay đổi điều đó.
Java, Spring phù hợp để cung cấp các dịch vụ quy mô lớn một cách ổn định, nhưng dịch vụ giai đoạn đầu của startup có quy mô nhỏ nên khó phát huy được ưu điểm của Java
Ở giai đoạn đầu, startup cũng có những trường hợp phải làm cả Front và Back với ít nhân sự, và trong tình huống đó viết một lần bằng Node.js hay JS sẽ tiện hơn Java
Cuối cùng, khi startup nhận được vốn đầu tư theo các vòng series thì hầu như đều chuyển sang Java, Spring
Còn ý số 1 thì đôi khi tôi thật sự không hiểu lắm. Cũng không phải là các ngôn ngữ khác thì lại thiếu ổn định. Dù sao nếu đi đến quy mô lớn thì Java cũng sẽ phải tinh chỉnh thôi mà.
Nhiều khi tôi có cảm giác họ chỉ vì đã quen tay, nên cho rằng thứ mà bản thân thấy dễ tối ưu hiệu năng và xử lý sự cố thì là “ổn định”.
Như mọi người đều biết, Java ngay từ những phiên bản đầu đã cung cấp nhiều thứ mà nay được xem là quá đỗi hiển nhiên, như tự động quản lý bộ nhớ. Và vào thập niên 1990, khi Java lần đầu xuất hiện, những ngôn ngữ như C hay C++ — nơi chỉ một sai sót nhỏ của lập trình viên cũng có thể gây rò rỉ bộ nhớ và ảnh hưởng lớn hơn nhiều đến độ tin cậy của toàn bộ ứng dụng — vẫn được sử dụng phổ biến hơn bây giờ rất nhiều. Trong bối cảnh như vậy, sự xuất hiện của một ngôn ngữ mà dù có thể vẫn xảy ra các đợt tạm dừng thực thi (Stop-the-world) nhưng lại làm giảm mạnh khả năng dịch vụ chết hẳn vì vấn đề bộ nhớ, được cho là đã tạo nên một cơn chấn động không nhỏ. Vì thế, ngay từ đầu Java đã khởi đầu với hình ảnh ổn định hơn hẳn các ngôn ngữ khác, và tôi nghĩ điều đó có lẽ đã tiếp diễn cho đến tận bây giờ.
Ngoài ra, ở thời điểm hiện tại Java còn có mức độ tin cậy và lượng kinh nghiệm tích lũy được nhờ đã được dùng rộng rãi trong đủ loại dịch vụ suốt thời gian dài. Vì vậy, như bạn nói, việc tinh chỉnh hiệu năng hay xử lý sự cố cũng thuận lợi hơn, và có rất nhiều công cụ cũng như giải pháp, bất kể là thương mại hay mã nguồn mở. Hệ sinh thái của một sản phẩm được dùng rộng rãi tự nó đã có tác dụng giúp giải quyết vấn đề dễ hơn, và việc sự cố xảy ra thì cũng dễ khắc phục hơn nên có thể giảm downtime, điều này hẳn là một lợi thế lớn với những ai coi trọng tính ổn định.
Còn với Kotlin, thứ được nhắc đến khá nhiều trong các bình luận khác, thì theo một bình luận khác trên GeekNews, có vẻ bất ngờ là đến giờ vẫn còn khá nhiều vấn đề liên quan đến lỗi compiler hay khả năng tương thích. Ngay cả một ngôn ngữ dùng cùng JVM và đã được công khai gần tròn 10 năm mà còn như vậy, thì nếu lấy tính ổn định làm tiêu chí quan trọng nhất khi ra quyết định, việc ưu tiên chọn thứ đã được kiểm chứng đầy đủ qua nhiều năm tháng chẳng phải là một lựa chọn hoàn toàn hợp lý sao.
Tham khảo thêm, có lẽ ở thời điểm hiện tại điều này nghe sẽ rất lạ, nhưng khi Java mới xuất hiện, mượn cách diễn đạt trong cuốn sách 『Polyglot Programming』 (2014) của Lim Baek-jun, nó được cho là thậm chí còn “mang lại cảm giác mới mẻ, trẻ trung và quyến rũ”. Liên quan đến điều này, xin giới thiệu bản dịch một bài viết do cha đẻ của Java, James Gosling, viết vào năm 1997.
Tôi cho rằng lý do người ta chọn Spring nằm ở tính đặc thù của thị trường lập trình viên Hàn Quốc.
Ở nước ngoài, JVM nhìn chung đang chuyển sang Kotlin như bài viết này đề cập.
Tôi cũng có ấn tượng xấu hơn về Java vì những người sùng bái Spring.
Đặc biệt ở Hàn Quốc, cứ nói làm Java là gần như tất cả đều là Spring Boot. Nên nhiều người kiểu như Java = Spring Boot vậy.
Tôi là một lập trình viên không biết Java, nên thấy vui ghê.
Dù vậy, khi tuyển người ở startup thì có vẻ đây vẫn là cách nhanh nhất..
Nhưng ở Hàn Quốc thì...
Tôi cũng từng dùng Java, nhưng giờ thì nếu có thể tôi muốn tránh không dùng Java.
Sao vừa buồn lại vừa thấy buồn cười nhỉ..? haha
(Ở startup trước đây tôi có dùng Java, nhưng giờ thì không dùng nữa)