Như câu nói cũ, ít có điều gì trong cuộc sống tệ hơn việc mang theo dao vào một cuộc đấu súng. Là một nhà phát triển giàu kinh nghiệm, tôi có thể nói với bạn rằng điều này cũng đúng 100% đối với thế giới lập trình. Bạn phải luôn phù hợp trong một ngành công nghiệp đang thay đổi nhanh hơn cả tốc độ tôi viết bài viết này. Ngoài ra, bạn có rất nhiều nhiệm vụ khác nhau để làm. Vì vậy, sau nhiều năm sống sót trong môi trường này, tôi luôn giữ những món đồ chơi yêu thích của mình gần và được nạp đạn. Đối với một công việc im lặng và chính xác, có C++ đáng tin cậy của tôi. Nếu tôi muốn tạo ra một vụ nổ dữ liệu lớn, tôi chọn R, hơi xa hoa nhưng mạnh mẽ một cách thuyết phục. Nhưng nếu mọi thứ trở nên thực sự lộn xộn, tôi sẽ gỡ JavaScript khỏi tường: nó đã giúp tôi sống sót trong quá khứ và vẫn có thể chịu được một số sự lạm dụng nữa. Không có ngôn ngữ nào là tốt hay xấu đối với tất cả mọi người. Điều đó phụ thuộc vào bạn và công việc bạn phải làm. Vì vậy, hãy cùng thảo luận xem bạn có nên luôn theo kịp thời đại hay gắn bó với những thứ cũ kỹ tốt đẹp. Câu hỏi này khó hơn một chút so với vẻ ngoài của nó…
Với bản chất sáng tạo của công nghệ, việc thảo luận về việc có nên học một ngôn ngữ khác hay không có vẻ hoàn toàn ngớ ngẩn. Thật vậy, nếu thế giới đứng yên, chúng ta vẫn sẽ sử dụng các tấm đất sét và bàn tính. May mắn thay, mong muốn sáng tạo dẫn đến những tiến bộ liên tục, đòi hỏi phải nâng cấp kỹ năng liên tục. Ví dụ, vào những năm 1960, giao tiếp với máy tính liên quan đến việc đục lỗ trên giấy và đưa vào máy. Ngày nay, máy tính vừa vặn trong túi của chúng ta và lỗ hổng duy nhất chúng ta gặp phải là trong ngân sách của mình sau khi mua chúng. Hãy tưởng tượng nhà phát triển tiên tiến nhất từ những năm 60 cố gắng duy trì sự phù hợp mà không phát triển kỹ năng của họ.
Ngôn ngữ lập trình phát triển nhanh hơn cả người sáng tạo ra chúng. Các yêu cầu, ý tưởng và công cụ mới thay đổi hoàn toàn các phương pháp và thực hành truyền thống xuất hiện với tốc độ đáng kinh ngạc. Các chuyên gia bỏ qua thực tế này sẽ trở nên lỗi thời như các ngôn ngữ mà họ bám vào. Một ví dụ điển hình là COBOL, mặc dù phổ biến vào những năm 60 cho các ứng dụng kinh doanh, nhưng đã trở nên gần như lỗi thời với những tiến bộ công nghệ.
Một lý do khác để học một ngôn ngữ lập trình mới là triển vọng nghề nghiệp. Hiểu rằng hiểu biết sâu hơn về các công nghệ mới nhất sẽ tăng cơ hội có được những công việc lương cao, một số chuyên gia nhiệt tình học các ngôn ngữ mới. Nỗ lực này là chính đáng: biết các công nghệ mới chắc chắn sẽ mở rộng cơ hội việc làm. Đôi khi, các công nghệ mới là cần thiết ngay cả khi bản thân ngôn ngữ vẫn còn phù hợp nhưng công ty thay đổi ngăn xếp công nghệ của mình. Trong những trường hợp như vậy, nhân viên phải thích nghi hoặc tìm việc mới. Thông thường, họ chọn học công nghệ mới.
Học ngôn ngữ mới không chỉ có lợi vì lý do thực tế mà còn vì sự sáng tạo. Nó có thể cung cấp những cách tiếp cận mới cho các nhiệm vụ quen thuộc, mở rộng góc nhìn và tiềm năng. Ví dụ, Symfony, một khuôn khổ PHP phổ biến, được lấy cảm hứng từ khuôn khổ Spring dựa trên Java. Nhiều nhà phát triển thư viện nguồn mở đã lấy ý tưởng từ các thư viện được triển khai trong các ngôn ngữ khác và bạn có thể là người đổi mới tiếp theo.
Nhưng vì sự thật, hãy nhìn theo hướng ngược lại với tất cả những điều chúng ta đã thảo luận trong chương trước. Bạn có biết thẻ đục lỗ được sử dụng lần cuối khi nào không? Hãy đoán xem… Và trừ khi bạn gian lận bằng cách tìm kiếm câu trả lời trên Google ngay bây giờ, nếu không thì có lẽ bạn sẽ đoán sai. Câu trả lời đúng là năm 2014. Năm đó, thẻ đục lỗ cuối cùng
Khả năng một ngôn ngữ lập trình mà bạn biết hoặc sắp học, trở nên lỗi thời và vô dụng trong tương lai gần là bao nhiêu? Không có câu trả lời thực sự nào cho câu hỏi đó, chỉ có thể đoán. Một số tác giả ước tính vòng đời trung bình của một ngôn ngữ lập trình nằm ở bất kỳ đâu
Nói cách khác, những ngôn ngữ đã tồn tại đủ lâu có thể sẽ tồn tại với chúng ta trong vài thập kỷ nữa. Ngược lại, có khả năng những thứ mới lạ sẽ sớm trở nên lỗi thời – nhưng điều đó vẫn còn phải chờ xem. Mỗi năm một ngôn ngữ được sử dụng sẽ làm tăng cơ hội tồn tại lâu hơn.
Vậy chúng ta nên làm gì? Học một ngôn ngữ? Một ngôn ngữ mới hay ngôn ngữ cũ? Vâng, bản thân việc học luôn tốt. Nghiên cứu cho thấy gần một nửa số nhà phát triển cân nhắc việc học một ngôn ngữ mới. Theo JetBrains' "
Ví dụ, phần lớn các lập trình viên COBOL là
Nếu bạn thích cuộc sống sôi động của các công ty khởi nghiệp hoặc sức mạnh của những gã khổng lồ công nghệ, bạn nên chọn thứ gì đó hiện đại và đầy hứa hẹn hơn. Việc xem những người khác đang làm gì có thể giúp bạn có manh mối: ví dụ, hãy kiểm tra bảng xếp hạng ngôn ngữ lập trình mới nhất của
Kiến thức thu được mà không có ứng dụng thực tế sẽ nhanh chóng trở nên lỗi thời. Do đó, học một ngôn ngữ mới chỉ để đánh dấu vào ô là vô nghĩa. Thay vào đó, hãy cân nhắc cách bạn có thể sử dụng nó trong công việc hiện tại của mình. Nếu công ty của bạn đã sử dụng công nghệ, thì đó có thể là động lực tuyệt vời để học. Chỉ cần yêu cầu quản lý hoặc trưởng nhóm của bạn giao cho bạn các nhiệm vụ liên quan đến công nghệ đó, cho phép bạn củng cố kiến thức của mình thông qua thực hành. Nếu công việc của bạn sử dụng một ngăn xếp công nghệ cố định và không có cơ hội để học điều gì đó mới, bạn luôn có thể tạo dự án phụ của riêng mình để khám phá những ranh giới mới một cách độc lập. Chỉ cần đảm bảo không vi phạm hợp đồng lao động của bạn trong khi làm như vậy.
Ngay cả khi bạn chỉ mới bắt đầu con đường phát triển của mình, chiến lược vẫn như vậy: chọn một công nghệ mà bạn có thể sử dụng trong cuộc sống thực (tại nơi làm việc hoặc trong một dự án phụ). Chọn một ngôn ngữ có tương lai tươi sáng, không phải ngôn ngữ mà cộng đồng nhà phát triển xa lánh. Vì bạn chỉ mới bắt đầu hành trình của mình và không bị gánh nặng bởi mức lương cao và kỳ vọng với tư cách là một chuyên gia, bạn có thể dễ dàng và nhanh chóng thay đổi ngăn xếp công nghệ của mình nếu ngôn ngữ thứ hai bạn học hấp dẫn bạn hơn ngôn ngữ đầu tiên. Bạn có nhiều sự linh hoạt hơn trong lựa chọn của mình và việc tận dụng lợi ích này là xứng đáng. Chỉ cần không lạm dụng: việc thay đổi quá thường xuyên trong ngăn xếp công nghệ của bạn và luồng kiến thức quá lớn có thể gây bất lợi. Tìm sự cân bằng giữa những gì bạn muốn và những gì bạn có thể quản lý, và bạn chắc chắn sẽ đạt được thành công.
Đối với một số nhà phát triển, đặc biệt là những người có nhiều năm kinh nghiệm, lời khuyên của tôi có vẻ hiển nhiên. Nhưng như câu nói, "Lặp lại là mẹ của học tập", và chưa ai từng bác bỏ sự thật của những lời khôn ngoan này. Tôi hy vọng bài viết của tôi sẽ khuyến khích những người đã muốn từ lâu nhưng quá lười để hành động và thúc đẩy những người mới bắt đầu háo hức. Tôi hy vọng lời khuyên của tôi hữu ích và thậm chí có thể truyền cảm hứng cho sự phát triển chuyên môn hơn nữa.