Wybór platformy programistycznej

0

Witajcie.

Na wstępie proszę o wyrozumiałość. Jestem programistą C++, dotychczas programowałem wyłącznie dla siebie, lecz teraz chciałbym pisać programy dla firm. Pracowałem w środowisku Visual Basic 6 i bardzo mi się podobało, szukam alternatywy dla C++.

Zastanawiam się nad Visual C++, bo z biblioteką QT chyba jest za dużo wysyłku? Proszę o Wasze opinie i porady :)

0

Może napisz jakiego rodzaju oprogramowanie planujesz pisać - łatwiej będzie doradzić platformę.

0
mychal.szczygiel napisał(a)

Może napisz jakiego rodzaju oprogramowanie planujesz pisać - łatwiej będzie doradzić platformę.

Dziękuję za odpowiedź Michale póki co pisze proste programy są to głównie wzory obliczeniowe (np. obliczenie ilości materiałów potrzebnych do produkcji). W przyszłości chciałbym również zająć się poważniejszymi bazodanowymi aplikacjami. (np. podobają mi się programy CDN Optima, Insert Subiekt, ale nie wiem w czym to zostało zakodowane).

0

No to radzę przejście na .Net lub Javę. Pisanie takich aplikacji w C++ nie jest tak wydajne (w kontekście roboczogodzin) jak na wymienionych platformach/językach - jest łatwiej, szybciej i ładniej

0

Istnieje pierdyliard narzędzi służących do pisania aplikacji bazodanowych. Jeżeli chcesz zostać przy C++ możesz zapoznać się z QT(zawiera klasy do obsługi kilku relacyjnych baz danych). Natomiast szybciej stworzysz aplikację bazodanową w np. C#/Java + jakiś ORM - np. Hibernate(wówczas nawet nie musisz dobrze znać SQL-a).

0
stalk3r napisał(a)

No to radzę przejście na .Net lub Javę. Pisanie takich aplikacji w C++ nie jest tak wydajne (w kontekście roboczogodzin) jak na wymienionych platformach/językach - jest łatwiej, szybciej i ładniej

Java jeśli się nie mylę kojarzy mi się z aplikacjami web-owymi, a moi klienci potrzebują desktopowych, więc nie bardzo. NET - co to za środowisko? Ostatnio zrobiło się dość popularne.

0
stalk3r napisał(a)

No to radzę przejście na .Net lub Javę. Pisanie takich aplikacji w C++ nie jest tak wydajne (w kontekście roboczogodzin) jak na wymienionych platformach/językach - jest łatwiej, szybciej i ładniej

Dziękuję Panowie za podpowiedzi, ale chyba będe musiał przetestować na własnym doświadczeniu i wybrać odpowiedni bo wybór jest faktycznie spory :)

BTW: orientujecie się może w czym zostały stworzone wymienione przeze mnie programy (Optima, Subiekt)?

0

Subiekt to C++ i MFC, ale to dość stara technologia i już raczej nieużywana w nowych projektach.

0

