Duże aplikacje C++ a C#

Duże aplikacje C++ a C#
2

Cześć,
za pomocą jakich głównie środowisk/bibliotek/narzędzi były dotychczas tworzone duże aplikacje desktopowe (jak np. Microsoft Word, Excel, Access, Corel Draw, Adobe InDesign itd. Czy były one tworzone w narzędziach typu C++ Builder, czy za pomocą MFC, czy jeszcze jakoś inaczej? W ogóle od kiedy Microsoft oferuje narzędzia RAD (.NET) do tworzenia aplikacji? Wydaje mi się, że od niedawna, a widziałem, że aplikacje pisane w MFC to mnóstwo dodatkowego kodu napisanego np. do obsługi okienek itp.
Jak teraz się to przedstawia? Słyszałem, że Microsoft wycofuje wsparcie dla MFC, czy w związku z tym wszystkie te duże aplikacje są teraz przenoszone na C#?

OT
  • Rejestracja:około 20 lat
  • Ostatnio:ponad 11 lat
0

Wszystkie które wymieniłeś prawie na pewno w MFC. Na pewno nie w C# i na pewno nie C++ Builder.

0

OK,
a czy teraz w związku z wycofywaniem wsparcia dla C++/MFC przez Microsoft (czy to rzeczywiście jest prawda) należy oczekiwać przepisania tych programów do C#/.NET? W ogóle, to dziwi mnie, że Microsoft przez tak długi czas nie opracował żadnego narzędzia RAD będąc liderem na rynku produktów desktopowych, pozwalając chyba niepodzielnie rządzić tym rynkiem firmie Borland (jeżeli się mylę, to mnie poprawcie, ale tak czytałem w jakimś artykule). Wymierzanie miejsca, które winien zając odpowiedni przycisk/okienko dialogowe już samo w sobie może zeżreć znaczną ilość czasu, który możnaby przeznaczyć na zdecydowanie bardziej kreatywne rzeczy.
Czy jeszcze w ogóle opłaca się uczyć MFC?

Pozdrawiam

rafal-prog
  • Rejestracja:prawie 14 lat
  • Ostatnio:około 10 lat
  • Postów:106
0

O jezu, chcesz się uczyć MFC? Daj sobie spokój, technologii jest dostatek (lepszych, nowych), po co zajmować się starociem?


OT
  • Rejestracja:około 20 lat
  • Ostatnio:ponad 11 lat
6

Aplikacje kiedyś napisane w mfc są dalej rozwijane w mfc bo jest to tańsze niż przepisywanie ich od nowa. Czasy świetności C++ Buildera i Delphi już dawno minęły, mfc co prawda nie jest wycofywane, ale też rzadko już używane.

byku_guzio
  • Rejestracja:prawie 15 lat
  • Ostatnio:około 7 lat
0

MS nie wycofuje wsparcia ani dla C++, ani dla MFC - wraz z nowym systemem pojawia się uaktualnienie MFC o nowe kontrolki, rozwiązania.
Hmm, w MFC też można sobie wyklikać okienka, zdarzenia, klasy i to nie tak od niedawna, bo z 10 lat jak nie więcej.


0

Jeśli chodzi o buildera to ciekawe projekty w nim mieszczą się tu chociażby :)
Niektóre z nich to naprawdę klasyki

http://www.embarcadero.com/rad-in-action/application-showcase

somekind
Moderator
  • Rejestracja:około 17 lat
  • Ostatnio:2 dni
  • Lokalizacja:Wrocław
5
Marekleo napisał(a):

W ogóle, to dziwi mnie, że Microsoft przez tak długi czas nie opracował żadnego narzędzia RAD będąc liderem na rynku produktów desktopowych, pozwalając chyba niepodzielnie rządzić tym rynkiem firmie Borland (jeżeli się mylę, to mnie poprawcie, ale tak czytałem w jakimś artykule).

:D
Słyszałeś może o Visual Studio? Albo o tym, że Borland jakieś 5 lat temu przestał tworzyć narzędzia RAD?

Czy jeszcze w ogóle opłaca się uczyć MFC?

Nie. Rzadko kiedy można trafić na ofertę pracy w tym.

Na jakiej planecie byłeś przez ostatnie 15 lat?

1

O Visual Studio słyszałem, nawet używam Visual C++ czasami, ale RAD do tego środowiska zostało chyba stworzone stosunkowo niedawno, prawda (razem z C#/.NET)? A mówiąc o tym, że Microsoft przez tak długi czas nie utworzył narzędzi RAD miałem na myśli sytuację wcześniejszą.

O zaprzestaniu rozwijania narzędzi RAD przez Borland coś tam słyszałem, ale jak to teraz jest, to nie wiem, właściwie dlaczego to zarzucili?

Nie jestem programistą :).

Azarien
  • Rejestracja:ponad 21 lat
  • Ostatnio:minuta
0

W ogóle od kiedy Microsoft oferuje narzędzia RAD
Nie każda aplikacja musi być napisana przy pomocy RAD. To jedno.
Wszystkie programy Microsoftu możesz spokojnie założyć że sa pisane pod Visual Studio, w znacznej większości C++, a idąc dalej - w MFC.

O zaprzestaniu rozwijania narzędzi RAD przez Borland coś tam słyszałem, ale jak to teraz jest
Delphi i Buildera kupiło Embarcadero. Tam znajdziesz najnowsze wersje znajomych narzędzi. Resztę Borlanda (to była jakaś reszta?) kupił Micro Focus. Na głównej stronie MF jest link do artykułu “Rich modern COBOL development environment”, czyli to jakiś straszny beton jest.

