Skocz do zawartości

C++, środowisko, książka - wątpliwości


Naelektryzowany

Pomocna odpowiedź

Witam.

Chciałbym rozpocząć naukę języka programowania dla komputerów, przejrzałem propozycję na innych forach (delphi, pascal, C#, c++, python) a jako że od jakiegoś czasu powoli, ale systematycznie uczę się języka c dla avr. myślę, że dobrym wyborem byłby c++. Mam jednak pytanie: czy nadaje się on do moich zastosowań - przede wszystkim aplikacje okienkowe, obsługa portu szeregowego, protokołu UDP, obsługa analogowego pada-joysticka, nie mówiąc o podstawowych text/combo boxach i buttonach. Czyli zakres niemały. Z tego co słyszałem to w c++ jest coś takiego - podobnie jak w gcc jak biblioteki obsługi danego urządzenia, protokołu. Jednak jakie środowisko mam wybrać, słyszałem, że visual c++ jest fajny (zresztą bawiłem się kiedyś Visual basikiem, nie potrafiłem napisać programu, ale spodobał mi się sposób umieszczenia komponentów w "okienku"). Jednak czy to jest dobry wybór i czy jest odpowiednik pod linixa, z tego co słyszałem to typowo linuksowy jest python, ale jest ponoć trudny...zresztą aplikacje miały by być przede wszystklim na win. Mam też pytanie jak to jet ze środowiskami dla c++, składnia jest taka sama, czy istnieją jakieś różnice?

Proszę też o propozycję książki do nauki, chyba najlepiej od podstaw. Mam możliwość "dostania" dowolnej książki do 50zł brutto.

Dodam, że z racji chęci szybkiego uruchomienia aplikacji do obsługi rs-232 "nauczyłem" się obsługi Multimedia Fusion Developer 2. Jednak skonstruowanie zawiłego argumentu, lub pętli to masakra, tak jak to gdy wracamy do programu po kilku dniach. Niebieskie kropki niewiele mówią a analizowanie programu to MASAKRA!!!

Pozdrawiam

Link do komentarza
Share on other sites

Jeśli zamierzasz czasem pisać coś pod Linuxa, to C++, jeśli nie to C#. IDE - Visual Studio, pod Lina hmm.. Eclipse daje radę (chociaż nie wiem jak tam wygląda sprawa z aplikacjami okienkowymi).

Gotowych bibliotek i komponentów jest mnóstwo, może nie wszystkie w standardzie w VS (nie widziałem nic do obsługi pada), ale wujek Google powinien pomóc.

Co do różnic w składni pomiędzy środowiskami to takich nie ma, ale są różnice w dostępnych bibliotekach.

  • Pomogłeś! 1
Link do komentarza
Share on other sites

Dzięki.

Ten eclipse to widzę potężna maszyna. Zdecydowałem się na C++, jaka książka jest godna uwagi?

Odnośnie pada...wiem, że jest to trochę nietypowe, ale fajnie się steruje robotem poprzez zmianę pwm na mostku proporcjonalnie do odchylenia gałki analogowej. Marzy mi się taki robocik na bluetootha, dlatego pytam, do w Multimedia Fusion był gotowy komponent, który zwracał wynik odchylenia X i Y.

[ Dodano: 27-04-2011, 20:01 ]

Znalazłem kilka książek. Może ma ktoś z forumowiczów którąś pozycję? Która z tych książek najlepsza dla początkującego?

http://margines.pl/index.php?ukey=product&productID=43400

http://margines.pl/index.php?ukey=product&productID=48594

http://margines.pl/index.php?ukey=product&productID=177835

http://margines.pl/index.php?ukey=product&productID=57142

Symfonia jest ponoć bardzo dobra, lecz jest trochę za droga, warto dopłacić?:

http://margines.pl/index.php?ukey=product&productID=48889

A może jest dostępny oddzielnie pierwszy i drugi tom?

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Dziękuję wszystkim.

Jutro zapytam się czy mógłbym dopłacić. Bo sprawa jest taka, że wygrałem w konkursie (technika, informatyka) i nauczyciel nadzorujący postarał się o nagrodę-książkę w granicy 50zł 😋 jako, że nie wiedział co mnie interesuje pozwolił wybrać tytuł.

Mam jeszcze jedno pytanie, czy istnieje jakiś kurs-wprowadzenie do obsługi visual studio?

ten "processing" to może w przyszłości, bo rozumiem, że składnia zbliżona do c.

[ Dodano: 27-04-2011, 22:55 ]

Przepraszam, ale mam jeszcze jedno pytanie.

Czy z książki symfonia c++ dowiem się czegoś więcej niż z pozycji którą posiadam "Mikrokontrolery AVR Język C Podstawy programowania" bo widzę, że rozdziały są prawie takie same.

[ Dodano: 28-04-2011, 14:56 ]

Niestety, książka nie może być droższa niż 50zł, może polecacie coś tańszego?

Link do komentarza
Share on other sites

W książce o AVRach raczej nie ma nic o klasach, dziedziczeniu itp. Podejrzewam, że przez to że są poruszane kwestie specyficzne dla mikrokontrolerów, to również tematy, które się pokrywają w Symfonii będą bardziej rozwinięte.

Link do komentarza
Share on other sites

Ja zaproponuję ci środowisko Qt 4 jest zarówno na windowsa, linuxa czy symbiana. Tutoriali jest sporo i szybko będąc zielonym postawisz aplikację okienkową. Pisze się w C++ ale za pomocą kreatora tworzy się klasy w postaci przycisków okienek itd. Dalej to już tylko powiązania konkretnych okienek. Dokładniej mówiąc przeciągasz co chcesz do okienka a potem dodajesz powiązania pomiędzy obiektami. Świetna sprawa, gorąco polecam. Co do eclipse to również polecam. Stosuję go do AVRków i STMów. Bardzo chętnie współpracuje z procesorami. No i ma możliwości jakie AVR studio nie oferuje(przynajmniej tak było rok temu). Eclipse jest o tyle fajny, że ja piszę w C/C++ współlokator w JAVA, a kolega w PHP i wszystko w jednym środowisku!

Jak przetestujesz Qt4 to napisz jak ci się podoba:)

