programowanie w C - bardzo ogólne pytanie o filozofi

Dla Experta? Być może. Dla profesjonalistów? Nie.

Reply to
slawek
Loading thread data ...

Jak nie działa jak działa (long jump)?!

Reply to
slawek

W dniu 2017-10-29 o 21:50, slawek pisze:

Mam jeszcze jeden programik, który (jak sporadycznie coś muszę dopisać) kompiluję TC++ 1.0. Co mi szkodzi trzymać jedną kartotekę, która zawiera tcc.exe (455k), tlink.exe (53k), moje źródło (4k) i mój exe (14k). Nadal używam Builder 5 bo jak wprowadzili Buildera 6 to się okazało, że ta najtańsza wersja nie może być stosowana do celów komercyjnych (a w Builder 5 może). Nigdy nie natknąłem się na błąd z goto bo nigdy nie użyłem goto. Używam też Buildera 2010, ale on ma jakąś wadę (ujawniła się po przeniesieniu pod WIN7) - daje się tylko raz uruchomić po jednym włączeniu komputera. P.G.

Reply to
Piotr Gałka

Też tak mam :) Tyle że ja używam raczej Turbo C 2.01, lub ew. OpenWatcom.

Nie żebym do czegokolwiek nakłaniał, ale jeśli nie znasz jeszcze - być może warto spojrzeć w stronę mingw. Użyłem tego do kilku małych spraw które wyjątkowo chciałem opublikować pod windows i bardzo sprawnie działało. Zaleta taka, że to całkowicie darmowe i bez majtek (no strings attached). To oczywiście "tylko" kompilator - a nie tzw. IDE. Mi to wszystko jedno, bo i tak piszę tylko w notatniku, ale wiem że nie każdy tak lubi.

Mateusz

Reply to
Mateusz Viste

W dniu poniedziałek, 30 października 2017 10:11:17 UTC+1 użytkownik Mateusz Viste napisał:

Nie ma problemu - jest Eclipse CDT, jest support w NetBeans, jest na upartego i Code::Blocks, wszystko za darmo działa z MingW bez zająknięcia.

Pozdrawiam,

Reply to
kropelka

W dniu 2017-10-30 o 10:28, snipped-for-privacy@gmail.com pisze:

Kiedyś (pod DOS) owszem pisałem w osobnym edytorze (już nie pamiętam jak się nazywał), ale nie wrócę do tego. Przewaga środowiska jest jednak zauważalna (nawet w czasie samej edycji).

Pierwsze słyszę o tych rzeczach o których piszecie :).

Rozumiem, że Eclipse CDT to jakieś środowisko z którym można jakoś użyć kompilatora MingW, a w razie co helpa szukać w NetBeans. Jak się do tego ma Code::Blocks to mi nie wynika z wypowiedzi, a dochodzić w tej chwili nie mam czasu.

Czy te rzeczy (w komplecie) mają jakąś zaletę w porównaniu z Builder 5 lub Builder 2010 które mam (poza ceną bo te już kupione)? P.G.

Reply to
Piotr Gałka

Zarówno Eclipse, Code::Blocks jak i Netbeans to środowiska IDE, do których można podpiąć różne kompilatory (gcc, java ale i php i - z tego co pisał Karol - także mingw).

Ideologia ("four freedoms"), no i koszt... Nawet jeśli już wtopiłeś w Buildera, to kiedyś może przestać działać jak pojawi się Windows 14 czy co tam wymyślą następnego. A open-source raczej pozostanie open-sourcem.

Mateusz

Reply to
Mateusz Viste

okazało, że

Acha... Tylko że w bibliotece OWL były ze dwa goto. I one się czasem używały. Z oczywistym błędem: nie było wywołań destruktorów.

A takie GCC jest za free (LGPL) i działa bez problemów. Nie wspominając o MSVC, które ostatnimi czasy też jest free nawet do komercji (aczkolwiek są ograniczenia).

Reply to
slawek

może było wiadomo, ale ja właśnie pytam o ogólną filozofię konkretnego rozwiązania w c++. Ty mi nic nie pomogłeś, jeden z kolegów napisał program. ale odpowiedzi nie otrzymałem. Dlamnie pi razy oko w basicu, stworzę pewne bloki, a sam program składający się z paru linijek, będzie te bloki wykonywał lub nie. może dojść do takiej sytuacji, w której po nawet kilku latach pewna część programu nie tyle że nie zostanie wykonana, ona nigdy nie zostanie "przeczytana"

Jak dlamnie w c++ mogę napisać program, w krórym zawsze, bez wyjątku, komputer musi "przerobić" wszystko od a do z, nawet jeśli połowa lub więcej nie będzie wykorzystywana. w części niewykorzystywanej będzie if cośtam - nierób nic. W zasadzie o to pytałem. czy to jest dobry sposób pisania programu w C+? (dialekt arduino) Na pierwszy rzut oka to marnortrastwo pracy procesora, bo jak właśnie tłumaczę, jeśli w basicu napiszę program ma tylko płukać, będzie startował od 10 do 100, gdzie jest program główny i skakał do

900-999 gdzie jest płukanie. to samo w c++ będzie U MNIE wymagało przejścia - pranie? nie nie pierz, ale sprawdz jak się pierze. płukanie? Nie nie płukaj, ale już wiesz jak to należało zrbić? przeczytałeś procesorku? no to się śpiesz, bo tam gdzieś na koncu jest płukanie.

O istotę mi chodzi o sens

