Programowanie - pytania początkującego laika


#1

Edytowano po czasie:
W trakcie trwania debaty w wątku zmieniło się zainteresowanie językiem programowania.
Na starcie była JAVA a reszta wyszła w toku przemyśleń.
Obecnie trwa debata na temat C,C#,CPP i innych - także Javy


Dlaczego wynik to:
nazwa1=88
skoro STRING nazwa1 ma przypisaną wartość AAAAAA??

Jak zrobić by wynik wyglądał tak:
AAAAAAAAAA=88

???


(Fizyda) #2

System.out.println(nazwa1 + “=” + wynik + wynik);


#3

Dzięki, o to chodziło. Kolejna sprawa:

Dlaczego zmiennej byte o nazwie b1 nie mogę dodatkowo przypisać zmiennej liczba1?
Nie idzie ani:
byte b1 = 127 + liczba1
ani
byte b1 = 127 + wynik 1

To było pierwsze.
Kolejna sprawa jest taka że w programie chciał bym stworzyć z tego co już jest 2,3 sekcje które pracowały by na zasadzie podbierania wyniku z poprzedniej.

Chodzi o to że w pierwszej części liczę np. 500+500 i mam wynik,
w drugiej sekcji wynik 1000 mnożę przez 100 a w trzeciej sekcji dzielę przez 10.
Wiem że to zakręcone ale chcę nauczyć się tego by w długim programie coś tam robiącym można było podebrać wynik jakiegoś działania i użyć ten wynik w innym miejscu. Wynik miał by być zależny od poprzednich przeliczeń i wartości.


I ostatnia na dziś już rzecz to czy w języku JAVA możemy (musimy) zapodać wszystkie zmienne jakie będą w całym programie? Zapytanie z naciskiem na wyraz MUSIMY bo widzę że … mam ogromny problem z operowaniem na tych zmiennych.

Czy wszystkie zmienne muszą być w jakiejś kolejności w kodzie np. na początku programu czy mogę dodawać nowe zmienne w innych miejscach np. na końcu programu i użyć ich na początku?
Liczy się jakaś kolejność zapodawania zmiennych czy wyszukiwane są w kodzie po przez nazwę???


(kowgli) #4

Bo to inny typ danych. Kompilator nie pozwoli ci automatycznie rzutować z int na byte, bo potencjalnie wiąże się to z utratą danych. Jeśli jesteś pewien co robisz, rzutuj jawnie, tzn.

byte b1 = (byte) (127 + liczba1);

Oczywiście wynik to będzie cos około -110, bo powyżej 127 wartości zakręci ci się w kółko.

Gdybyś robił w drugą stronę, czyli np. z byte na int to by nie było problemu. Bo int na pewno pomieści.

A tak na boku, jeśli uczysz się programowania od “0” i koniecznie chcesz iść w języki C-pochodne, to z całego serca polecam C#, a nie Javę. Nie chcę rozpoczynać flame war, ale naprawdę jest to przyjemniejsza technologia do programowania.
Pobierz sobie Visual Studio Community Edition i sam się przekonaj.
C i C++ możesz sobie w ogóle darować na początek. C jest archaiczne, C++ strasznie przekombinowane. Oczywiście ma swoje zastosowania, ale na pewno nie jest to dobry język do nauki. Kiedyś w przyszłości możesz do C++ wrócić, ale wątpię żebyś miał potrzebę. Chyba, że chcesz programować silniki gier, albo mikrokontrolery.


#5

Rzutowanie zacznę jak rozkminię coś bardziej wnerwiającego czyli:
[] {} ()
Jeśli jest coś o czym powinienem wiedzieć (tak w skrócie) to proszę o rady.
Chodzi mi o reguły i zasady w których “coś” umieszczamy w []{}()

Jeśli chodzi o C# to też jestem tym zainteresowany ale to z czasem jednak że zacznę także od C bo chcę poznać wszystkie C jednocześnie (wszystkie = C#, C, C++).
Za Javę się wziąłem by się zaznajomić z tym wszystkim bo i tak j.script mnie nie ominie.


