2009-08-01 10 views
9

Myślałem, że będę uczył się C++ na Uniwersytecie, ale wygląda na to, że teraz nazwali C# jako standardowy język.Co będzie w przyszłości C# za 10 lat?

Nigdy nie sądziłem, że będę się tym przejmował, ale w rzeczywistości jest to bardzo przyjemny język.

Jedyny problem, jaki mam teraz, to fakt, że jestem ograniczony do platformy Windows.

Więc może, kiedy piszę programy Windows od teraz, powinienem ćwiczyć C# zamiast mojego poprzedniego doświadczenia WinAPI i C++?

Słyszałem również wspaniałe wiadomości na temat projektu Mono, a także fakt, że C# jest jednym z języków skryptowych dla silnika gry Unity 3D.

Jakieś spostrzeżenia?

Otwarta dyskusja dla każdego!

+3

jest to wiki społecznościowe, które uważam za –

Odpowiedz

12

Z Mono można pracować na systemach Linux i Mac. Mono wykonuje także wersję Mono Touch dla iPhone'a. To ma wiele możliwości w przyszłości. C# jest już od 9 lat i jest częścią .NET. z .NET również posiadającymi C++, F #, VB.NET, jak również dostępne języki, myślę, że C# będzie przez długi czas. C# stał się standardem ISO w 2003 roku, więc zdecydowanie jest standardowym językiem. Wydaje się, że zawsze będzie to język drugiej klasy na Macu lub Linuksie. Myślę, że jedno z Windows będzie tam, a ludzie będą go używać, ale na innych będzie opór.

Silnik gry Unity dla iPhone'a używa nowego Mono Touch i C#, więc może to być sposób, w jaki robi się coraz więcej osób szukających aplikacji na iPhone'a i używających C# na platformie innej niż Windows.

+3

+1. Nie słyszałem o Mono Touch ... –

+0

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

+0

Tak, C# jest "standardem", ale MS nie wdrożyło tego standardu i podobno nie jest naprawdę zainteresowany w tworzeniu bardziej nowoczesnych wersji C# w standardzie. –

4

Myślę, że C# ma wspaniałą przyszłość i będzie nadal rosnąć w użyciu. Z drugiej strony nie byłbym zbyt szybki, by zrzucić C++: jest to ważny język branżowy i będzie trwał przez bardzo długi czas.

Zobacz moją odpowiedź na this question, aby zapoznać się z moimi ogólnymi przemyśleniami na temat wyboru języków do nauki. Nadążanie za trendami językowymi to ważna długoterminowa umiejętność dla programisty.

+0

+1 dla ogólnego linku myśli. –

1

tl; wersja dr: naucz się obu. następnie uczyć się schematu. dowiedzieć się cokolwiek. Nie ma "jednego języka, którego wszyscy nauczają i którego każdy pracodawca będzie chciał użyć"

Przed C# wiele uniwersytetów uczyło języka Java. Lisp i Python są również powszechnie nauczane.

Jako języki wyższego poziomu, C#/Java pozwalają uczniom zrozumieć pojęcia wyższego poziomu, zanim w pełni opanują niższe poziomy, (więc, na przykład, nie muszą się martwić, że nie powodują pamięci przecieki w ich pierwszej implementacji Listą Łączników w celu wprowadzenia struktur danych:

W końcu, dobrze zaokrąglona edukacja CS będzie obejmowała również koncepcje niższego poziomu.Myślę, że większość studentów bierze co najmniej kurs Intro to Computer Systems, gdzie wymagany jest C/C++ i odczytany kod zdemontowany:

dla rekordu, Moja pierwsza klasa CS to SICP w Scheme, a następnie seria zajęć, w których mogliśmy wybrać C++ lub Jav a (i czasami Scheme/Perl/inne).

1

Historia sugeruje, że C# będzie w dużym użyciu, ale prawdopodobnie z malejącym udziałem w rynku.Zastanów się, co stało się z wszystkimi innymi ważnymi językami, o których wiesz: w pewnym momencie znalazły się wśród ulubionych branż (COBOL, PL/1, Ada, Basic, C, C++, a nawet Java), a teraz inne języki je wyłączają. C# prawdopodobnie utrzyma się całkiem dobrze; jest dobrze zaprojektowany i Microsoft ma wszelkie powody, aby nadal go popychać. OTOH, to potrzeby obliczeń następnej generacji (równoległość, przetwarzanie rozproszone, bezpieczeństwo) mogą spowodować, że nawet Microsoft go zastąpi (świadek IronPython, F #, ...).

Prawdopodobnie warto się z tym pogodzić, na podstawie tego, że w tej chwili nie będziesz w stanie odgadnąć zamiennika i będzie on nadal przydatny w ciągu dekady, jeśli nic innego z powodu ogromnej bazy kodów, która będzie .

+0

Wykorzystanie C# będzie prawdopodobnie dalej rosnąć, zanim zacznie spadać. Ma ogromny zakres, aby stać się "zarządzanym językiem" na Linuksie, z bardzo kompletną implementacją open source. –

+0

Pytanie brzmiało: "Gdzie będzie C# za 10 lat". Oczywiście, nie będzie puchnąć przez następne 3-5 lat. Chodzi mi o to, że to się zmniejszy. –

6

Dowiedz się zarówno C#, jak i C++. Brzmi to jak "wybieranie właściwego języka", a zatem unikanie "złych" zaoszczędzi ci czasu, ale jest to fałszywa gospodarka. należy zapoznać się i grać z wszystkich tych językach:

Brzmi jak wiele ciężkiej pracy za nic, prawda? Źle. Po pierwsze, jest fajnie. Po drugie, im więcej dowiadujesz się o innych językach, tym lepiej korzystasz z preferowanego języka. Prawdopodobnie staniesz się ekspertem w jednym języku, ale będziesz mógł korzystać z wiedzy wszystkich innych osób w tym języku - C# wykonał świetną robotę przez całe życie, płynnie integrując pomysły z innych języków.

+0

Dobre sugestie do książek, ja również jestem właścicielem większości z nich i naprawdę mogę polecić im +1! – Kolky

1

Jako język, C# będzie nadal obejmował i rozszerzał - dzięki dynamicznym i funkcjonalnym rozszerzeniom, które rośnie, staje się bardziej podobny do JavaScriptu niż Java. Nie zdziwiłbym się, gdyby skorzystał z zestawu funkcji MSFT's experimental Axum language do bardzo równoczesnego użytkowania.

W odpowiedzi na pytanie kryjące się za pytaniem - dodam też "ja też!" do wszystkich postów dotyczących nauki więcej języków. Tylko dlatego, że znasz już jeden język z Turinga, to nie jest wymówka, żeby przestać. Inne języki będą dzieliły przestrzeń problemową na różne sposoby i dają wgląd w to, jak efektywniej obsypać swoje rozwiązania. A posiadanie większej liczby narzędzi w zestawie narzędzi to dobra rzecz, a nie zawsze używanie tego samego młotka.

Powiązane problemy