innowacyjne to ja juz robiłem. alarm, jakieś tam otwieranie, powiadomienia, ale to jest praca która właśnie wymaga ciągłego sprawdzania stanu przełączników i czujników.ciągłego, bezustannego. liniowego bez skoków. Pozatym jak pralka miała by urwać rękę albo palce? Ja niemam zamiaru (akurat tej pralki) rozbierać mechanicznie. jak opanuje sterowanie silnikiem, to (prawdopodobnie) dam tam przekaźniki. sama pralka, o ile będzie działać, będzie prała ubrania robocze w firmie. Dlaczego? Bo normalna pralka, jest tak inteligentna, że nie można jej wydłużyć fazy prania. można zrobić dwa napełnienia wodą dwie porcje proszku, ale tak pranie godzinka na jednej porcji - już nie. Próba wymuszenie prania drugi raz, kończy się wypompowaniem wody..... Dzięki wszystkim. program i tak i tak napiszę, ale miałem nadzieje że jeszcze się czegoś nauczę

ToMasz

Reply to
ToMasz

Znacznie lepszy szacunek do standardów.

Ale jak chcesz mieć wypasione IDE... to MS Visual Studio jak najbardziej.

Reply to
slawek

W dniu 2017-10-30 o 15:28, slawek pisze:

Otwierasz mi oczy :)

Ostatnio opanowywałem LibreCAD i uczyłem się obchodzić jego błędy. Obecnie (w wolnych chwilach) próbuję zapoznać się z Inkscape (tylko, że tych wolnych chwil brakuje). A wszystko to w przerwaniu przenoszenia się z Protela do KiCada (biblioteki KiCada mi nie pasują więc mam w planie, że najpierw mój zestaw footprintów a dopiero potem pierwsza płytka). Przydało by się opanować jakiś język ukierunkowany na przetwarzanie plików tekstowych którymi posługuje się KiCad bo nie wiem, czy Bom bez tego da się zrobić. Brakuje mi wątków aby w którymś jeszcze zająć się środowiskami/ kompilatorami C++. P.G.

Reply to
Piotr Gałka

W dniu 2017-10-30 o 15:29, ToMasz pisze:

Jeśli piszesz o moim przykładzie to miał, być jak najprostszy. Wygląda, że jakbyś użył instrukcji switch i case to może przestało by Cię denerwować, że marnujesz pracę procesora.

Ale pamiętaj, że on i tak robi ileś tam instrukcji w us, a pranie to godziny. Co byś mu nie wymyślił to i tak mnóstwo jego pracy będzie szło na marne. P.G.

Reply to
Piotr Gałka

W dniu 2017-10-30 o 15:36, slawek pisze:

Właśnie ostatnio odkryłem, że czasami brak szacunku do standardów w Builderach może być uciążliwy.

Czyli, w pierwszym podejściu muszę się zapoznać z tymi ograniczeniami o których pisałeś w poprzedniej wypowiedzi. P.G.

Reply to
Piotr Gałka

Twoja mamusia i twój tatuś może pomagali ci jeszcze na studiach, bo przecież taki śliczny byłeś.

Ale tu nikt za ciebie nie będzie odwalał roboty, to na co możesz liczyć (i to jak zadasz jakieś ciekawe pytanie) to jakieś ogólne wskazówki, np. takie właśnie jak "doucz się jak się programuje, bo jeżeli jedyne co potrafisz to goto rodem z Basica to trochę za mało na napisanie sensownego programu do obsługi pralki".

Normalnie. Będzie trochę krwi. Prawdopodobnie przeżyjesz, więc na nagrodę Darwina się nie załapiesz. A wystarczy że ruszy wirowanie przy otwartym bębnie. Albo że omsknie ci się ręka gdy będzie zdjęta obudowa.

Reply to
slawek

Da się zrobić, ale pod Windows trzeba znaleźć jeszcze narzędzia do XML od Gatesa.

A ogólnie lubiany w okolicach Kicad jest Python. Dużo sympatyczniejszy niż C++.

Reply to
slawek

W dniu poniedziałek, 30 października 2017 15:29:38 UTC+1 użytkownik ToMasz napisał:

Jakis czas temu tutaj było opisywane gdzie goto jest pożyteczne i upraszcza program. Nie pamietam wątku ale podawałem w nim linki do przykladowych zastosowań.

W skrócie goto pozwala "rozplątać" masę zagnieżdzonych warunków przy minimalizacji zdublowanych sprawdzeń.

W ogólności lepiej unikać goto bo zazwyczaj warunek i tak potrzebny a zawartośc odgałęzienia można zamknąć w funkcji ale czasem rzeczywiscie goto upraszcza i czasem troszke przyspiesza wykonanie takiego programu.

Tu jakiś pierwszy z brzegu link, nie analizowalem zbytnio ale pare przykladów wygląda sensownie. Czy warto stosować, trzeba samemu zdecydować, odpowiedzi oczywistej nie ma bo jakby byla to byśmy nie dywagowali :)

formatting link

Reply to
sczygiel

ograniczeniami o

Jest free dla firm z pięcioma komputerami czy jakoś tak.

Reply to
slawek

Jak socjalizm: rozwiązuje problemy nie znane w innych ustrojach.

Nie. Nie twierdzę że rozbudowane barokowe if-y są lepsze niż goto. Po prostu można pisać elegancko i mimo wszystko bez goto. Tylko trzeba umieć.

Reply to
slawek

W dniu 2017-10-30 o 17:17, slawek pisze:

Nie pamiętałem czy Python, czy Phyton, a się spieszyłem więc napisałem bez nazwy. Nic o nim nie wiem, ale to byłby kolejny wątek, lub raczej przerwanie, bo jednak nie jestem maszyną wielowątkową, ani nie mam kliku rdzeni :) P.G.

Reply to
Piotr Gałka

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.