Skocz do zawartości

Przejście na C#?


Nirvan

Rekomendowane odpowiedzi

Właśnie zastanawiam się czy nie zacząć porządnie uczyć się tego w miarę nowego języka C#.

Rozważam nad np przepisaniem całego moje remake'a contry na ten język ponieważ na GM działa bardzo wolno.

Spotkałem się z opiniami ze robienie gry w c++ to już przeżytek.

Co wy o tym sądzicie? Jakie macie opinie o tym języku i czy warto byłoby zacząć się go uczyć po w miarę dobrej znajomości GMLa i troszkę c++.

Jak szerokie ma zastosowania?

Odnośnik do komentarza
Udostępnij na innych stronach

Język C++ nie jest przeżytkiem - takim jest dla miłośników managed języków. Gdybym miał bawić się operacjami na pamięci, zdecydowanie wolałbym pisać w C++.

 

Jeżeli jednak chcesz napisać grę w C#, czemu nie, nic/nikt przecież Ci nie zabroni - to jedynie Twój wybór.

Odnośnik do komentarza
Udostępnij na innych stronach

  • Administratorzy

Jak miałeś do czynienia z C++, to C# może się wydawać dziwny, z kolei po doświadczeniach z Javą C# wydaje się bardzo naturalny. Efekty można osiągnąć zapewne podobne, ale czego by nie mówić - w C++ zawsze da się wydajniejszą aplikację napisać (co nie znaczy, ze Twoja gra aż takiej wydajności potrzebuje - mógłbyś jej nawet nie zauważyć).

Odnośnik do komentarza
Udostępnij na innych stronach

  • Filar Społeczności
Jak miałeś do czynienia z C++, to C# może się wydawać dziwny, z kolei po doświadczeniach z Javą C# wydaje się bardzo naturalny.

Potwierdzam, dlatego nigdy się do C# nie przekonałem ;d

Odnośnik do komentarza
Udostępnij na innych stronach

  • Administratorzy

Ale tu mówisz o IDE, a nie o wynikowym pliku. Na iOS C# nie działa, Unity tworzy binarkę w C-Objective tak samo jak GM:Studio. To wcale nie znaczy, że na iOS działa GML, bo nie działa. GM:Next też będzie miał IDE w C#, żeby pod Macami i Linuxem działało.

Odnośnik do komentarza
Udostępnij na innych stronach

Mam wrażenie, że istotą postu HuderLord'a jest pytanie o możliwość pisania w c# na android/windows/ios itp. Można pisać aplikacje przy użyciu c# na ios? Można. Można pisać aplikacje przy użyciu c# na androida? Można. To, że wymaga to trochę pracy i np: użycia pewnych gotowych rozwiązań to już inna sprawa.

Odnośnik do komentarza
Udostępnij na innych stronach

Ja uczyłem się C++ i na początku wydawał się fajny, ale później zauważyłem, że to jednak nie dla mnie. Przesiadłem się na C#. Co mnie zaskoczyło? Wielka mnogość funkcji i możliwości oraz szybkie tworzenie aplikacji okienkowych. Najbardziej spodobało mi się, że wszystko jest klasą. Robi to jakiś porządek w kodzie i w ogóle. Co do gier, ponoć przy pomocy XNA, można całkiem przyjemnie tworzyć gry. Nie wiem jak z wydajnością, bo na razie jeszcze się nie bawiłem, choć mam zamiar to zrobić w najbliższym czasie. Do tego dochodzi znakomite IDE (Visual Studio - Express w wersji darmowej, nawet do użytku komercyjnego).

Na podsumowanie mogę polecić ten język :)

PS. Jak coś to tu masz poradnik, który powinien cię wprowadzić tak na ogół w język. http://4programmers.net/C_Sharp/Wprowadzenie

Odnośnik do komentarza
Udostępnij na innych stronach

Zatem w czystym C# w Visual Studio od Microsoftu (który tworzy C#) jak pan Bóg przykazał nie można.

No ale ja nigdzie nie napisałem, że można bezpośrednio sobie machać w visual'u(pisząc w c#) aplikacje na różne platformy. Trzeba dorwać odpowiednie sdk i można się bawić dalej w tym samym języku. Zresztą jeśli ktoś zna c++ to może pisać w c#/javie itp bez żadnych problemów.

 

"Czy pisanie w tym skazuje od razu na platformę windows + .net? " -

Odpowiadałem na to pytanie.

Odnośnik do komentarza
Udostępnij na innych stronach

Faktycznie źle napisałem to pytanie bo można je uznać dwuznacznie.

Chciałem zapytać czy ucząc się tego c# będę mógł tworzyć aplikacje zarówno na windowsa jak i androida, ewentualnie linuksa?

 

Czyli z tego co zrozumiałem visual c# express odpada i powinienem wybrać MonoDevelop.

Odnośnik do komentarza
Udostępnij na innych stronach

ewentualnie zainteresuj się playstation suite na psvita i telefony andkowe z certyfikatem sony - piszesz w c#, w ichnim IDE.

Odnośnik do komentarza
Udostępnij na innych stronach

  • Administratorzy

Opartym na MonoDevelop tak btw.

 

Tak naprawdę język językiem, a tworzenie na konkretną platformę wymaga znajomosci klas danego frameworka, więc tu bardziej znajomość składni jest potrzebna, bo klas jak wiadomo, mozna sobie napisac nieskonczenie wiele, nieskonczenie różnych. To znaczy, ze ktoś kto programuje 10 lat w C# może mieć problem z napisaniem gry na PS Vita, a ktoś kto programuje dwa tygodnie tylko na PS Vita, moze umieć zrobić więcej od niego, mimo, ze zna język w bardzo małym stopniu. C# jest prosty, bo ładnie podpowiada składnię i jak znasz angielski, to z nazw metod wywnioskujesz co i jak. Zresztą zobacz sobie kod źródłowy mojego programu do czyszczenia GMXów game makerowych: https://bitbucket.org/gnysek/gms-cleaner/src -5 godzin, chociaż połowa rzeczy jest wygooglana, bo klasy XML kompletnie nie znam ;)

Odnośnik do komentarza
Udostępnij na innych stronach

Visual C# jest bardzo dobry. Powinieneś go wybrać na sam początek niezależnie od twojego finalnego targetu. Jeśli poznasz dostatecznie dobrze język, przejście na cokolwiek innego nie będzie żadnym problemem. Ucząc się c# można pisać na linux'a, androida i ios ale może to oznaczać sporo roboty i inwestycje w postaci zielonych papierków. Z drugiej strony po opanowaniu c# praktycznie po kilku dniach można już swobodnie pisać w javie. Wszystko zależy od tego w co celujesz, jeśli w gry to np: c#+unity jeśli aplikacje to np: http://xamarin.com/monoforandroid . Sprecyzuj swoje plany, wtedy łatwiej będzie coś doradzić.

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...