#6

[quote=“kowgli, post:4, topic:522385”]
byte b1 = (byte) (127 + liczba1) [/quote]

Nie potrafię tego zrozumieć.
(zmienna) byte (o nazwie) b1 (ma wartość) = (byte) (127 + liczba1)
te (127 + liczba1) kapuję ale co wykonuje samo (byte) i dlaczego jest w nawiasach?
Co robi te (byte) ??


(Fizyda) #7

No to Cię trochę zmartwię, Java i JavaScript to dwa zupełnie odmienne języki mające ze sobą wspólne tylko 4 litery - Java i nic więcej.
Podobnie sytuacja ma się do języków C, C++ i C# o ile jeszcze w przypadku C i C++ można mówić o jakimś podobieństwie i są mniej więcej takie same mechanizmy to C# to coś zupełnie innego niż dwa pozostałe.

To nie jest coś specjalnie trudnego, nawiasy kwadratowe to operator dostępu do tablic, klamrowe w nich umieszczasz najczęściej definicję funkcji, klasy lub metody ewentualnie elementy tablicy, okrągłe służą do odróżnienia nazwy zmiennej od nazwy funkcji/metody i w nich podajesz ewentualnie argumenty funkcji, występuje zarówno w wywoływaniu jak i deklaracji.

W tym przypadku jest to rzutowanie, liczba1 była typu int dodałeś do niej 127 i nadal masz inta, aby móc zapisać go do innego typu, w tym przypadku byte rzutujesz z jednego typu na drugi. Poczytaj o rzutowaniu typów.


#8

Książki trochę źle piszą. Niby są dla początkujących, niby podstawy a tak naprawdę musisz już coś wiedzieć by w ogóle zacząć. Nie mam tu na myśli siebie bo już coś tam wiem lecz czasami zastanawiam się nad tym w jakiej sytuacji stoją młodzi ludzie. Skończyła taka osoba podstawowe klasy, poszła do jakiegoś liceum/technikum o profilu informatyk/programista. Zastanawiam się od czego nauczyciel zaczyna naukę takiej osoby. Wyobraźmy sobie że młody człowiek dopiero na starcie szkoły średniej zakupił sobie dobry PC. Pierwszy raz w życiu ma styczność np. z linuksem. Pierwszy raz w życiu ma hurtową styczność z programowaniem. Od czego zaczynają w szkołach w dzisiejszych czasach?
Przecież by zostać programistą np. jakiegoś sprzętu sterowanego cyfrowo - dobrym programistą - to tak praktycznie bez matmy, fizy, chemii i elektroniki nie ma szans być kimś dobrym w przyszłości.
Sama informatyka to nic. Samo programowanie także jeśli nie wie się co chce się robić.
Z podstawowej tematyki niby to programowania robi się tak szeroki zakres że bywa pewnie tak że sporo młodych głów po prostu wysiądzie z czasem.
Drugie dziwne pytanie to mnogość języków. Czy oby przypadkiem nie jest tego za dużo?
Zastanawiam się czy jest coś czego nie da się zrobić w C# mając do dyspozycji C# i C++.

Wyobraźmy sobie teraz że na warsztat dostajesz samochód. Samochód naszpikowany elektroniką.
Jako programista masz zadanie stworzenia oprogramowania sterującego silnikiem.
Oprogramowania działającego w różnych warunkach.
I teraz - warunków tych jest w ciul i jeszcze trochę!

