arduino, początki, inny edytor

Miody człowieku, przez kilka postów kilka osób próbowało delikatnie wyjaśnić w czym rzecz, podając przykłady od czego powinieneś uzupełnić swoją edukację. Mimo to, nadal brniesz upracie i niefrasobliwie pokazując godną pożałowania ignorancję i impertynencję.

Proponuję, byś zajął się czymś innym niż programowanie, na prawdę. Np. przekop Wisły się szykuje, zainteresuj się tym. Nie programuj już bo w końcu zrobisz sobie krzywdę (ja za pisanie takich potworków wyrzucam z roboty na zbity pysk). Z mojej strony eot.

Reply to
Marek
Loading thread data ...

Niewykluczone że dłużej piszę w C niż ty masz lat.

Więc nie napinaj się tak z próbą licytowania się stażem, wiekiem i doświadczeniem.

Reply to
slawek

Fakt iż taki Mareczek nie potrafi obyć się bez goto i to tam, gdzie jest zupełnie niepotrzebnie - określa jaki (niski) poziom umiejętności ma Mareczek. Dodam: Mareczek jest bez szans na pracę u mnie, brak mu kwalifikacji twardych.

Fakt, iż taki Mareczek bluzga gdy mu pokazać (konkretnie) w czym i jak się myli - określa czy jest człowiekiem emocjonalnie dojrzałym, czy też fustratem. Dodam: Mareczek jest bez szans na pracę u mnie, brak mu umiejętnosci miękkich, rozwaliłby każdy zespół.

Faktem jest także, że nie widzieliśmy nic (w języku C) napisanego przez Mareczka. Owszem, podał link do bloga z mądrościami na poziomie gimbazy. Dodam: Mareczek jest bez szans na pracę, bo nawet gimbus wie jak wpisać "C goto" w Google... asystent do takich rzeczy nikomu niepotrzebny jest.

Reply to
slawek

Wyluzuj, bo Ci żyłka pękinie.

Reply to
Janusz

Użytkownik "Janusz" <janusz snipped-for-privacy@o2.pl napisał w wiadomości news:oe56ep$p5n$ snipped-for-privacy@node1.news.atman.pl...

Pokłoń się wobec Fachowca - 45 lat historii (wg Wiki, język C datuje się od

1972 roku) to niesamowite doświadczenie!

PS P,NMSP :)

Reply to
HF5BS

W dniu 2017-04-30 o 19:51, HF5BS pisze:

Nie muszę, mam więcej lat :)

Reply to
Janusz

Użytkownik "Janusz" <janusz snipped-for-privacy@o2.pl napisał w wiadomości news:oe77qh$gs9$ snipped-for-privacy@node2.news.atman.pl...

...

...

Jako i ja :) Nie jestem programistą, sporadycznie skrobnę coś doraźnie dla siebie. Po prostu mam do tego podejście takie, że to ma działać, być dobre i skuteczne, możliwie małe i nie obrastać w ozdobniki, czy rytuały. Komenty, jeśli są, to ograniczone do minimum, żeby nie stały się sztuką dla sztuki i nie przerosły samego programu. A czy ubrane w różową sukienkę, czy niebieski garnitur, to mniej istotne. Poza tym na przykład, deklarowanie pierdyliona zmiennych, ich charakteru, itd., gdy chcę po prostu dodać 2+2, wydaje mi się zbędną rozrzutnością. Co innego, gdy już powstaje jakiś program, to inna sprawa. Tak BTW, jak szukałem pewnych danych do tej wypowiedzi:

formatting link
ładka Browse Languages I pod żadnym pozorem nie czytajcie skryptu do Kermita - tam dali to śmiertelnie paskudne i obrzydliwe GOTO! :))

Reply to
HF5BS

Tak trzymać. Jednak, przekonałem się, lepiej niż "małe" wybierać "proste". 100 linijek z czymś łatwym jest lepsze niż 89 linijek z czymś zawiłym.

Są dwie szkoły. Wyznawcy samokomentującego kodu (Martin) i wierzący że im więcej tym lepiej (Tassel).

rozrzutnością.

Nie musisz. Patrz np. Python, JavaScript, Matlab, a nawet Basic i Fortran. Z drugiej strony programując ATTiny45 czy coś podobnego fajnie jest mieć rozróżnienie pomiędzy uint8_t, a int32_t.

