C++/CLI czy c# - mieszane uczucia

0

Witam. Mam mieszane uczucia co do tych języków, sporo się naczytałem i długo by opowiadać. Chodzi mi o pisanie aplikacji bardziej zaawansowanych, a także, żeby mi się przydał w przyszłości. Czy to będą studia czy też praca. Czekam na wasze wypowiedzi...

0

Domyślam się, że cały czas będzie to dotNet, więc czy jest jakaś istotna różnica? Tylko składnia języka, więc nie rozumiem problemu.
C# ma tylko taką przewagę, że nie wlecze za sobą historycznego ogona.

Jeśli planujesz jednak w przyszłości kodować na inne (lub na wiele) platform to raczej powinno być to C++.

0

Wszystkie języki .NET używają tej samej biblioteki klas, więc różnica nie jest aż tak znacząca.

C++/CLI jest o tyle ciekawy że zamiast 'czystego' kodu pośredniego IL wypluwa tzw. kod mieszany (za wiki: mixed-mode assembly). Jest jedynym językiem .NET pozwalającym na bezpośrednie osadzanie funkcji natywnych. Osobiście mnie to ciekawi i od jakiegoś czasu zabieram się od dowiedzenie się czegoś więcej o nim.

A C#... cóż, C# jest językiem niejako flagowym platformy, więc jest też najbardziej wspierany w różnych kursach i tutorialach. Ma też olbrzymie możliwości. No i jest mimo wszystko popularniejszy niż C++/CLI. Na początek polecałbym właśnie niego, przesiadka na C++/CLI nie będzie wcale bolesna.

0

Podstawowym językiem dla .Net jest C#.
C++/CLI służy do łatwego przenoszenia gotowego "starego" kodu C++ na platformę .Net, do pisania pomostów między kodem zarządzalnym a natywnym, i tym podobnej czarnej magii.
Nie służy raczej do pisania całych aplikacji - od tego jest C#, o znacznie czystszej składni.

0
risen napisał(a)

... żeby mi się przydał w przyszłości. Czy to będą studia czy też praca.

Jeszcze się nie spotkałem z ofertą pracy dla programisty C++/CLI (przynajmniej w Polsce:-))

0
a_s_f napisał(a)

Jeszcze się nie spotkałem z ofertą pracy dla programisty C++/CLI (przynajmniej w Polsce:-))

Cóż, mnie i trzem znajomym się udało. Ale fakt, nie jest to praca w Polsce. ;)

0

Ta ale jak będziesz porządnym programistą C# to i z C++/CLI sobie poradzisz, więc nie widzę problemu :]

W drugą stronę też to działa, chociaż trochę mniej, bo możesz nie umieć/nie mieć nawyku korzystania z pewnych bardziej zaawansowanych funkcji, które C# oferuje

0

No więc ja się was zapytuje, bo z tego co czytałem sporo zamówień itp. przypadają na C-sharpa. A może przerzucić się na c++ i winapi, nie mam pojęcia, doradźcie mi na przyszłość.

@up: no przerzuciłem się chwilowo na C++/CLI to zbytnio większych różnic nie znalazłem

Ah te moje literówki, poprawione

0

@up: no przerzuciłem się chwilowo na C++/CLI to zbytnio większych różnic nie znalazłem

To przerzuć się na natywne C++, zapewniam że znajdziesz różnic od groma.

0

Powiedzmy, że się przerzuce, i co będę miał z tego przyszłość?

0
risen napisał(a)

Powiedzmy, że się przerzuce, i co będę miał z tego przyszłość?

Z twoim podejściem to nie będziesz miał niczego, bedziesz tylko kolejnym studentem, który poszedł na informatyke bo usłyszał że po tym kierunku dobrze płacą a skończysz w Żabce na kasie.

Spróbuj różnych języków i wybierz ten, w którym czujesz się najlepiej. Na studiach i tak bedziesz miał obowiązkowo C++ i/lub Jave .

0
MSM napisał(a)

Wszystkie języki .NET używają tej samej biblioteki klas, więc różnica nie jest aż tak znacząca.