Najgorsze jest to że brakuje mi w tym wszystkim kilku rzeczy i ogólnie mówiąc nie bardzo też wiem od czego zacząć. Za javę wziąłem się ze względu na to że to praktycznie język w pierwszej dziesiątce który jest programiście potrzebny. Nie znasz Javy = jesteś cienki ale czy tak naprawdę jest ona aż tak potrzebna?
Jeśli o mnie chodzi to opieram się na przeszłości. W latach mojej świetności szkolnej że tak powiem królował niestety Basic. W szkołach średnich w latach 80-90tych praktycznie mało kto miał styczność z C i C# a jak już miał to w podstawach które w efekcie końcowym nic nie dawały. Proste programiki z przeszłości to o wiele za mało.
Wiesz czego mi brakuje w tym wszystkim?
Prostoty Basica czyli komend: IF, GOTO
Jeśli “coś” tam (IF) jest mniejsze/większe/równe/pełne/puste czemuś “tam” to rób to GOTO (idź do) i tutaj było prościej. Program działał w/g numeru linii. Takich linii było czasami tysiące ale jakoś prościej to działało.
Programowałeś sobie w taki sposób:

1 jeśli wynik działania jest =0 goto 100, jeśli wynik >0 goto 200, jeśli wynik <0 goto 300
(goto 100 = idź do linii 100 i wykonuj dalej)

Można było w bardzo łatwy sposób nawigować po całym kodzie i używać tych samych linii wiele razy na zasadzie odnośnika IDŹ DO (GOTO)
Można było zapętlić zadanie i oczekiwać wyniku na zasadzie zmiany jakiejś zmiennej
czyli jeśli jakiś wynik = 0 lub <0 można było zapętlić i program się wykonywał do czasu uzyskania
wyniku >0 i wtedy szedł dalej.
Mam tu na myśli programowanie WEJŚĆ/WYJŚĆ w przypadku w którym jakiś układ elektroniczny np. nie dostaje sygnału ot by głupi pomiar temperatury na zasadzie oporności. Po przekładce analogu na cyfrówkę procesor dostanie pewne napięcia które zmieni na kod.
Gdy na wyjściu będzie występowała np. tylko 1 (jedynka) zamiast 0 (zera) program ma możliwość widzenia temperatury dodatniej bądź ujemnej i wtedy wszystko jest proste bo dochodzi funkcja IF:
IF t1=>0 goto 1000
IF t1<0 goto 100

Są dziś ludzie którzy powiedzą że Basic był ciężki i za cienki. Może mają w tym sporo racji ale kiedyś nie było takiego softu jak dzisiaj.

Powiem szczerze że jeśli o mnie chodzi to będę czuł się jak ryba w wodzie dopiero gdy będę umiał czytać kod ze zrozumieniem i to 100%. Dziś wiem też jedno że Javę będę studiował po godzinach a wezmę się za dalszą naukę C#.


(kowgli) #9

Trudno to było 25 lat temu, jak nie było za bardzo internetu, tutoriali, forów itd. Człowiek studiował powiedzmy oryginalną książkę o C++ Stroustrupa, pisał jakieś programy, bez kontaktu z resztą świata.

Jeśli już teraz narzekasz na mnogość języków, to wiedz że będzie tylko gorzej. Dopiero jak się zaczniesz wgryzać w jakąś technologię zobaczysz ile jest wyborów, różnych architektur, bibliotek, metodologii, wzorców itd. Programuję głównie w C# zawodowo od ok. 15 lat. Wcześniej od nastolatka bawiłem się w kodowanie. Wiem jedno, parafrazując Sokratesa, im więcej wiem, tym mniej wiem. Mimo ciągłej nauki. Wynika to 1. z ciągłego pojawiania się nowych rzeczy, 2. odkrywania kolejnym warstw cebuli.

Z tego co wnioskuję jesteś na etapie nauki “liczenia do 10”. Jak dojdziesz do mnożenia, zrozumiesz czemu nie używa się BASICa.


(Fizyda) #10

Oczywiście że jest, np. sterowniki systemowe, systemy embeded i wiele innych.

Zadaniem programisty nie jest znanie wszystkich języków programowania z pierwszej dziesiątki popularnych. Niektórzy przez całe życie znają tylko jeden język programowania i sobie w życiu radzą.