Wydaje mi się, że od niedawna
wydaje mi się, że wydarzenia sprzed 5-10 lat wydają ci się niedawne. pobudka!

edytowany 2x, ostatnio: Azarien
0

OK, dzięki za odpowiedź.
To, że nie każda aplikacja musi być napisana przy użyciu RAD - jasne, ale po co się męczyć klepaniem kodu, który może szybko zostać wygenerowany przez odpowiednie narzędzia (chyba, że masz na myśli aplikacje, w których w ogóle nie ma okienek, albo są tylko w minimalnym stopniu).
Jakich bibliotek radzilibyście się nauczyć osobie chcącej pisać duże aplikacje desktopowe, w których szybkość działania może mieć istotne znaczenie?
Wydarzenia sprzed 5-10 lat wydają mi się niedawne - no, coś w tym jest, rzadko wychodziłem poza C++ i konsolę :).

Pozdrawiam.

Azarien
„Wydarzenia sprzed 5-10 lat wydają mi się niedawne” — żeby ci uświadomić: wiele osób urodzonych już PO premierze Windowsa XP właśnie kończy podstawówkę.
Azarien
  • Rejestracja:ponad 21 lat
  • Ostatnio:minuta
0

Jakich bibliotek radzilibyście się nauczyć osobie chcącej pisać duże aplikacje desktopowe, w których szybkość działania może mieć istotne znaczenie?
Ostatnio modne jest Qt. Szybkość działania na pewno, bo to natywny C++, a jak się sprawdza to nie wiem, na razie tylko liznąłem na poziomie Hello Worlda.

Shalom
  • Rejestracja:około 21 lat
  • Ostatnio:prawie 3 lata
  • Lokalizacja:Space: the final frontier
  • Postów:26433
1

Jakich bibliotek radzilibyście się nauczyć osobie chcącej pisać duże aplikacje desktopowe

Ja bym raczej odradzał, bo odchodzi się od dużych aplikacji desktopowych (no może oprócz gier)


"Nie brookliński most, ale przemienić w jasny, nowy dzień najsmutniejszą noc - to jest dopiero coś!"
Zobacz pozostały 1 komentarz
Shalom
Powodów są setki. Między innymi: aplikacje webowe generują mniej problemów z kompatybilnością i działaniem na różnych systemach / architekturach, aplikacje webowe mają bardziej intuicyjny interfejs (bo taki do którego użytkownicy są przyzwyczajeni), aplikacje webowe pozwalają na łatwe rozpraszanie przetwarzania, aplikacje webowe pozwalają pracować na bardzo słabym sprzęcie komputerowym i mają bardzo małe wymagania.
Azarien
To napisz przeglądarkę WWW jako aplikację webową.
Shalom
Och jasne, albo system operacyjny? To są bardzo szczególne zastosowania i szansa że ktoś przy tym będzie pracował jest mała bo liczących się firm na tym rynku jest niewiele.
Azarien
każde „zastosowanie” jest „szczególne”. w tej chwili mam otwartych z 10 programów, i tylko jednym z nich jest przeglądarka..
Shalom
A w tej jednej biednej przeglądarce masz pewnie otwarte 100 zakładek z różnymi web-aplikacjami ;)
LO
  • Rejestracja:prawie 20 lat
  • Ostatnio:około 4 lata
0

Hmm może autorowi tematu chodziło o środowisko do takie gdzie wizualnie tworzy się interfejs jak w Delphi/C++ Builder i generuje się pliki exe natywne... Bo faktycznie w Visual C++ Express trzeba ręcznie w WinAPI klepać interfejs, nawet nie ma edytora plików RC (np. okienek dialogowych), natomiast w MS Visual C++ Professional to jest wsparcie dla MFC i wizualny kreator. W MS Visual C++ Express można tworzyć wizualnie interfejs aplikacji, ale już jako aplikacja .NETowa (C++/CLI),a nie stricte natywny exek....

UB
  • Rejestracja:około 17 lat
  • Ostatnio:ponad 7 lat
0

Takiego Photoshopa, nawet pierwsze wersje, nie sądze by tworzyli bez wizualnego edytora kontrolek, bo tam idzie się pogubić w setkach okienek dialogowych.

OT
  • Rejestracja:około 20 lat
  • Ostatnio:ponad 11 lat
0

Photoshop to raczej mfc, przynajmniej te stare (6, 7), były w mfc, nowsze nie sprawdzałem, ale podejrzewam że też.

onliner10
  • Rejestracja:prawie 15 lat
  • Ostatnio:ponad 12 lat
0

Do dużych aplikacji zdecydowanie wybrałbym C# i .NET. Najlepiej, najszybciej, najprościej, no i przyszłościowo. No i Visual Studio - cud,miód, malina -nieporównywalne raczej z niczym innym. Czego chcieć więcej ?
IMHO, wszystko poza .NET'em i Javą , może wyłączając assemblera w bardzo nielicznych zastosowaniach, to po prostu zabawki.

edytowany 1x, ostatnio: onliner10
msm
Z ostatnim zdaniem trochę przesadziłeś (przynajmniej dodałeś imho)...
Azarien
  • Rejestracja:ponad 21 lat
  • Ostatnio:minuta
0

wybrałbym C# i .NET. Najlepiej, najszybciej, najprościej, no i przyszłościowo.
być może, być może i być może, ale co w .Net przyszłościowego?
To już jest od lat teraźniejszość, a nie przyszłość.
Poza tym, nie musi być wszystko koniecznie „przyszłościowe”.

Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)