Tak? To zrób aplikację ASP.NET w C++/CLI.

W C# będzie zawsze więcej ofert pracy, bo ma więcej zastosowań, zaś C++/CLI ma tylko jedno. Nie będzie rozwijany i będzie coraz mniej wspierany. To nie jest język, którego jest sens się uczyć. Po prostu programista C# czy C++ sam z siebie go użyje, gdy będzie mu potrzebny.

0

Tak? To zrób aplikację ASP.NET w C++/CLI.
Nie ma problemu...

Nie będzie rozwijany
Kto to powiedział?
Najnowsze VS 2010 w przeciwieństwie do 2008 wprowadziło nowości do C++/CLI. Tylko tego IntelliSense brak..

0
a_s_f napisał(a)
risen napisał(a)

... żeby mi się przydał w przyszłości. Czy to będą studia czy też praca.

Jeszcze się nie spotkałem z ofertą pracy dla programisty C++/CLI (przynajmniej w Polsce:-))

Kumpel robił jeden projekt dla pewnej firmy... Chcieli mieć coś napisane w C++/CLI, on zaczął się tego uczyć i pisać projekt... Strasznie wkurzał go właśnie brak IntelliSense dla języka, przyjrzał się więc wymaganiom i stwierdził, że można to w C# bez problemu napisać. Zgłosił swoją propozycje szefostwu, a tamci uznali, że nie ma problemu. Zapytani natomiast dlaczego szukali kodera C++/CLI, stwierdzili, że tak im ktoś na jakimś forum polecił ;)

0
Azarien napisał(a)

Nie ma problemu...

Skoro nie ma, to znaczy, że będzie tak łatwo i przyjemnie jak w C#? ;>

Najnowsze VS 2010 w przeciwieństwie do 2008 wprowadziło nowości do C++/CLI. Tylko tego IntelliSense brak..

Visual Studio to chyba nie język...

0
a_s_f napisał(a)
risen napisał(a)

Powiedzmy, że się przerzuce, i co będę miał z tego przyszłość?

Z twoim podejściem to nie będziesz miał niczego, bedziesz tylko kolejnym studentem, który poszedł na informatyke bo usłyszał że po tym kierunku dobrze płacą a skończysz w Żabce na kasie.

Spróbuj różnych języków i wybierz ten, w którym czujesz się najlepiej. Na studiach i tak bedziesz miał obowiązkowo C++ i/lub Jave .

Najbardziej to ja ogarniam C, a tak naprawdę jej składnie i nie powinienem mieć problemu na studiach jeśli o to chodzi. Bez niej byłbym zero, byłbym kolejnym delikwentem: "jaką książkę wybrać?", "od czego zacząć". Najlepiej czuje się właśnie w takich jak C, C++ (dziwnie zabrzmi, ale mają klimat) oraz c#(za nowoczesny, ale ujdzie). A więc proponujecie mi przerzucić się na natywne C++, tak ?

0

Visual Studio to chyba nie język...

No więc: W Visual Studio 2010 wprowadzono nowości do składni języka C++/CLI. Lepiej?
Skąd więc wieści, że nie będzie rozwijany, skoro rozwijany jest…

0

Sam piszesz, że nie ma intellisense. Do ASP.NET też nie ma wsparcia w VS. A jak jest z WPF?

0

Co z moją sprawą ?

0

A więc proponujecie mi przerzucić się na natywne C++, tak ?

Nie!, to było tylko tak kontekstowo ;)
C++ jest co prawda obecnie ciągle bardzo popularny, ale kiedyś się to pewnie skończy. C# za to jest tylko trochę za nim ale leci ciągle do góry (przepraszam z góry fanboyów C++ :P )
Nie da się oczywiście przewidzieć przyszłości, ale wróżę większe szanse przy projektowaniu dużych systemów raczej C# (i ogólnie języki VM) niż C++ (i ogólnie natywne, ale wolałbym się tutaj nie rozpędzać).

W porównaniu z C#, pisanie w WinApi okienek to IMO męczarnia.

0