Pierwsze słyszę, ja osobiście to za Javą nie przepadam - całym środowiskiem bo sam język jest jak każdy inny który bazuje na składni C. Ogólnie większość języków jest do siebie podobna, największe różnice wychodzą w całym środowisku programistycznym skupionym w okół konkretnego języka.

Nie dziwie się ponieważ C# został opublikowany w 2000 roku, a uczono w tamtych czasach basica bo była to nowość promowana przez Microsoft i wszyscy wiązali z nim wielkie nadzieje. C/C++ nikt nie uczył dobrze i nadal nie uczy dobrze bo są to języki niskopoziomowe czyli takie do których trzeba naprawdę dobrze umieć programować i mieć świadomość co się dzieje pod maską tych języków i co najważniejsze do czego służą niektóre rzeczy w tych językach. Nie oszukujmy się nie ma dobrych nauczycieli programowania w szkołach średnich, w większości przypadków są to osoby znające ogólnie całą informatykę po łebkach, najbardziej lubiące się w administracji systemami/sieciami bo to chyba najprostsze z pozoru, a przynajmniej na podstawowym poziomie nie wymagające myślenia bo wystarczy czytać tutorial i wklepywać coś na kompie zgodnie ze wskazówkami. Więc są to najczęściej osoby które nigdzie indziej nie znalazły zatrudnienia. Osobiście znam tylko 1 wyjątek.

Komendy typu goto to są komendy które wprowadzają najwięcej bałaganu w kodzie i powodują najwięcej błędów i problemów. Dlatego zamiast goto powstały funkcje które robią podobną robotę, ale w dużo bardziej elegancki i czytelny sposób. A co do ifa to przecież występuje on w każdym języku programowania i praktycznie w takiej samej postaci, więc totalnie nie rozumiem tutaj Twoich argumentów.


#11

Tu akurat sam nie jesteś. [quote=“Fizyda, post:10, topic:522385”]
Zadaniem programisty nie jest znanie wszystkich języków programowania z pierwszej dziesiątki popularnych. Niektórzy przez całe życie znają tylko jeden język programowania i sobie w życiu radzą.
[/quote]

To chciałem usłyszeć. [quote=“Fizyda, post:10, topic:522385”]
Nie oszukujmy się nie ma dobrych nauczycieli programowania w szkołach średnich, w większości przypadków są to osoby znające ogólnie całą informatykę po łebkach,
[/quote]

Czyli ja

Można prosić o jakieś łopatologiczne przykłady?
(Bardzo łopatologiczne) bo nie ukrywam że…

… że tu ma “gość” sporo racji, niestety…


Javkę chwilowo sobie darowałem tak jak już wcześniej wspomniałem.
Pozostał temat wyboru C,C++ i C#.
Mówi kolega że C# powstał stosunkowo niedawno.
Są też tacy którzy mówią że samo C jest już za stare.
Wychodzi na to że zostaje mi C++ by poznać to od każdej strony czyli od początku oraz C# jeśli mam zamiar programować jakieś układy
Dobrze myślę?
Podczas takiego myślenia powstają pytania a jedno z nich: co jest wart programista znający na blachę tylko C/CPP?
Nie ukrywam że łatwiej by mi było dorwać się jednego języka i uczyć tylko jednego. Nie ukrywam tez że jest tego tyle że ocipieć idzie.
Mam tu na myśli to że nie trafiłem jeszcze na książkę która wprowadzała by w świat programowania od samego początku! Zawsze temat zaczyna się od budowy pierwszego programu stąd powstał ostatnio problem z głupimi klamrami. Nikt tez na wstępie nie pisze nic o historii języka, co dzięki niemu powstało, gdzie się tego używa, kto tego używa i masy innych.