Reply to
slawek

Nie inaczej. Swego czasu miałem dość znaczne ograniczenie - VIC-20 (BTW. Wiecie, czemu wersja europejska, to VC-20, bez "i" w srodku?) :))

3583 bajty pamięci, w której trzeba było czasem zmieścić naprawdę sporo. Zagłębień GOSUB można było (także w C64) zrobić do ok. 80-85 sztuk, więc i to bardzo ograniczało przy programowaniu rekurencyjnym. Bywało, ze trzeba to było łatać w inny sposób, by pamięci stykło i nie spowodowało błędu.

Byle, jak pisałem, nie przegiąć, żeby nie stało się to sztuką dla sztuki. Dla dodania 2+2, komenty są IMO zbędne, a nawet szkodliwe. Natomiast przy czymś większym, warto (podbudowuję to oszczędnością pamięci), podkreślam, warto krótko zaznaczyć, co to jest.

No, to w BASICu, który ma odmian od chu...dego wieprza, rzeczywiście, nie muszę. Choć w dialektach M$, taką możliwość mam, nawet zadeklarować zmienna "a" jako łańcuch. Ale to mi zaciemnia przy czytaniu, choć ułatwia przy pisaniu, jak się mniej napalcuję w klawisze. Hmm... nie pamiętam teraz, który z dialektów ma podział na zmienne lokalne i globalne. Najbardziej mi ułatwia jawna deklaracja w nazwie, np. a=zmienna pojedynczej precyzji, b!=zmienna podwójnej precyzji, c#=zmienna całkowita, d$=zmienna łańcuchowa. Któryś z dialektów ma też chyba podobnie, jak w Pascalu, a:=zmienna. Palce cierpią, ale oczy błogosławią. Zresztą, tłuc np. struktury, żaden problem, procedury, while-wend, if-endif, itd. Nawet obiektowo, ale nie wszystkie dialekty.

Ależ nie mówię, żeby nie! Tylko znów, aby nie zrobiła się to sztuka dla sztuki, gdzie np. ważniejsze jest wcięcie o 10 znaków, niż poprawne ułożenie algorytmu, czy nawet owo użycie zmiennych. Owszem, zadeklarować procedurę, jak np. w Logo - też się da, niektóre dialekty i to umożliwiają. Starsze realizują to przez GOSUB|GO SUB - RETURN, po prostu potrzeba więcej dyscypliny. Długo "bawiłem się" dialektem z C64 (taki sam dialekt, jak VIC-20), wzięty zresztą od M$, jakby kto nie wiedział, gdzie język był wrecz przaśny. Ale umiejętnie wzięty w cugle potrafił dać bardzo dużo. Ja tylko w maszyniaku nie tłukłem, bo w swej głupocie ominąłem możliwość kupna, jak w sklepie widziałem, mając zresztą na to pieniądze przy sobie, książkę Jana Ruszczyca "Asembler 6502". Bardzo tego później żałowałem. Długo by opowiadać...

Reply to
HF5BS

Niekoniecznie, np.

i = 2; j = 2; k = i + j; /* może nie być 4, bo j jest volatile i modyfikowane równoległego wątku */

Albo coś takiego:

a = 200.0; b = 200.0; if (a + b == 400.0) ... else...

Reply to
slawek

precyzji,

To można załatwić tzw. węgierską notacją (lpszTitle, cbInput czy lplphacbFarFarAway).

Ale jest uważane - obecnie - za bardzo szkodliwe. Dlaczego? Gdy np. masz program w pojedynczej precyzji i chcesz zmienić na podwójną... musisz zmienić nazwy zmiennym. Podobnie gdy np. jakiś durnowaty parametr był double, a ma być wskaźnikiem do double to czeka cię męczenie fParam na pfParam. Jeżeli jeszcze wpadniesz na pomysł ze to ma być jednak lpfParam to znowu zmieniasz.

A w 90% i tak nie musisz wiedzieć czym to param jest. Na przykład:

param = GetParam() SetParam(1,param) SetParam(2,param)

No jest jakieś set/get, ale nie ma potrzeby zamęczać się medytowaniem czym jest param - int, float, tablica czy plik, jakieś coś, może obiekt. Nota bene coś takiego jest całkiem poprawnym kodem w Phytonie...

Reply to
slawek

