Ruby

Chọn NodeJS hay Ruby?

Đây có lẽ là câu hỏi kinh điển nhất mọi thời đại, và làm đau đầu mọi developer, nỗi sợ hãi của các bạn newbie khi không biết chọn ai bỏ ai và độ kinh dị của nó không chỉ dừng lại ở mức nên chọn NodeJS hay Ruby mà còn xa hơn thế, là sự lựa chọn giữa các ngôn ngữ với nhau (Node vs Ruby, C vs .NET, PHP vs Java,...), hay thậm chí là giữa các Framework anh em trong cùng 1 ngôn ngữ (Spring vs Play, Laravel vs CakePHP, Flask vs Django, Rails vs Sinatra,...), hay thậm chí là so sánh những thứ chả bao giờ liên quan, ví dụ như Unity vs Cocos2D-x, iOS vs Android,...

Đối với những người mới học, sợ nhất có lẽ là chọn sai ngôn ngữ để rồi bỏ phí bao nhiêu thời gian theo học một thứ không dùng được. Nên cứ hay hỏi hoài, cùng 1 câu hỏi trên. Nhưng biết hỏi ai đây?

Việc dễ nhất và cần làm nhất để thoát khỏi tình trạng hoang mang, đứng giữa những sự lựa chọn là: Đừng thắc mắc nữa.

Nếu bạn cứ mãi chần chờ, thắc mắc thì bạn sẽ chỉ dậm chân tại chỗ và không làm được gì ra hồn, học Node cũng ko xong mà Ruby cũng ko tới. Tốt nhất là nhắm mắt chọn đại 1 ngôn ngữ, và học cho tới nơi tới chốn.

Nhưng làm sao để chọn đây?

Bạn cảm thấy thoải mái khi dùng ngôn ngữ nào?

Chắc chắn sẽ có một trong 2 loại ngôn ngữ, bạn cảm thấy thoải mái hơn khi dùng nó. Hãy đi theo tiếng gọi của con tim và chọn lấy 1 cô. Đừng lo về việc bỏ phí cô kia, vì trước sau gì chúng ta cũng sẽ quay lại với nó.

Đừng giới hạn số lượng đồ nghề của bạn

Như đã nói ở phần trên, bạn sẽ không bỏ phí cô nào cả. Luật pháp có thể ngăn cấm việc cưới nhiều vợ, nhưng trong thế giới của các developer, không ai cấm bạn học nhiều ngôn ngữ hết!

Nếu như ngày xưa, một người đàn ông cần phải tháo vát, biết làm mọi chuyện trong nhà, từ đóng bàn ghế, giường tủ, đến sửa chữa đồ điện, thay bóng đèn, thời nay, đàn ông ở Mỹ còn phải biết giặt đồ, nấu ăn, bế con, thay tã,... mới mong kiếm được vợ. Thì thì với các Developer, việc biết nhiều ngôn ngữ, nhiều công nghệ cũng chỉ làm tăng thêm cơ hội cho bạn kiếm được một công việc tốt hơn, làm được nhiều thứ hơn thôi.

Chả có cái quái gì phải sợ để mà tự giới hạn mình chỉ học 1 thứ công nghệ suốt đời cả.

Sẽ có bạn thắc mắc là, biết nhiều quá rồi làm sao biết được dùng thứ gì cho việc gì? Lỡ biết thừa thì sao?

Lựa chọn đúng công cụ cho từng công việc

Biết thừa thì tốt thôi, chả sao. Khi bạn nắm được nhiều loại công nghệ, bạn phải tìm hiểu thật sau cho từng loại, từ đó bạn sẽ nắm được ưu nhược điểm của từng món. Từ đó bạn sẽ tự trả lời được câu hỏi dùng cái gì.

Mấu chốt của vấn đề là: Phải biết chọn dùng ngôn ngữ gì cho công việc gì, và dùng như thế nào. Nếu có thể thì phải kết hợp được tất cả bọn nó lại.

Hãy nhìn vào từng vấn đề thực tế, bạn muốn đi câu cá ngoài biển, và bạn có 1 chiếc thuyền máy, 1 chiếc ô tô.

Rõ ràng bạn không thể lấy ô tô để bơi ra biển, nên chắc chắn bạn phải dùng thuyền máy.

Hoặc khi bạn muốn đi về thành phố khác chơi, bạn có thể đi bằng thuyền, cũng có thể đi bằng ô tô, nhưng đi bằng ô tô sẽ gần hơn đi thuyền, vậy tại sao phải dùng thuyền?

Nhưng thử tưởng tượng, bạn chỉ có ô tô và muốn đi câu cá ngoài biển, không có thuyền làm sao mà đi? Chẳng phải là bạn đã tự giới hạn mình để rồi bỏ lỡ nhiều cơ hội sao?

Khi nào thì nên thay đổi?

Tại sao phải thay đổi? Vì bạn không thể chỉ dùng 1 thứ công nghệ cả đời được, sẽ có lúc thứ công nghệ bạn dùng không thể giải quyêt được vấn đề của bạn.

Ảnh 1.

Nhưng thay đổi quá sớm, bạn sẽ không có cơ hội để hiểu rõ được thứ ngôn ngữ/công nghệ mà bạn đang dùng, thay đổi quá trễ, bạn sẽ trở nên già cỗi, ngại thay đổi, sợ cái mới, đơn giản vì bạn đã lỡ biết quá nhiều.

Ảnh 2.

Có một câu trả lời cho chủ đề tương tự trên Quora mà mình thấy khá là hay, đó là: "If you've already built it with Rails, keep it there until you reach a point at which Rails is unable to do the job for you."

Nếu bạn đang dùng Rails, thì cứ tiếp tục dùng nó đi, cho đến khi nó không làm được những thứ mà bạn cần nữa.

Tạm dịch: Em đã hết giá trị lợi dụng, mời em đi chỗ khác chơi.

Hãy vắt kiệt mọi khả năng của ngôn ngữ bạn đang dùng, trước khi quyết định tìm tới ngôn ngữ khác.

Làm sao để biết ngôn ngữ khác giải quyết được việc chúng ta cần?

Để biết được ưu nhược điểm của từng loại công nghệ, chúng ta cần tìm hiểu nó. Vậy phải tìm hiểu như thế nào để khỏi mất thời gian và công sức?

Cách dễ nhất là đọc các bài viết so sánh các ngôn ngữ một cách phiến diện nhất. Kiểu như các bài: 5 lý do tôi chọn NodeJS thay vì Ruby, Tại sao công ty chúng tôi chuyển từ NodeJS sang Ruby, 10 lý do khiến bạn không bao giờ nên dùng NodeJS,...

Nhưng hãy nhớ, đọc các bài viết phiến diện một cách thật khách quan, và đừng bao giờ trở nên phiến diện theo chúng.

Có rất nhiều bạn developer, có thể nói là gió chiều nào theo chiều ấy, hôm nay đọc các bài viết tung hô NodeJS, thì quay sang tung hô NodeJS hết mình, ba ngày sau thấy một bài báo chê bai NodeJS thậm tệ và tung hô Golang, thế là ngay lập tức trở thành Go Fan boy, quay về chửi bới NodeJS không ra gì luôn.

Các bạn nên tránh trở thành thể loại developer này.

Ảnh 3.

VCCloud sưu tầm

Theo Kipalog

>> Tham khảo thêm: Hướng dẫn cấu hình log "slow query" trên dịch vụ MySQL

Registration Login
Sign in with social account
or
Lost your Password?
Registration Login
Sign in with social account
or
A password will be send on your post
Registration Login
Registration