W mojej głowie mam dziwny syf. Nazwę to syfem bo i tak nikt prócz mnie tego nie kuma.
Jeśli już biorę się za programowanie to w głowie układam całość.
Chcę “czuć” całość!
Taki burdelnik można porównać z budową domu!
Widzimy w myślach działkę, na działce fundamenty, na nich stawiamy ściany, później strop, piętro, strop, dach… a na działce masę innych. Taki schemat obrazuje całość.
W języku programowania mam jednak problem z wybudowaniem czegoś takiego ale winą jest pewnie to że po prostu nie umiem wbić łopaty (brak znajomości komend i składni) oraz tego co te komendy czynią.
Jest gdzieś spis takowy? (dla C#)

PS. Znacie coś dobrego do disassemblig’u?
Chodzi o małe programiki pod DOSa by dobrać się do kodu i pouczyć…


(kowgli) #12

Dokładnie odwrotnie. C++ sobie daruj. Jest to fatalny język do nauki programowania. Zbyt wiele naleciałości historycznych, mnóstwo sposobów na zrobienie tego samego, pokręcona składnia, manualne zarządzanie pamięcia. Jest to język super potężny i uniwersalny, jednak często mały praktyczny i niepotrzebnie skomplikowany.
Jeśli chcesz poznać na czym polega programowanie obiektowe, z elementami funkcyjnego, ucz się C#, od biedy Javy.

Podczas takiego myślenia powstają pytania a jedno z nich: co jest wart programista znający na blachę tylko C/CPP

Wątpię, aby była na świecie taka osoba. Pytanie też, czy rozumiemy też to samo przez “na blachę”. Sama składnia języka to może 5% zagadnienia jakim jest programowanie. Jest cała kwestia architektur, wzorców, bibliotek, frameworków, optymalizacji, algorytmiki, struktur danych, … itp. itd.
Uczenie się całej składni języka na blachę jest absurdalne. Waźne, żebyś dobrze znał te 50%, które wykorzystujesz na codzień. Resztę zawsze możesz sobie wygooglać, przekopiować. Szczególnie w przypadku takiego języka jak C++, gdzie składnia jest naprawdę mega złożona i różnorodna, uczenie się jej w całości na pamięć jest zupełnie bez sensu.
Patrząc pod kątem przyszłego zatrudnienia - porównaj sobie liczbę ogłoszeń o programistę C++, z tym dla .NET, czy Javy… sam dojdziesz do wniosków, czego warto się uczyć.

Mam tu na myśli to że nie trafiłem jeszcze na książkę która wprowadzała by w świat programowania od samego początku!

Dziwne. Jest mnóstwo książek o programowaniu dla początkujących. Zobacz sobie chociażby tutaj - https://www.amazon.com/s/ref=nb_sb_noss_2?url=search-alias%3Daps&field-keywords=c%23+for+beginners. Poczytaj recenzje, poprzeglądaj książki. Na pewno coś znajdziesz.

PS. Znacie coś dobrego do disassemblig’u?

Zadajesz pytania od sasa do lasa. Sam już nie wiem, czy po prostu nie trollujesz. Skup się na jednym. Jeśli chcesz do tego podejść naprawdę na poważnie zapisz się na jakieś studia zaoczne / zdalne.


(Fizyda) #13

Przykład w postaci pseudo kodu poplątanie C/C++ z niczym, przykład z GOTO:

// jakis kod

int x = 0;

cin >> x;

if (x > 10)
	goto wiecejniz;
else
	goto mniejniz
	
gdzisdalej:

cout << x;

goto koniec;

wiecejniz:
int y = 0;

cin >> y;

if (y <= 9)
	x = y;

goto gdzisdalej;

mniejniz:
if(x % 2 == 0)
	cout << "Liczba parzysta";
else
	cout << "Liczba nieparzysta";
	
goto gdzisdalej;

koniec:
	cout << "Miłego dnia ;)";

// jakis kod

a teraz jak to można byłoby zrobić przy pomocy funkcji:

// jakis kod

int main()
{
	int x = 0;

	cin >> x;

	if (x > 10)
		x = wiecejniz(x);
	else
		mniejniz();

	cout << x;

	koniec();
	
	return 0;
}

int wiecejniz(int wartosc)
{
	int y = 0;

	cin >> y;

	if (y <= 9)
		wartosc = y;
		
	return wartosc;
}

void mniejniz()
{
	if(x % 2 == 0)
		cout << "Liczba parzysta";
	else
		cout << "Liczba nieparzysta";
}


void koniec()
{
	cout << "Miłego dnia ;)";
}

// jakis kod

Zysk jest taki, że mamy wyraźnie wydzielone bloki powtarzających się fragmentów kodu (funkcje), można by powiedzieć, że tam gdzie wywołujesz daną funkcję wklejasz kod który jest w jej ciele - pomiędzy { i }.

Są firmy i sytuacje w których pisze się tylko i wyłącznie w C - np. w Intelu sterowniki, sporo systemów embeded powstaje właśnie w C bo C++ jest zbyt bałaganiarski.

Jeśli masz na myśli jakieś raspberry pi to z tego co wiem C/C++, jeśli chciałbyś zrobić własnego np. robota który miałby choćby tylko jeździć po wyznaczonej linii czyli tym samym kupić jakiś mikrochip i go zaprogramować to chyba tylko i wyłącznie nadaje się do tego C, być może C++ też ale może być to zależne od modelu chipa oraz tego co producent udostępnia do jego programowania - środowisko.
Ogólnie mało wiem na ten temat bo nie interesuję się nim za specjalnie, ale w specyficznych chipach może dość do sytuacji gdzie część kodu będziesz musiał nawet napisać w assemblerze - najniższy poziom programowania. Jednak wydaje mi się że C/C++ to standard w takich zastosowaniach.

Ja zawsze polecam do NAUKI PROGRAMOWANI (nie mylić z nauką konkretnego języka - środowiska) Symfonie C++ Jerzego Grębosza. Moim zdaniem najlepsza polska książka wprowadzająca w programowanie, również dużo lepsza od zagranicznych pozycji, ale tylko tych tłumaczonych na język polski. Na pewno znajdą się równie dobre jak i nie lepsze książki napisane po angielsku uczące programowania, ale jest sens po nie sięgać tylko w oryginalne. Z doświadczenia wiem, że książki o IT tracą naprawdę dużo treści i na czytelności w momencie tłumaczenia. Wynika to z faktu iż tłumacz nie jest osobą techniczną obeznaną z daną dziedziną i często źle przekłada niektóre elementy książki zatracając sens. Tutaj jest to książka pisana w stylu zachodnim ale po polsku, jak zresztą sam autor o tym wspomina.
Historii języka raczej nie będziesz miał opisanej w żadnej książce, jeśli jesteś tego ciekaw to Wikipedia jest chyba najlepszym źródłem informacji w tym temacie.
Jeśli zdecydujesz się na tą książkę szukaj najnowszego wydania (chyba IV), jest duża różnica pomiędzy III a IV bo opisują inny standard C++. Książka ta uczy programowania i dodatkowo języka C++, więc jest w miarę uniwersalna, aczkolwiek są to tylko podstawy C++ i środowiska z nim związanego - może z 10% wszystkiego.

Nie ucz się z czegoś co już od lat jest przestarzałe bo to nie ma sensu i niczego dobrego się nie nauczysz. Poszukaj sobie lepiej na githubie jakiś fajnych projektów i przeglądaj ich kod jeśli jest to satysfakcjonująca dla Ciebie forma nauki.


#14

Dzięki za porady. Poczytam, zaznajomię się i od jutra pewnie się zacznie. Zacznę od C i równolegle C#.
Książki które chcę kupić znalazłem takie:
Tomasz Francuz - Język C dla mikrokontrolerów AVR - 712str. - 2015
Jennifer Greene, Andrew Stellman - Rusz głową C# - 912str. - 2014
Stephen Prata - C++ Szkoła Programowania - 1200str. - 2012
Marcin Lis - Praktyczny kurs C# - 416str.

Prata pewnie ma też coś pod samo C.
Grębosza też poszukam. O tym mowa? http://helion.pl/ksiazki/symfonia-c-standard-programowanie-w-jezyku-c-orientowane-obiektowo-tom-i-i-ii-jerzy-grebosz,a_006w.htm


(kowgli) #15

Moim zdaniem książki te są tak rozstrzelone tematycznie, że nie ma to sensu. Zdecyduj się, czy chcesz programować mikrokontrolery, robić aplikacje biznesowe, strony WWW, czy cokolwiek innego i się na tym skup.
Teraz to jest tak jakbyś chciał się jednocześnie uczyć grać na flecie, skrzypcach i fortepianie, jednocześnie studiując fizykę fali dźwiękowej.
Nic się w ten sposób nie nauczysz. Od kupowania książek zresztą też nie. Na pewno przeczytasz te 2500 stron :wink: Na pewno…

Moim zdaniem… przeleć jakąś książkę uczącą programować na podstawie C#. Później pobaw się w robienie prostych aplikacji, typu kalkulator, baza danych kontaktów, jakaś prosta gra typu PacMan, … Dopiero jak będziesz miał podstawową praktykę czytaj kolejne książki dot. bardziej zaawansowanych zagadnień. Szczególnie bardziej uniwersalnych, jak np. “Pragmatyczny programista”, czy “Czysty kod”.


#16

Ja napisałem kupić???
eeehhhh… wymskło mi się

Pierwszą rzeczą na jakiej chciał bym się uczyć to Atmega32. Na początek system alarmowy.
Prosty, zwykły alarm (auto/dom/firma) i na początek sterowany z klawiatury (przyciski WE/WY).
Po czasie chciał bym przenieść sterowanie na PC (jakaś aplikacja + RS232). Później sterowanie i obsługa zdalna. Chcę też pobajerzyć z np. komputerem pokładowym samochodu, jakaś stacja pogodowa, cyfrowy pozycjoner anteny satelitarnej i masa innych.
Ogarniam sprzęt i inne. Brakuje mi zabawek typu Atmega i znajomości języka by to połatać.


(Fizyda) #17

Tak dokładnie o tą, w poprzednich postach pomyliłem wydania.

Co do reszty to zastanów się co chcesz robić C/C++ to inne zastosowania niż C# i inne języki. W C# nie zaprogramujesz żadnego mikro kontrolera w łatwy sposób. Owszem pewnie się da, tylko po co kombinować od dupy strony.
Ja bym kupił na Twoim miejscu od książki do nauki programowania, może być np. w C++, jak ogarniesz temat i dowiesz się o co chodzi to w tedy zdecydujesz w którą stronę chcesz iść. Zejść poziom niżej do C będzie Ci na pewno łatwiej znając C++ niż C#/Jave. To samo w drugą stronę, znając C++ łatwiej będzie Ci przenieść się na C#/Jave.
Od razu zaznaczę C++ nie jest prostym językiem i ma tak bogatą i mnogą składnię że głowa boli. Nie każdy ogarnia tak niskopoziomowe programowanie i na studiach ludzie mają ogromny problem z tym językiem i dlatego często ograniczają się do Javy czy C#.

To tak nie wygląda i to już jest bardziej programowanie sieciowe. Musisz mieć zarówno program na alarmie który będzie obsługiwał jakiś protokół komunikacyjny z aplikacją na komputerze. Aby to było bezpieczne dodatkowo dochodzą kwestie bezpieczeństwa, szyfrowania, uprawnień i masa masa innych rzeczy.
RS’a od lat się nie używa, nawet nie kupisz komputera z tym złączem.

Z tego co zerknąłem w google to atmega to C.


#18

Zebrałem sobie trochę książek w ostatnich dniach. Wczoraj mi się poszczęściło w antykwariatach bo jeszcze kopara mi wisi. Udało mi się wyrwać sporo dobrych książek za przysłowiowe nędzne grosze.
Prócz różnych staroci udało mi się kupić serię od Stephena Praty - Szkoła Programowania.
Mam C++ i C. Przyznam że faje książki.
Wziąłem bo nie było nawet nad czym się zastanawiać!!!
8zł sztuka!!! Kocham antykwariaty!
Dziś lecę jeszcze po kilka bo wylukałem wczoraj ale za mało hajsu z chaty wziąłem.
Wcześniej wyliczyłem że wydam około 1000zł na książki (nowe z Hellionu) a tak naprawdę zamknę się w przedziale 200-300zł bo wszystko jednak używane wezmę.
Ten zestawik kosztował wczoraj 38zł czyli za darmo:

Ogólnie mówiąc chcę mieć w domu pod ręką wszystko od A do Z jeśli chodzi o:
C, C#, C++, JAVA, VB.
Chcę zacząć od najstarszych znalezionych książek w kierunku tych z lat dzisiejszych tak by być w temacie od samego początku.

Przy okazji mam pytanie!
Czy warto zaczynać naukę Adobe Premiere i Photoshopa od starych wersji programu?
To samo pytanie dot. Dreamweaver’a!
Chodzi mniej więcej o CS2 / CS3 i wyłapanie podstaw a z czasem przejście na wyższe (nowsze) CS.
Zastanawiam się czy warto kupić takie książki (6-8zł szt.) jeśli chcę opanować podstawy Photoshopa, Premiere i Dream’a. Te programy nie są mi aż tak potrzebne ale w przyszłości jednak chciał bym znać je perfekcyjnie. Czy w przypadku programów ADOBE warto zaczynać od samego początku i uczyć się wzwyż czy od razu puścić się na głęboką wodę i jechać od najnowszych wersji?


Muszę jeszcze rozkminić o co chodzi w temacie programowania sterowników obrabiarek CNC i podobnych. Sterowniki i soft. Od czego tu zacząć bawić się z tymi maszynami…
Jest spora ilość różnych książek - są po taniości ale często pochodzą z lat 1995-1999.
Tu także wydaje mi się że powinienem zacząć uczyć się tego od początku …
Dobrze myślę?


(Fizyda) #19

Szczerze mówiąc nie chce mi się za bardzo tego komentować. Objective-C właściwie na rynku umiera i zastępuje go jak dobrze pamiętam Swift (?). Uczenie się Photoshopa czy Premier z książki to jakaś pomyłka, tym bardziej że można się uczyć za darmo aktualnych rzeczy z internetu. Nie wiem w ogóle po co chcesz uczyć się Dreamweavera bo to jest IDE do web devu, nawet jakbyś chciał uczyć się technologi webowych to Dreamweaver to tylko IDE, a to trzeba wybrać pod siebie i jak znajdziesz takie które Ci pasuje to dopiero zaczynasz poznawać jego smaczki. Używam Dreamweavera CS6 i powiem szczerze jest przereklamowany, ale nic innego na razie lepszego nie znalazłem, zawsze czegoś mi brakuje.


#20

Ucząc się HTML/CSS/PHP chciał bym poznać jakieś konkretne IDE właśnie by w nim zostać już na stałe i nie męczyć głowy w przyszłości że nie mam na czym/gdzie czegoś robić.
Jeśli chodzi o Photoshopa i Premiere … hm to tutaj jedynie podstawy na własny użytek mnie interesują. Typowe triki jak zasłanianie twarzy w filmach, wycinka dźwięku (zastąpienie słynnym piiiiip), łączenie filmów, jakieś animacje, napisy, wstawki fotek w czasie trwania filmu itp. itd. a Photoshop właśnie do szybkiej obróbki/przeróbki grafiki. Powiem szczerze że lekko wnerwia mnie to że za mało w nich umiem działać. Na forach gadali by zająć się Sony Vegas ale nie podchodzi mi to jakoś tak jak Gimp.