2009-08-01 29 views
9

Tôi nghĩ mình sẽ học C++ tại trường đại học, nhưng có vẻ như bây giờ họ đã gọi C# là ngôn ngữ tiêu chuẩn của ngành.Điều gì sẽ xảy ra trong tương lai của C# trong 10 năm tới?

Tôi chưa bao giờ nghĩ mình sẽ bận tâm với nó, nhưng nó thực sự là một ngôn ngữ rất hay.

Vấn đề duy nhất tôi có ngay bây giờ là tôi bị giới hạn ở nền tảng Windows.

Vì vậy, có thể, khi tôi viết chương trình Windows từ bây giờ, tôi nên thực hành C# thay vì kinh nghiệm WinAPI và C++ trước đây của tôi?

Tôi cũng đã nghe những tin tức tuyệt vời về dự án Mono, và thực tế là C# là một trong những ngôn ngữ kịch bản cho công cụ trò chơi Unity 3D.

Mọi thông tin chi tiết?

Thảo luận mở cho bất kỳ ai!

+3

là một wiki cộng đồng mà tôi nghĩ là –

Trả lời

12

Với Mono, bạn có thể chạy trên Linux và Mac. Mono cũng đang thực hiện phiên bản Mono Touch cho iPhone. Điều này có rất nhiều khả năng trong tương lai. C# đã được khoảng 9 năm và là một phần của .NET. với NET cũng có C + +, F #, VB.NET như ngôn ngữ cũng có sẵn, tôi nghĩ rằng C# sẽ được khoảng một thời gian dài. C# đã trở thành một tiêu chuẩn ISO vào năm 2003, vì vậy nó chắc chắn là một ngôn ngữ tiêu chuẩn. Dường như nó sẽ luôn là một ngôn ngữ hạng hai trên Mac hoặc Linux tho. Một cửa sổ tôi nghĩ nó sẽ ở đó và mọi người sẽ sử dụng nó, nhưng những người khác sẽ có sức đề kháng.

Công cụ trò chơi Unity cho iPhone sử dụng Mono Touch và C# mới, vì vậy nó có thể là cách giúp nhiều người xem xét việc tạo ứng dụng iPhone và sử dụng C# trên nền tảng không phải Windows.

+3

+1. Tôi đã không nghe nói về Mono Touch ... –

+0

http://www.mono-project.com/MonoTouch – SteveM

+0

Có, C# là một "tiêu chuẩn", nhưng MS đã không thực hiện mà tiêu chuẩn và apparantly không thực sự quan tâm trong việc tạo ra các phiên bản C# hiện đại hơn thành tiêu chuẩn. –

4

Tôi nghĩ C# có một tương lai tuyệt vời và sẽ tiếp tục phát triển về mức sử dụng. Mặt khác, tôi sẽ không quá nhanh chóng để thả C++: nó là một ngôn ngữ công nghiệp quan trọng và sẽ tiếp tục trong một thời gian rất dài.

Xem câu trả lời của tôi cho this question để xem suy nghĩ tổng quát hơn của tôi về cách chọn ngôn ngữ để dành thời gian học tập. Bắt kịp với xu hướng ngôn ngữ là một kỹ năng quan trọng lâu dài cho một nhà phát triển.

+0

+1 cho liên kết suy nghĩ chung. –

1

phiên bản tl; dr: tìm hiểu cả hai. sau đó tìm hiểu Đề án. học bất cứ điều gì. Không có "một ngôn ngữ mà mọi người đều dạy và mọi chủ nhân sẽ muốn bạn sử dụng"

Trước khi C#, rất nhiều trường đại học dạy Java. Lisp và Python cũng thường được dạy.

Là ngôn ngữ cấp cao hơn, C#/Java cho phép học sinh hiểu khái niệm cấp cao hơn trước khi hoàn toàn nắm vững các khái niệm cấp thấp hơn, (ví dụ, họ không phải bị cuốn vào không gây ra bộ nhớ rò rỉ trong triển khai Danh sách liên kết đầu tiên của họ để giới thiệu cấu trúc dữ liệu