Nie wiem dlaczego, ale zawsze zastanawia mnie pytanie - kto będzie pisał VM jeżeli nie będzie programistów C ;p ? Nie chce wywoływać flamewar, tylko zauważyć, że te języki są uniwersalne i nie. Jak przeczytałem kiedyś w helpie small basica - " w tym języku można napisać kompilator, ale po co ? To strasznie trudne" Tak więc w C++/CLI napisze się to co w C# i odwrotnie, jednak w niektórych zastosowaniach to po prostu niewygodne. Programiści tego i tego będą mieli zajęcie. Tak czy siak to ja np. nie wyobrażam sobie pisania czegoś nie tyle poważnego czy złożonego, a coś nastawione na wydajność i bezpieczeństwo, w C#. Pisałem troszke, jednak naprawdę troszkę i nie widzę co się dzieje w tym języku, w c++ widzę, czasami zabardzo, bo to język pogmatwany, jednak do swoich zastosowań odpowiedni. Porównania C# C++ są dziwne bo dyskutanci przytaczają w rozpaczy czasami niedorzeczne argumenty, co dowodzi, tezy, że te języki zwyczajne ( jeszcze ) nie są porównywalne, bo z innej bajki.

Jeżeli myślisz o czymś co trzyma łape na sprzęcie to ja bym jednak polecał natywne programowanie.

0

Doszedłem do wniosku, że będę na przemian pisać w C# i C++. Do cpp w pewnym temacie polecaliście VS
C++/CLI, lecz teraz po tym temacie zdecydowałem, że rezygnuje. Ciekawią mnie do ce plus plusa dwa kompilatory tj. GNU GCC i Borland C++ Compiler, który polecacie, a może zalecacie jakiś inny. Czekam na wasze sugestie :)

0
risen napisał(a)

Ciekawią mnie do ce plus plusa dwa kompilatory tj. GNU GCC i Borland C++ Compiler, który polecacie, a może zalecacie jakiś inny.

No i stałeś się tym zerem o którym wcześniej pisałeś:

risen napisał(a)

[..] Bez niej byłbym zero, byłbym kolejnym delikwentem: "jaką książkę wybrać?", "od czego zacząć".

Bo pytasz "jaki kompilator wybrać?".

Skoro sobie nie radzisz z podejmowaniem decyzji, to daj se siana. To moja sugestia i jest w temacie.

0

Jak chciałbyś wiedzieć wcześniej pisałem w skryptach, w których do języka od razu był przyłączony kompilator. Przerzuciłem się teraz na te bardziej zaawansowane, w których nie kiedy trzeba wybierać kompilator. A teraz dziwisz mi się, że nie jestem w tym fachowcem ?

Tak w ogóle, chamstwa nie da się leczyć.

0
risen napisał(a)

Tak w ogóle, chamstwa nie da się leczyć.

Myslania też się nie nauczysz: http://rtfm.killfile.pl/#zanim.

0

Generalnie to c gcc miałem mniejszy kontakt ( wiekszy z jego portem na wina ) jednak to nic ciekawego. Z tego co wiem to to wspiera archaiczny standard i generuje żałosny kod, w porównaniu z takim tcc. Co do borlanda - jeśli chodzi o kompilator z buildera 6 to bój się boga ... Pisałem w tym przez pół roku i takie rzeczy jakie on przepuszczał to tragedia była , a i czasami błędnie kompilował. To wina ze jest stary i są nowsze lepsze.Nie wspomnę o debuggerze z buildera 6 bo jego obsługa nie jest bynajmniej intuicyjna, a i czasami zachowywał się podobnie do tego z deva.

Nie wiem z jakiego, może dziecinnego powodu twierdzisz, że nasz wesoło mielący kombajny VS jest bee i w ogóle ale jesteś w błędzie. VS posiada jeden z lepszych kompilatorów, na czele z intelem. Debugger i cała piaskownica to coś wspaniałego. Naucz się korzystać z czegoś więcej niż z F5 to zobaczysz jego moc, bo programista tak naprawdę nie spędza większości czasu na pisaniu programu, a na jego uruchamianiu, usuwaniu błędów i optymalizacji, nie mówiąc o projekcie.

Uruchamianie programów w trybie debuggera jest przede wszystkim bezpieczne. Borland zawieszał mi komputer jak wchodziłem w niekończąca się rekurencję, lub wyszedłem poza obszar alokowanej pamięci. Podobnie dev .. dev właściwie wysypywał się w losowej konfiguracji czasu ;p

0

@risen -

Do cpp w pewnym temacie polecaliście VS C++/CLI

Co prawda w tym nie pisałem (osobiście wolę pisać w czystym C - kompilator tcc - jeśli już muszę coś napisać w C++ używam, o zgrozo, g++), ale VS to podobno najlepsze/jedno z najlepszych środowisk do C++ - w natywnym C++ też da się pisać..

Ciekawią mnie do ce plus plusa dwa kompilatory tj. GNU GCC i Borland C++ Compiler, który polecacie, a może zalecacie jakiś inny.

GNU GCC nie jest na forum specjalnie polecany ;)
Jeśli chodzi o Borland C++ compiler to nie pisałem więc nie wiem. (edit: o, ale lukas nade mną wiedział ;) )
Mógłbyś jeszcze spróbować Code::Blocks.

Bury pajac, jeśli nie masz do tematu nic konkretnego do dodania, to lepiej wyjdź.

Bury pajac, nie obraź się ale mam to samo zdanie - to że ktoś się pyta o kompilator nie dowodzi braku umiejętności myślenia. Spytał się jaki kompilator polecasz licząc że ktoś więcej dotychczas piszący mu coś doradzi. To źle?

0

Widzę, że chwalisz VS C++, ale co z tego jak to jest C++/CLI, a jak wiadomo został już wcześniej opisany. Na to wychodzi, że teraz wszystko jest do bani. Może tak powiem, na jakich edytorach, kompilatorach praktykują studenci?

EDIT: Da się w natywnym? No nie wiem, ja tu widzę tylko, że konsolke w natywie :(

0
MSM napisał(a)

Bury pajac, nie obraź się ale mam to samo zdanie - to że ktoś się pyta o kompilator nie dowodzi braku umiejętności myślenia. Spytał się jaki kompilator polecasz licząc że ktoś więcej dotychczas piszący mu coś doradzi. To źle?

Raz, w sieci można znaleźć choćby coś takiego: http://stackoverflow.com/questions/1114860/which-is-the-best-c-compiler

Dwa, sformułowanie problemu:

Ciekawią mnie do ce plus plusa dwa kompilatory tj. GNU GCC i Borland C++ Compiler, który polecacie, a może zalecacie jakiś inny.

'Ciekawią mnie', wtf? Nie podaje jaka platforma go interesuje, jakie ma wymagania wobec kompilatora (ma szybko kompilować duże projekty, pożerać mało pamięci, produkować najszybszy kod, być najbliżej standardu c++ etc.)?
Jeśli chce być programistą to tak, to źle. Samodzielność uberalles, albo skończy jak bartuś(allegrowicz33 ten od HTMLa i głupich tematów).

0

Przecież projekty win32 , oraz MFC są natywnie kompilowane, podobnie czyste winapi. Pisze w tym wiec wiem, nie wspominając o allegro, sdl z którymi tez miałem styczność,i też sa natywne. Można przecież jeszcze bawić sie takim czymś jak QT w visualu. Naprawdę visual nie ogranicza się do CLR. To potężne narzędzie, które umożliwia pisanie we wszystkim, nawet ten sam kod w mfc mozesz skompilować sobie do windows mobile i na smartphonie właczyć, z tego co się orientuje.Czytałem jednak podkreślam nie sprawdzałem - można pisać także w masm'ie bo jest zintegrowany. Jest jeszcze minaturkowy WTL. Więc wszystko to co oferują inne środowiska, a moim zdaniem w lepszym wydaniu razem z VS. Co prawda nacisk jest na CLR,w obecnych wydaniach VS, jednak nie będzie tak, że będziemy pisać jedynie w językach zarządzanych.

1 użytkowników online, w tym zalogowanych: 0, gości: 1