pre vsetkych

Sekcia: Hardware a Drivery 04.05.2008 | 12:42
Avatar dzairo Teraz nic  Používateľ
ahoj otazka pre vsetkych co budu vediet nieco o tom.

ja programujem pre win ( tak som zacal a tak v tom robym Delphi7) a ak prejdem na linuch tak vsetky programy skncia ????
alebo budem vediet ich pouzit v Linuxe????
jedna sa mi oto ze pouzivam seriovy port alebo paralelny (usb prevodniky a tak) a neviem ako to pouzit.
zacal by som programovat aj pre Linux ale v Delphi som zbehly a C len pre arm7 a avr.
nepotrebujem super grafiku ale RAD ako v Delphi.
Je nieco take????

ako je na tom wine???? co vsetko dokaze spravits windows programom?????
    • Re: pre vsetkych 04.05.2008 | 12:49
      Avatar Miroslav Bendík Gentoo  Administrátor
      Delphi je onicom, c++ vladne.
    • Re: pre vsetkych 04.05.2008 | 13:04
      Avatar Stanislav Hoferek Greenie, Manjaro, Q4OS, Lubuntu  Používateľ
      chudak tvoj slovencinar/slovencinarka
      • Re: pre vsetkych 04.05.2008 | 13:16
        Avatar dzairo Teraz nic  Používateľ
        nemienim sa bavit o pravopise - je kopu ludi co vie slovencinu a to je takvsetko (vedia robit hlavou ale len rukami) .

        k tomu delphi. ja sa nechcem hadat co je lepsie ale v Delphi som :
        programoval DirtectX a vlastny kamerovy sistem, kompresi aobrazu , detekcia pohybu v obraze, webovy prehliadavac s vlastnymi funkciami, programy na komunikaciu s MCU, databazy, a rozne utility ... a uz ani neviem co vsetko za tych 10rokov. ano pracujem v C ale len pre jednocipaky.

        ano nic vinimocne ale ak to neviem v C alebo C++ tak to viem v Delphi.
        otazka je co je premna jednoduchsie .
        zacat sa ucit C++ ( je nejake IDE prostredie podobne delphi?) alebo nejako spustit moje programi v Linuxe (nie directx nemusim , staci to jednoduchsie).

        Ja na PC pracujem nehram sa . potrebujem rozchodit emulatory na mikroprocesory (AVR Dragon) a ovladat dokonale seriovy port a jeho komunikaciu. ovladat pralelny port , ovladat usb (ft232 a spol). nie pozerat na pekne okna to mi penaze nezaroby. Kreslit plosne spoje a ovladat moju CNC frezu. takze ak mate nejake napady som otvoreny moznostiam.

        a hlavne mam USB osciloskop M524 a stal 25tis. takze to tiez potrebujem rozchodit pod Linuxom ak sa da, lebo inac som vyradeny.
        Mne je fuk aky mam operacny , potrebujem v nom pracovat s vecmi co mi zarabaju.

        • Re: pre vsetkych 04.05.2008 | 13:38
          fckr   Návštevník
          Ked ti je to fuk tak ostan na windowse
        • Re: pre vsetkych 04.05.2008 | 14:26
          Avatar Peter Rozum Arch Linux  Používateľ
          ked programujes v delphi taksa pozri na lazarus. nieje 100% kompatibilny s delphi co zmena, ze niektore objekty maju rovnake metody a niektore nie cize budes musiet trochu upravovat zdrojaky. na druhej strane lazarovsky kod je pokial viem prenositelny medzi windowsom a linuxom (kompilovane samozrejme v lazarus ide).
          co sa tyka serioveho portu tak s tym nemam skusenosti, ale da sa to, len neviem ako a do akej miery :) no spaja sa mi s tym hlavne Cecko. ci to pojde v lazaruse, to neviem.
          Everything is proceeding as I have foreseen.
        • Re: pre vsetkych 04.05.2008 | 14:32
          Avatar Miroslav Bendík Gentoo  Administrátor
          No nechcel by som v delphi, c je viac pre programátorov, keďže ma použiteľnú syntax. RAD bežnému programátorovi netreba. Čo sa týka atmelov sám s nimo pracujem dosť, ale simulátor som nevidel, možno gdb, ale fakt neviem, osobne skúšam skôr na skutočnom hardware. Čo sa týka ovládania lpt v linuxe .. nie je to veľký problém, stačí sa trošku pohrať s ioctl.
          • Re: pre vsetkych 04.05.2008 | 17:29
            Avatar dzairo Teraz nic  Používateľ
            No dobre , pozriem sa na to ale ten osciloskop je potrebny a asi bude problem ho portovat do linuxu

            vdaka cau
    • Re: pre vsetkych 04.05.2008 | 19:35
      Avatar Zefram Cochrane MS Windows Vista Ultimate 64bi  Používateľ
      No asi takto. Da sa aj v linuxe ale obrovsky problem je produktivita prace. Ja som fulltime delphi vyvojar (db aplikacie, nastroje, siet) a Delphi7 je v tomto uplne ale uplne niekde inde. Nie je problem sadnut v piatok za komp a v nedelu vecer predat soft zakaznikovi.

      V linuxe je to asi tak 5x az 10x pomalsie. Na CLX (Kylix) zabudni uplne, je to nepouzitelny shit. Zostava teda len Lazarus. Vyvyja sa sice hodne rychle ale aj tak to nie je ono. Ja mam napr. nainstalovane 4 rozne verzie, kazdu v gtk aj gtk2 lebo ak sa objavi nejaky problem tak vacsinou v nejakej inej verzii to ide. A to nie je tak ze by ten problem vyskocil raz za pol roka ale tak ze robim hodinu a objavym brutalny bug (napr. neda sa kresli to paintboxu, stalcenie button nezavola on click, v ide sa neda nastavit event, neda sa nacitat obrazok ...) ktory mi uplne znemozni dalej pracovat. Takto sa to fakt neda. Na nejake hrajkanie sa ok, ale keby som v tomto mal robit v praci 8h denne tak si rovno vpalim gulku do hlavy. Komfort prace tiez velmi zaostava za Delphi7.

      Vacsina tychto problemov je podla mna spojena prave s tou multiplatformnostou Lazarusa. Dakto objavy nejaky bug, fixne to u seba a to sposobi problem na nejakom inom os alebo toolkite. Delphi7 je len jedno na jednom OS takze tam ked sa objavy chyba a opravia ju tak je opravena a bodka.

      Inak pobavil ma Bendikov komentar ze "RAD bežnému programátorovi netreba". Akoze ha ha. Ak je bezny programator ten co sa bezne programovanim zivi tak RAD urcite treba. Ale nie "RAD" co je v kdevelop a podobnych open source srackach. Cim sa teda nechcem nikoho dotknut ale studenti maju obvyle uplne skreslene predstavy o tom co sa deje v biznis sfere.

      Zhrniem to. Ak sa zivis programovanim v Delphi7, zatial u toho zostan. DualBoot nie je problem. Nie je problem ani vyskusat si lazarus. Ak sa snad bojis ze ti ujde vlak, neujde. To som si myslel niekedy v 1998 ale ako vydis, linuxovy vlak sa este stale plazi v depe, je a bude dost casu naskocit neskor.


      • Re: pre vsetkych 04.05.2008 | 20:01
        Avatar dzairo Teraz nic  Používateľ
        NO mas to pekne napisane.
        Ja prave pre RAD pracujem v Delphi a ako si pisal v piatok sadnem a v nedelu mam soft.
        ale musim ist aj inou cestou. pisem aj pre jednocipaky a tam uz len v C a to nie je problem ale
        dalej v zivote budem musiet nejake distribucie tiny linux pre arm9 a spol a preto potrebujem vediet programovat aj pre linux aspon tak nejako .
        ak nerozchodim hardware na linuxe ten co potrebujem tak budem musiet chodit na 2OS inac sa neda.

        zatim vdaka. uvidim casom.
        • Re: pre vsetkych 04.05.2008 | 20:56
          Avatar Zefram Cochrane MS Windows Vista Ultimate 64bi  Používateľ
          Tak potom by mohlo pomoct rozdelit aplikaciu na 2 casti. GUI frontend napises v delphi a ten bude volat backend. Ten backend bude priamo komunikovat so zariadenim. Vo windowse budes mat teda delphi gui + backend, v linuxe len backend s tym ze ak bude treba tak sa dorobi pre linux gui. Tym ze to bude rozdelene na 2 casti to bude mensie a lehsie prenositelnejsie na linux. Ak API pre ten backend bude nejake jednotne a jednoduche, napr. text a std. vstup a vystup, tak mozes pouzit GUI z delphi a spustat to vo WINE, pricom backend bude nativny linuxovy. Co sa tyka jednocipakov, tam samozrejme asm a c.
      • Re: pre vsetkych 05.05.2008 | 10:21
        Avatar Miroslav Bendík Gentoo  Administrátor
        No len pre zaujímavosť aplikáciu s rovnakou funkčnosťou (možno aj lepšou) v c++ napšíem rýchlejšie než v delphi. Len pre zaujímavosť kód ktorý má na starosti gui je v c++ (na rozdiel od delphi) veľmi krátky a okrem toho sú tu nástroje ako designer v ktorých sa dá GUI navrhnúť omnoho rýchlejšie než v sračkách typu delphi. Okrem toho v delphi som dosť robil a takmer nikdy na aplikácii ktorú som robil nebolo podstatné gui ale to čo tá aplikácia robí a ten kód bol výrazne dlhší než ekvivalent v c++ (keďže pascal je pascal). Okrem toho c++ je multiplatformové, vyvíjam aplikáciu pre linux, zaškrtnem potom v kdevelope platformu win32 a hneď mám exe-čko ktoré behá na win.
      • Re: pre vsetkych 05.05.2008 | 13:24
        Avatar Miroslav Bendík Gentoo  Administrátor

        Okrem toho pascal je totalne zastaralý neefektívny jazyk. Len pre zaujímavosť pascal nebol vyvinutý na programovanie ale len na zápis algoritmov. Je absolútne neefektívny na akékoľvek programovanie. Základom moderných efektívnych jazykov je c. Len pre zaujímavosť si skúste porovnať:

        x=a?b:c;
        
        a
        if a<>0 then
          a:=b
        else
          a:=c;
        

        Pozrime sa bliššie na zápis:
        Ak zoberiem c-čkovske porovnania a priradenia (==, =): najčastejšie používam priradenie takže by malo byť najkratšie. Lenže v pascale nič také nie je a musím priraďovať pomocou := čo je absolútne nevyhovujúci zápis. Stláčať za sebou znaky ktoré sú na pravej strane klávesnice na úplne inom mieste mi zaberá obrovské množstvo času čo pri tom, že návrh gui v c++ mi nezaberie viac ako 5 minút je dosť podstatná vec. Už len vďaka tomu napíšem zhruba to isté (s trošku lepším gui) v c++ skôr než v pascale.

        Begin a end sú kapitola samá o sebe. Osobne som nenašiel žiaden editor na pascal ktorý by dokázal automatické odsadzovanie begin / end. Pri programovaní sa mi občas stane že zabudnem odsadenie .. no zatiaľ čo c-čko má {} kde mi automatický pri napísaní { napíše } a keď dám kurzor k jednej zátvorke automaticky zvýrazni aj druhú zátvorku. Automatické odsadenie je samozrejmosť takže zbytočným formátovaním nestrácam ani sekundu. Raz sa mi stalo, že som pri programovaní v delphi 2 sprosté dni strávil hľadaním chýb v begin / end.

        • Re: pre vsetkych 05.05.2008 | 14:00
          Avatar borg Arch, Debian jessie  Administrátor
          ano, tomu sa hovori syntax
        • Re: pre vsetkych 05.05.2008 | 16:13
          Avatar Zefram Cochrane MS Windows Vista Ultimate 64bi  Používateľ
          >> Je absolútne neefektívny na akékoľvek programovanie

          Nas projekt (velka DB aplikacia) ma momentalne presne 2659 roznych okien, 665 dalsich kniznic (unit) ktore okno nemaju (nevizualne, komponenty, objekty, atd...), zdrojove kody maju 1973271 riadkov a zaberaju 59 MB. To je len klientska cast napisana ciste v delphi. Cudzie komponenty (jedi, rx, indy, quickreport, ...) do toho nepocitam! Obhospodaruje to bez vacsich problemov 7, slovom sedem, programatorov. A teraz mi povedz nieco o neefektivnosti. Aky je najvacsi projekt ktory si ty robil v C/C++. Stale sa tu bavime o GUI "kancelarskych" aplikaciach. V jednocipakoch som asm/c pouzil aj ja, naposledy na diplomovke ale to uz je hodne davno.

          Ty si proste blby studentik ktory musel v delphi robit zadanie do skoly o inak o tom vie hovno a tu sa bude o tom hadat.
          • Re: pre vsetkych 05.05.2008 | 17:46
            ---   Návštevník
            takym ludom sa nehovori programatori ale blazni
            • Re: pre vsetkych 05.05.2008 | 17:55
              Avatar borg Arch, Debian jessie  Administrátor
              u nas ma projekt:
              cpp lines: 12 093 376
              header lines: 6 744 904
              • Re: pre vsetkych 05.05.2008 | 17:56
                Avatar Zefram Cochrane MS Windows Vista Ultimate 64bi  Používateľ
                • Re: pre vsetkych 05.05.2008 | 17:58
                  Avatar borg Arch, Debian jessie  Administrátor
                  neviem, ja robim len na 2 moduloch. toto som vytiahol zo statistiky nasho codebrowsru. ale myslim ze okna su tam neni ratane, pretoze okna mame v jave. cele GUI je vlastne v jave, tak ked to zosumarizujem je to bez okien :P
              • Re: pre vsetkych 05.05.2008 | 17:57
                ---   Návštevník
                Hezky, co delate?
                • Re: pre vsetkych 05.05.2008 | 18:02
                  Avatar borg Arch, Debian jessie  Administrátor
                  soft pre poistovne
          • Re: pre vsetkych 05.05.2008 | 20:11
            Avatar Miroslav Bendík Gentoo  Administrátor
            Jo pretože v c++ by to bolo 2x kratšie.
        • Re: pre vsetkych 05.05.2008 | 22:11
          Avatar uid0 Debian  Používateľ
          zase ten drist s == =... ach jaj.

          stavim sa o vybornu povest prenositelnosti C++, ze vsade pouzivas ternarny operator... vlastne nie, ona nie je vobec taka vyborna ako prezentujes

          > Osobne som nenašiel žiaden editor na pascal ktorý by dokázal automatické odsadzovanie begin / end.

          a kolkokrat si sa pozeral na tvoj "oblubeny" emacs?
          Debian. apt-get into it…
          • Re: pre vsetkych 05.05.2008 | 22:12
            Avatar uid0 Debian  Používateľ
            ach jaj, deja vu

            a preco mam pocit, ze toto je dalsie? ze by som si to vyguglil?
            Debian. apt-get into it…
          • Re: pre vsetkych 05.05.2008 | 22:22
            Avatar Miroslav Bendík Gentoo  Administrátor
            1. potrebujem editor a nie OS
            2. ternárny operátor som dal len ako drobný príklad neefektívnosti. Mimochodom nie vždy je požitie ternárneho operátora na škodu.
            • Re: pre vsetkych 05.05.2008 | 22:27
              Avatar uid0 Debian  Používateľ
              ha ha ha... not funny. kto chce psa bit, palicu si najde
              Debian. apt-get into it…
            • Re: pre vsetkych 05.05.2008 | 22:30
              Avatar Stanislav Hoferek Greenie, Manjaro, Q4OS, Lubuntu  Používateľ
              pozitie ternarneho operatora? coze?
        • Re: pre vsetkych 06.05.2008 | 00:25
          Avatar Zefram Cochrane MS Windows Vista Ultimate 64bi  Používateľ
          Ak ti ide len o ternarny operator, nevidim v tom problem:
          program pokus;
          
          {$mode delphi}
          
          uses SysUtils, Variants;
          
          function iif(podmienka : boolean; ano, nie : variant) : variant;
          begin
            if podmienka then
              result := ano
            else
              result := nie;
          end;
          
          var a,b,c,x : integer;
              s : string;
          
          begin
            b := 2;
            c := 3;
            
            a := 0;
            x := iif(a<>0,b,c);
            writeln('a=',a,' x=',x);
            
            a := 1;
            x := iif(a<>0,b,c);
            writeln('a=',a,' x=',x);
            
            s := 'jano';
            writeln(iif(s='jano','servus','ahoj'),' ',s);
          
            s := 'fero';
            writeln(iif(s='jano','servus','ahoj'),' ',s);
          end.
          

          Spusteny program
          ./pokus
          a=0 x=3
          a=1 x=2
          servus jano
          ahoj fero

          Je to tusim priamo v SysUtils, vola sa to IfThen.
          • Re: pre vsetkych 06.05.2008 | 01:04
            Avatar Miroslav Bendík Gentoo  Administrátor
            :D
            Ternárne operátory sú vec ktorá ma veľmi netrápi, bola to len jedna z náhodných vlastností c++; Ešte dodám štýl akým programujem:
            main(f,u,n){char**a=u,*g=a[1];n=u=f-1?1<<atoi(g):32;int s(v)
            {if(n/=2)s(v),s(v+n),s(v+u*n);g[v]=n=n?n+n:1;}for(g=calloc(u
            ,u),f=~1,s(0);f<u*u;printf(g[++f]?f&(u-1)?"#":"\n#":" "));}
            • Re: pre vsetkych 06.05.2008 | 01:12
              Avatar Miroslav Bendík Gentoo  Administrátor
              Zabudol som ešte dodať, že tento kód nie je môj, napísal to Jindřich Nový a výstupom programu je fraktál "Sierpiński". screenshot
              • Re: pre vsetkych 06.05.2008 | 01:14
                Avatar uid0 Debian  Používateľ
                snazim sa spomenut ci mi to vobec niekedy slo spustit, posledne tri razy ani nie...

                zsh: segmentation fault ./f

                prihlas sa do IOCCC
                Debian. apt-get into it…
                • Re: pre vsetkych 13.05.2009 | 20:53
                  Avatar Jakub Vojaček Fedora 15  Používateľ
                  zdravim mozem sa opytat ako v linuxe spristupnit LPT pre pascal resp ako to urobit v pascale aby posielal data na LPT?
                  dakujem