eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronika › Programowanie uC - Pascal, czy C ?
Ilość wypowiedzi w tym wątku: 119

  • 71. Data: 2014-01-30 07:13:13
    Temat: Re: Programowanie uC - Pascal, czy C ?
    Od: bartekltg <b...@g...com>

    On 2014-01-27 19:31, JDX wrote:
    > On 2014-01-27 18:34, J.F wrote:
    > [...]
    >> 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.
    > 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:
    > http://en.cppreference.com/w/cpp/numeric/complex .

    Radzić sobie radzi. Są/były dwa problemy.
    Po pierwsze, fortran przez swoje ograniczenia pozwalał na lepsze
    sztuczki optymalizacyjne.
    http://stackoverflow.com/questions/1602451/c-valarra
    y-vs-vector
    Ale tego prawie nikt nie używa, za to używa się różnych innych
    bibliotek.
    Po drugie, były jakieś kłopoty z kompatybilnośćią binarną
    pomiędzy FORTRAN, C i C++. Wydaje mi się, ze już posprzątali.

    >> Takie np odwrocenie tablicy zespolonej rownie elegancko jak w Fortranie
    >> daje sie zapisac i rownie szybko idzie ?
    > Elegancko macierze to się odwraca w Matlabie (i klonach):
    > http://www.mathworks.com/help/matlab/ref/inv.html.

    Pomijając to, że odwracanie macierzy to najczęśćiej zły pomysł, c++:
    http://eigen.tuxfamily.org/dox-2.0/TutorialAdvancedL
    inearAlgebra.html
    A.inverse();

    [ładna biblioteka, niekoniecznie najszybsza, intem MKL jest niekokonany,
    ale dużo nie ustępuje, a od początku napisana w c++]

    > A jak to się robi w
    > Fortranie?

    sgetri, dgetri
    cgetri, zgetri
    http://www.physics.orst.edu/~rubin/nacphy/lapack/rou
    tines/dgetri.html

    :-)

    W sumie niby koszmarek, a porządnego _całościowego_ opakowania tego
    w c++ (z Expression templates, move) jakoś nie ma.
    CUDA też wystawia taki interfejs.

    pzdr
    bartekltg






  • 72. Data: 2014-01-30 14:11:45
    Temat: Re: Programowanie uC - Pascal, czy C ?
    Od: Cezary Grądys <c...@w...onet.pl>

    W dniu 27.01.2014 14:47, Jarosław Sokołowski pisze:
    > Pan Cezary Grądys napisał:
    >
    >> Problem może być jesli bedziesz potrzebował większej wydajnosci, jakoś
    >> te kompilatory Pascala które spotkałem nie tworzą wydajnego kodu.
    >
    > 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.
    >

    Ostatnio słabo mi się sprawdził fpc pod względem szybkosci. Ale możliwe,
    że są szybkie, szczególnie komercyjne. Tu się spierał nie będę.


    --
    Cezary Grądys
    c...@w...onet.pl


  • 73. Data: 2014-01-30 14:45:36
    Temat: Re: Programowanie uC - Pascal, czy C ?
    Od: Jarosław Sokołowski <j...@l...waw.pl>

    Pan Cezary Grądys napisał:

    >>> Problem może być jesli bedziesz potrzebował większej wydajnosci, jakoś
    >>> te kompilatory Pascala które spotkałem nie tworzą wydajnego kodu.
    >>
    >> 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.
    >
    > Ostatnio słabo mi się sprawdził fpc pod względem szybkosci. Ale możliwe,
    > że są szybkie, szczególnie komercyjne. Tu się spierał nie będę.

    Też nie chodzi mi o to, by sie spierać, tylko o ustalenie faktu. Sytuacja
    z Mizarem i zmianą kompilatora z Borlanda na FPC miała miejsce na przełomie
    wieków (przypomnę, że skutkowało to sporym przyspieszeniem). Ale pamiętam
    też, jak ktoś tak z dziesięć lat wcześniej pokazywał mi swoje analizy kodu
    wynikowego Borlanda -- był tak dobry, że trudno było coś poprawić. W dodatku
    Pascal miewał ten kod lepszy od C w analogicznym programie testowym. Może to
    stąd, że te analizowane programy były stosunkowo proste, a Mizar, to kawał
    kodu. Możliwe, że ta utrata szybkości następuje przy jakichś konkretnych
    rzeczach, które słabo zostały dopracowane w kompilatorze (nie wyrabia się
    na zakrętach, czy cóś).

    --
    Jarek


  • 74. Data: 2014-01-31 02:02:43
    Temat: Re: Programowanie uC - Pascal, czy C ?
    Od: A.L. <a...@a...com>

    On Thu, 30 Jan 2014 14:45:36 +0100, Jaros?aw Soko?owski
    <j...@l...waw.pl> wrote:

    >Też nie chodzi mi o to, by sie spierać, tylko o ustalenie faktu. Sytuacja
    >z Mizarem i zmianą kompilatora z Borlanda na FPC miała miejsce na przełomie
    >wieków (przypomnę, że skutkowało to sporym przyspieszeniem). Ale pamiętam
    >też, jak ktoś tak z dziesięć lat wcześniej pokazywał mi swoje analizy kodu
    >wynikowego Borlanda -- był tak dobry, że trudno było coś poprawić. W dodatku
    >Pascal miewał ten kod lepszy od C w analogicznym programie testowym. Może to
    >stąd, że te analizowane programy były stosunkowo proste, a Mizar, to kawał
    >kodu. Możliwe, że ta utrata szybkości następuje przy jakichś konkretnych
    >rzeczach, które słabo zostały dopracowane w kompilatorze (nie wyrabia się
    >na zakrętach, czy cóś).

    Popatrz sobie jak dziala kompilator Pascala. Zagniezdzone procedury
    powoduja ze dostep do miennych musi sie odbywac pzrez tworzony na
    biegowo, w czasie wykonywanai programu, ciag aktywacji (dynamic
    activation link). C czegos takiego nie potzrebuje z definicji. Wiec
    dostep do zmiennyc hzajmuje w Pascalu wiecej czasu niz w C

    A.L.


  • 75. Data: 2014-01-31 09:37:13
    Temat: Re: Programowanie uC - Pascal, czy C ?
    Od: "J.F." <j...@p...onet.pl>

    Dnia Thu, 30 Jan 2014 19:02:43 -0600, A.L. napisał(a):
    > Popatrz sobie jak dziala kompilator Pascala. Zagniezdzone procedury
    > powoduja ze dostep do miennych musi sie odbywac pzrez tworzony na
    > biegowo, w czasie wykonywanai programu, ciag aktywacji (dynamic
    > activation link). C czegos takiego nie potzrebuje z definicji. Wiec
    > dostep do zmiennyc hzajmuje w Pascalu wiecej czasu niz w C

    Hm, musialbym przypomniec sobie ... ale jest to chyba
    a) do zrobienia - kompilator wiedzac ze to procedura wywolana z
    nadrzednej moze policzyc gdzie na stosie jest zmienna nadrzednej.
    gorzej jesli jest rekurencja.
    A C przeciez tez ma bloki w funkcji, w ktorych moga byc wlasne
    zmienne. A C++ to juz w ogole.

    b) do obejscia - jesli procedura dostanie dodatkowe parametry z
    uzywanymi zniennymi z nadrzednych.

    c) a przeciez wystarczy napisac - kto uzywa zmiennych z nadrzednych
    procedur obniza wydajnosc.

    J.


  • 76. Data: 2014-01-31 23:18:50
    Temat: Re: Programowanie uC - Pascal, czy C ?
    Od: s...@g...com

    W dniu poniedziałek, 27 stycznia 2014 07:50:12 UTC+1 użytkownik Grzegorz Kurczyk
    napisał:
    > W dniu 27.01.2014 03:06, s...@g...com pisze:
    >
    >
    >
    > > A po co? Przecież znasz te dziwolągi (&&,&,|,||, i tede itp..) Fajnie się to
    czyta?
    >
    > >
    >
    > > a-=b;
    >
    > >
    >
    > >
    >
    > > Posrane jak tralala.. No cóż, można sę różne różności i dziwolągi powymyślać..
    >
    > > W Pascalu pisze się to a:=b-1. Można se wymyślić np. coś takiego : a<=(b.less.1),
    albo a<=(b.decrement.1). I takie sranie w banie można ładować w nieskończoność.
    >
    > >
    >
    >
    >
    > Ale kto Ci broni w C napisać a=c-1 ???
    >
    > Programuję dość biegle w obu językach i uwielbiam zapis typu i++ zamiast
    >
    > i:=i+1. To co mi się podoba w Pascalu o filozofia typu string.
    >
    >
    >
    > > Oglądnij sobie stronkę wyżej podaną, zassaj sobie DEMO, a najlepiej zakup za 199$
    soft od nich. I wówczas zobaczysz jakie są oferowane biblioteki, jak się z nich
    korzysta w dowolnym języku. A deklarowanie dowolnej zmiennej "byle gdzie", to
    zaproszenie do burdelu. Ot, taki jest język C.
    >
    > >
    >
    > > for(;;;) - Wacek wie o co w tym chodzi
    >
    > >
    >
    >
    >
    > To samo co while(1) {...} lub pascalowe while(true) begin...end
    >
    > Mnie się akurat konstrukcja pętli for bardziej podoba w C niż w Pascalu.
    >
    >
    >
    > Uważam, że to wszystko kwestia przyzwyczajenia. Sam zaczynałem od
    >
    > Pascala i dopiero przesiadka na Linuxa i projekty na uC niejako wymusiły
    >
    > przesiadkę na C. Na początku trochę się musiałem zastanawiać się nad
    >
    > każdą linijką ale z czasem nie dziwi mnie zapis typu Sum+=*BuffPtr++ i
    >
    > jest dla mnie czytelny od pierwszego rzutu okiem.
    >
    > Przesiadka na C ułatwiła mi zdecydowanie późniejsze programowanie w PHP
    >
    > i Javie. Mam duży sentyment do Pascala i nadal go używam w postaci
    >
    > Lazarusa, ale tak jak Koledzy pisali... świat wybrał C i inne jeżyki
    >
    > podobne składniowo wraz z ich "krzaczkami".
    >
    > Teraz jak rzeźbię w Verilogu to mi cholernie brakuje tego i++ :-)
    >
    >
    >
    W verilogu brakuje a++ ?? Nie żartuj !! No ok., Verilog pozwala na wiele. Podobnie
    jak C. Nie jest to "strong typed language" w przeciwieństwie do Pascala i VHDL, próba
    implementacji "programu" napisanego przez "elektronika" w języku C, z reguły kończy
    się katastrofą. Taak, ja wiem "verilog looks C-like", i za wuja wacka studentom nie
    idzie wytłumaczyć jaka jest różnica w zapisie przypisania sygnały a<=b, a jak to samo
    zapisać coby przez rejestr/przerzutnik pojechało.

    I Roman ma rację!! Ważne coby fungowało. A verilog/C w elektronice cyfrowej
    niestety pozwalają na jakieś "typowania", pozwalają na BURDEL !! Itd., itp...
    I młodzież niestety nie chyta różnicy w sposobie i pojęciu zapisu równoległego i
    sekwencyjnego...


  • 77. Data: 2014-01-31 23:40:16
    Temat: Re: Programowanie uC - Pascal, czy C ?
    Od: s...@g...com

    W dniu poniedziałek, 27 stycznia 2014 07:50:12 UTC+1 użytkownik Grzegorz Kurczyk
    napisał:
    > W dniu 27.01.2014 03:06, s...@g...com pisze:
    >
    >
    >
    > > A po co? Przecież znasz te dziwolągi (&&,&,|,||, i tede itp..) Fajnie się to
    czyta?
    >

    Chujowo się to czyta. Znam, czy nie, nie ma znaczenia.. Nowicjusz zapewne nie zna
    tych krzaków. Ale z całą pewnością byle nowicjusz zrozumie operatory logiczne w
    Pascalu (Or, And, Not, Xor). Nie kłóć się, bo %^& masz racji. (%^&=!) , lub jak
    łatwiej (%^&=Not), bo tak se qrva wymyśliłem.


  • 78. Data: 2014-02-01 00:01:54
    Temat: Re: Programowanie uC - Pascal, czy C ?
    Od: s...@g...com

    W dniu poniedziałek, 27 stycznia 2014 10:33:42 UTC+1 użytkownik RoMan Mandziejewicz
    napisał:
    > Hello Mario,
    >
    >
    >
    > Monday, January 27, 2014, 3:46:46 AM, you wrote:
    >
    >
    >
    > >>>> Ależ nie chodzi o historyczny śmietnik. Jak chcesz coś
    >
    > >>>> uzasadnić/podyskutować, proszę bardzo!! Jeżeli uważasz, że nie umię "C", i
    >
    > >>>> jest to Twoim Koronnym argumentem, to wręcz powiem tak: Umię cośtam
    >
    > >>>> nabazgrać w C. A teraz, brakło Ci Kolego ARGUMENTÓW.. Trzasłeś "Naucz sie
    >
    > >>>> porzadnie C"
    >
    > >>> Stachu, sam argumentów nie podałeś, więc nie krzycz teraz o nich. Jeszcze
    >
    > >>> raz odsyłam do linka podanego przez A.L. Zobacz sobie jak pan Kernighan
    >
    > >>> porównuje języki. Nie musisz się z nim zgadzać, ale jego tekst pokazuje w
    >
    > >>> jaki sposób można argumentować swoje racje w sporze o wyższość języków. I
    >
    > >>> żeby porównać dobrze języki, trzeba je dobrze znać. Ty ich nie znasz dobrze.
    >
    > >>> Nie podałeś argumentów. Udowodniłeś tylko, że potrafisz obsługiwać klawisz
    >
    > >>> Shift i za jego pomocą krzyczeć o burdelach i nędzy.
    >
    > >> Łubudubu!! No to teraz uargumentuj wyższość C nad Pascalem.
    >
    > > Ale po co? Wróć do tego co napisano wcześniej:
    >
    > > "Pascal znanazl sie dawno na smietniku historii."
    >
    > > Rynek wybrał i nie ma znaczenia, że niektórzy uważają, iż pokonany jest
    >
    > > ładniejszy. Chcesz się zamknąć w getcie to twoja sprawa ale nie dorabiaj
    >
    > > do tego ideologii.
    >
    > > ATSD to znałem trochę Fortran i Algol gdy do nauki programowania na
    >
    > > uczelniach zaczął się wdzierać przebojem Pascal. Nie bardzo wiedziałem
    >
    > > po co wprowadzać język który ma głownie zadanie edukacyjne a nie
    >
    > > użytkowe. Później studenci kończyli studia i upierali się żeby w tym
    >
    > > tworzyć poważne aplikacje.
    >
    >
    >
    > No i co w tym złego?
    >
    >
    >
    > > To tak jakby upierać się, że poważny soft powinno się pisać w LOGO
    >
    > > czy Scratch, bo przecież młodzież w tych językach uczy się
    >
    > > programować.
    >
    >
    >
    > Ale dlaczego przeginasz?
    >
    >
    >
    > > Jakoś nigdy się do Pascala nie przekonałem a z c jakoś dałem radę.
    >
    >
    >
    > 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.
    >
    >

    W pełni się z Tobą zgadzam. Ileż to razy naczytałem się o tym, że w C da się zrobić
    to, czego w innych językach programowania nie da się zrobić. Noszsz do Pani Nędzy, to
    niechaj mi w końcu ktoś w końcu konkretnie napisze czego się nie da zrobić w Pascalu,
    a da się w C. No peeewnie, argumentem będzie fakt, że ni ma kompilatorów Pascala na
    jekieś tam DSP. I fakt, bo nie ma!! Aha!! Czyli Buraki są lepsze od Bananów, bo
    Banany u nas nie rosną.. Tymczasem Basic jako język kompilowalny, jak i interpreter
    jest o wiele bardziej czytelny od krzoków &,&&,|| itd., itp...


  • 79. Data: 2014-02-01 00:43:43
    Temat: Re: Programowanie uC - Pascal, czy C ?
    Od: s...@g...com

    W dniu poniedziałek, 27 stycznia 2014 02:24:20 UTC+1 użytkownik J.F. napisał:
    > Dnia Sun, 26 Jan 2014 15:36:17 -0800 (PST), s...@g...com
    >
    > > Temat zupełnie luźny do dyskusji. Niee, ekspertem Pascala absolutnie nie jestem,
    ale zupełnie nieźle poruszam się w tym środowisku programistycznym.
    >
    > >
    >
    > > Kto i po jaką cholerę wymiślił C?
    >
    >
    >
    > A takich kilku. Zeby napisac Multicsa(Unixa) :-)
    >
    >
    >
    > > W zasadzie pisze się programy bardzo podobnie jak w Pascalu.
    >
    >
    >
    > Trudno powiedziec czy "jak w Pascalu", czy "w Pascalu to podobnie jak
    >
    > w C", czy "w Pascalu to identycznie jak w Algolu, a w C analogicznie",
    >
    >
    >
    > > Ino, że imho jest to zdecydowanie mniej czytelne niż w Pascalu.
    >
    >
    >
    > Pretensje do siebie, trzeba pisac czytelnie :-)
    >
    >
    >
    > > Konstrukcja pętli, to akurat "małe piwo", w różnych językach różnie się to robi.
    >
    > > Ale weźmy na przykład operatory logiczne. Ot tak sobie dupnę coś w Pascalu:
    >
    > >
    >
    > > if ((a=b) and (b<c)) then
    >
    > > begin
    >
    > >
    >
    > > ... Cośtam_Cośtam;
    >
    > >
    >
    > > end;
    >
    >
    >
    > if ((a==b) && (b<c)) then
    >
    > {
    >
    > ... Cośtam_Cośtam;
    >
    > }
    >
    >
    >
    > Kiepski przyklad.
    >

    Ano pewnie, że taki sobie... Hah.., taki ot pierwszy z brzegu. Ot, taki bardziej
    czytelno/nieczytelny. To tylko operatory logiczne.

    for(;;;) - co to QRVA jest?!

    Inne bździny:

    a+=b;
    a-=b;

    Jestem w stanie zrozumieć: a:=b+1, a:=b-1, ale te powyższe pierdulamenty zapisane w
    C, to jest po prostu BURDEL jak tralala!!

    OK., zróbmy tak:

    a1b+;
    a1b-;

    Prawda,ze fajny burdel wymuśliłem ?!!



  • 80. Data: 2014-02-01 01:22:12
    Temat: Re: Programowanie uC - Pascal, czy C ?
    Od: butek <email.is@invalid>

    W dniu 01.02.2014 00:43, s...@g...com pisze:
    >
    > a+=b;
    > a-=b;
    >

    Yhm, ale co w tym niezrozumiałego, przecież na oko widać że do "a"
    dodajemy/odejmujemy b, wychowany jestem na Basicu i Pascalu, żeby nie
    było :]

    > Jestem w stanie zrozumieć: a:=b+1, a:=b-1, ale te powyższe pierdulamenty zapisane w
    C, to jest po prostu BURDEL jak tralala!!

    Aha..

    --
    butek
    Safety note: Don't put all your enriched uranium hexafluoride in one
    bucket. Use at least two or three buckets and keep them in separate
    corners of the room. This will prevent the premature build-up of a
    critical mass.

strony : 1 ... 7 . [ 8 ] . 9 ... 12


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: