
Cho hỏi học lập trình mạng ứng dung thực tế là j? cám ơn nhiều

Ứng dụng thực tế là trong xử lý các tình huống về mạng.
Như lập trình các hệ thống phần mềm cho server.
Các phần mềm giao tiếp, kết nối...
Các phần mềm quản lý về mạng...

1. Lập trình mạng và lập trình Web là hoàng toàn khác nhau .Với lập trình mạng bạn phải hiểu nhiều về các giao thức mạng (TCP/IP ,FTP . . .),FireWall .Ngoài ra bạn còn phải biết đến những phần nặng kí hơn như mô hình n-tier ,mô hình bảo mật thông tin (mã hoá bằng mã công khai chẳng hạng hay chống hacker . . .).
2. Về ngôn ngữ lập trình ,trước đây người ta thường dùng C++ ,Java .Giờ đây có thêm một công nghệ nửa là .Net .Các công nghệ của Java và .Net có ưu thế là làm cho lập trình mạng gần giống với lập trình Ứng dụng phi mạng (tức chạy một mình ,không chạy trên mạng).
Nói chung ,lập trình mạng rất rộng và sâu. em đã từng thấy trên thực tế ở công ty alcatel nơi em thực tập rất nhiều kĩ sư lập trình " được gọi là lầp trình mạng rất giỏi " test tại chỗ thì tuyệt vời thậm chỉ trên cả tuyệt vời vì thực ra la họ viết với các ngôn ngữ bậc cao trên 3 lớp trên của OSI và thông hiểu ở mức độ vừa vừa về các giao thức mạng như TCP/IP.. ......chạy phăng phăng nhưng khi áp dụng thực tế thì chết queo vì lắp thêm router mà khi viết cho client sever co router thì lại hoàn toàn khác khi lấy IP lại khác hoàn toàn , do vậy chuyện khả năng lập trình thi đã đành nhưng hiểu biết thật sâu về net là diều không thể thiếu do vvạy chỉ có cách học lập trình và học mạng. Ngôn ngữ chỉ là phương tiện , nếu chắc gốc về thuật toán hay các công nghệ ( ví dụ hướng đối tượng..)thì chuyện chuyển từ C, C++, JAVA, chỉ là chuyện vặt hay thậm chí C# . .NET...... uqan trọng nắm lấy cái gốc và bắt tay vào làm.
Chúc thành công .

Học gì thi học, cũng phai băt đầu tư những vấn đề cơ bản, nền móng vững vằng thì mới xây được nhà cao. Hiện nay có nhiều và rất nhiều các ngôn ngữ lập trình khác nhau, mổi ngôn ngữ đều có những tính ưu việt của nó, nhưng bên cạnh do cũng xuất hiện một số hạn chế, muốn khắc phục các mặt yếu của 1 ngôn ngữ, thì chúng ta phải có sự phối hợp hài hoà giữa các ngôn ngữ, để chúng hoà trộn vào nhau, bổ sung các điểm yếu cho nhau. Nếu một ai đó mới bắt đầu vào nghề lập trình thì trước hết phải học lập trình cơ bản như Passcal, C, Foxpro khi các ngôn ngữ này có thể giải quyết được những bài toàn cơ bản, thì tiếp đó mới xét đến nhu cầu công việc của mình như thế nào, minh có thể làm gì để đối với những gì xung quanh, minh nên học về lập trình phần cứng (lập trình hệ thống, ngoại vi giao diện), phần mềm (CSDL, đồ hoạ, trò chơi), hay là lập trình mạng. Việc lựa chọn hướng lập trình này giúp cho chúng ta có sự lưa chọn đúng đắn, đính hướng sự phát triển lập trình cho bản thân, việc đưa ra quyết định lựa chọn ngôn ngữ lập trình phải xuât phát từ nhiều yếu tố chủ quan và khách quan, yếu tố chủ quan là bản thân mình có đủ khả năng để thực hiện dự đinh của mình không, bản thân mình có những thế mạnh gì khi lựa chọn ngôn ngữ đó, ngôn ngữ đó sẽ giúp được gì cho mình trong những công việc sau này, còn yếu tố khách quan là: liệu mình sử dụng ngôn ngữ lập trình mà mình đã lựa chọn có phục vụ cho công việc của mình không, nó có tính ứng dụng thực tế cao không. Dùng nghĩ là lập trình mạng hay hơn là lập trình phân cứng hay cơ sở dữ liệu, thực ra để thực hiện được một sản phẩn tốt cần phải đáp ứng về phát triển mạng, đồng thới phải có sự quản lý về CSDL, và biết sử dụng cả lập trình phần cứng để kết hợp điều kiển các phương tiên thiết bị. Tuy nhiêu không phải ai cũng có thể thực hiện lập trình trên cả 3 mảng nói trên, mà có làm được thì cũng không thể chuyên sâu được. Theo bản thân tôi môi người chỉ cần đi sâu nghiên cứu một mảng, sau đó tập trung nhau lai mà giải quyết những bài toàn lớn thì hay hơn là tự lực cánh sinh. Muốn nghiên cứu về mạng thì phải biết về một trong các ngôn ngữ như ASP, XML, Java, Dreamware, frontpage...Tuy nhiên Dreamware và frontpage chỉ là ngôn ngữ để thiết kế Web tỉnh, còn muốn làm một trang WEB thật sự thì phải nghiên cứu về ASP, Java,... Còn nếu bán muôn lập trình phần cứng thì nên đi sâu và C -> C++ -> C# -> Visual C++ -> C#.net, còn muốn lập trình quản trị CSDL thì nên đi sâu về Foxpro, Access -> Visual Foxpro, Visual Basic, Delphi, SQL Server, Oracle -> và chuyển lên các bộ .net của nó.
Theo tôi thấy nếu bạn quản lý một mạng LAN có CSDL tập trung thi có thể học VB + SQL server, hoặc Oracle là khá ổn, trong đó VB+ SQL server có thể giải quyết được khá lớn các cơ sở dữ liệu của một cơ quan đơn vị mà bạn công tác, con nêu nâng lên tâm vĩ mô hơn thi nên đi sâu và Oracle. Nếu một cơ quan có 2 nhóm lập trình phần cứng và phân mềm thì cũng khá ổn rồi. Còn phát triển mạng thì các bạn nên phát huy tính kế thừa, đừng nền cái gì cũng phải làm từ đầu. Muốn bắt kịp sự phát triển CNTT của các nước chúng ta phải biết kế thừa những thành tựu đã đạt được, biết áp dụng một cách sáng tạo vào công việc của mình thì bạn sẽ nhanh chóng đuổi kịp thời đại rồi. Mình là một người làm việc trong lĩnh vực CNTT, nhưng mình cũng thấy rất buồn về sự phát triển công nghệ của nước nhà, nó mang tính tự phát nhiều hơn là có qui trình, thiếu tính chuyên nghiệp, nếu chúng ta cứ mạnh ai nấy làm thì không bao giờ tiến bố được. Cần phải có một ai đó có một bài toán vĩ mô, từ đó phân mãnh ra thành các bộ phận nhỏ và chúng ta tập trung vào giải quyết thì mới tiến bộ được. Hay nhin lại xung quanh bạn mà xem, thế giới quanh ta thật rộng lớn có rất nhiều việc phải làm, đừng có là những việc mà chẳng đâu vào đâu cả. Tuổi trẻ của chúng ta có năng lực, có trí tuệ, có đam mê, có khao khát, nhưng có nhiều người trong chúng ta nhìn nhận vấn đề còn rất thiện cận. Cũng có những lúc chúng ta ước mơ quá xa vời, không có tính thực tế. Tôi mong rằng mổi người chúng ta hãy tự nhìn nhận lại bản thân mình xem nhưng gì mình đã làm được, những gì mình chưa làm được, những gì mình cần phải cống hiến cho sự phát triển của công nghệ nước nhà, từ đó nên bắt đầu từ đâu, nên làm gì chúng ta mới có một sự định hướng đúng, để thời gian trôi đi bản thân mình không phải ân hận với những gì mình đã làm đang làm và sẽ làm.