Chyba starszy niż MS, bo na początku lat 70-tych był już taki, a MS nie było przed 1975. BASICA i QBASIC były nieco inne niż to co miał C64 zeszyte w ROM.

QBASIC da się odpalić na współczesnych Windows. MS miał taką paczkę o nazwie OLDDOS (czy jakoś tak) - uzupełniała WIN95 o QBasic, subst, join itp. Można pobrać gdzieś z serwera MS.

C64 to niegłupi Simons Basic. Hires i auto. Tyle że wtedy już był normalny Fortran 77 na klonach PC XT. A to oznaczało że programy z kart dziurkowanych można było puszczać zamiast na Odrze to na PC. Na przykład NAP2.

Reply to
slawek

W zasadzie powinno być lfParam i plfParam.

Czyli jeszcze trudniej to przeczytać na głos.

Reply to
slawek

Aberracja praw matematycznych? Na władzę (języka programowania, itd) nie poradzę, ale matematyka mówi jasno. I to ona jest dla mnie wyznacznikiem. Aha... z równoległego wątku? Cóż, matmie to nie przeczy. Zresztą nawet w C64, jakiś to problem napisać małego rezydenta, który mi przechwyci i podmieni wartość zmiennej? Wcisnąć w przerwanie klawiatury, mało kto zauważy, że jego obsługa ciut dłużej trwa.

A bo to raz się takie coś stosowało? Zadziwiająco często jest potrzebne. Czasem łatwiej tak, niż dymać się z procedurami, podprogramami, itd. A czasami ułatwia ich konstrukcję. Matematyka, to matematyka. Inna sprawa, co sobie programista zaprogramuje, niechby nawet prawdziwość równania (inspiruje mnie pewien dowcip) żaba+termometr=niedziela. PS Odejmij 5.2-5, w C64, co dostaniesz? :) Ale to już nie jest wina matematyki. Tu masz emulator

formatting link
Jedyny, który chciał mi bez javy ruszyć pod starą Operą. Uwaga na kursor i klawiaturę (łatwo uruchomić nie to, co się chce, do tego trzeba pamiętać, gdzie na klawie C64 leżą niektóre znaki). Sprawdziłem, efekt występuje.

Nie gniewaj się, że tak to może niecodziennie widzę, muszę jakoś odróżnić, czy rządzą tym prawa matematyczne, czy języka programowania.

Reply to
HF5BS

Raczej staram się to przewidzieć i od początku zadeklarować/użyć zmiennych w potrzebnej precyzji.

No, czasem się zdarzy obsuwa z deklaracją/użyciem rodzaju, a czasem, bywa, kompilator daje dupy, gdy z jakiegoś powodu zajdzie potrzeba np. dodania liczny całkowitej, do podwójnej precyzji, bywa, że nagle się kładzie i tak leży, albo daje wyniki z tejże dupy wyjęte. A czasami wszystko idzie jak należy. Mniejsza o powód takiej mieszanki, ale czasem to upraszcza. Kiedyś częściej, dziś jakoś mi cierpliwości do tego nie styka.

Faktycznie, nie kojarzę tego obecnie (nie zajmowałem się, choć ciągnie mnie do tego; dla mnie zawsze najgorsze jest to, że jak zaczynam czytać o takich rzeczach, to nie tak rzadko dwa różne źródła, różnie to traktują, a nie chcę sobie wdrukować złego wzorca), ale, jeśli to trzyma jakieś zasady, przewidywalne (o ile kompilator znów tylca nie nadstawi) i dające wyniki (oczywiście, prawidłowe wyniki), to... to ja się zgadzam. Choćby to się opierało w środku o armię leprikonów z kolorową tęczą (nie mylić z symboliką LGBT, miałem na myśli taką fizyczną tęczę, albo taką z opowieści o garncu złota u podstaw) w zestawieniu. Dobra, zmykam, latają fronty atmosferyczne i jestem jakiś ścięty ostatnio.

Reply to
HF5BS

Ale składnia jest bardzo podobna. Oczywście, podstawowego zestawu, bo wspomniane dialekty, wobec prymitywnego Basic 2.0 w Komodzie, są bardzo rozbudowane. A tych już w C64 nie ma.

