Search This Blog

Saturday, August 20, 2011

C# và C++ - Việc làm kêu tên ai?

cái comment này là của anh Rox_Rock ở Cviet post, thấy hay quá nên lôi lên đây share với mọi người
đây là câu hỏi:

- Pro thì khỏi tìm, ra trường có khối công ty hốt.
- Không giỏi hay ko đam mê lập trình thì khỏi nói, làm nghề nào cũng được, ngoại trừ CNTT, nhưng có khối người lại thành công trong lĩnh vực khác.
- Vậy còn những người còn lại, khi mà học theo chương trình ĐH làng nhàng 2,3 ngôn ngữ quả thật rất khó giỏi tất cả. Chinh vì vậy mới cần phải tìm hiểu cơ hội rộng mở với cái nào nhiều hơn để gạt bỏ những gì thừa thãi mà tập trung đi sâu vào 1 cái. Chắc hẳn rất nhiều bạn cũng cùng ý nghĩ như mình.
Đây là câu trả lời:
     Nếu bạn có tâm lý muốn học cái nào cho nhanh và có kết quả thì mình khuyên bạn nên suy nghĩ kĩ lại. Câu hỏi này mình gặp cả 2-3 năm nay ở diễn đàn này rồi. Và mình biết nó không có kết quả dù cho câu trả lời có là C++, hoặc C# hay Java.
     Vì ngôn ngữ nào bạn đều phải học thật kĩ hết. Mình bắt đầu từ C++, mình học C++ 4 năm rồi mình mới chuyển qua các ngôn ngữ khác ( C#, Java ), và vì mình biết rất rõ C++, nên khi học C# hay Java, cái đầu mình nó tự sinh ra sự so sánh. Thứ hai, 3 thằng này có điểm tương đồng, nên mình không thấy khó khi tìm hiểu nó. Người ta gọi người này pro, người kia expert chỉ để nói lên kiến thức của một người nào đó có được mà thôi. Không phải thiên tài mới được gọi là pro, hay expert. Bạn làm một cái gì đó nhiều lần thì nhất định bạn sẽ giỏi.
     Cái khó của những người mới bắt đầu là chưa có được cảm giác thích thú vì bản thân họ biết chưa đủ để thấy được sự thú vị. Ví dụ: nếu bạn rành về nấu ăn, khi bạn nghe bất cứ một ai nói về nó. Bạn cũng có ngay cảm giác hiểu nó và muốn tham gia. Hay rõ ràng hơn, đá banh chẳng hạn, rất phổ biến ở VN. Và thực sự là lập trình nó cũng không khác mấy, khi bạn hiểu chưa đủ về một ngôn ngữ nào đó, mà muốn nhanh chóng làm việc kiếm tiền là điều khó có thể xảy ra. Ở những ngành khác thì mình không biết, nhưng đối với những ngành technical như Programming, Electrical Engineering, Mechanical Engineering... đều cần một kĩ năng nhất định để làm việc. Dù bạn có nhanh chóng tìm được công việc với cái đang thịnh hành nhất thì sao, bạn làm ở cty đó một thời gian họ cũng sẽ nhận ra bạn chỉ biết mà thôi, không có chiều sâu, hoặc là họ chỉ cần bạn trong một khoản thời gian đó, việc làm sẽ không ổn định và ít có khả năng thăng tiến cao. Hơn nữa làm cái bạn không thích mà 8 tiếng một ngày thì quả là nightmare. Những ngành technical nói rõ ra là "không có shortcut".
     Con đường đến với một ngôn ngữ nào là do vận may của mỗi người, và do tính tình của người đó nữa. Có người mới học C# đã thích, có người học từ C đã thích luôn rồi, hoàn toàn là do preference cả. Bạn cứ chọn một trong 3, ngẫu nhiên, và tìm hiểu thật kĩ về nó. Khi bạn có một kĩ năng và hiểu biết nhất định thì bạn tự nhiên sẽ tìm được câu trả lời của bạn ở trên. Vì câu hỏi này nếu được trả lời bởi một fan của C++ thì bạn nghĩ họ sẽ nói Java hay C# chăng? Ai cũng có một preference riêng, nếu họ thực sự am hiểu về những ngôn ngữ này. Còn nếu khuyên chung chung thì người đó cũng như bạn vậy, họ cũng không biết họ muốn gì thì làm sao họ biết bạn muốn gì.
     Không có cái nào là thừa thãi, nó chỉ thích hợp với môi trường này và không thích hợp với môi trường khác thôi. Hãy thử cố gắng tập trung vào ngôn ngữ nào mà bạn thấy làm bạn thích thú và dễ chịu nhất, nó sẽ mang lại tất cả những câu trả lời mà bạn muốn biết.
"Make a decision is not hard, the hardest part is to live with it"
     Tuy vậy mình sẽ cho bạn một vài cảm nhận của mình đối với 3 ngôn ngữ trên, và mình cam đoan sẽ không bias bất cứ thằng nào, chỉ là cảm giác, không có technical information:
1. C++:
- Mình thích nó vì mình hiểu nó nhiều nhất, viết console tra cứu thư viện rất nhanh, vì cái thư viện nó open-source, down chỗ nào cũng có.
- Có rất nhiều IDE để viết, và vì mình thích các chức năng advance của text-editor, nên mình rất chú trọng tới IDE.
2. C#:
- Đi làm mình xài nó, viết code tạo ra application nhanh tạo cảm giác thích thú. Visual Studio là một IDE rất tuyệt vời. Cách tổ chức code của nó nhìn cũng rất gọn gàng.
- Làm được rất nhiều thứ: Web, Game, Winform, WPF...
- Thư viện MSDN quá rộng, nhiều khi xài APIs cảm giác không được cội nguồn, cảm giác không thỏa mãn.
3. Java:
- Code sáng sủa, Eclipse là một IDE cực kì tuyệt vời. Source của Java cũng open, tra cứu rất thoải mái.
Hiện tại thì đang thích Java, chẳng đủ pro để phân tích là Java hay như thế nào, chỉ nhớ hồi cách đây mấy tháng, lần đầu làm việc với java , với Eclipse và với JavaDocs thì thích ngay.
hồi nhỏ chơi với C - Turbo C 3.0 - http://www.cplusplus.com/reference/
và C# - Visual Studio 2008/2010 - MSDN thì lại không thích. Đời nhiều lúc lạ vậy đó.

4 comments:

  1. anh ơi cho em hỏi :
    những đoạn code anh viết trong công ty có khác nhiều so với lúc anh đi học không ?
    Em đang theo C# với mong muốn sau này có 1 công việc tốt , xin anh cho em vài ý kiến và kinh nghiệm. Thanks anh !

    ReplyDelete
  2. a có thể giúp e xem bài tập nhỏ về c# k a? e đang làm thực tập chuyên nganhf sử dụng ngôn ngữ c#. mail của e nguyenyenk8d@gmail.com

    ReplyDelete
  3. Mới học CNTT, sao mà thấy hoang mang quá T_T

    ReplyDelete

CON NGƯỜI và TINH THẦN

CON NGƯỜI và TINH THẦN 1 –  " Nếu có một gã trọc phú hàng to súng lớn, có thể mua biệt thự alibaba cho em ở, xe lếch xù cho em đi, nạp ...