C# -> C++ poziom zróżnicowania

0

Witam,
ktoś napisał ładny kod w C#, ja chciałbym mieć identyczny tylko w C++. Niestety nie znam się na C# a C++ dopiero się uczę i rozważam wykupienie usługi zamiany jednego kodu na identyczny w C++.
Czy jest to zadanie trudne? Jak ktoś zna te oba języki to czy jest to duży problem? Czy się opłaca? Jak się umówić, żeby nie przepłacić?
Póki co nie chce mi się uczyć kolejnego języka (nie jestem informatykiem - robię to hobbistycznie i C++ mi w zupełności wystarczy), ale zastanawiam się czy jest sens - czy różnice są aż tak duże?
W C# mam wszędzie "public" - nawet nie wiem jak to definiować... Mam czasami wrażenie, że dojście do wszystkiego zajmie mi strasznie dużo czasu i po prostu lepiej to komuś zlecić...
dzięki za pomoc

0

Wszystko zależy od tego, jakiego rodzaju jest ten kod. To jakiś algorytm numeryczny, aplikacja bazodanowa, program operujący na plikach, przetwarzanie grafiki czy jeszcze coś innego?

0

Jeśli to czysty algorytm to właściwie nie ma dużo zmieniania - różnice są w tym przypadku w większości składniowe.

Ale razem z obiektowością pojawiają się schody - trzeba korzystać z innych bibliotek, zmieniać hierarchię klas, męczyć się z zarządzaniem pamięcią itd, itd. W takim przypadku radziłbym to zlecić komuś innemu dobrze znającemu obydwa języki.

0

Jeżeli programujesz hobbystycznie, to C++ nie jest najlepszym rozwiązaniem. Przerzucając się teraz na bardziej ekspresywny język (np. właśnie C#, choć ja bym radził do programowania hobbistycznego Pythona) może się okazać, że za pół roku będziesz w stanie w nim napisać więcej i sprawniej, niż w C++ poświęcając na niego też te dodatkowe pół roku.

Siłę C++ pokazuje dopiero przy odpowiednim wkładzie pracy doświadczonych programistów. Sprawdza się w aplikacjach w których np. 2 razy większa wydajność jest ważniejsza niż 2 razy większy czas (większy koszt) pisania aplikacji. Domowa zabawa szybko się staje trudna jak zaczynasz dostrzegać biedę w bibliotece standardowej i słabą współpracę ze sobą bibliotek zewnętrznych.

0

Dzięki za odpowiedzi. Postanowiłem, że spróbuję jednak zawalczyć i sam rozkminić cały kod :). Przeróbka kosztowałaby pewnie majątek a jak sobie obejrzałem jakiegoś tutoriala to w sumie C# jakoś specjalnie się nie wyróżnia. W razie czego będę krzyczał o pomoc :).

Zjarek napisał(a)

Jeżeli programujesz hobbystycznie, to C++ nie jest najlepszym rozwiązaniem. Przerzucając się teraz na bardziej ekspresywny język (np. właśnie C#, choć ja bym radził do programowania hobbistycznego Pythona) może się okazać, że za pół roku będziesz w stanie w nim napisać więcej i sprawniej, niż w C++ poświęcając na niego też te dodatkowe pół roku...

Nieee, zacząłem już C++ i mi zaczął odpowiadać - już dużo wiem chociaż brakuje mi trochę doświadczenia.

0
Cwaniak napisał(a)

obejrzałem jakiegoś tutoriala to w sumie C# jakoś specjalnie się nie wyróżnia.

No to się pewnie zdziwisz. To są dwa zupełnie różne języki

0
byku_guzio napisał(a)
Cwaniak napisał(a)

obejrzałem jakiegoś tutoriala to w sumie C# jakoś specjalnie się nie wyróżnia.

No to się pewnie zdziwisz. To są dwa zupełnie różne języki

Taa, niestety :(
A może mi ktoś za wczasu wyjaśnić co oznacza taki zapis w C#:

public void nazwa_funkcji(Func<double> typ)

Co to znaczy ten trujkątny nawias?

0

C# zaczął jako klon Javy i jest bardziej podobny do Javy niż do C++, szczególnie starsze wersje C#.

0
Wibowit napisał(a)

C# zaczął jako klon Javy i jest bardziej podobny do Javy niż do C++, szczególnie starsze wersje C#.

No tak, ale czy mógłbyś mi w skrócie napisać co oznacza ten zapis z trójkątnym nawiasem?

0

typ generyczny

0

Parametryzacja klasy generycznej.

Wow, jestem spóźniony o ułamek sekundy :P

0

Dzięki, poczytam o tym :)

0

Konkretnie to jest definicja metody, która w argumencie przyjmuje delegat na metodę zwracającą wynik typu double i nie przyjmującą żadnych argumentów.

0

Dzięki Somekind

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