Trang 2 trên tổng số 5 Đầu tiênĐầu tiên 1234... Cuối cùngCuối cùng
Từ 11 tới 20 trên tổng số 45 kết quả

Đề tài: CÓ nên học API trước khi học MFC và API có cần thiết ko?

  1. #11
    Ngày gia nhập
    03 2010
    Nơi ở
    My Home
    Bài viết
    772

    Mặc định CÓ nên học API trước khi học MFC và API có cần thiết ko?

    Có, rất nên học!!! Cross-Platform gì gì đi nữa thì bạn cũng phải có 1 cái nền tảng. Tớ thì chẳng đề cao cái Cross-Platform cho lắm. Không có QT4, GTK thì cũng tự viết được một app đem ra linux & windows chạy được có sao đâu (tất nhiên có gì dùng cũng tốt ). Cái cơ bản là bạn phải có kiến thức vững vàng trước đã rồi học cái liên quan nó dễ hơn. Giống như kiểu bạn lập trình API rất OK rồi chuyển sang MFC thấy sao mà nhẹ nhàng thế. Hoặc tự viết app dạng cross-platform rồi giờ viết trên QT4 thấy nó thoải mái quá.

    P/S: Mà tốt nhất là đừng có code thì còn hay nữa )

  2. #12
    Ngày gia nhập
    12 2006
    Nơi ở
    US
    Bài viết
    1,917

    @namdq2k:
    Học Win32 API ngày nay chỉ với lý do sau:
    1. Chắc chắn em làm cho Windows, no other OS.
    2. Học để hiểu cội nguồn của hệ điều hành, Messaging, GDI ... cái mà đã được .NET đã che lại.
    3. Em học vì em thích việc học.
    4. Thằng .NET nói cho cùng là gì? Nó là wrapper của mấy cái Win32, nếu hiểu nó thì tất nhiên có lợi cho .NET khi mà có những cái em không tìm ra được nguyên nhân. Nhưng có một điều là 99.1% em sẽ không dùng Win32 cho công việc ngày nay. Bởi vì sao? Dùng nó so với .NET thì quá ư là mệt mỏi.

    Còn câu trả lời cho chủ topic thì là YES. Tất nhiên học Win32 sẽ hiểu kĩ hơn khi làm MFC vậy thôi.
    Anh từng coi qua Win32, coi cho biết thôi, còn học cho kĩ thì anh thà để thời gian học các kĩ thuật khác. Bởi vì những cái mà Win32 dùng đã quá lỗ thời rồi. Plain pure function pointer, naked char* -> cội nguồn của bugs and bugs.
    Ngày nay testing là coi như không thể thiếu trong bất cứ một software nào, không có chuyện viết cái ầm rồi đưa cho dân QA, kiểu này thì chẳng ai dám xài software của em. Mà để viết test cho Win32 thì chỉ có bằng niềm tin, vì nó quá low level, và vì nó quá cũ, không ai lấy nó ra để viết lại cả. Và tại cái thời điểm mà nó ra đời, lúc này programmers chưa biết đến Test Driven Development là gì. Và vì lý do này, nó không còn phù hợp với những cách tư duy lập trình ngày nay.
    TopCoder là một ví dụ cụ thể khi họ loại bỏ C. Không phải vì học chê C, nhưng dùng C so với C++, Java, C# thì hầu như chấp đối thủ 50%. Vì sao, khi làm bài, mỗi bài chỉ có 25 phút. Mà các cuộc thi này đòi hỏi debug cực nhanh, chứ không phải ngồi cái mà nhìn các hexa hàng giờ để tìm lỗi. Tụi cao thủ, nó debug mấy bài graph chỉ trong vòng 10-20 phút.
    Một điều quan trọng nữa là nên học cái giải thuật hơn là tập trung nhiều cho những kĩ thuật đã quá cũ này. Vì giải thuật sẽ còn được sử dụng mãi, trong khi mấy cái kiến trúc cơ bản sẽ dần bị đào thải. Thử hỏi ngày xưa máy có bao nhiêu dữ liệu? Ngày nay thì sao? Gấp có vài ngàn lần. Một giải thuật tốt 10 năm sau vẫn còn chạy được mà không cần biết kích thước của dữ liệu. Trong khi một kĩ thuật của 10 năm trước, nếu đem về 10 năm sau thì sẽ làm được gì?

  3. #13
    Ngày gia nhập
    03 2010
    Nơi ở
    My Home
    Bài viết
    772

    Trích dẫn Nguyên bản được gửi bởi rox_rook Xem bài viết
    @namdq2k:
    Học Win32 API ngày nay chỉ với lý do sau:
    1. Chắc chắn em làm cho Windows, no other OS.
    2. Học để hiểu cội nguồn của hệ điều hành, Messaging, GDI ... cái mà đã được .NET đã che lại.
    3. Em học vì em thích việc học.
    4. Thằng .NET nói cho cùng là gì? Nó là wrapper của mấy cái Win32, nếu hiểu nó thì tất nhiên có lợi cho .NET khi mà có những cái em không tìm ra được nguyên nhân. Nhưng có một điều là 99.1% em sẽ không dùng Win32 cho công việc ngày nay. Bởi vì sao? Dùng nó so với .NET thì quá ư là mệt mỏi.
    1. Không, em làm đủ loại OS.
    2. Em không làm gì về .NET cả, C/C++ only (thậm chí rất ít khi động vào C++, dùng C là chính) chính vì thế nên cần xài APIs & libc nhiều hơn.
    3. Em lười học lắm anh à ^.^
    4. .NET thì nó là một công nghệ rồi, APIs cũng chỉ các function được đóng gói một phần trong đó thui chứ nó không đơn thuần wrapper mấy cái APIs lại đâu.

    Phần lớn em làm về vấn đề realtime với từng dòng code phải đảm bảo sự tối ưu nên APIs vấn là ưu tiên số một. Có khi phải dùng các hàm non-os hoặc asm gõ như thường.
    Nhưng cái cách mình hiểu một hệ thống thông qua các APIs của nó thì mình sẽ tận dụng được sức mạnh của hệ điều hành cho những vấn đề realtime & tối ưu khi mà tải CPU lên cao, chương trình cần RAM nhiều, ...

  4. #14
    Ngày gia nhập
    12 2006
    Nơi ở
    US
    Bài viết
    1,917

    Phần lớn em làm về vấn đề realtime với từng dòng code phải đảm bảo sự tối ưu nên APIs vấn là ưu tiên số một. Có khi phải dùng các hàm non-os hoặc asm gõ như thường.
    Nhưng cái cách mình hiểu một hệ thống thông qua các APIs của nó thì mình sẽ tận dụng được sức mạnh của hệ điều hành cho những vấn đề realtime & tối ưu khi mà tải CPU lên cao, chương trình cần RAM nhiều, ...
    Sorry em nếu anh có quá lời. Anh chỉ thấy nhiều bạn quá tập trung vào API mà quên các kĩ thuật lập trình hay khác mà thôi.
    Hồi xưa lúc học GTK+ bên Linux, anh cũng có coi qua glibc. Thấy nó cũng rất mạnh mẽ. Dùng API, anh nghĩ nếu có wrap được qua C++ thì anh nên wrap, vì anh thấy performance không giảm là mấy, đặc biệt resource và RAM ngày nay.
    .NET thì nó là một công nghệ rồi, APIs cũng chỉ các function được đóng gói một phần trong đó thui chứ nó không đơn thuần wrapper mấy cái APIs lại đâu.
    Ừ, anh chỉ đơn giản hóa nó thôi. Chứ thực chất thì anh biết nó đã là một framework rồi, nhưng cái core bên trong thì nó vẫn phải gọi qua Win32 API.
    Anyways, good luck to your career!

  5. #15
    Ngày gia nhập
    01 2011
    Bài viết
    52

    em chỉ học qua Win32API rồi tự học MFC
    Win32API có thể nói em như là cưỡi ngựa xem voi
    em đang tự học MFC, thấy như là học mò thui

    nhưng em thích mfc, thích viết ứng dụng trong windows
    em học vì yêu thích, ko phải vì gì cả
    ở trường em học .NET chứ ko học C++,MFC, hì hì

  6. #16
    Ngày gia nhập
    12 2006
    Nơi ở
    US
    Bài viết
    1,917

    Mặc định CÓ nên học API trước khi học MFC và API có cần thiết ko?

    @mfc:
    Anh có một con đường khác, và anh nghĩ nó sẽ giúp em hiểu về các kĩ thuật C++ hơn như sau:
    1. OpenGL : Graphics
    2. SFML http://www.sfml-dev.org/index.php : Graphics, Audio.
    3. GTKMM : GUI
    4. Boost, STL : General Purposes
    5. Qt4 : GUI, Web...
    6. SOCI: Database
    7. Adobe GIL: Image Library

    Tổng hết mấy kiến thức này sẽ giúp em không chỉ hiểu C/C++ mà còn rõ cách framework design, sự tương tác giữa chúng, và tổng quát thêm mấy kiến thức khác.

  7. #17
    Ngày gia nhập
    07 2010
    Nơi ở
    HN
    Bài viết
    167

    đã từng bỏ thời gian nghiên cứu win32API nhưng giờ thấy hối hận rồi :-D càng ngày càng nhận ra : vì sao cứ phải đâm đầu vào nó trong khi nó cũng chỉ dùng được ở windows OS trong khi C# hỗ trợ tối đa để làm việc trên windows rồi

    giờ đang chú tâm đầu tư thời gian vào luyện thuật toán vs học cách làm quen với QT :">

    @rox_rook : khi nào dảnh reply pm e với nha . Thank in advance ^^!

  8. #18
    Ngày gia nhập
    07 2006
    Nơi ở
    Hanoi, Vietnam
    Bài viết
    2,750

    Trích dẫn Nguyên bản được gửi bởi namdq2k Xem bài viết
    Có, rất nên học!!! Cross-Platform gì gì đi nữa thì bạn cũng phải có 1 cái nền tảng. Tớ thì chẳng đề cao cái Cross-Platform cho lắm. Không có QT4, GTK thì cũng tự viết được một app đem ra linux & windows chạy được có sao đâu (tất nhiên có gì dùng cũng tốt ). Cái cơ bản là bạn phải có kiến thức vững vàng trước đã rồi học cái liên quan nó dễ hơn. Giống như kiểu bạn lập trình API rất OK rồi chuyển sang MFC thấy sao mà nhẹ nhàng thế. Hoặc tự viết app dạng cross-platform rồi giờ viết trên QT4 thấy nó thoải mái quá.

    P/S: Mà tốt nhất là đừng có code thì còn hay nữa )
    You have a conflicting. You said like this: "Yes, you should, but I never do what I recommended you".

    Việt Nam còn nghèo lắm, bác lấy đâu ra vốn đầu tư mà tự làm từ đầu đến cuối đây?

    @All: Tùy theo quan điểm mỗi người, cứ làm theo những gì bạn thích. Tất cả các ý kiến chỉ là tham khảo.
    Email: admin[@]congdongcviet.com | CC to: info[@]congdongcviet.com
    Phone: 0972 89 7667 (Office: 04 6329 2380)
    Yahoo & Skype: dreaminess_world (Vui lòng chỉ rõ mục đích ngay khi liên hệ, cảm ơn!)

    Một người nào đó coi thường ý thức kỷ luật cũng có nghĩa là người đó đã coi thường tương lai số phận của chính bản thân người đó. Những người coi thường ý thức kỷ luật sẽ không bao giờ có được sự thành công trong sự nghiệp!

  9. #19
    Ngày gia nhập
    03 2010
    Nơi ở
    My Home
    Bài viết
    772

    Trích dẫn Nguyên bản được gửi bởi Kevin Hoang Xem bài viết
    You have a conflicting. You said like this: "Yes, you should, but I never do what I recommended you".
    I had no conflict as you were thinking (or doing)^.^

    Việt Nam còn nghèo lắm, bác lấy đâu ra vốn đầu tư mà tự làm từ đầu đến cuối đây?
    Học APIs thì liên quan gì đến vốn đầu tư với làm lại từ đầu vậy anh???

  10. #20
    Ngày gia nhập
    06 2010
    Nơi ở
    Trước cái monitor
    Bài viết
    99

    Đây là cảm nhận của mình:

    _Với mục đích nuôi bản thân: e cảm thấy .NET tương lai rõ ràng. Học kỹ thuật lập trình .NET ko hề khó, có thể nói là đơn giản. Không đụng vào mấy cái API rối rắm. Triển khai nhanh, hiệu quả cao, đơn giản hoá,... và nhất là làm vừa lòng khách hàng.

    _Với niềm đam mê: Bạn đã từng viết 1 Soft .NET ra rồi đem máy khác test, đem đi khoe, (Thời điểm hiện tại WinXP vẫn là Vua), thì thường có dòng chữ "Cần cài .Net FW x.x", ức chế không nào, Chương trình .NET "Thường" chạy chậm hơn so với CT được biên dịch thành mã máy khác (CT .NET thực chất chỉ là j nhỉ ?"Byte code" thì phải, không phải là NN máy).
    + 1 Chương trình MFC có khá hơn, biên dịch thành mã máy, chạy nhanh, cơ động, thuận lợi, nhưng để chạy Ngon trên các máy khác thì phải Build dạng static, khi đó file exe "Phình ra", mình cũng hơi ức chế (Nhưng ko ức = .NET), CT mình có j ghê gớm lắm đâu mà build ra file tính = MB. Chung quy cũng ức chế lắm. e đã từng Build 1 project MFC trong VS2010, e chưa thêm mã,resource gì cả mà đã 8MB. cay cú lắm chứ. Và mình cũng dùng các thư viện Class của MFC nên viết ra soft mình cũng ko "sướng" là bao.
    + Cuối cùng 1 Chương trình Win32API, được mình viết từ a-z, viết xong, build ngon, chạy vù vù, file exe nhỏ nhẹ, đem khoe, được khen chương trình mình cơ động ko cần thêm thư viện nào nữa. Bạn có cảm thấy "Sướng người" không? tất nhiên học API tương đối khó, soft mình viết ra mình quý vô cùng.

    Tốc độ phát triển chuơng trình (Theo mình): .NET > MFC >> Win32API

    -> Theo mình học cả MFC lẫn .NET, API thì mình nghiên cứu thêm thôi, vì bạn học để mai mốt còn kiếm tiền. :">

    p/s: cảm nhận của mình thôi, đừng chém nha các bạn ^^
    Câu nói kinh điển:
    Cái gì cũng hỏi! search google đi!

Các đề tài tương tự

  1. Có nên lựa chọn thiết kế website giá rẻ
    Gửi bởi camnguyen trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 0
    Bài viết cuối: 09-04-2012, 12:40 AM
  2. Vì sao nên thiết kế hệ thống nhận diện thương hiệu
    Gửi bởi thuonghieubmc trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 0
    Bài viết cuối: 27-03-2012, 03:42 PM
  3. Thiết kế dữ liệu cho bảng chấm công nên làm thế nào?
    Gửi bởi Sess_Kakashi trong diễn đàn Thắc mắc Microsoft SQL Server & Microsoft Access
    Trả lời: 3
    Bài viết cuối: 14-11-2011, 10:06 PM
  4. Hỏi công cụ để thiết kế nên một chương trình trên nền webform?
    Gửi bởi duytuyen26 trong diễn đàn Nhập môn lập trình C#, ASP.NET
    Trả lời: 0
    Bài viết cuối: 06-10-2011, 09:56 AM
  5. Mua bản vẽ thiết kế nhà trên mạng nên hay không ?!
    Gửi bởi hamy87 trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 0
    Bài viết cuối: 24-08-2011, 09:49 AM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn