program w c++ napisany w C#

0

spotkałem się z opinią iż dobrze napisany program w c++ jest szybszy niż dobrze napisany program w C#.
i teraz jest moje pytanie:
mianowicie, załóżmy że muszę napisać program w c#...ale chce zrobić to w c++, więc czy da się napisać program główny w c++ a potem "otoczke" do niego w c# i tak żeby to wszystko wyglądało jak by wszystko było w C#? no i oczywiście czy szybkość działania będzie taka jak w C++ czy jak w c#?

0

edit
Dobra, źle przeczytałem. Tak, możesz napisać np. bibliotekę w C++, której potem wrappera napiszesz w C#. Nie jest to według mnie najlepszy pomysł, ale w niektórych (powtarzam: w niektórych) przypadkach będzie się to opłacało.

0

że co proszę?

0

Po ludzku: piszesz biblioteke w c++, w c# interfejs i w nim korzystasz z funkcji udostepnianych przez biblioteke.

0

i ma się rozumieć że będzie to chodziło szybciej niż jakbym wszystko napisał w c# ?

0

Tego nie powiedzialem.

Co wiecej - moge stwierdzic, ze dobrze napisany program w C# bedzie duzo szybszy niz srednio napisany program w jakimkolwiek innym jezyku ;) Kwestia uzytego rozwiazania. Jak problem nie ma byc rozwiazywany w czasie rzeczywistym lub kwestia czasu jest tu srednio istotna to nie martwilbym sie optymalizacja na poziomie wyboru jezyka a optymalizacja algorytmu. Jezyk w tym wypadku jest rzecza 3-rzedna wrecz (zakladajac, ze w ogole nadaje sie do problemu).

0

Napisz se w C++/CLI i będzie gitara.
Korzystasz z dobrodziejstwa .NET tam, gdzie ci wygodnie. Korzystasz z natywnego C++, tam gdzie rzekomo C# jest wolne.

0

c# jest wygodne, i pisz tylko w tym...
A jak ma dzialac szybko to tylko asembler.

0

Idiotów nie sieją, sami się pojawiają... C++/CLI ma siłą rzeczy wszystkie możliwości oferowane przez C#, to dialekt C++ robiący za pomost pomiędzy kodem natywnym a zarządzanym, można w nim pisać niemal równie wygodnie jak w C#. Assembler i szybkość? Gdybyś napisał to 40 lat temu to może nie uznałbym Cię za szczeniaka, który powtarza po wielkich chaxorach. Powiedz Ty mi ile czasu zajmie Ci napisanie jednego większoego algorytmu w assemblerze i zoptymalizowanie go aby był chociaż tak szybki jak ten wygenerowany przez kompilator C++, powiedzmy Intela. Szczególnie algorytmy numeryczne. Umiesz pobić kompilator za sensowną cenę? Udowodnij. Użycie assemblera ma sens jedynie w wypadku pisania skomplikowanych obliczeń z użyciem SSE w przypadku braku sensownej obsługi wektoryzacji w kompilatorze. Już od dawna istnieją takie zabawki jak VectorC, ucz się a za 10 lat może będziesz w stanie dorównać obecnym kompilatorom, problem tylko w tym, że tak sprzęt jak i oprogramowanie się zmieniają - ta wiedza będzie zbędna.

Kolejny powielający mity o wspaniałości assemblera...

0
ten od seksownych napisał(a)

C++/CLI ma siłą rzeczy wszystkie możliwości oferowane przez C# ... można w nim pisać niemal równie wygodnie jak w C#
bezedura,
nie ma inline delegatów, inline linq, foreach, luźnego typowania ...
C# to nie .NET, nie można ich porównać, bo C# to tylko język, a .NET platforma (maszyna wirtualna + biblioteki).

0

adf88:
niemal równie wygodnie
nie oznacza:
tak samo, za pomocą identycznych konstrukcji.

daj na wstrzymanie, wszyscy wiemy, że
C++ to nie C# i są różnice.
C++/CLI to nie C++ i są różnice

wygoda jest porównywalna, zwłaszcza, że wiele tej wygody wynika właśnie z platformy, a nie konkretnych języków na niej hulających. Generalnie, połączenie takie jest IMO wygodniejsze niż wrappowanie biblioteki w C++.

0

Chcę zaznaczyć, aby nie mylić języka z platformą. Platforma daje te same możliwości - bo jest ta sama tu i tu. Możliwości języka są różne, bo i języki różne.

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