Link do komentarza
Share on other sites

Witam.

Postaram się odpowiedzieć na Twoje wszystkie pytania, bo o ile na tym forum widnieje jako początkujący użytkownik, o tyle miałem styczność z c++, c#(w gimnazjum grę 2d robiliśmy, a teraz wkraczamy w 3d 🙂) oraz Java(chociaż na niej napisałem tylko kilka prostych aplikacji na komórkę).

Chciałbym rozpocząć naukę języka programowania dla komputerów, przejrzałem propozycję na innych forach (delphi, pascal, C#, c++, python) a jako że od jakiegoś czasu powoli, ale systematycznie uczę się języka c dla avr. myślę, że dobrym wyborem byłby c++. Mam jednak pytanie: czy nadaje się on do moich zastosowań - przede wszystkim aplikacje okienkowe, obsługa portu szeregowego, protokołu UDP, obsługa analogowego pada-joysticka, nie mówiąc o podstawowych text/combo boxach i buttonach. Czyli zakres niemały.

Aplikacje okienkowe, to nauka na jakieś 2 tygodnie ( text/combo box itd.) .

Obsługa portu szer. - nie miałem z tym styczności, ale czytałem, że ogranicza się do podania portu, pinu i odbierania sygnału(mniej więcej 2 godziny nauki).

Protokół UDP - to jakiś tydzień.

Najogólniej mówiąc c++ nadaje się do tego wyśmienicie. Jestem samoukiem, i uczyłem się z "Symfonii" oraz kilkunastu kursów z neta. Polecam neta. Dlaczego ? Bo w symfonii masz aplikacje w dosie (podstawy - pętle, wypisywanie tekstu, obsługa plików, klasy, funkcje), a w necie masz wszystko(przykładowa strona LINK - z niej nauczysz się podstaw)

Jeśli masz możliwość kupienia jakiejś książki to kup coś z programowaniem uC, nie z programowaniem komputerowym(ponieważ na temat uC nie ma tak dużo info na necie jak o tym c++ na kompa)

Mam jeszcze jedno pytanie, czy istnieje jakiś kurs-wprowadzenie do obsługi visual studio?

Szczerze mówiąc nie polecam visuala, ja zacząłem od niego i robił 3/4 za mnie a ja i tak nic nie wiedziałem. Zassji lepiej DevCpp - za darmo i nawet wersja pl jest. Tyle wymagań ile napisałeś to może 100-200 linijek - to naprawdę mało (choć mój największy program miał pół tysiąca linijek - nie chwaląc się 🙂 )

Czy z książki symfonia c++ dowiem się czegoś więcej niż z pozycji którą posiadam "Mikrokontrolery AVR Język C Podstawy programowania" bo widzę, że rozdziały są prawie takie same.

Tak jak napisałem wcześniej, z symfonii dużo nie wyciągniesz, a już na pewno nie o transmisji danych przez port szeregowy.

Na koniec podam jeszcze, że jak opanujesz podstawy c++ z przykładowej strony (podałem wcześniej), poczytasz trochę funkcjach, klasach(chociaż ja żyje i bez nich - tzn. bardzo mało ich używam) oraz o transmisji danych przez port szeregowy to tyle wystarczy(jak się przyłożysz to może i nawet 2 tygodnie).

Mam wielką nadzieję, że pomogłem pisząc tego posta i docenisz to co napisałem, w razie jakichkolwiek wątpliwości pisz tutaj lub na PW. Pozdrawiam.

Link do komentarza
Share on other sites

Szczerze mówiąc nie polecam visuala, ja zacząłem od niego i robił 3/4 za mnie a ja i tak nic nie wiedziałem. Zassji lepiej DevCpp - za darmo i nawet wersja pl jest. Tyle wymagań ile napisałeś to może 100-200 linijek - to naprawdę mało (choć mój największy program miał pół tysiąca linijek - nie chwaląc się )

Właśnie dlatego Visual jest fajny 😋 O ile aplikacje konsolowe spokojnie można w Devie pisać, to układanie formatki okienka wpisując wszystko ręcznie to moim zdaniem porażka 😋

Link do komentarza
Share on other sites

mactro - zgadzam się z tobą, że jest "fajny" ale napisz aplikacje która ma tysiąc linijek w visualu i drugą tą samą w Devie ... Myślę, że jest różnica(pod względem satysfakcji), a te wymagania, które napisał autor tematu można zmieścić spokojnie w 100 - 200 linijkach 🙂. Owszem, dla zaawansowanych programistów visual jest dobry (bo nie trzeba pisać kontrolek itd.), ale ile taki programista wyciągnie, hmmm - bardzo mało, ponieważ On tylko klika w odpowiednie buttony, przenosi je, ustawia nazwę i ew. funkcje dodatkowe, a jego praca z kodem ogranicza się do napisania funkcji którą ma pełnić program po wciśnięciu w/w buttona 🙂. Jeżeli program ma być tylko jednorazowy(nauczyć się c++ dla jednego programu) to nie ma to sensu, lepiej brać Deva i mieć więcej oleju w głowie 😋

edit:

Wcale z tą formatką tak źle nie jest, bo powiedzmy taki program - avrdude. Na moje oko to jakieś 150 linijek kodu - oczywiście szkielet programu, a reszta (jakieś 100) to obsługa portu, odczyt danych *.hex/*.bin i inne. Wole jednak siedzieć w devie niż cieszyć się, że mój program ma kilka tys. linijek kodu, ale visual za mnie pisał 4/5 🤣

Link do komentarza
Share on other sites

Quit, a ja wolę jak stworzenie interfejsu zajmuje mi 15 minut, zamiast kilka razy tyle gdybym robił to ręcznie. A głównym zadaniem programisty jest właśnie pisanie tego co program ma robić po wciśnięciu guzika, jego funkcjonalności, reszta to jest moim zdaniem kosmetyka 🙂

Link do komentarza
Share on other sites

Można to i tak rozumować, wiem, że każdy ma inne poglądy na ten temat 🙂 a ja mam swoje, które wyraziłem w poprzednim poście, ale ja i tak wole Deva 🙂

edit:

Wyszperałem na elektrodzie taki kodzik - w temacie jest napisane, że TEN działa; ma on za zadanie zapalać i gasić diodę 🙂. TU masz link do tematu.

Acha...

do kodu dodałem komentarze 🙂

#include <windows.h>\\dodawanie biblioteki

typedef void _stdcall (*oupfuncPtr)(short portaddr, short datum);// ustawienia portu
int main(int argc, char *argv[]) {

//***********************************************************

//dodanie dll-a - czyli coś jak dołączanie biblioteki
HINSTANCE hLib;
oupfuncPtr OutPort;
hLib = LoadLibrary("inpout32.dll");
OutPort = (oupfuncPtr) GetProcAddress(hLib, "Out32");

//***********************************************************

//naprzemienne zaświecenie i gaszenie leda po wciśnięciu byle jakiego klawisza :-)
OutPort(0x378, 00000001); //wyslanie danej
system("PAUSE");
OutPort(0x378, 00000000); //wyslanie danej
system("PAUSE");
OutPort(0x378, 00000001); //wyslanie danej
system("PAUSE");
OutPort(0x378, 00000000); //wyslanie danej
system("PAUSE");
OutPort(0x378, 00000001); //wyslanie danej
system("PAUSE");
OutPort(0x378, 00000000); //wyslanie danej
system("PAUSE");
OutPort(0x378, 00000001); //wyslanie danej
system("PAUSE");
OutPort(0x378, 00000000); //wyslanie danej
system("PAUSE");
OutPort(0x378, 00000001); //wyslanie danej
system("PAUSE");
OutPort(0x378, 00000000); //wyslanie danej

//***********************************************************

FreeLibrary (hLib); //pozbawienie ramu dll-a wcześniej dołączonego :-)              
system("PAUSE");
return EXIT_SUCCESS;
} .

Proste. Co nie ?

edit2:

Zapomniałbym.. TU masz linka do biblioteki do w/w progsa.

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.