» »

Programiranje

Programiranje

«
1
2

PIII850 ::

V kratkem se bom spravil programirati. Sedaj pa me zanima kateri programski jezik je najboljsi. Programiral bi predvsem uporabne aplikacije, ne pa kaksne 3d grafike ali kaj podobnega.
Prav tako me zanima kako je s programiranjem neta. Javascript, Html itd sranje

Hvala

lp

iBojan ::

Danes imamo že kar precej zelo dobrih programskih orodij tako, da je najboljše, da pač uporabiš tsto kar poznaš najbolje saj boš tako lahko dosegal najboljše rezultate. Npr. če se spoznaš na Delphi ti je najboljše, da kar v njem programiraš ;) Kaj ti poaga, da bi programiral v C++ če ga ne poznaš ;(. Jaz osebno uporabljam DELPHI-ja in sem zelo zadovoljen, občasno uporabljam tudi VC++ in VB++ sam bolj poredko, ker mi delphi čist zadostuje.

Priporočam ti DELPHI

lp, _GeS_

GaPe ::

Če si začetnik pol deli v Delphi-ju.>:D
Don't steal! The government hates competition.

Mr.-Viko ::

Če obvladaš osnovo (Pascal), potem začni v Delphiju.
No comment, really

iBojan ::

A to poeni, da je delphi dober le za začetnika ???? Mislim, da potem ti glih nisi kaj preveč domač z delphijem. Kajti v delphiju lahko napišeš vsako aplikacijo, ki jo potrebuješ ! A mi lahko poveš kaj uporabljaš ko več nisi začetnik ;)

lp, _GeS_

Lunik ::

Ena možnost je tudi visual basic. Hitro se naučiš osnov, pa še zelo izi je delat.

Kekec ::

Ja cist odvisno kaj bos programiru, ce bos delu neke uporabniške aplikacije pol mas na razpolago Delphi ali pa Visual Basic, če bos pa delu kake hude zadeve, ka pa vem pa C++ !

Thomas ::

The best choice - če mene prašaš je VB. Vkolikor seveda nisi preveč ambiciozen. Pa nikar ne poslušej raznih pravovernih (ortodoxnih) informatikov. :)

Za "resne zadeve" je pa C++ prešvoh.
Man muss immer generalisieren - Carl Jacobi

Senitel ::

Hm, Thomas?? Kakšne "resne" zadeve imaš v mislih?

Thomas ::

Senitel,

Zame je resno pravzaprav vse. Začenši s setiranjem 18. bita v 32 bitnem številu. C++ ... nima direktnih ukazov za te reči.

Zame recimo je resna reč iskanje naslednjega Mersenovega praštevila. Brez SIMD na Pentiumu je to razmetavanje časa. Ampak noben C++ SIMD-a ne podpira v tem smislu, da bi kompajlal izvorno kodo v tiste SIMD ukaze. Kaj šele, da bi delal tovrstne optimizacije.

Dekompresije v C++ tudi poberejo preveč procesorskega časa. Za moj okus. Jpg file se zvleče čez ekran počasi da je groza.

Resno je nekako karkoli, kar (vsaj potencialno) uporablja veliko userjev ali pa nekaj njih na veliko. Zato naj bo suma njihovega čakanja čimbližja 0. :)

Po drugi strani - če pa nekdo dela dedicated programe za gospoda direktorja - je pa čisto vseeno, če mora oni počakat kakšno sekundo za letni ispis, ki ga morda niti ne prebere.
Man muss immer generalisieren - Carl Jacobi

Loki ::

In Thomas ker programski jezik je za 'resne zadeve' po tvojem mnenju?

VB - don't make me laugh.
I left my wallet in El Segundo

Thomas ::

Samo strojni jezik je za "resne zadeve". Nažalost! Ker so vsi kompajlerji "zanič"!