I często to robię na XP - działa bardzo ładnie. Choć ja staram się używać QB64 (są wersje 32 i 64), tylko muszę rozpracować problem, że liczba w okolicach 2^24, przy permamentnym dodawaniu +1, nagle przestaje rosnąć i nie wyrzuca błędu. Co mi wręcz uniemożliwiło napisanie pewnego programu, a QBasic ma z kolei inny problem - działa ślicznie, zapisałem 26 GB do pliku (oczywiście, ćwiczebnie, zawsze najpierw sprawdzam, nauczony smutnymi doświadczeniami, czy mi program nie da rzyci, w najmniej odpowiednim momencie). No, zapisało się, a teraz, Waść, zamknij plik. Powodzen ia, ślepa Gienia, kup se trąbk...Aj, to nie teraz... cholera, śpiący jestem...

W98 miał to już chyba na pokładzie. Nie pamiętam, czy nie miał tego również NT4, ale nawet jeśli nie (dawno już nie używam, ale postawić bez problemu dam radę), wiem, że w XP musiałem dogrywać, co nie było problemem, bo w necie znajduje się to chyba szybciej, niż o gołych babach.

Simons - a jakże! Choć nie miałem okazji szerzej użyć (Wówczas nie było jeszcze netu, z którego bym to ściągnął). Natomiast chwalę sobie BASIC 7.0 z C128 D (zwany żartobliwie Diesel), ma bardzo cenną rzecz - rozdzieloną pamięć programu i zmiennych liczbowych, od pamięci łańcuchów, co umożliwia sortowanie nawet bardzo dużych i skomplikowanych, jak na Komodę, baz, bo C64, ze wszystkim (program, łańcuchy, zmienne, musi wyrobić się w 38 kB, a na C128 mam na to aż 122 kB, bankowanie następuje w locie. Lepiej też sobie radzi z natłokiem zagłębionych GOSUB. Ale i tu Commodore zaliczył obsuwę, IMHO raczej niewybaczalną - na stronie zerowej, jest duża część ważnych wektorów i zmiennych systemowych. Między C64 i C128, o 2 bajty w bok, są przesunięte lokalizacje większości z nich (a nie ma tej obsuwy między C64 i VIC20), co utrudnia napisanie uniwersalnego programu, który sięgałby trochę głębiej w system, celem np. dopieszczenia działania niektórych programów (np. nie wiem teraz, czy równie łatwo bym napisał oparty o dynamiczną klawiaturę wczytywacz programów listingów ASCII)

Ale musiałeś mieć chyba czytnik? Bo same z kart raczej nie spłynęły... BTW. Tak na szybko z gugla...

formatting link
:) Ale języka poszukam już z rana... zresztą... i tak na razie nie chcę szerzej w to włazić. I w ogóle
formatting link
Nie muszę chyba oznajmiać, ze to zaledwie garstka? :)

Dobra, na razie, do następnych...

Reply to
HF5BS

I po to są komentarze. Bez komentarza fragment w którym dodaje się a+b wygląda na nudny, wręcz niepotrzebny. Komentarz zwraca uwagę na kontekst i ważność komentowanego fragmentu.

Nota bene, MS zdarzyło się nie przywracać stanu FPU przy przełączeniach pomiędzy zadaniami. Na szczęście natychmiast był patch.

Reply to
slawek

Niby można. Gorzej gdy program pisze trzech lub więcej ludzi. Albo gdy coś było pisane dla double, a ma działać potem z uchwytami do bitmap. Co? Np. jakieś sortowanie czy wyszukiwanie. Zwykle 90% kodu nie obchodzi co tam jest, patrz szablony w C++.

Reply to
slawek

odpowiednim

Hardcore to kill program (przez odłączenie zasilanie też można) i puszczanie potem chkdsk do fixacji dysku. Na 95% znajdzie i odzyska

26 GB plik. I to będzie to.
Reply to
slawek

spłynęły...

Napęd taśm półcalowych dla PC. To do danych.

A programy? Przepisanie paru tysięcy linijek to nie jest aż tak wielki problem. Być może niektóre były przepompowne przez port szeregowy: coś elektrycznie zgodnego było jeżeli nie w Odrze to w PDP11, w 8-bitowcach takich jak C64, Atari itp.

Internetu nie było. Ale dyskietki były. Chyba nawet C64 dawał radę zapisywać w FS FAT. Z drugiej strony nie było ograniczeń prawnych i wirusów, a to stwarzało możliwości których obecnie nie ma.

Reply to
slawek

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.