W dniu 2014-01-27 03:06, snipped-for-privacy@gmail.com pisze:
Przecież to jest jak najbardziej logiczne najpierw odejmujesz a później przypisujesz. Zresztą nikt ci nie każe używać takiego zapisu. Możesz napisać a=a-b.
Moim zdaniem
a=b-1
wygląda lepiej niż
a:=b-1
A tak generalnie to "Daremne żale - próżny trud ..."
Didn't find your answer? Ask the community — no account required.
R
RoMan Mandziejewicz
No i co w tym złego?
Ale dlaczego przeginasz?
Czyli swoją argumentację opierasz na niechęci do języka, którego nie udało Ci się opanować...
To jest typowa dyskusją o wyższości itd. Dla mnie nie ma znaczenia, w jakim języku jest pisany program. Ważne jest, żeby aplikacja działała poprawnie i sprawnie oraz miała rozsądną wielkość.
Pisałem w swojej, dość długiej, karierze programy w wielu językach. W asemblerze też. Ba! Trafiło mi się nawet napisanie dość dużego programu w... Basicu, przy wyciskaniu z niego wszystkich soków (niedawno oglądałem listingi - że też mi się chciało). Programy spełniały swoje zadanie, może z wyjątkiem tego nieszczęsnego Basica na Meritum (w 1987 roku), który był bardzo wolny. Pisalem też trochę zarówno w Pascalu jak i w C. Bez większego powodzenia, bo potem utknąłem w xBase na długie lata.
Poznałem w tym czasie mnóstwo ludzi, piszących w różnych językach i nauczyło mnie to jednego - dobry programista, posługujący się sprawnie niemal dowolnym językiem programowania, jest w stanie napisać poprawnie działający program szybciej niż zły programista w jedynie słusznym C(+/++/#/±).
I, bardzo proszę, nie wyciągajcie mi tu teraz argumentu, że C jest najszybsze i daje najmniejszy kod wynikowy. Jak widzę współczesne aplikację, które niemal do dodawania 2 do 2 potrzebują dziesiątek MB RAM i uruchamiają się kilkanaście sekund, to mnie najjaśniejszy szlag trafia. I sa to aplikacje pisane oczywiście w C.
M
Marek
Wymagania wyewoluowały język. Co Cię zmusza do używania C? Podstawowe rzeczy w zakresie sterowania, zapalania i wyświetlenia możesz zrobić w językach "pascalopodobnych". Jest bascom, jest great cow basic gdzie program możesz sobie narysować z dymków, jest picaxe, są nawet języki skryptowe, które można uruchamiać na dedykowanym interpreterze bez kompilacji. Oczywiście podane języki i narzędzia mają swoje ograniczenia, jeśli już dotarłeś do tych ograniczeń i masz potrzebę ich przekroczenia musisz nauczyć się C aby dalej się rozwijać. Dotarcie do granic języka to ten właśnie moment, kiedy trzeba nauczyć się coś nowego albo... w którym wymyśla się nowy język ;)
M
Marek
To w końcu mikroe pascal jest dobry czy zły? Jeśli jest dobry i spełnia Twoje oczekiwania - używaj.
M
Marek
I to jest prawidłowa ścieżka rozwoju :).
I
invalid unparseable
Pan Cezary Grądys napisał:
Które konkretnie? Wydaje mi się, że akurat *ten* argument stracił rację bytu. Znam dwie grubsze rzeczy, które mają źródła w Pascalu: TeX i Mizar.
Z TeXem było tak, że pod DOS-em jedna wersja potrafiła działać trzy razy szybciej od drugiej. Wtedy miało to spore znaczenie -- na komputerach AT, a tym bardziej XT, rzeczy nie działy się w mgnieniu oka. Znaczy się postęp w kompilacji był, bo źródła przecież te same. Dzisiaj kompiluje się przez wstępne tłumaczenie do C i chyba też jest nieźle, choć nikt wydajności nie bada i się tym nie przejmuje, bo i po co.
Mizar napisany i skompiowany był na początku w DOS pod Pascalem Borlanda. Nikt się wtedy nie zastanawiał, czy dobrze to, czy źle. Dopiero jak ludzie chcieli tego używać pod linuksem, to powstało pytanie, co dalej. Autor rozważał nawet napisanie wszystkiego na nowo w C. Mniej radykalny był pomysł przetłumaczenia maszynowego na C i ręcznego rzeźbienia przy kompilacji. W końcu pojawił się na horyzoncie FPC. Kompilacja ruszyła z kopa, to znaczy bez przeróbek system działał od razu (ale można było się w końcu pozbyć DOS-owych ograniczeń w kodzie źródłowym). Co ciekawe, FPC potrafi robić równiez DOS-owe binaria -- i tu się okazało, że działają one dużo szybciej od tych wcześniejszych z Borlanda.
Opinię o "śmietniku historii", na którym leży FORTRAN tuż obok Pascala, trzeba właściwie rozumieć. Jasne, że w tych językach nikt już niczego ważniego nie napisze. Ale źródeł w FORTRANie przy obliczeniach numerycznych używa się do dzisaj. Pascalowych mniej, bo ich mniej stworzono.
Jarek
M
Marek
Taa, pokaż taki zapis matematykowi ;). Operator podstawienia w Pascalu tak w oczy nie razi.
M
Marek
Kiedyś na uczelni (koniec lat 90) zaproponowałem wykładowcy, że przeniosę jego kod do symulacji lini pol w silniku do innego środowiska. Kod napisany w fortranie pod DOS i uruchamiany na pentium
1 ~160MHz. Przy podstawowych parametrach wejściowych kod pod DOSem potrzebował ok 30s na obliczenia i narysowanie linii na przekroju silnika. Przeniosłem to na linuxa, kod fortrana potraktowałem f2c, dodałem interfejs w Lesstifie. Uruchamiałem to na podobnej maszynce, z tym że robiła ona za serwer aplikacji X z xdm, z którego korzystało kilka osób. Jak już wszystko ruszyło i pokazywałem wykładowcy efekt działania, to był dość zaskoczony, bo z 30 sekund obliczeń na DOS zrobiło się około 3-4. Wyraził uznanie, że faktycznie to szybciej działa, ja mu na to, wskazując na kolegę siedzącego na stanowisku obok i grającego w Quake'a - Wie Pan, może udało by się jeszcze szybciej ale kolega ma właśnie misję do skończenia i gra też na tej maszynie, więc prosił aby tą nasza symulację odpalać z mniejszym nice'em, bo mu trochę gra korbi - mina wykładowcy bezcenna ;)
J
J.F
Użytkownik "Marek" napisał w wiadomości grup
Troche mnie to dziwi, bo Fortran mial raczej dosc dobre kompilatory i naprawde dobry kod dawal. Moze ten pod DOS byl kiepski, moze emulowal koprocesor, moze gdzies na trybie wirtualnym czekal, moze cos na dysk zrzucal, czy na tej grafice czekal.
A z drugiej strony - uzyles f2c, wiec ominales problem ... ale C++ juz sobie dobrze radzi z liczbami zespolonymi ? Bo Fortran raczej nie ma z tym klopotu, ale dawniej kod z C++ daleki byl od doskonalosci. Takie np odwrocenie tablicy zespolonej rownie elegancko jak w Fortranie daje sie zapisac i rownie szybko idzie ?
J.
M
Marek
Kompletnie nic już z tego kodu nie pamiętam ( to było prawie 20 lat temu), w część numeryczną specjalnie nie zaglądałem tylko przepuściłem przez f2c, łatwiej mi w ten sposób było zkinkować takie objecty z częścią interfejsu graficznego pisanego w C. Jeśli chodzi o dosowy kompilator fortrana to był to jakiś kompilator Microsoftu z rozszerzeniami do tworzenia grafiki, wersji nie pamiętam.
I
inny punkt siedzenia...
no pochwal siê w czym pisz± globalnowiochowe platformowe ci...y?
J
JDX
On 2014-01-27 18:34, J.F wrote: [...]
Podejrzewam (bo nie porównywałem), że C++ obecnie radzi sobie z liczbami zespolonymi tak samo dobrze jak Fortran. W każdym razie w bibliotece standardowej ma wsparcie dla tych liczb:
formatting link
.
Elegancko macierze to się odwraca w Matlabie (i klonach):
formatting link
A jak to się robi w Fortranie?
I
Irokez
W dniu 2014-01-27 07:50, Grzegorz Kurczyk pisze:
o kurr.. co to robi?
Fakt, z C jestem cienki, kiedyś na studiach pisałem na i386 w C koder/dekoder teletransmisyjny z automatyczną korekcją błędów, ale pół roku wcześniej pisaliśmy w Pascalu więc jak zobaczyliśmy te krzaki... ja wymęczyłem to jakoś a kumpel wkurzony zaczął od maina i potem poszedł asemblerem do samego końca.
Fakt, nie wyobrażam sobie bez C pisania konkretnego softu. Jakoś zabrakło mi motywacji bo to tylko hobbistycznie a język ST jest bliższy Pascalowi. Na '51 wolałem napisać program w assemblerze.
G
Grzegorz Niemirowski
Irokez snipped-for-privacy@wp.pl napisa³(a):
Sumuje elementy tablicy. Potwierdzam, to jest czytelne.
I
Irokez
W dniu 2014-01-27 20:39, Grzegorz Niemirowski pisze:
Wierzę na słowo ;) Na szybko tak szukam ANSI C i coś o tablicach i jest to jednak czytelniej pokazywane. No ale skracamy ile się da, nawet ksiądz się wita "pochwa" ;)
A
ajt
W dniu 2014-01-27 20:23, Irokez pisze:
Pobiera wartość wskazywaną przez BuffPtr i dodaje ją do zmiennej sum. Przy okazji zwiększa wartość BufPtr tak, by wskazywał na kolejny element :) Dla mnie ten zapis jest również bardzo czytelny i oczywisty od pierwszego spojrzenia. Po prostu jeden z bardzo typowych i często używanych zapisów :)
Bardzo lubię(właściwie lubiłem) pisać w C, potem C++; Teraz to bardziej w stronę php się przesunęło :) Ćwiczenia z C wyglądały ciekawie. Świętej pamięci pan Jan Bielecki polecał zakupić właście co wydaną kolejną książkę i zrobić erratę. Znawcy jego twórczości zapewne pamiętają, że bardzo lubił popisywać się znajomością niuansów języka, zamieszczając często w książkach dość pokręcone przykłady, najeżone znaczkami jak wyżej, więc przeanalizowanie ich, w celu wykrycia ewentualnych niezgodności z opisem, było niezłą szkołą :)
I
invalid unparseable
Pan Marek napisał:
FORTRAN pod DOS-em działał jakoś wyjątkowo marnie. Sądzę, że został sklecony naprędce z potrzeby chwili, bo przecież wśród użytkowników DOS-a była olbrzymia grupa przesiedleńców z mainframe'ów, którym bez FORTRANu było jakoś tak nijak. Sam używałem mało, ale miałem kolegę nałogowca, który jakieś symulacyjki w tym wciąż łupał. Gdzieś tak na przełomie wieków też chciał cos łupność, ale się okazało, że na swoim laptopie z W98 nie ma kompilatora, za to na moim z linuksem da się FORTRAN odpalić. Wnioski były podobne -- czas obliczeń o rząd wielkości krótszy.
I
invalid unparseable
Pan J.F napisał:
To mnie zawsze wprawiało w pewną zadumę. Fortran od dziecka rachował na liczbach zespolonych jak na każdych innych. Zaś jego bezpośredni następcy jeśli już, to dopiero po dopisaniu do nich jakichś bibliotek. Edisony jakieś te wszystkie języki pisały, czy co?
G
Grzegorz Niemirowski
Irokez snipped-for-privacy@wp.pl napisa³(a):
Tutaj odwo³anie jest przez wska¼nik, dlatego nie widzisz kwadratowych nawiasów. Wska¼nik pokazuje na jaki¶ element bufora. Gwiazdk± pobieramy sobie wskazywany element, a operatorem inkrementuj±cym ++ przesuwamy wska¼nik na kolejny element. Warto¶æ, któr± pobrali¶my, dodajemy do zmiennej Sum. Ta linijka generalnie pracuje sobie w jakiej¶ pêtli. Je¶li tablica nazywa siê Buff i mamy zmienn± indeksow± i, wówczas mo¿emy zapisaæ to tak: Sum+=Buff[i++]; I akurat tutaj nie jest to kwestia skracania, oba zapisy s± podobnie d³ugie.
G
Grzegorz Kurczyk
W dniu 27.01.2014 21:02, Grzegorz Niemirowski pisze:
ADIW Z, 4
Pozdrawiam Grzegorz
Join the Discussion
Have something to add? Share your thoughts — no account required.
Didn't find your answer?
Ask the community — no account required
Report Content
You are reporting this content to the moderators. They will look at it
ASAP.