C programming center (C++ với C# cũng ok)

Thảo luận trong 'Lập trình & Đồ hoạ' bắt đầu bởi ipridian_elf, 25/8/06.

  1. ipridian_elf

    ipridian_elf Voyage perdu

    Tham gia ngày:
    19/3/03
    Bài viết:
    5,678
    Nơi ở:
    Earth
    Lập ra 1 chỗ cho anh em nào đang học/đang program/đang bí về C (mainly C) có chỗ thảo luận. C++ hay C# vô đây cũng được cho nó xôm tụ ::)

    Nói chung là bạn có tài liệu, link, hay book recommendation nào hay thì cứ bỏ vào đây ^^ (nhưng mà xem xem đã có ai post chưa). Khi nào bạn có thắc mắc gì thì cứ hỏi tại đây, có lẽ sẽ có ai đó hiểu biết trả lời, hoặc sẽ có ai đó tìm Google hộ link, hỏi hộ, vv...
    Nếu không, bạn cũng có thể vào đây bàn luận về đủ mọi thứ liên quan tới C (hay C++, C#), về các vấn đề về chính C/C++/C#, hay về các ứng dụng liên quan tới nó. Bạn cũng có thể hỏi về những khái niệm mà bạn chưa nắm vững, như OOP (Object-oriented programming), vv..

    Mong là nơi đây sẽ hội tụ các programmer ít ỏi trong GameVN ::)

    Riêng ie, hiện tại ie đang học C, với mục tiêu là có thể đọc và sửa được các code của các chương trình mà ie thường ngày sử dụng. Cũng muốn có thể xem qua và hiểu được cách mà kernel của linux hoạt động. Và vì phần lớn chương trình chạy bằng C nên ie học C. C++ có lẽ ie sẽ học sau ::)

    Hiện tại ie đang dùng 1 quyển sách mượn của bạn, tên sách là Practical C Programming của Steve Oualline xuất bản qua O'reilly. Tác giả này viết rất hay, và quyển này đảm bảo ăn đứt những cái "Learn C in 24 days" hay tài liệu gom góp trên mạng. ie nghĩ có lẽ trên P2P cũng có PDF của quyển này, nếu tò mò bạn có thể tìm !

    Ngoài ra, ie cũng lấy reference nhiều cái từ trên site này : http://www.iso-9899.info/wiki/Main_Page .. biết đến site này qua channel ##C trên freenode, và nơi đó cũng là nơi mà ie thường hay lui tới để hỏi câu hỏi.

    Cuối cùng thì, để bắt đầu C, ie khuyên bạn nên đọc qua bài về C programming language trên wikipedia (en hoặc vi).

    Về C++ thì ie hiện nay không biết nhiều lắm, nhưng nếu có cao thủ nào đó mong được chỉ giáo. ::) (Mong vị đó viết vài câu giới thiệu ^^)
     
  2. viethaihp1992

    viethaihp1992 Imaginative Innova Moderator

    Tham gia ngày:
    28/3/06
    Bài viết:
    3,884
    Nơi ở:
    Hà Nội
    Anh ơi, trong C++ làm thế nào để biến tất cả những gì mình đã lập trình thành 1 file .exe!
     
  3. ipridian_elf

    ipridian_elf Voyage perdu

    Tham gia ngày:
    19/3/03
    Bài viết:
    5,678
    Nơi ở:
    Earth
    Theo như bạn nói thì là file ".exe", có nghĩa là bạn dùng Windows ? Bạn phải kiếm 1 compiler (kèm preprocessor + linker + assembler) và chạy compiler đó, chỉ nó vào cái file .cpp bạn đã tạo, là nó sẽ output ra 1 file .exe (default của gcc là output ra a.out)
    Trên Windows, ip biết là Microsoft có release Visual Studio (hay 1 cái gì đại loại thế .. không nhớ nữa .-.) .. nhưng mà cái đó bản full là payware. Free compiler thì có www.thefreecountry.com/compilers/cpp.shtml .. trong đó cũng có link tới bản express free của Microsoft.

    Còn UNIX/Linux/BSD thì có gcc.
     
  4. MasterGamer

    MasterGamer The Warrior of Light

    Tham gia ngày:
    26/1/03
    Bài viết:
    2,095
    Nơi ở:
    Cần Thơ
    công cụ nào dùng lập trình C/C++ hay nhất????? tui dùng Visual C++ trong bộ Visual Studio 2005 nhưng ko quen...... vì trên đại học dạy toàn dùng Turbo C..... qua VC++ nó báo lỗi ko biết đường dò......
     
  5. tomorrowneverdies

    tomorrowneverdies Bạch Diện Thư Sinh

    Tham gia ngày:
    6/6/02
    Bài viết:
    4,306
    Nơi ở:
    The World Of Games
    Quen dùng trình nào thì dùng 1 cái thôi, tùy mỗi người dùng quen hay không à, như mình dùng quen Visual C++, chuyển qua cái khác dùng cũng được nhưng không quen bằng, sẽ khó sử dụng hơn ^^.
     
  6. ipridian_elf

    ipridian_elf Voyage perdu

    Tham gia ngày:
    19/3/03
    Bài viết:
    5,678
    Nơi ở:
    Earth
    Bạn thử tìm jedit về xem sao ? Riêng ip thì ip quen edit/viết code bằng 1 editor riêng có bôi màu cho dễ nhìn, và compile thử code + chạy code riêng qua Command Line Interface, không biết dùng IDE riêng có tiện hơn hay không ? .. có cái RHIDE cũng có vẻ rất tốt, nhưng khi riêng ip dùng thì có lúc compile code xong bị seg fault.

    Turbo C(++?) với Visual C++ khác nhau ở điểm nào thế, bạn nói cho mình nghe với ^^' ? Mình không quen với công cụ bên đó lắm, nên rất muốn được dạy bảo thêm để hiểu thêm ::)
     
  7. tomorrowneverdies

    tomorrowneverdies Bạch Diện Thư Sinh

    Tham gia ngày:
    6/6/02
    Bài viết:
    4,306
    Nơi ở:
    The World Of Games
    Hê, riêng Turbo C đừng hỏi tớ nhá pipi, tớ chưa dùng nên không biết. Còn Visual C++ (tớ dùng Visual C++ 6 ) sử dụng các trình trợ giáo (minh họa ứng dụng các lớp MFC và Active OLE), nhìn vào khá dễ sử dụng đối với gà mờ như tớ nên tớ dùng :D.
     
  8. Dark_XIII

    Dark_XIII T.E.T.Я.I.S

    Tham gia ngày:
    17/4/03
    Bài viết:
    688
    Tớ thì kết C# và không bao giờ dùng editor, chỉ dùng IDE. IDE tốt nhất trên thế giới là Visual Studio.
    Dùng IDE bao giờ cũng hơn editor. Nó là một môi trường phát triển đầy đủ. Editor chỉ là một phần nhỏ trong 1 IDE.
     
  9. ipridian_elf

    ipridian_elf Voyage perdu

    Tham gia ngày:
    19/3/03
    Bài viết:
    5,678
    Nơi ở:
    Earth
    Ừ, đồng ý là IDE là chương trình đầy đủ và dễ dùng + rất tiện lợi ^^' .. IDE duy nhất mà có lẽ ip thấy hài lòng là Eclipse ::) .. Tuy nhiên vì chưa được sử dụng VS nên cũng không biết được ^^'

    À, ra thế. Nó có minh họa nên dễ nhìn hơn .. ^^'

    Sao Dark lại chọn C# thế ? ::)
     
  10. Dark_XIII

    Dark_XIII T.E.T.Я.I.S

    Tham gia ngày:
    17/4/03
    Bài viết:
    688
  11. satthugiaumat1986

    satthugiaumat1986 C O N T R A

    Tham gia ngày:
    25/9/02
    Bài viết:
    1,506
    Nơi ở:
    The Hell
    Các bro nào cho tớ xin các vd ứng dụng của Pointer trong C# được ko , cả Generic nữa . Thx .
     
  12. Payable

    Payable Youtube Master Race

    Tham gia ngày:
    24/8/06
    Bài viết:
    11
    Dùng Dev-C++ một IDE open source, có cả trên Linux và Windows.
    Tui cũng đang học C++ ^^ lâu nay chỉ viết web app.
    Bây giờ đang tính đổi đất!
     
  13. ipridian_elf

    ipridian_elf Voyage perdu

    Tham gia ngày:
    19/3/03
    Bài viết:
    5,678
    Nơi ở:
    Earth
  14. Payable

    Payable Youtube Master Race

    Tham gia ngày:
    24/8/06
    Bài viết:
    11
    Mới học +_+ Nói chung là còn phải học nhiều lắm, newbie mà +_+
    Lối tư duy khác so với lập trình web, nhiều thứ phức tạp hơn +_+
     
  15. Dark_XIII

    Dark_XIII T.E.T.Я.I.S

    Tham gia ngày:
    17/4/03
    Bài viết:
    688
    C# là ngôn ngữ managed code. Khi biên dịch một trình C# thì chương trình không dịch thẳng ra mã máy mà dịch thành mã IL. .NET Framework sẽ load mã IL này và chạy. Các thủ tục cấp phát, giải phóng bộ nhớ đều do Framework làm. C# không cần phải viết destructor như C++.

    Tui recommend các bạn chọn C# hơn là C++. Hiện tại có thể nói C++ không có được ưu điểm gì đáng kể so với C# kể cả về mặt tốc độ.
     
  16. tutukun

    tutukun Mario & Luigi

    Tham gia ngày:
    15/2/05
    Bài viết:
    749
    Nơi ở:
    Singapore
    tui tưởng là thời gian phát triển 1 phần mềm trên C# nhanh hơn C++, nhưng tốc độ thì C# chậm hơn C++. Hiện nay C# đang khá phát triển vì tuy chậm hơn C++ nhưng thời gian phát triển ngắn hơn-> giảm chi phí
     
  17. Dark_XIII

    Dark_XIII T.E.T.Я.I.S

    Tham gia ngày:
    17/4/03
    Bài viết:
    688
    C# là ngôn ngữ managed code nên muốn truy cập thẳng vào memory phải dùng unsafe.

    C# 1. thì perfomance kém C++ nhưng C# 2.0 thì perfomance vượt xa C++. Bạn có thể tìm đọc series về đua perfomance giữa 2 ngôn ngữ này của trên blog msdn của 2 tác giả Raymond (C++) (fixed windows bug more than you got dinner) và Rico Mariani (C#) (Mr. .NET Performace)

    Code line by line C# vượt qua C++ trong hầu hết các thử nghiệm. Có thử nghiệm còn vượt hơn 3 lần.

    Sau 4, 5 lần optimize C++ bắt đầu ngang ngang C#. Và lần thứ 6 thì bắt đầu hơn. Để được perfomance hơn Raymond đã thực hiện:

    Mà trong thực tế thì không ai làm thế cả.
     
  18. Payable

    Payable Youtube Master Race

    Tham gia ngày:
    24/8/06
    Bài viết:
    11
    Tớ muốn phát triển theo hướng Linux mà :D
    Tớ không khoái các công nghệ của M$, tớ cảm thấy chúng không có sự phóng khoáng.

    Tớ làm việc bằng PHP và yêu thích PHP bởi sự phóng khoáng đó.
    Nếu muốn phát triển một web app trên .NET thì phải tốn cả đống tiền, thư viện ít, không có mã mở...

    Xét cho cùng, khi Vietnam thật sự là thành viên của WTO thì mấy bác C# có mà đói :D
     
  19. Dark_XIII

    Dark_XIII T.E.T.Я.I.S

    Tham gia ngày:
    17/4/03
    Bài viết:
    688
    Hiện tại có thể nói rằng .NET là công nghệ mạnh nhất hiện nay. Nếu sau này do vấn đề bản quyền không thể sử dụng .NET (thực tế có bản express free. developer không phải lo lắng. Chỉ có doanh nghiệp mới tốn tiền mua win+ sql server) thì tôi sẽ chọn Python hoặc Java chứ không bao giờ chọn PHP. 2 languages này chạy được cả trên linux.

    PHP phổ biến là do nó dễ học và rẻ tiền chứ sức mạnh của nó thì thua xa nhiều ngôn ngữ hiện tại.

    .NET thư viện ít? Do PHP support OO quá chậm nên mới nảy sinh ra chuyện phải kiếm library về sài (kế thừa kém). Còn các ngôn ngữ OO trưởng thành đều không phải lo chuyện đó. Namespace của .NET cực kỳ hoàn chỉnh và MSDN luôn luôn là kho dữ liệu 'thứ gì cũng có' của các developer.

    Tính tổng chi phí giữa 2 ứng dụng thì chưa chắc PHP đã rẻ hơn .NET.

    Nếu ứng dụng thuộc loại dễ phát triển. Không cần maintain nhiều thì PHP rẻ hơn .NET

    Nếu ứng dụng thuộc loại enterprise phức tạp thì làm bằng .NET mất 1 tháng PHP sẽ mất 1 năm. -> .NET rẻ hơn.

    Không phải tôi nói mò mà thực ra cũng có dùng PHP rồi. Các ngôn ngữ đã dùng C/C++, Java, PHP, VB.NET, C#. trong số đó C# là nhất.

    Thực ra kể cả C# không dùng được nữa thì với nền tảng trước đây của mình hầu như lập trình viên nào cũng có thể thành thạo một ngôn ngữ (OO) mới trong vòng vài tháng.
     
  20. Payable

    Payable Youtube Master Race

    Tham gia ngày:
    24/8/06
    Bài viết:
    11
    PHP không còn bị điểm yếu về OOP nữa.
    Mô hình OOP của PHP5 là khá hoàn chỉnh rồi (PHP6 sẽ hổ trợ Namespace).
    Python không được hổ trợ nhiều, Java và .NET tồn nhiều chi phí.
    .NET là công nghệ mạnh nhất. Nhưng không phải lúc nào nó cũng là sự lựa chọn tốt nhất.

    Như tôi đã từng lấy ví dụ: PHP được dùng trong cách hệ thống web lớn nhất TG, Yahoo là một điển hình.
    Flickr.com là một ứng dụng web trên php đủ lớn và phức tạp để nói rằng sức mạnh và tính thực dụng của PHP là không thua kém với bất kỳ công nghệ web đắt tiền nào.
    Bạn cứ thử tìm một ứng dụng web trên .NET có quy mô như thế đi?

    Chưa nói thêm là nếu bác yêu thích PHP, bác sẽ thấy nó có những chi tiết hay và linh hoạt hơn hẳn so với các ngôn ngữ "trưởng thành" khác.
    2 trong số đó là các quản lý mảng và object (trong PHP 5) của nó.

    Học PHP dễ à? Tôi thấy học cái gì cũng dễ nếu bác không chịu học chuyên sâu.
    Bác cứ đi gặp 100 thằng tự xưng code PHP được trên Net thì có đên 90% là benginer rùi.

    Một ứng dụng lớn thì vấn đề quan trọng và phức tạp nhất là pattern. Và tất nhiên là vấn đề này không phụ thuộc nhiều vào ngôn ngữ nào cả.
     

Chia sẻ trang này