Za ostale (nekoliko manj resne) so pa precej enakopravni:

  • Java


  • C++


  • BASIC


  • Pa še mnogi drugi (Ada, Perl, Delphi ...)

    You name it!

    Pomemben faktor se mi pa zdi tudi hitrost programiranja. V VB lahko zelo hitro nekaj narediš, kar ima že uporabno vrednost.

    In po mojem, največ manjka dobrega VB programja, ki bi precej avtomatiziralo mnogo opravil, basic programov znotraj MS produktov, ki bi bistveno olajšali in izboljšali delo, Java uporabnih reči, kot je naprimer generacija HTML strani iz binarnega zapisa ...

    Vsega manjka pravzaprav, ker trenutno premalo ljudi zna (dobro) programirati karkoli.

    Se jih pa dosti duva, kako da obvladajo C++.

    Ja sure ...
    Man muss immer generalisieren - Carl Jacobi

    Freak ::

    delphi je lahek in enostaven! Osnov se naučiš v zelo kratkem času, seveda če pa si čisti začetnik ti pa svetujem da začneš programirat v turbo pascalu! Tam se boš naučil osnov pascala, in kasnejšnje programiranje v delphiju bo čist easy!:D

    Mr.-Viko ::

    _Ges_: če si komentiral moj post, ti naj povem, da ni nujno začeti v Delphiju. Kakor sem že rekel, če obvladaš Pascal, potem lahko začneš v Delphiju, ker vsebuje skoraj enake ukaze kot Pascal. Nikjer pa ne piše, da MORAŠ začeti v Delphiju. Lahko začneš v C++, VB, celo v Turbo Pascalu (pač tam, kjer ti najbolj ustreza).
    No, moram pa priznati, da Delphija ne obvladam. Bom še počakal ti dve šolski leti da me profesorji še kaj več naučijo (v pon. smo vzeli novo snov, in sicer grafika v Pascalu! Waw :D) kot pa so me. Drugače povedano, Pascala še ne obvladam (kakšnega črva pa že lahko napišem >:D).

    Oprostite za ta nevmesen post.
    No comment, really

    Thomas ::

    Fantje (edino) s Pascalom izgubljate čas. Vzemite raje VB.
    Man muss immer generalisieren - Carl Jacobi

    PIII850 ::

    Ja v bistvu sem totalni začetnik. Ampak res totalni. Nazadnje kar sem programiral je bil Fortran ;)) pa se tisto je blo v sklopu faksa, in je bilo nujno nekje dobit, prepisat tisti program. Kako je pa kaj z java scriptom al kaj je to sploh???

    lp

    Nemenej ::

    LOL thomas. V strojnem jeziku bos programiral :))). Si ze slisal za assembler? Nekako se mi zdi, da programiranje ni tvoje podrocje.

    Pascal, Delphi, c++, php, asp, java, javascript..... vsi ti jeziki so si zelo podobni in ce znas enega, pravzaprav znas vse.

    Tr0n ::

    Ce bi rad programiral za prihodnost, potem verjetno ne bos moral preko .NET Microsoftovega programskega okolja, C# ter Java. To sta trenutno dva vodilna prog. jezika, ki se bosta uporabljala v prihodnosti.

    Microsoft vs. Others (javo bo namrec uporabljala Nokia v svojih 3. generacija mobilnih telefonih, IBM in ostala podjetja).

    Programiranje v assembljerju Thomas? Veliko zabave zelim.

    Thomas ::

    Nemenej ... ha ha ha!

    8-)
    Man muss immer generalisieren - Carl Jacobi

    hatch ::

    Za resne zadeve C++.. za algoritme pac uporabis inline assembler, ki je kar dober v c-ju.

    Ce mislis delat uporabne programe (beri neuporabne bedarije), je delphi al visual basic dovolj dober. Ce pa imas kake vecje ambicije za potem, basic odpade. Delphi pa tudi s svojim objektnim sranjem. (90% programerjev, ki dela ekcesivno objektno, ne ve kaj objekti so in kako delujejo)

    Programiranja se dobro naucis v kakem jeziku kot je pascal.. vendar so programi vse prej kot uporabni.

    Thomas ::

    hatch zastopa nekaj, čemur bi lahko rekli "uradno stališče programerske srenje".

    Najman tri napake so v tem mnenju:

  • "Ce mislis delat uporabne programe (beri neuporabne bedarije), je delphi al visual basic dovolj dober"

  • To je prevzetno stališče mnogih "profesionalcev", ki zviška gledajo na realne potrebe uporabnikov kot na manj vredno sitnarjenje, ki samo moti "prve programerje pri njihovih svetih programerskih opraviih".




  • "Za resne zadeve C++.. za algoritme pac uporabis inline assembler, ki je kar dober v c-ju"


  • Tale vera v optimalnost C++ je zelo pretirana. In zelo razširjena. Trdim celo, da je zaradi tako masovne uporabe C++ standardov današnji software precej suboptimalen. Ne uporablja nobenih MMX, SIMD in podobnih reči - ker jih C++ kompajlerji sploh ne znajo ponucat.

    Po drugi strani pa silne komplikacije za dve vrstici dolg program - so pa tudi često čisto neekonomične. Dostikrat je bolje in hitreje kaj narediti v Excelu, kot pa naprimer v C++ samo odpreti nov projekt.

    Koliko je pa dober C++ inline assembler pa tole: če je assemblerski program daljši od 65535 ukazov - mu za začetek odpove editorsko podporo. Ostale "storitve" - so pa prevod v binarno kodo, kar je pa res enostavna reč.

    Sej ne vem, če je kaj boljšega kot C++ - ampak zelo preveč se ga hvali. :)
    Man muss immer generalisieren - Carl Jacobi

    darh ::

    ko že omenjamo 2 vrstične proggye... v tem primeru rula Perl in ostalo podobno...
    Excuses are useless! Results are priceless!

    McAjvar ::

    Se moj piskercek: ko si omenjal programiranje za net... Pejt pol na C++, da ne bos mel problemov, ko bos presaltu na recimo php.
    Sploh pa ne vem, zakaj tak spetir okol tega, kaj je boljse in kaj slabse... Vsaka rec je za neki dobra. Pac so produkti enih programskih okolij hitrejsi, spet drugi pa so lahko lepejsi, prakticnejsi, ..., in tretji recimo prenosljivejsi. Sej veste, vsake oci majo svojga malarja.
    "[...] the advance of civilization is nothing
    but an exercise in the limiting of privacy."
    - Isaac Asimov

    Thomas ::

    Ne, ne - sej v redu. Samo poznavanje sintaxe jezika C++, ni konec vse znanosti. Še začetek ni. :)
    Man muss immer generalisieren - Carl Jacobi

    simon ::

    Spet ena svet vojna o programskih jezikih:( Programski jezik NI sveto pismo, talmud.. pac pa je orodje in tako kot lopata ni primerna za vsako delo tudi vsak programski jezik ni. Vazno je da ti omogoca da delo opravis cim lazje in cim ucinkovitejse. Tako je tudi za ucenje programiranja najboljsi tisti jezik, s katerim bos kaj koristnega naredil. Mimogrede se lahko gres uciti z strojnim jezikom (teorija PriKoreninahJeTrebaZaceti), ampak imas 90 procentov moznosti da bos zasovrazil programiranje. Ko bos pravi programer bos pa tako ali tako moral znati par jezikov.

    Thomas ::

    Nobena vojna. Samo ravno danes mi je MS C++ iz paketa MSN studio .. a kaj že je ... prijavil, da moram povečat Zm faktor ... pa sem ga na 99999 ... pa mi reče, da tolk ne gre, da je maximum 2000.

    No, to je bilo pa premalo! Code too complex - oziroma C1063 mi je šu prjavlat!

    Beh! :D
    Man muss immer generalisieren - Carl Jacobi

    footprint ::

    Oj, po vsem tem kar sem prebral, mislim da 'PIII850' ni dobil ravno navdušenja ali upanja za delo oz. programiranje. Je pa lepo soočiti se z realnostjo. Sam sem amater med programiranjem vendar vem toliko, da se ne moreš kr čez noč odločiti in začeti programirati vsaj ne v C-ju, Delphi-ju, Javi, PHP-ju, Perl-u, itd. Če se rače HTML programski jezik je to najenostavnejše za pisanje statičnih spletnih strani. Potem pa sledijo ASP-ji ki pa potegnejo za sabo neke komponente. Verjetno bo VS .NET najboljša rešitev, ko bo na voljo. Sedaj pa cry and smile. Vsekakor pa bo potrebno da PIII850 postane dober programer veliko volje in vztrajnosti :)

    Bodte pozdravljeni in (s)mejte se :))))))))))))))

    Vati ::

    PIII850,
    Kot so ti ze drugi svetovali, je za zacetek po mojem mnenju dobro izbrati jezik, kateri nima prevec zapletene sintakse. Delphi in VB sta oba primerna. Ko bos enkrat bil domac v tem, bos videl, da prehodi v druge jazike sploh niso tako tezki, kot se morda dozdevajo sedaj.

    --

    Thomas,
    Verjetno se sam ne ves kaj govoris, ko hoces izpasti pameten. Omenjas kako je za resne zadeve C++ presvoh in v drugem dahu pravis kako super je VB.
    Da tvojih C1076 in C1063 ne omenjam, ker izpade, da si neizkusen v programiranju, ce jih uporabljas kot argumente.

    Konec koncev, ker si taka glavca, zakaj se sam ne lotis pisanja prevajalnika? Na milijone programerjev (tudi jaz) ti bo hvalaznih in postal bos nesmrten.

    PIII850 ::

    ja odločil sem se za Visual Basic, vendar ko recimo pridem v sam VB nimam pojma kako in kaj??? Ali obstaja kaksna knjiga ali kaj podobnega.

    darh ::

    to kar ti vids je le graficni umesnik, v katerem dolocs kje bodo stal gumbki ipd... to se ne razlikuje kej dost od posamezdnega Visual paketa, naprimer Borlandov Deplhi in C++ Builder sta si dost podobna...

    če prpopaš nekej gumbkov na form, to še ne pomen da znaš programirat :) treba jih je tud povezat, jim doloct akcije ipd... enjoy...
    Excuses are useless! Results are priceless!

    Thomas ::

    Vati!

    Dej ti mal bol ber, preden se začneš z mano špetirat! :D

    Kar jest pravim je, da se 90% programerskega dela da opraviti z VB-jem. In to hitro in enostavno.

    Za ostalih 10% pa še C++ ni dost dobr. De facto nima podpore za MMX in SIMD - pa bi bilo zelo dobro, da bi jo imel.

    Dejmo se pomert, kdo ma pojem in kdo ne - na eni konkretni nalogi.

    Predlagam kar tisto, ki sem zanjo odpru topic.

    Hic Rhodus - hic salta!

    Lahko pa daš seveda tudi svojo.

    8-)
    Man muss immer generalisieren - Carl Jacobi

    Vati ::

    PIII850,
    Preberi si prilozeno dokumentacijo in seveda brez knjig in kaksnega online tutoriala ne bo slo, ce nimas nobenega mentorja.

    Thomas
    De facto nima podpore za MMX in SIMD - pa bi bilo zelo dobro, da bi jo imel.

    S tem si povedu vse...

    NoUse4AName ::

    c++ je 5x starejsi jezik kot pa VB logicno da nima podpore za MMX in SIMD, ker je nastal leta preden so to iznasli. Kolko vem sta ta dva nabora namenjena delanju s grafiko torej kaj naj to dela v c++ ce pa je celotna grafika v c++ v knjiiznicah kot so opengl in direct3d, kjer sta MMX in SIMD seveda podprta. VB in delphi in ostali drek kar je za vinse in ni c++ je dober za taksne manjse programe ki delajo samo take bol preproste stvari, ce pa delas kaj bolj posebnega pa nimas druge izbire kot pa c++/vc++.

    Thomas ::

    No, razčistimo zdaj tole!

    Seveda lahko v inline assemblerju izvajaš MMX in tudi SIMD ukaze, ki jih C++ compiler potem prevede v strojni jezik - seveda!

    Toda tak inline assembler ima tudi PowerBasic.

    NI v tem štos!

    Da bi imel pravo podporo bi moral PREVAJATI C++ izvorno kodo v MMX assembler.

    Tega pa seveda ne počne! Vse prevede v klasične assemblerske ukaze, ki jih pozna vsak Pentium. 64 bitnih MM0 do MM7 registrov, ki jih imajo vsi MMX Pentiumi - se pravi že kar nekaj let - pa se noben ta compiler niti ne dotakne. Kaj šele operacij z njimi.

    Tako kot za Vatija kot za (MS) C++ so ti sila močni ukazi španska vas!
    :D


    Rapsey očitno bolje ve, o čem govori - ampak tudi zanj moram poudariti, da C++ knjižnice v izvorni kodi NE MOREJO podpirati MMX in SIMD ukazov. Bi jih podpirale - ampak kompajler bi se moral strinjati! :))

    Tako lahko pišemo podporo za MMX in SIMD zgolj v assemblerju. Prav tako, kot so pred izumom Cobola, Fortrana - že delali!

    A zdej kapiraš Vati?

    Man muss immer generalisieren - Carl Jacobi

    NoUse4AName ::

    izvzeto is Directx8 SDKja:
    "Some of the advanced features of Direct3D are:
    - Support for the Intel MMX architecture, Intel Streaming Single-Instruction, Multiple-Data (SIMD) Extensions (SSE)(R), and AMD's(R) 3DNow(R) architecture."

    Thomas ::



    • Te funkcije niso napisane v C++, in do njihove izvorne kode v C++ ne moreš - ker je ta pač v assemblerju.


    • To omejeno število funkcij torej lahko samo kličeš, ne moreš pa pisati svojih, kar pa je po moje bistvo vsakega programiranja




    Dejstvo je, da C++ kompajlerji ne obvladajo prevajanja v MMX in SIMD ukaze - niti v njihove AMD ekvivalente. Obvladajo LE standardne x86 ukaze.

    Madona - a kdo mar še zmerej ne zastop tega? :D
    Man muss immer generalisieren - Carl Jacobi

    NoUse4AName ::

    thomas: si kdaj delal kaj s dx? tu nimas kaj po svoje funkcij pisat, kar je noter je noter in verjami mi vse je tam. V tem je lih poanta dx-a da se nerabis fukat s asemblerjem kar se tice grafike, funkcije so pa dovol osnovne da imas proste roke in lahko naredis karkoli, kar se grafike tice.

    Thomas ::

    Rapsey

    Če je dx vse - potem nove verzije ne bo več. 8.0 je konec vse znanosti!

    Pa kako ti misliš, da dx podpira mpeg? Ga ne. Še vedno moraš napisati dekoder. Ali pa za kakšen drug kodek. Ali pa uporabiti kakšno knjižnico - se razume. In v čistem C++ - pač ne bo šlo. Pa bi lahko, če bi kompajlerji podpirali MMX etc. Pa tega seveda ne počno. Na žalost.

    Razen tega grafika seveda še ni vse v programiranju.

    Ja?

    8-)


    Man muss immer generalisieren - Carl Jacobi

    Senitel ::

    Klik!
    Sicer pa bi rekel, da mi v Visual C++ 6.0 po vsej verjetnosti rata napisat hitrejšo kodo kot marsikomu drugemu v assemblerju...:D

    Thomas ::

    Klik tole!

    Iz Intela C++ dobimo precej "naivno" SIMD kodo, ki je daleč od optimuma. Pa to ni zato, ker bi moralo tako biti, pač pa zgolj zato, ker tako pač (še) je.

    Setinel - a probava midva napisat vsak svojo kodo za nekej? :)
    Man muss immer generalisieren - Carl Jacobi

    JustMe ::

    Thomas:
    A se zavedaš, da govoriš totalen bullshit?
    Kaj ima veze jezik(ponavljam jezik, ne prevajalnik!), recimo C++, s tem, da nek njegov prevajalnik ni sposoben generirati SIMD ali MMX kode? Nobene. To je delo prevajalnika.
    Če pa ti ne ustreza tvoj prevajalnik za C++, si lahko nabaviš drugega alpa si konec koncev lahko napišeš svojega, ne? Lahko pa ti zagotovim, da napisat takega, ki bo avtomatično znal ugotoviti, kdaj in kako naj generira MMX(konflikti s FPU enoto) ali pa SIMD kodo, ni ravno enostavno.

    Assemblerja ne uporablja v "resne" namene prav nihče. Mogoče se res uporablja za down-to-the-metal optimizacije pri dekoderjih in podobnih specifikah, ki si jih ti omenil, drugje pa nikjer. Še koderji iger, alpa recimo demotov (tukaj mislim na art demo sceno), ki so včasih res delali čudeže z optimizacijami v assemblerju, uporabljajo sedaj "višje" objekto-orientirane jezike in osebno mislim, da je C++ eden izmed najmočnejših in najbolj flexibilnih jezikov. In orodja, kot je recimo VC++ generirajo zelo zelo dobro in optimizirano kodo. Malo je dandanes tistih, ki poznajo tako dobro arhitekturo PII alpa PIII, da bi lahko v optimizaciji premagali prevajalnik. Če pa to nujno potrebuješ, je tu pri roki inline assembler.
    C++ ti zagotavlja modularnost, varnost(če ga pravilno uporabljaš) in neverjetno moč vsakemu, ki kolkortolko obvlada zadevo. Večina hitrostnih problemov ne izhaja iz slabe optimizacije prevajalnika, ampak s strani programerja, ki je slabo zasnoval algoritem(in podatkovne strukture) že od vsega začetka.

    Da ne govorim o bussiness aplikacijah, kjer assembler sploh "ne obstaja".

    V VB-ju, Javi in drugih jezikih(celp skriptnih - perl, php, python ipd.) se da ravno tako narediti čisto spodobne "resne" aplikacije, ki jih lahko uporablja veliko userjev ipd.
    Assembler is long gone. OK, razen mogoče pri vertex in pixel shaderjih na novih grafičnih karticah, kjer se zopet vrača. :)

    Konec koncev pa, kot je že nekdo omenil, je jezik oz. prevajalnik zanj samo orodje programerju. Katerikoli pač je, če ga obvladaš, lahko delaš čudeže z njim.

    Seveda boš sedaj rekel, da sem spet eden izmed ortodoksnih informatikov in da naj se poskusim s tabo v pisanju kode. Tega ne mislim počet, ker se mi zdi škoda časa dokazovati eden drugemu, kdo ma večjega. 8-)

    Pa brez zamere, če sem se malo preveč razkačil.

    JustMe

    andrej ::

    Thomas: samo strojni jezik je za resne zadeve?

    Hm, problem pri tvojim postih je ze definicija resnosti. Kaj so resne zadeve? Za vecino pravih racunalnicarjev so resne zadeve recimo kaksni driverji, ali pa namenski programi, ki cimhitreje opravijo svoje delo. VB definitivno ni pravi resni jezik za racunalnicarje. Resna jezika sta asembler in C/c++. Kaj so resni programi za neko podjetje? Kaj so resni programi za industrijo? A bi napisal ti kak modul za space shuttle za NASO v VB? Treba je gledat sirse. Nenazadnje, VB je samo na MS platformi...

    Strojni jezik? Uf, kdo pise v strojnem jeziku? Se v asemblerju se vec ne programira dosti, kaj sele v strojnem jeziku!!!


    TrOn: To je res. In C# je prav cool jezik, ki bo prava konkurenca Javi, se posebej ce pomislimo na MS marketing. Ampak tudi brez marketinga lahko C# odpihne javo. Ce temu dodas Visual Studio . NET (trenutno v beta2) dobis odlicno okolje za pisanje aplikacij. zadeva deluje zelo dobro in je prav uporabna.

    JustMe: c++ ni ravno "varen" jezik (spet s katerega vidika gledas na varnost), se posebej ce pomislis za tezave z delom z nizi. Najvec hackov je ravno zaradi programske kode v c/c++ in bufferjev.

    Thomas ::

    > A se zavedas, da govoris totalen bullshit?

    Eden od naju - ga vsekakor.

    > Kaj ima veze jezik(ponavljam jezik, ne prevajalnik!), recimo C++, s tem, da nek njegov prevajalnik ni sposoben generirati SIMD ali MMX kode? Nobene. To je delo prevajalnika.

    Vezo ma to, da njegov prevajalnik ne prevede. To vezo ima. A ni to dost hudo?

    > Assemblerja ne uporablja v "resne" namene prav nihce

    He he he.

    > Mogoce se res uporablja za down-to-the-metal optimizacije pri dekoderjih in podobnih specifikah, ki si jih ti omenil

    Zanesljivo. Pa še marskje drugje.

    > orodja, kot je recimo VC++ generirajo zelo zelo dobro in optimizirano kodo

    ; WATCOM C/C++ v10.0a output

    gcd: mov ebx,eax
    mov eax,edx
    test ebx,ebx
    jne L1
    test edx,edx
    jne L1
    mov eax,1
    ret
    L1: test eax,eax
    jne L2
    mov eax,ebx
    ret
    L2: test ebx,ebx
    je L5
    L3; cmp ebx,eax
    je L5
    jae L4
    sub eax,ebx
    jmp L3
    L4: sub ebx,eax
    jmp L3
    L5: ret ;


    Author: Paul Hsieh

    gcd: neg eax
    je L3
    L1: neg eax
    xchg eax,edx
    L2: sub eax,edx
    jg L2
    jne L1
    L3: add eax,edx
    jne L4
    inc eax
    L4: ret

    VC++ da še slabšo kodo. Toliko o optimalnosti.

    Nimam več časa zate JustMe.

    Andrej, zame je (skoraj) vsako programiranje resno delo. VB, C#, Java ... so zame čisto OK orodja.

    C++ je pa tudi svoj segment - ni pa krona vsega, kakor (si) "C++ programerji" mislijo.



    8-)

    Man muss immer generalisieren - Carl Jacobi

    NoUse4AName ::

    vc++ ni nikoli bil misljen da bi bil hiter, misljen je zato da lahko delas manjse programe za winse v c++ hitro, ampak ima nekaj zelo dobrih prednosti, kot naprimer zelo poenostavljen COM in activex. Kar se tice hitrosti je sam john carmack(najboljsi programer za 3d pogone) rekel da je uporaba assemblerja v zelo redkih primerih upravicena in da je v q3a pogonu ni cisto nic.

    andrej ::

    asembler se splaca redko - celotno zadevo moras dobro premislit. Recimo nima smisla porabit 1 mesec vec, da stvar napises v asemblerju potem pa dela 2 % hitreje... tu ni racunice.

    Thomas: res je, c++ ni krona vsega.

    JustMe ::

    Thomas:
    Po pravici povedano sploh ne razumem, kaj zelis povedati. Po eni strani trdis, kako so C#, Java, VB ipd. cisto v redu orodja(jeziki), po drugi strani je pa C++ za resne zadeve presvoh...
    Res je, da ni krona vsega in da obstaja precej drugih dobrih orodij. Kot pravis za zacetnike, je VB kar v redu.

    Po tvojem bi morale vse resne zadeve biti pisane v assemblerju/strojem jeziku? Kaj pa vecji projekti, na katerih dela vecja skupina programerjev in stejejo desettisoce, stotisoce vrstic kode alpa se mnogo vec. A ves kaksna programerska mora bi bila to? Dandanes je poleg hitrosti kode skoraj se bolj pomembna zmoznost enostavnega vzdrzevanja, spreminjanja, ponovna uporabnost in berljivost/dokumentiranost kode, da o sami arhitekturi kode sploh ne govorim. In to jeziki, ki podpirajo modularnost in OOP, kot so Java, C#, C++ in drugi, zelo lepo omogocajo. Assembler pa zagotovo ne.

    Sicer pa, ponavljam, vsak programer naj uporablja svoje priljubljeno orodje oz. tisto, ki je dolocenemu problemu najbolj primerno.

    Mislim pa, da si vse to sprozil samo kot provokacijo C++-jasem. In seveda sem/smo nasedli.Tudi v redu. Samo s tem lahko zavedes nekoga, ki se komaj uci.

    Loki ::

    Kaj je C#, za kaj se uporablja in kje dobim vec informacij o njem?
    A ma kej podobnosti z C/C++?

    Andrej kako kaj napreduje prenova strani?
    I left my wallet in El Segundo

    Thomas ::

    C++ jaši ste si vzeli tole k srcu. Pisci kompajlerjev se pa ne sekirajo. Moja poanta pa je bila usmerjena prav proti njim. :))

    No amapak poglejmo še malo!

    y=sqrt(x) se v vsakem (vključno Intelovem C++) prevaja bolj ali precej suboptimalno.

    Medtem ko je (MMX) optimum nekako takle:

    .586
    .MMX
    .K3D

    MOVD MM0, [mem] ; 0 | a
    PFRSQRT MM1, MM0 ; 1/sqrt(a) | 1/sqrt(a) PUNPCKLDQ MM0, MM0 ; a | a
    MOVQ MM2, MM1 ;
    PFMUL MM1, MM1 ;
    PFRSQIT1 MM1, MM0 ;
    PFRCPIT2 MM1, MM2 ; 1/sqrt(a) |1/sqrt(a)
    PFMUL MM0, MM1 ; sqrt(a) | sqrt(a)

    Tole rabi 4 - 5 ciklov. Namesto 20.

    Ampak VSE C++ knjižnjice in vsi drugi C++ programi vsebujoči sqrt - se tako ne prevajajo!

    Pa čeprav je esencialnega pomena, da bi se.

    Assemblerskih programov pisati na old fashion way se pa seveda tudi ne da. Kako češ kontrolirati milijon vrstic obsežen program?

    Peš in ročno prav gotovo ne! S prav za ta namen napisanimi programi - to pa že!

    Ti jih kontrolirajo, optimizirajo, simulirajo ... debagirajo celo tudi.

    Zakaj bi morali še vedno programirati ročno, v dobi računalnikov?

    8-)



    Man muss immer generalisieren - Carl Jacobi

    andrej ::

    roberto:
    C# je jezik zlo podoben C++ in Javi. Brezplacno ga lahko downloadas z MS web site kot del .NET Frameworka. Uporablja se za programiranje. V bistvu je kao pravi nativni jezik .NET-a.

    Prenova sita? Zadeva ze vsaj pol leta stoji in ne vem ce bo sploh kaj ratalo.

    tukaj mas link na .NET framework SDK beta 2.

    Thomas ::

    Bl premišljujem - bl se mi zdi tole zaupanje programerjev v lastne rokodelske spretnosti znotraj C++ (ali česarkoli) vprašljivo.

    Že gnezdenje ifov je kar zahtevna reč, in malokdo zna dobro simulirati malo večje gnezdo v svoji glavi. Še nekoliko večjega pa nihče!

    Pa kljub temu velika večina meni, da je z "načeli dobrega programiranja" mogoče narediti še tako zahteven projekt.

    Druga reč ki je - so t.i. notranje zanke. Tistih par vrstic, ki jih program ali vsaj procedura (subprogram) izvaja 99% ali nekaj takega svojega časa. Ljudje privzamejo, da jih pišejo (blizu) optimalno.

    Pa to seveda ni res. En strlen zna dobro napisati malokdo. Po moje bi ga kompajler moral prevesti v trenutno najboljšo znano funkcijo - saj se prav lahko kliče milijonkrat. Pa ga ne prevede tako.

    Softveraši majo glede tega dve tendenci



    • "Eh sej to je pa ja enostaven - iščeš terminatorski character 0 - pa je! Boljš kot tko se itak ne da!"


    • "Nič ne de, če mi zapravimo 90% procesorskega časa v nič! Naš programerski čas je predragocen za take malenkosti"




    Sancta simplicita!

    Gospe in gospodje - čas je za avtomatizacijo programiranja! Čas je za strojno kreiranje strojnih (mega)programov. Čas programerske manufakture bo pa kmalu minil.

    IM(H)O.

    8-)
    Man muss immer generalisieren - Carl Jacobi
    «
    1
    2


    Vredno ogleda ...

    TemaSporočilaOglediZadnje sporočilo
    TemaSporočilaOglediZadnje sporočilo
    »

    Nova anketa - Znate programirati? (strani: 1 2 )

    Oddelek: Novice / Ankete
    828516 (6080) Roadkill
    »

    Najhitrejši programski jezik? (strani: 1 2 )

    Oddelek: Programiranje
    757408 (5228) Senitel
    »

    Nekaj o programiranju (strani: 1 2 )

    Oddelek: Programiranje
    515372 (4512) alesrosina
    »

    Kateri jezik je bolji?

    Oddelek: Programiranje
    462106 (1643) Monster
    »

    En program za programirat? Kateri?

    Oddelek: Programiranje
    241762 (1395) Thomas

    Več podobnih tem