Thursday, August 27, 2009

Java sẽ đi về đâu??

I wouldn't say they're forcing loyalty. Would you say that MS is forcing brand loyalty by limiting Silverlight development to Windows? What about Visual Studio? What about the Xbox SDK that is limited to Windows?

Apple is trying to get people to buy Apple products. If they didn't, they wouldn't be a very good company. If someone wants to develop for the App Store enough, buy a Mac. If you want to develop for the XBOX bad enough, buy a Windows machine. You can't expect every option to be standardized and open.
=((



Gửi bởi doibuon lúc 20:29:20 09-10-2007 Re: Java sẽ đi về đâu??
hihi
chẳng loạn đâu bác.

bác nói đúng, nền tảng nghề nghiệp thì cần đúng như những gì bác nói. nhưng với em, nó lại phân nhỏ và cụ thể hơn một chút là nền tảng công việc. Nếu đang nói về lĩnh vực lập trình, theo em thì nên có sự chuyên sâu về một nền tảng nào đó, chẳng hạn Java, hoặc DOTNet hay LAMP.
Bây giờ khi tuyển dụng người ta hay nhắc đến những yếu tố này thay vì tuyển một cách chung chung như
"lập trình viên, tốt nghiệp đại học chính quy, đọc hiểu tốt tiếng anh và có khả năng làm việc nhóm hoặc độc lập." Mà em bắt đầu thấy những đòi hỏi chuyên sâu hơn như "lập trình viên J2EE hoặc lập trình viên DOTNET",...

với em thì quan niệm khác, có thể cách nghĩ này phần nhiều do trình độ của em chỉ xếp được hàng lập trình viên thôi nên nó khác bác. Java hoặc DOTNet không phải là ngôn ngữ dạng như JavaScript hoặc Visual Basic. Em thì vẫn nghĩ Java là một nền tảng lập trình và DOTNEt cũng vậy. Một lập trình viên có kiến thức nền tốt như thuật toán, tư duy, cơ sở dữ liệu, hệ điều hành, networking thì sẽ học nhanh ngôn ngữ và từ đó mới tiếp cận nền tảng. Kiến thức đó càng tốt thì tốc độ càng nhanh. Không phải nền tảng lập trình nào cũng như nền tảng lập trình nào, mỗi nền tảng ra đời đều nhắm đến những mục đích phát triển khác nhau, thậm chí những ngôn ngữ được "sáng tạo" cũng theo cách thức này. Chẳng hạn PHP hoặc các scripting là một ví dụ. Do đó, một nền tảng lập trình đều có điểm mạnh và những điểm yếu khác nhau, chuyên biệt vào những lĩnh vực khác nhau từ đó nảy sinh những công việc khác nhau.

Em thì nghĩ nhiều về vấn đề chuyên môn hóa công việc. Chính vì có những nền tảng khác nhau nên đòi hỏi những tư duy, trình độ hiểu biết khác nhau. Lấy ví dụ về công ty cũ của em, có những người chỉ chuyên làm về CSS hoặc HTML, những lúc không tuyển được người cũng không dám đẩy java code sang làm việc mặc dù họ có biết về HTML và CSS. Dẫu biết rằng mọi thứ đều có thể học và tìm hiểu, nhưng chuyên biệt thì theo em vẫn tốt hơn để tránh những lãng phí trong đào tạo và tăng hiệu quả sản xuất. Có lẽ em hay làm việc ở những môi trường như vậy nên có suy nghĩ như vậy. Nhưng mọi vấn đề không thể cứng nhắc, do những yêu cầu của công việc hoặc những thay đổi của nền kinh tế mà người ta có thể học để chuyển đổi sang lĩnh khác. Cái đó là tất yếu.

thu thập thông tin hoặc những vấn đề mạnh yếu của một cái khác thì cũng là điều nên làm nhưng nếu nó làm mất nhiều thời gian trong khi mình chưa cần đến nó thì cũng không nên. Bản thân em thì trước nay được đào tạo rất nhiều thứ như DOTNet, Java, c++, JavaScript,....nhưng đến nay vẫn chưa thấy cần thiết phải từ bỏ Java để quay sang làm việc với một cái khác mặc dù vẫn theo dõi những thông tin công nghệ hàng ngày. Khi đi tìm việc, em cũng sẽ vẫn tìm những công việc chuyên về Java vì đơn giản em nghĩ mình có thể làm tốt hơn và đỡ mất thời gian phải đào tạo. nhưng nếu có nơi nào tuyển em với mức lương khoảng 1000 hoặc 1500 cho những công việc bằng dotnet thì em sẽ vào làm và sẽ tự đào tạo. Nếu mức lương cứ sàn sàn nhau và công việc vẫn còn thì em sẽ vẫn tìm việc Java.

công việc của em hiện tại thì cả làm cả web và desktop nhưng vẫn trên nền Java. Hai việc này đan xen vào nhau mặc dù có sự rạch ròi. Desktop làm việc với kết quả lấy về từ web và web lại dùng kết quả của desktop. hihi. Em thì không dám tự hào nhưng sự chuyên sâu về nền tảng Java giúp em có những lợi thế nhất định trong công việc so với những đồng nghiệp mặc dù họ cao hơn em về bằng cấp. Có thể với nhiều người, cứ học tốt các lý thuyết nền tảng thì có thể học bất cứ ngôn ngữ nào nhưng với em thì lý thuyết trang bị những cơ sở ban đầu còn việc vững kiến thức thì do làm việc lâu trên nền tảng. Java nó dạy lại em nhiều điều. Những kiến thức em thu lượm được mặc dù nó có thể bé tí tẹo so với bác nhưng nó lại là vốn quý của em để em tồn tại trong nghề. Có thể nhìn nhận đó của em là sai, là hẹp nhưng hiện tại thì nó là quan điểm của em, em không bảo thủ nhưng phải trải nghiệm qua một giai đoạn nào đó thì em mới nhận thức được nó là sai. Với em, quan điểm hiện tại là vẫn giữ nguyên những chủ kiến đó.


trở lại việc nền tảng hay không nền tảng. theo em, đã qua rồi cái thời người ta lập trình chỉ bằng ngôn ngữ như C, Pascal, C++,... Công nghệ đã phát triển hơn rất nhiều và càng ngày càng phân hóa. Vững lý thuyết công nghệ thông tin + thành thạo ngôn ngữ C, C++, Pascal,... + tư duy tốt = có thể làm được với bất cứ thứ gì. Nhưng hiện nay, xét cho cùng mà nói, ừ thì anh sẽ làm được bất cứ thứ gì nhưng mất bao lâu, hiệu quả đến đâu, kết quả ra sao,.... Tư duy là thứ có thể rèn luyện nhưng tư duy cũng là một rãnh mòn khó thay đổi. Mỗi công việc khác nhau sẽ cần những tư duy khác nhau.

Trở lại vấn đề của người tạo ra thread, có lẽ do cậu ta đang trong giai đoạn học tập nên cũng xét về mặt chọn một nền tảng lập trình thì cũng nên chứ. Cậu ta có thể đọc hiểu một ngàn lẻ một cuốn sách với số điểm 10/10 cho tất cả các môn thì cũng nên thử sức với một hoặc tất cả. theo em thì nếu cậu ta nắm được toàn bộ các vấn đề của cả DOTNEt, LAMP, Java, C, C++,... một cách vững trãi thì đó quả là một thiên tài và sẽ bằng thành quả của hàng ngàn lập trình viên, kỹ sư đã tạo nên Java + DotNet + C++ + Ruby + ... Có lẽ có nhiều người sẽ phản đối em về mặt này vì chỉ cần học sử dụng tốt "công cụ" là okies. Tuy nhiên với em thì khác, sử dụng công cụ là một chuyện còn hiểu được được bản chất của công cụ đó lại một vấn đề khác. Việc nắm được những tư tưởng, kỹ thuật, thiết kế,... sẽ giúp ta tận dụng được tối đa sức mạnh của công cụ mà mình đang sử dụng từ đó làm tăng hiệu quả công việc. Thú thực, em cũng đang theo hướng này, em thường xuyên đọc code Java cũng những dự án open source của Java để ăn cắp code hoặc ý tưởng để cài đặt lại trong công việc của mình. Em không sử dụng Java như là một ngôn ngữ lập trình, em tận dụng sức mạnh nền tảng Java để lập trình.

Cũng như võ vẽ, mặc dù chỉ dùng để rèn luyện thân thể và oánh nhau nhưng cũng phân ra các trường phái khác nhau như Nga Mi, Hoa sơn, hay Thiếu lâm. hihi, truyện trưởng, hihi. Em nghĩ, người nắm được nhiều môn võ sẽ không bằng một người nắm được cái thần, cái tinh túy của chỉ một môn mặc dù người học võ cũng cần rèn luyện những nền tảng cho mình.

Chuyện biết nhiều thứ như bác thì theo em nghĩ là so sách hơi lệch. Con người ta sống có nhiều mục đích thì cần phải biết nhiều thứ cho nhiều mục đích đó. cũng là có vợ, nhưng một ông chỉ cần có cái ... mà phải cưới tới mười bà vợ thì hơi bị ... mệt đó. hihi.

hi hi, nói chuyện phiếm vậy thôi chứ không có vấn đề gì đâu, lâu lâu vào đây tranh luận tí. Trang luận tích cực chứ không tiêu cực thì cũng không nên đóng luồng làm gì. Nếu tranh luận không có hồi kết nhưng tranh luận có hiệu quả thì cũng nên tranh luận lắm chứ.

No comments: