Jestem programistą i mam doświadczenie z kodem natywnym i zarządzanym. Zacząłem od Pascala i C, potem przeniosłem się do C ++ i ostatecznie do C #.
W ciągu ostatniego roku kodowałem prawie wyłącznie w języku C # i straciłem wiele z tego, co przyszło naturalnie, kiedy byłem programistą w C ++.
Kilka tygodni temu, kiedy usiadłem napisać trochę kodu natywnego C ++, znalazłem się po omacku jak powoli dostał ponowne zapoznanie się z zawiłościami, dziwactwa i dziwactw tego wszystkiego. Jestem prawie wstyd powiedzieć, że miałem zupełnie zapomniał, że przechodząc dynamicznie przydzielonego tablicy do funkcji bez również przekazując jego rozmiar będzie oznaczać, że funkcja odbierania miałby nie wiedział jak długo tablica jest.
Istnieje niezliczona ilość artykułów i dokumentów, które porównują i zarządzają kontrastem z kodem niezarządzanym. Wszyscy wiemy, że natywny kod, jeśli jest dobrze zoptymalizowany, może działać znacznie szybciej i lżejszy niż kod zarządzany. Z drugiej strony, kod zarządzany ma moduły wyrzucające elementy bezużyteczne i optymalizujące w czasie pracy specyficzne dla procesora i systemu operacyjnego, które mogą zapewnić natywnemu kodowi uruchomienie jego pieniędzy.
Z technicznego punktu widzenia nie ma wyraźnego zwycięzcy.
Nie ma wątpliwości, że kod zarządzany jest rzędem wielkości łatwiejszym do zakodowania i zrozumienia. Wystarczy spojrzeć na różnicę w liczbie łączy niezbędnych do skonstruowania prostego GUI w C ++ Win32 vs C #.
Powrót w moich rodzimych kodowania dni, głównie pisał symulacje matematyczne, który biegł na superkomputerach. Mieli brzydkie interfejsy CLI i skupiali się głównie na algorytmach. Obecnie piszę w języku C # i produkuję piękne aplikacje GUI, ale zgubiłbym się, gdybym musiał stworzyć coś podobnego kalibru w języku ojczystym. Nawet w ramach takich jak QT, to nadal ma dwa razy więcej czasu, aby stworzyć coś w C ++ / QT niż miałoby to miejsce w języku C #.
Ilekroć widzę kogoś, kto napisał na dużą skalę, w pełni funkcjonalny aplikacji GUI w C / C ++, nie mogę pomóc, ale poczucie lęku i nutą zazdrości.
Jestem ciekawy, jak inni doświadczeni koderzy widzą języki zarządzane i niezarządzane. Czy widzisz kodu zarządzanego jako amator-owski ? Czy widzisz rodzimych programistów jako bardziej hardcore'owych ?