Cuối cùng, giáo dục CS toàn diện cũng sẽ bao gồm các khái niệm cấp thấp hơn. trong đó C/C++ và đọc mã tháo rời được yêu cầu

cho bản ghi, lớp CS đầu tiên của tôi là SICP trong Đề án, tiếp theo là một loạt các lớp mà chúng tôi được phép chọn C++ hoặc Jav a (và đôi khi Scheme/Perl/khác).

1

Lịch sử cho thấy rằng C# sẽ được sử dụng rộng rãi nhưng có thể với thị phần giảm dần.Hãy xem xét những gì đã xảy ra với tất cả các ngôn ngữ chính mà bạn biết: tại một thời điểm, chúng nằm trong số các mục yêu thích của ngành (COBOL, PL/1, Ada, Basic, C, C++, thậm chí Java) và bây giờ các ngôn ngữ khác đang lu mờ chúng. C# có lẽ sẽ giữ khá tốt; nó được thiết kế tốt và Microsoft có mọi lý do để tiếp tục đẩy nó. OTOH, sau đó nhu cầu của máy tính thế hệ tiếp theo (song song, tính toán phân tán, bảo mật) có thể gây ra ngay cả Microsoft để thay thế nó (chứng kiến ​​IronPython, F #, ...).

Có thể bạn sẽ không thể đoán được sự thay thế một cách dễ dàng tại thời điểm này và nó sẽ vẫn hữu ích trong thập kỷ, nếu không có gì khác vì cơ sở mã lớn sẽ có .

+0

Việc sử dụng C# có thể sẽ tăng thêm trước khi nó bắt đầu giảm. Nó có phạm vi rộng lớn để trở thành ngôn ngữ được quản lý trên Linux, với một triển khai mã nguồn mở hoàn chỉnh. –

+0

Câu hỏi đặt ra là, "C# sẽ ở đâu trong 10 năm". Chắc chắn, sẽ có sưng lên trong 3-5 năm tới. Quan điểm của tôi là sau đó nó sẽ suy giảm. –

6

Tìm hiểu cả C# và C++. Nghe có vẻ như "chọn đúng ngôn ngữ" và do đó tránh những "sai" sẽ giúp bạn tiết kiệm thời gian, nhưng đó là một nền kinh tế sai lầm. Bạn nên đọc lên và chơi với tất cả các thứ tiếng:

Âm thanh như rất nhiều công việc khó khăn cho không có gì, phải không? Sai rồi. Đầu tiên, thật vui. Thứ hai, bạn càng tìm hiểu về các ngôn ngữ khác, bạn càng sử dụng ngôn ngữ ưa thích của mình càng tốt. Rất có thể bạn sẽ có thêm chuyên gia trong một ngôn ngữ, nhưng bạn sẽ có thể sử dụng kiến ​​thức từ tất cả những người khác trong đó - C# đã thực hiện một công việc tuyệt vời trong suốt cuộc đời tích hợp ý tưởng từ các ngôn ngữ khác.

+0

Đề xuất sách hay, tôi cũng sở hữu hầu hết các đề xuất này và thực sự có thể giới thiệu cho họ +1! – Kolky

1

Là một ngôn ngữ, C# sẽ tiếp tục nắm bắt và mở rộng - với các tiện ích mở rộng năng động và chức năng đang phát triển, nó trở nên giống JavaScript hơn Java. Tôi sẽ không ngạc nhiên khi nhìn thấy nó subsume tập hợp các tính năng của MSFT's experimental Axum language để sử dụng đồng thời cao.

Để trả lời câu hỏi đằng sau câu hỏi - Tôi cũng sẽ thêm "tôi nữa!" cho tất cả các bài đăng về việc học thêm ngôn ngữ. Chỉ vì bạn đã biết một ngôn ngữ Turing-hoàn chỉnh, đó không phải là lý do để dừng lại. Các ngôn ngữ khác sẽ cắt không gian vấn đề theo nhiều cách khác nhau và cung cấp cho bạn thông tin chi tiết về cách truyền giải pháp hiệu quả hơn. Và việc có nhiều công cụ hơn trong hộp công cụ của bạn là một điều tốt, thay vì luôn sử dụng cùng một cái búa.

Các vấn đề liên quan