Java spokojnie nadaje się na desktopy. W Comarchu zrobili wielką krowę w Javie zajmującą kilkaset mega na starcie, coś wagi porównywalnej z porządnym IDE Javowym. Właśnie jeśli chodzi o IDE Javowe, to są one dostępne jako "klocki" do budowania własnych aplikacji biznesowych, np Eclipse RCP ( http://www.eclipse.org/community/rcp.php ) czy NetBeans Platform ( http://platform.netbeans.org/screenshots.html ). Oprócz tego są np JDownloader, RSSowl, czy inne.

W .NETu pisze się często programy nieprzenośne, korzystające z jakichś niestandardowych ficzerów Windowsa.

0

Piotrze, jeśli chcesz napisać program, który będzie działał dłużej niż dwa lata bez modyfikacji (Vista = 2007, Win7 = 2009), zarówno na Windows XP jak in na Windows 8, a być może i pod Linuxem, to jednak proponuję C++.

Jako platformę GUI możesz użyć wxWidgets:
http://www.wxwidgets.org/about/screensh.htm

Do baz danych polecam na początek SQLite. Zrobisz w tym proste analizy naukowe.
Jeśli będziesz chciał zrobić aplikację dla kilku użytkowników dzielącą jedną bazę danych, to możesz przebierać w systemach baz: PostgreSQL, MS SQL, Firebird SQL.
Najlepiej zastosować bazę która jest w danym środowisku popularna - jeśli to będzie C# (.NET), to MS SQL.

Możesz jeszcze robić aplikacje rozdzielone - część sprzętowa / obliczeniowa - C++. Część GUI - C#.
W C++ można zrobić serwer REST lub HTTP dzięki czemu ekrany będziesz mógł robić w czym będziesz miał ochotę (nawet w Delphi lub Free Pascal).
Ale oczywiście takie łączone technologie to więcej pracy - na ich styku.

0
vpiotr napisał(a)

Piotrze, jeśli chcesz napisać program, który będzie działał dłużej niż dwa lata bez modyfikacji (Vista = 2007, Win7 = 2009), zarówno na Windows XP jak in na Windows 8, a być może i pod Linuxem, to jednak proponuję C++.

Jako platformę GUI możesz użyć wxWidgets:
http://www.wxwidgets.org/about/screensh.htm

Do baz danych polecam na początek SQLite. Zrobisz w tym proste analizy naukowe.
Jeśli będziesz chciał zrobić aplikację dla kilku użytkowników dzielącą jedną bazę danych, to możesz przebierać w systemach baz: PostgreSQL, MS SQL, Firebird SQL.
Najlepiej zastosować bazę która jest w danym środowisku popularna - jeśli to będzie C# (.NET), to MS SQL.

Możesz jeszcze robić aplikacje rozdzielone - część sprzętowa / obliczeniowa - C++. Część GUI - C#.
W C++ można zrobić serwer REST lub HTTP dzięki czemu ekrany będziesz mógł robić w czym będziesz miał ochotę (nawet w Delphi lub Free Pascal).
Ale oczywiście takie łączone technologie to więcej pracy - na ich styku.

Dziękuję za Wasze odpowiedzi :)

Spodziewałem, że wybór platformy będzie prostszą sprawą heh, a wybór jest spooory, nie ukrywam że zaczynam się gubić w tym wszystkim :)

Póki co szlifuje "gołego" C++, i zastanawiam się nad wyborem GUI, wyszperałem gdzieś jeszcze funkcje biblioteczne WinAPI, a może tym się zianteresować czy za dużo z tym jest pracy?

0
PiotrW napisał(a)

Póki co szlifuje "gołego" C++, i zastanawiam się nad wyborem GUI, wyszperałem gdzieś jeszcze funkcje biblioteczne WinAPI, a może tym się zianteresować czy za dużo z tym jest pracy?

Słyszałem, że są ludzie którzy programują w gołym WinAPI, ale chyba to są Ci sami którzy programują okienka w ASM pod Windows...
Do GUI w C++ masz tak: rozwiązania M$: MFC (stare), Windows Forms (ale to C++/CLI), rozwiązania otwarte: wxWidgets, Qt, GTK+/gtkmm, FLTK.

Więcej na ten temat - na jednej stronie tutaj:
http://wtl.wikispaces.com/OtherGuiLibraries

0

WinAPI imho warto się zainteresować. Nie po to, żeby coś konkretnego w tym pisać(bo to mordęga), ale żeby wiedzieć jak to wszystko w systemie działa - to pozwala zrozumieć czemu coś działa tak, a nie jak nam się wydaje, że powinno działać.
Do pisania czegoś sensownego możesz użyć MFC(dość stare i toporne, ale nadal utrzymywane przez MS), lepszym rozwiązaniem może się wydawać Windows Forms(proste i przyjemne, tylko czy jest sens uczyć się C++\CLI skoro do tego dużo lepiej nadaje się C#). Dużo osób poleca Qt(nic o niej nie powiem, bo nie widziałem na oczy).

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