aky programovaci jazyk?

Sekcia: Programovanie 22.06.2009 | 13:13
Avatar johnnycage Debian Testing, GNOME 2.28.2  Používateľ
Zdravim, mam uz klasicku otazku, ktora sa riesi skoro vsade, ale predsa ju polozim. Aky programovaci jazyk si mam zvolit, ktoremu by som sa mohol venovat? Ako poziadavku mam viacej kriterii. V prvom rade, aby bol jazyk pouzitelny hlavne v OS Linux, ak bude pouzitelny aj pre Win, je to len vyhoda. Dalej, aby som si v nom mohol vytvorit jednoduche, pripadne zlozitejsie programy a hry (jak konzolove, tak graficke aplikacie, viac vsak preferujem graficke aplikacie). Dalej, aby som sa s tymto jazykom mohol bezproblemov uplatnit hocikde v praci. Co ma napadlo, tak bud C++ s nejakou grafikou, napr. QT4, alebo programovaci jazyk JAVA.
    • Re: aky programovaci jazyk? 22.06.2009 | 13:51
      Avatar borg Arch, Debian jessie  Administrátor
      tak sa nauc obidva, neni to zlozite. k tomu este c#, nejake skriptovacie jazyky a mas pokoj.
    • Re: aky programovaci jazyk? 22.06.2009 | 13:53
      Avatar Samuel BWPOW Kupka CentOS, Mandriva  Používateľ
      Osobne preferujem C, resp. C++ a Qt. Na Javu najdes hromadu ponuk hore-dole, ale vacsinou ide o obycajne kodenie (code monkey). Na druhu stranu, ak vies naozaj dobre C++, tak si vies najst uplatnenie vo velmi zaujimavych projektoch. Pocnuc googlom a konciac systemami pre letecky priemysel a pod za ovela viac penazi, ako kedy mozes snivat pri jave. Navyse C existuje snad pre kazdu moznu platformu, takze nie si obmedzeny na i386 a nadstavby.
      Strach dát najevo své pocity a zjednat si u druhých respekt je jedním z problémů civilizovaného člověka, který se naučil zpochybňovat svou vlastní pravdu pro zdání objektivity
    • Re: aky programovaci jazyk? 22.06.2009 | 14:15
      Avatar omdzor #!  Používateľ
      Co takto python? jednoduchy, Tkinter na grafiku a na zlozitejsie vypocty sa daju napisat moduly prave v c/c++ alebo jave...
      #! /usr/bin/env python
    • Re: aky programovaci jazyk? 22.06.2009 | 15:22
      Avatar Zefram Cochrane MS Windows Vista Ultimate 64bi  Používateľ
      php + javascript

      - hry webove neni problem
      - uplatnis v praxi (na rozdiel od C++ a QT4)
      - funguje vo vsetkych OS (v podstate aj na mobiloch ak ma webbrowser)
      - mozes na tom zarabat od sameho zaciatku (pocnuc 1-vikendovou webstrankou nejakej predajne umelych hnojiv az po ...)
      - desktop je mrtvy
      • Re: aky programovaci jazyk? 22.06.2009 | 16:06
        Avatar Peter Barlik Gentoo  Používateľ
        toto su podla mna az prilis silne slova ... lebo jednou z najvacsich nevyhod PHP je jeho rychlost(hlavne pri vacsich projektoch)

        co sa tyka webovych hier tak tak skoro sa nevyrovnaju ziadnym desktopovym a uz aj preto desktop nie je mrtvy

        co sa tyka C++ a javy tak tiez funguju cca na vsetkych systemoch staci mat len nejaky kompilator ... je pravda ze treba urobit nejake tie zmeny v kode ale ked si na to clovek zvykne tak nema problem

        java a este viac C++ ma podla mna vacsie uplatnenie ako PHP

        a co sa tyka pisania PHP napisat dobre optimalizovany kod v PHP tiez nie je az take jednoduche aby sa to dalo len tak za vikend...zaklady ano ... ale to je tak vsetko ...
        • Re: aky programovaci jazyk? 22.06.2009 | 18:08
          Lukas Vesel..   Návštevník
          mne sa velmi paci ruby a zaslo to az tak daleko ze som si zacal tahat rozne navody jak sa nucit programovat v ruby. vyhoda je ze ruby je rychle a ma vel;mi podbru podporu pracu s textom tak ako je to u perlu ale da sa v ruby robyt aj normalne app tak ako v pythonu.. napr. RubyGTK alebo aj web stranky sa daju robyt
          • Re: aky programovaci jazyk? 22.06.2009 | 18:13
            Avatar Zefram Cochrane MS Windows Vista Ultimate 64bi  Používateľ
            A ktory free webhosting podporuje ruby? Jeden, dva, alebo tisíce ako u php?
            • Re: aky programovaci jazyk? 23.06.2009 | 01:09
              stando   Návštevník
              ak ma byt toto argument pre PHP...hmm.....radsej nic
            • Re: aky programovaci jazyk? 23.06.2009 | 01:14
              Avatar Samuel BWPOW Kupka CentOS, Mandriva  Používateľ
              - mozes na tom zarabat od sameho zaciatku (pocnuc 1-vikendovou webstrankou nejakej predajne umelych hnojiv az po ...) A uz tu zrazu sockujes s freehostingami :)
              Strach dát najevo své pocity a zjednat si u druhých respekt je jedním z problémů civilizovaného člověka, který se naučil zpochybňovat svou vlastní pravdu pro zdání objektivity
        • Re: aky programovaci jazyk? 23.06.2009 | 09:48
          Avatar Miroslav Bendík Gentoo  Administrátor
          Hmm, pri programovaní s Qt 4 (C++) som si zvykol, že nemodifikujem ani riadok, len to skompilujem cross kompilátorom a mám hneď binárky pre niekoľko platforiem (pričom kód je stále ten istý).
      • Re: aky programovaci jazyk? 23.06.2009 | 09:28
        Avatar johnnycage Debian Testing, GNOME 2.28.2  Používateľ
        PHP ma veru moc neoslovilo, chvilku som sa venoval kombinacii XHTML + PHP + mySQL, zial toto mi velmi nevonalo, tak som to aj dost rychlo nechal
    • Re: aky programovaci jazyk? 23.06.2009 | 16:53
      peto   Návštevník
      Programátorské schopnosti absolventov klesajú, problémom je Java
      17.1.2008
      Dvaja profesori z New York University sa v obšírnejšej rozprave zaoberali problémom, ktorý trápi mnohých zamestnávateľov v IT priemysle: programátorské schopnosti nových absolventov počítačových vied sa postupne znižujú. Podľa nich za to môžu úvodné kurzy Javy a skriptovacích jazykov.

      Vývoj programovacích schopností vo viacerých jazykoch potom študentov učí automaticky používať veľké knižnice a špeciálne balíky s kódom, akoby programovali z predpripraveného receptu[kuchárskej knihy]. Výsledným negatívom pre softvérový priemysel je nedostatočná zručnosť, najmä pre bezpečnostné a ochranné účely, ktorá je navyše prakticky na úrovni toho, čo ponúka outsourcingový priemysel. Skrátene sa to dá povedať tak, že vysoké školy (zo zamerania dvoch profesorov vyplýva, že teda najmä školy v USA) trénujú ľahko nahraditeľných IT profesionálov. Problémy so stupňom programátorskej vyspelosti absolventov už navyše naznačujú aj zamestnávatelia.

      V prvom rade sa sa študentom ťažko píšu programy, ktoré nemajú žiadne grafické rozhranie; ďalej nemajú pochopenie pre vzťah medzi zdrojovým kódom a tým, čo hardvér dokáže skutočne spraviť. Nakoniec, vôbec nerozumejú sémantike ukazovateľov (resp. smerníkov), takže majú neskôr problémy s C pri systémovom programovaní.

      http://www.itnews.sk/buxus_dev/generate_page.php?page_id=52067

      => jednoznacne C, kde smerniku su a treba ich pouzivat casto.... Leda, ze by si chcel konkurovat schopnostmi Indom......
      • Re: aky programovaci jazyk? 23.06.2009 | 18:09
        peto2   Návštevník
        > .. Leda, ze by si chcel konkurovat schopnostmi Indom......
        Indovia neznaju miestne pomery, to je ich nevyhoda. Inak by uz robili vsetko oni :-)

      • Re: aky programovaci jazyk? 23.06.2009 | 19:42
        Avatar Miroslav Bendík Gentoo  Administrátor
        Pekne povedané. Tiež tvrdím, že dobrí programátori nezačínajú s Javou (ja s ňou pre istotu ani nepokračujem :P ). Pamätám sa ako sme mali javu v škole ... kliknite na toto, kliknite na tamto, tu sa vygeneruje toto ;) Našťastie väčšina hodín bola o konzolových programoch, kde sme riešili logické problémy.
        • Re: aky programovaci jazyk? 24.06.2009 | 16:38
          Avatar johnnycage Debian Testing, GNOME 2.28.2  Používateľ
          tak som sa teda nakoniec pustil do C++, uvidime, co z toho vznikne:-)
          • Re: aky programovaci jazyk? 23.04.2010 | 20:10
            clicko   Návštevník
            Najprv by si si mal pozriet zaklady asembleru pascalu c a potom c++ ked nieco ides robit zacinas od zaciatku nie od stredu neni tak ? ak pojdem pomaly a prejdes si poriadne zaciatky tak potom dalej vo vyssich jazykoch nebudes mat problem ... treba pochopit principu ako to funguje "dnu" v masine ak zacnes objektovym jazykom tak to tazko pochopis a skocit so ziadnymi vedomostami do C++ budes mat co robit ... (nevravim ze to nieje nemozne).
    • Re: aky programovaci jazyk? 24.06.2009 | 16:39
      Mato   Návštevník
      ak nebude vadit , ja by som zaroven takisto prispel s podobnou otazkou, avsak viac specifickou. C++ alebo java ? toto ma caka na vyber ako povinne volitelny predmet kde si mam zvolit jeden programovaci jazyk.. Ale ktory ? myslim , ze tu je dost odbornikov na to, aby mi poradili :)
      • Re: aky programovaci jazyk? 24.06.2009 | 18:42
        Avatar fierce arch, bsd  Používateľ
        C++, javu sa potom naučíš ľahšie na základoch c++ (keď ju budeš potrebovať).
        # \(- <br/> 456654 - linux registered user
        • Re: aky programovaci jazyk? 24.06.2009 | 19:23
          Avatar Peter Barlik Gentoo  Používateľ
          zalezi na profakovi ... samozrejme aj na voli studenta trebars na FIIT STU BA ak este uci vranic JAVU tak dovidenia ... ale napr UNIZA ma podla mna lepsie JAVU co sa tyka naucenia
          • Re: aky programovaci jazyk? 24.06.2009 | 19:35
            Mato   Návštevník
            tak ja idem na masarykovu do brna :D.. to asi neviete :)
          • Re: aky programovaci jazyk? 24.06.2009 | 21:19
            Avatar fierce arch, bsd  Používateľ
            Podľa mňa záleží najviac na študentovi. Nikto ti to do hlavy nenatrepe keď sám nechceš.
            # \(- <br/> 456654 - linux registered user
            • Re: aky programovaci jazyk? 24.06.2009 | 21:27
              Mato   Návštevník
              tak jasne ze chcem :)) len tam odomna chcu aby som si vybral a teda ... ja nemam o nich potrebne informacie aby som sa vedel rozhodnut... preto sa pytam vas :)
              • Re: aky programovaci jazyk? 24.06.2009 | 22:02
                Avatar fierce arch, bsd  Používateľ
                Myslel som to všeobecne, nie konkrétne teba - zle som sa vyjadril. Predpokladám, že ty máš záujem, inak by si sa tu nepýtal.
                # \(- <br/> 456654 - linux registered user
            • Re: aky programovaci jazyk? 24.06.2009 | 21:53
              Avatar Peter Barlik Gentoo  Používateľ
              to som tiez spomenul ale ked mas dobreho profaka tak to ide ovela lahsie ako ked mas profaka ktoreho ked sa cosi opytas tak hned vidis ze vies toho viac nez on ...
              • Re: aky programovaci jazyk? 24.06.2009 | 22:01
                Avatar fierce arch, bsd  Používateľ
                Jasné, to je strašné keď na niekoho takého narazíš.
                # \(- <br/> 456654 - linux registered user
                • Re: aky programovaci jazyk? 24.06.2009 | 23:30
                  Mato   Návštevník
                  jaj to aj taki su ?:D som s tym akosi neratal:D
          • Re: aky programovaci jazyk? 25.06.2009 | 11:03
            Avatar Miroslav Bendík Gentoo  Administrátor
            Jop, tu v Žiline bol java jedným z najlepších predmetov a to javu fakt nemám rád.
    • Re: aky programovaci jazyk? 15.07.2009 | 12:56
      Avatar Baky Gnome Ubuntu 15.10 a Linux Mint 17.3 (64 bit)  Používateľ
      Ak by si chcel programovat 2D hry, tak odporucam SDL Basic. Ja viem, teraz mozno niekto ofrfle, ze basic fuj, ale naozaj sa v tom velmi jednoducho programuju hry a o to predsa ide, nie? Vytvorenu hru tak potom velmi lahko spustis pod Linuxom, pod Windowsom a dokonca aj pod GP2X.
      http://www.pocitacovekruzky.sk/
      • Re: aky programovaci jazyk? 15.07.2009 | 13:01
        Avatar Samuel BWPOW Kupka CentOS, Mandriva  Používateľ
        A co ak sa bude potrebovat potom pohnut dalej, ked vycerpa moznosti jazyka, co sa pri basicu stane velmi rychlo. Co potom? Neexistuje jazyk, ktory by ho rozsiroval, bude sa musiet ucit spravne postupy uplne nanovo. Basic je dead-end.
        Strach dát najevo své pocity a zjednat si u druhých respekt je jedním z problémů civilizovaného člověka, který se naučil zpochybňovat svou vlastní pravdu pro zdání objektivity
        • Re: aky programovaci jazyk? 15.07.2009 | 13:43
          Avatar Zefram Cochrane MS Windows Vista Ultimate 64bi  Používateľ
          Nehovoriac o tom ze 2D hry uz dnes v pohode bezia v prehliadaci (Js,Canvas,Flash,Moonlight,...)
        • Re: aky programovaci jazyk? 15.07.2009 | 15:10
          Avatar Baky Gnome Ubuntu 15.10 a Linux Mint 17.3 (64 bit)  Používateľ
          Otazkou je, ci sa tym programovanim chce len tak hrajkat alebo sa tomu seriozne venovat. Ak si chce spravit nejaku jednoduchu strielacku/skakacku a pochvalit sa s tym u kamosov, tak na to je ten SDL Basic uplne idealny, ak chce robit nejake velke projekty, ktore uz snad hranicia aj s komercnostou, tak samozrejme bude musiet zvolit iny nastroj.
          http://www.pocitacovekruzky.sk/
      • Re: aky programovaci jazyk? 15.07.2009 | 16:18
        Avatar Baky Gnome Ubuntu 15.10 a Linux Mint 17.3 (64 bit)  Používateľ
        Ked uz som pri tom Basicu, tak poznam aj jednu verziu, ktora posobi na mna trosku profesionalnejsie, vola sa to Gambas.
        http://www.pocitacovekruzky.sk/
        • Re: aky programovaci jazyk? 15.07.2009 | 17:39
          Lukas Vesel..   Návštevník
          nic v zlom ale ked uz sme u basicu tak to uz radsej objektovy pascal a projekt lazarus.. pascal je urcite lepsi nez visual basic.
          • Re: aky programovaci jazyk? 15.07.2009 | 17:49
            Avatar Baky Gnome Ubuntu 15.10 a Linux Mint 17.3 (64 bit)  Používateľ
            Spominal som niekde Visual Basic? ;-)
            Ano, Free Pascal je super, ale ja tu teraz neriesim co je lepsie a horsie, ja tu len poukazujem na moznosti vyberu.
            http://www.pocitacovekruzky.sk/
    • Re: aky programovaci jazyk? 17.07.2009 | 13:23
      Avatar Filip Horňák ArchLinux  Používateľ
      Ak zacinas programovat tak kasli zo zaciatku na objektovo oirentovane programovacie jazyky. Zacni s klasickym PASCALOM (pouziva sa na vyuku programovania). A teraz asi prhovorim vsetkym programatorom zo srdca ak poviem ze programovanie nieje len o tom naucit sa syntax programovacieho jazyka, ale hlavne ide o algoritmizaciu (cize o MATIKU) a ta je vsade rovnaka. A synatx je vo vsetkych jazykoch tiez na jedno kopyto.
      • Re: aky programovaci jazyk? 17.07.2009 | 17:43
        Avatar Miroslav Bendík Gentoo  Administrátor
        Plný súhlas, na začiatku jednoznačne pascal.
        • Re: aky programovaci jazyk? 17.07.2009 | 20:43
          skywaker   Návštevník
          zavisi od toho pre aku platformu to chce.. a aku ma predstavu na aku uroven sa chce dopracovat.. ak mu ide naozaj aby bol dobry tak jednodzancne ciste C. potom C++ a nakoniec moze skusit nieco exotickejsie .. ale urcite by som neodporucal na zaciatok Javu alebo hned interpretovany jazyk... C ma vyhodu ze clovek sa nauci pracu na najnizsej urovni a pochopy tak programovanie. potom nech si roby co chce aj nech sa vrhne na C# alebo javu . co sa tyka pascala tak ten nie koli tomu ze je zly ale dnes nema taku podporu.. ja osobne pascal nezavrhujem. (prave si taham cez torrent delphi 6 kedze som vo win)
          • Re: aky programovaci jazyk? 18.07.2009 | 09:51
            Avatar Miroslav Bendík Gentoo  Administrátor
            Čistý pascal (kompilovaný povedzme fpc kompilátorom) má k C veľm blízko a má pre začiatočníka jednoducšiu syntax. Ani začínať s C nie je zlé, ale pre niektorých to môže byť dosť obtiažne. No a samozrejme jazyk, ktorý za užívateľa urobí všetko (väčšinou interpretované jazyky) na začiatok v žiadnom prípade (teda ak tu nechceme zase nejakú programátorskú cvičenú opicu).
            • Re: aky programovaci jazyk? 18.07.2009 | 14:56
              peto   Návštevník
              Ja som zacinal s C a ked som sa potom musel ucit v skole Pascal, uvedomil som si, ako vela toho Pascal nevie. Mozno islo len o obmedzenia Turbo Pascalu, aj tak su spomienky zvacsa len zle - niekde napr. nemoze byt bodkociarka, co mi ide uplne proti srsti; dlhe vypisovanie begin a end tiez.

              Ak sa bude v C stranit prikazu goto a nezacne hned pointerami, tak sa rychlo nauci zaklady, ktore by mohol mat mozno za rovnaky cas aj v Pascale, ale bude mat moznost napredovat dalej.
              • Re: aky programovaci jazyk? 18.07.2009 | 15:30
                Avatar Miroslav Bendík Gentoo  Administrátor

                No Turbo Pascal má dosť veľké obmedzenia (napr. memget, alebo ako sa volá niečo ako malloc v pascale), ale vo FPC je to už o inom. Samozrejme syntax stále taká hrozná.

                Mimochodom goto nie je až taký zlý príkaz za aký ho všetci považujú. Vo vnorených cykloch sa dá napríklad veľmi elegantne využiť na vyskočenie z vnútorného cyklu.

            • Re: aky programovaci jazyk? 18.07.2009 | 15:35
              Avatar Samuel BWPOW Kupka CentOS, Mandriva  Používateľ
              Tak pridam aj ja svojich 5 centov do tejto diskusie. Ja som jednoznacne za C, ako prvy programovaci jazyk a proti Pascalu mam styri vyhrady. Zoradene od najmenej zavaznej po najzavaznejsiu:
              1. Podivny zapis a pouzivanie pointrov. Vdaka tomu ziskaju mnohi programatori v pascale velmi zlu predstavu, co vlastne ten pointer je.
              2. Divny zapis prikazu FOR nekonzistentny s inymi jazykmi. Uvedomujem si, ze kazdy jazyk ma svoje temne syntakticke stranky, no prave FOR je v pascale spraveny velmi nestastne. Ludia, ktori zacinaju v pascale si potom tento jeden zlozvyk drzia velmi dlho, kedze cyklus je pouzivany naozaj skoro vsade. Tito ludia maju problem prejst na ine jazyky, resp. aj ked prejdu, casto nie su schopni pochopit zapis FOR v plnom rozsahu a pouzivaju ho "pascalovskym" stylom. To robi naozaj velke problemy pri praci v time a by ste neverili, kolko bugov z toho vznika.
              3. Nie je to case-sensitive jazyk. Myslim, ze k tomu nie je potrebne viac dodat.
              4. Typova kontrola - toto je podla mna najvacsia minus pascalu a najvacsie plus C ako jazyka na ucenie sa programovat. Podla mna by si kazdy programator na zaciatku mal uvedomit, ze vsetko, s cim pracuje, su len obycajne strudle bitov zoskupene vacsinou do 8, 16, 32 (a pod.) skupiniek a je len na nom, ako sa k nim bude spravat. Ze raz to moze byt znak, inokedy cislo, pointer alebo dokonca instrukcie pre procesor a pritom z pohladu pocitaca je to stale to iste X-bitove cislo ulozene niekde v pamati. So studentami mam uz iste skusenosti, takze na vlastnej kozi viem, ze ked pride student, co mal na strednej C, tak uz vie, ze do char sa daju zapisat cisla od -128 do 127, pricom pascalista si nevie uvedomit, preco by sa do char nejake cisla mali zapisovat a marne hlada typ byte, pricom si neuvedomuje, ze z pohladu pocitaca ide o totozne veci. Taky clovek potom ani nevie ocenit typovu kontrolu vo vyssich jazykoch, nevie, kolko pamate vlastne zaberaju premenne, ktore si naalokoval, nechape zmysel NX bitu, atd. Proste, na tuto jednu malu vec sa potom nabaluje obrovska hromada veci a prave preto je podla mna velmi zolezite zacat sa ucit programovat na jazyku, ktory tento fakt, ze vsetko su len obycajne bity a z pohladu pocitaca su rovnake, pred programatorom neukryva.
              To je tak v skratke moje porovnanie C a Pascalu ako jazyka na ucenie sa programovat.

              Vyssie tu este niekto pisal, ze je jedno, aky jazyk sa pouzije, ze aj tak je to hlavne "matika", na com zalezi. Ma pravdu, ale len polovicnu. Spravny programator samozrejme musi vediet, aky algoritmus je v akej chvili vhodne pouzit na dosiahnutie ciela. Dnesni programatori casto nevedia skoro nic. Ked potrebuju nieco zosortit, tak pouziju sort z kolekcii, ak sme v Jave, alebo qsort v C a tym to pre nich hasne. Netusia vobec, ako funguje, preco funguje a kedy je vhodny a kedy nie. Takychto programatorov len kopat do zadku a bit po hlave. Ale na druhu stranu, len znalost algoritmov a zlozitosti cloveka z nudze nedostane. Castokrat sa stane, ze aj v teorii horsi algoritmus dosahuje lepsie vysledky. A to preto, ze nie len navrh, ale aj samotna implementacia je dolezita. A to je ta druha strana mince. Je dolezite vediet, ako pracuje CPU, ako sa pristupuje do RAM a na HDD a kolko casu to trva, co je to stack a preco moze pretiect a podobne veci. Bez toho z vas nebude dobry programator, hoci by ste dokonale ovladali vsetku tu "matiku" okolo. Takze v tomto ohlade je vyber jazyka pomerne dolezita vec a prave v tomto ohlade je C opat najvhodnejsia volba, lebo nic pred vami neskryva.

              Preto nevidim dovod, preco pouzivat na ucenie cokolvek ine, ako ciste C :)
              Strach dát najevo své pocity a zjednat si u druhých respekt je jedním z problémů civilizovaného člověka, který se naučil zpochybňovat svou vlastní pravdu pro zdání objektivity
              • Re: aky programovaci jazyk? 18.07.2009 | 15:59
                Avatar johnnycage Debian Testing, GNOME 2.28.2  Používateľ
                no dovolim si tvrdit, ze uplny zaciatocnik nie som ... pascal som presiel (vratane objektovo orientovaneho programovania v pascale), C som presiel, preto pokladam taku otazku, ze ci C++, alebo Java. Jedna sa mi o to, aby som sa s tym mohol aj hrajkat, ale aby som si tam dokazal spravit aj vacsie projekty.
                • Re: aky programovaci jazyk? 18.07.2009 | 17:49
                  Avatar Samuel BWPOW Kupka CentOS, Mandriva  Používateľ
                  Ja ti odpoviem, ze C++, ale urcite sa najdu taki, co odpovedia Java :)
                  Strach dát najevo své pocity a zjednat si u druhých respekt je jedním z problémů civilizovaného člověka, který se naučil zpochybňovat svou vlastní pravdu pro zdání objektivity
                  • Re: aky programovaci jazyk? 18.07.2009 | 22:05
                    Avatar johnnycage Debian Testing, GNOME 2.28.2  Používateľ
                    To hej, vzdy si bude kazdy obhajovat to svoje ... ale aj napriek tomu chcem vediet narozy roznych ludi a na zaklade nejakych slusnych argumentov mi to hadam pomoze v rozhodovani:)
                  • Re: aky programovaci jazyk? 18.07.2009 | 22:17
                    skywaker   Návštevník
                    java je v principe lepsia. vychadza z principov C a C++ a je oobohatena o balicky ci kniznice ci ako to povedat.. v tom je aj jej problem... JDK ma v sebe kniznice skoro na vsetko a to je jej problem.. si pozrite na C# projekt mono.. mono ma gtk# uz od zaciatku a java za tie roky sa nikomu neracilo presadit portaciu na nativne win32 alebo gtk ak sa mylim prosim opravte ma. nemam teraz chut hladat na nete podrobnosti. a tie sracky ako AWT a SWING ci ako sa mi velmi nepacia.. inac je mi syntax javy sympaticky a fandim jej hlavne teraz ked ide open source. osobne pouzivam c++ a je to dobry prog. jazyk ale java je o niecom inom. v prvom rade som rad ze som presiel od c k c++ a mozno prejdem k jave ... javou by som zacinat nechcel
                    • Re: aky programovaci jazyk? 18.07.2009 | 23:15
                      Avatar Samuel BWPOW Kupka CentOS, Mandriva  Používateľ
                      Vyjadrim to takto. Ked uz niekto chce pouzit nejaky skriptovaci jazyk, tak radsej C# ako Java, kedze mnoho nelogickych a prekonanych veci tam je uz opravenych/vyhodenych.
                      Strach dát najevo své pocity a zjednat si u druhých respekt je jedním z problémů civilizovaného člověka, který se naučil zpochybňovat svou vlastní pravdu pro zdání objektivity
                      • Re: aky programovaci jazyk? 19.07.2009 | 03:10
                        skywaker   Návštevník
                        no to neznamena ze Java nemoze sa casom zlepsit od starych chyb ale prinut Microsoft zeby mal rad vsetkych ludi bez rozdielu teda aj tych ktory nepouzivaju vecicky od nich.
                        • Re: aky programovaci jazyk? 19.07.2009 | 04:41
                          Avatar Samuel BWPOW Kupka CentOS, Mandriva  Používateľ
                          Problem je, ze Java si tiahne niektore chyby samotneho navrhu stale so sebou a nikdy sa ich nezbavi, lebo samotni vyvojari deklarovali, ze bude stale spatne kompatibilna, pricom C# je v tomto ohlade ovela "zdravsi" jazyk, lebo sa poucil prave z dlhorocneho vyvoja Javy (MS mal dokonca vlastnu implementaciu kedysi). Z tohto pohladu ide teda o ovela kvalitnejsi jazyk a ja ako velky odporca MS musim v tomto zlozit pred nimi klobuk a uznat kvality tohto konkretneho produktu. Kedze je pre mna ale filozofia slobody (pricom ju chapem podobne ako RMS) neprekonatelnou prekazkou a hlavnym stavebnym kamenom mojej osobnosti, nakoniec som sa ustalil pri C++ v kombinacii s STL a Qt a neplanujem to uz nikdy opustit a pravdupovediac, zatial som nidky necitil potrebuje pre zmenu, resp. som nenarazil na nieco, co by som vedel naimplementovat jednoduchsie v Java/C#.
                          Strach dát najevo své pocity a zjednat si u druhých respekt je jedním z problémů civilizovaného člověka, který se naučil zpochybňovat svou vlastní pravdu pro zdání objektivity
                          • Re: aky programovaci jazyk? 19.07.2009 | 17:23
                            Avatar Filip Horňák ArchLinux  Používateľ
                            No na moju obhajobu poviem len zopar veci:

                            Neni pravda ze for cyklus v pascale neni podobny na ziadny jazyk je podobny na BASIC (dalsi jazyk pouzivany viac na vyucovanie).

                            Asi pre uplneho zaciatocnika je vhodnejsi jednoduchy jazyk, v ktom pred nim niektore veci zatajite a prechod na iny jazyk neni az tak zlozity teda ak sa neucite programovat "nasilu".

                            A aj tak si myslim ze matika je najpodstatnejsia cast programovania.
                            Staci si zobrat jednoduchy priklad sucet cisel od 1 po n hlavne kde n je dost velke cislo, velka cast ludi to skodi cez for cyklus, co je dost zdlhave. A takychto prikladov je dost vela. Nadruhu stranu netvrdim ze znalost syntaxe a toho ako pociac funguje neni dolezita.

                            Ja som sa ucil programovat v Jave je multiplatformna a am vela inych vyhod, ale ako som skor pisal ako nahle sa naucis ako tak nejaky nizsi prog jazik, tak tie vissie sa uz ucia jednoducho a C++ a Java su dost podobne.

                            • Re: aky programovaci jazyk? 19.07.2009 | 22:49
                              Avatar Samuel BWPOW Kupka CentOS, Mandriva  Používateľ
                              "Matika" je 50% uspesneho programatora, druhych 50% je skvela znalost platformy, vsetkych zakuti jazyka, fyziky a zopad dalsich veci.

                              Basic nie je turingovo kompletny jazyk, ked uz tak velmi poukazujes na tu "matiku". Ked uz chces, aby sa ludia ucili na zaciatku pouzivat hracky, tak ovela vhodnejsie je Commenius Logo, Karel alebo Baltik, ale to je tak akurat uroven zakladnej skoly, co je miesto, kde by sa deti mali zoznamit so zakladmi programovania.
                              Strach dát najevo své pocity a zjednat si u druhých respekt je jedním z problémů civilizovaného člověka, který se naučil zpochybňovat svou vlastní pravdu pro zdání objektivity
                              • Re: aky programovaci jazyk? 19.07.2009 | 23:33
                                Avatar Dušan Ďurech Debian Lenny 5.0  Používateľ
                                >>Basic nie je turingovo kompletny jazyk

                                Medzi turning kompletne programovacie kazyky, zaradujeme aj ezotericky jazyk Brainfuck. Pre vsetky konstrukcie, ktore ma BrainFuck sa daju najst ekvivalenty aj v Basicu, tak preco Basic nie je turning kompletny ?
                                • Re: aky programovaci jazyk? 20.07.2009 | 03:04
                                  Avatar Samuel BWPOW Kupka CentOS, Mandriva  Používateľ
                                  No, hladal som clanok dost dlhy cas, ale slovo "basic" nie je velmi google-friendly, takze neviem dat linku. Este skusim niekde vyhrabat stare poznamky z teorie vypocitatelnosti. Uz si nepamatam podrobnosti, len viem, ze tam bol nejaky problem kvoli chybajucej rekurzii.
                                  Strach dát najevo své pocity a zjednat si u druhých respekt je jedním z problémů civilizovaného člověka, který se naučil zpochybňovat svou vlastní pravdu pro zdání objektivity
                                  • Re: aky programovaci jazyk? 20.07.2009 | 18:30
                                    Avatar Dušan Ďurech Debian Lenny 5.0  Používateľ
                                    Dakujem, za vyborny dotaz: basic a rekuzia

                                    Basic nazaj nema parametre pre funkce, lokalne premenne a navratove hodnoty, ale to nema ani assembler a BrainFuck a preda su turing kompletne

                                    Uvediem priklad jednoduchej rekuznej funkcie v C :

                                    int fibonacci(int x)
                                    {
                                    if( x == 0 )
                                    {
                                    return 0;
                                    }

                                    if( x == 1 )
                                    {
                                    return 1;
                                    }

                                    return fibonacci(x-1) + fibonacci(x-2);
                                    }


                                    Teraz tu istu funkciu v assembleri (nejde o diassemblovanie funkcie ale o znovu napisanie tej istej funkcie v assembleri pre x86 ) :

                                    ; val2 [ebp-8]
                                    ; val1 [ebp-4]
                                    ; ebp [ebp]
                                    ; ret [ebp+4]
                                    ; arg1 [ebp+8]

                                    fabonacci:
                                    push ebp
                                    mov ebp, esp
                                    sub esp, 16

                                    mov eax, [ebp+8]

                                    cmp eax, 0
                                    jnz .is_zero
                                    mov esp, ebp
                                    pop ebp
                                    ret
                                    .is_zero:

                                    cmp eax, 1
                                    jnz .is_one
                                    mov esp, ebp
                                    pop ebp
                                    ret
                                    .is_one:

                                    dec dword [ebp+8]
                                    push dword [ebp+8]
                                    call fabonaci
                                    add esp, 4*1
                                    mov [ebp-4], eax

                                    dec dword [ebp+8]
                                    push dword [ebp+8]
                                    call fabonaci
                                    add esp, 4*1
                                    add [ebp-4], eax

                                    mov eax, [ebp-4]

                                    mov esp, ebp
                                    pop ebp
                                    ret


                                    Vsimni me si, ako sa to vlastne v tom assembleri prisu rekurzne funkcie

                                    Teraz mi uz iba v BASICu staci implementovat zasobnik a prepisat tento algoritmus, jediny rozdiel je v tom, ze budem mat zasobniky vlastne dva, prvy vnutorne implementivany BASICom, kde sa ukladaju a vyberaju cisla riadkov po volani GOSUB/RETURN a druhy zasobnik implementovany mnou cez jednorozmerne pole (este taky detail, ten moj implementovany zasobnik nerastie od vyssich adries k nizsim, ako to pozname v zasobniku implementovanom pomocou instrukcii PUSH POP, ale naopak, ale to je fakt detail). tymto dvom zasobnikom musim priposobit onen algoritmus v assembleri


                                    tu je vysledny kod (dodatocne okomentrovany):

                                    REM init

                                    REM init stack
                                    stacksize = 1024
                                    DIM stack(stacksize)

                                    REM init registers (32-bit only)

                                    eax = 0: REM return value
                                    ebx = 0
                                    ecx = 0
                                    edx = 0

                                    esp = 1: REM stack pointer
                                    ebp = 0: REM stack frame pointer

                                    REM main

                                    REM PUSH(10)
                                    REM do zasobnika ulozime argument funkcie
                                    arg1 = 10
                                    GOSUB 10

                                    REM FINONACCI(10)
                                    REM zavolame funkciu
                                    GOSUB 100
                                    REM vyberieme argument zo zasobnika
                                    esp = esp - 1

                                    PRINT "eax = "; eax
                                    END

                                    10 REM push
                                    esp = esp + 1
                                    stack(esp) = arg1
                                    RETURN

                                    20 REM pop
                                    arg1 = stack(esp)
                                    esp = esp - 1
                                    RETURN

                                    REM funckia FIBONACI
                                    REM
                                    REM stackframe:
                                    REM x - stack(ebp+1) - lokalna premenna
                                    REM EBP - stack(ebp) - zalohovana hodnota registra EBP
                                    REM arg1 - stack(ebp-1) - prvy, jediny argument funkcie
                                    100

                                    REM vytvorime stack-frame funkcie

                                    REM PUSH EBP
                                    arg1 = ebp
                                    GOSUB 10

                                    ebp = esp
                                    esp = esp + 1: REM miesto vyhradene pre jednu lokalnu premennu

                                    IF stack(ebp - 1) = 0 THEN eax = 0: GOTO 190

                                    IF stack(ebp - 1) = 1 THEN eax = 1: GOTO 190

                                    REM PUSH(arg1-1)
                                    REM do zasobnika ulozime argument funkcie
                                    arg1 = stack(ebp - 1) - 1
                                    GOSUB 10
                                    REM FINONACCI(arg1-1)
                                    REM zavolame funkciu
                                    GOSUB 100
                                    REM vyberieme argument zo zasobnika
                                    esp = esp - 1

                                    REM ulozime vysledok do lokalnej premennej
                                    stack(ebp + 1) = eax

                                    REM PUSH(arg1-2)
                                    REM do zasobnika ulozime argument funkcie
                                    arg1 = stack(ebp - 1) - 2
                                    GOSUB 10
                                    REM FINONACCI(arg1-2)
                                    REM zavolame funkciu
                                    GOSUB 100
                                    REM vyberieme argument zo zasobnika
                                    esp = esp - 1

                                    REM pripocitam vysedok k lokelnej premennej
                                    stack(ebp + 1) = stack(ebp + 1) + eax

                                    REM EAX = fibonacci(arg1-1) + fibonacci(arg1-2);
                                    REM navratova hodnota, sa rovna nasej lokalnej premennej
                                    eax = stack(ebp + 1)

                                    190
                                    REM rusime stack-frame funkcie
                                    esp = ebp
                                    REM POP EBP
                                    GOSUB 20
                                    ebp = arg1

                                    RETURN
                              • Re: aky programovaci jazyk? 20.07.2009 | 18:17
                                Avatar Karol (tricqster) Vavrinec Slackware, Source Mage  Používateľ
                                co python? dost casto som ho videl ako odporucany na naucenie programovania.
                                • Re: aky programovaci jazyk? 20.07.2009 | 18:36
                                  Avatar Samuel BWPOW Kupka CentOS, Mandriva  Používateľ
                                  Python je podla mna skvely jazyk na programovanie a s kombinacii s C/C++ tvoria velmi mocny nastroj, ale na ucenie by som ho neodporucal z podobneho dovodu, ako javu alebo iny jazyk podobneho typu, kedze je velmi daleko od hardveru. Clovek by sa mal podla mna prekusat cez pointre, alokovanie a dealokovanie pamate a podobne veci, aby si potom vedel vazit a naplno si uvedomit hlbku garbage collectora a spravne ho vyuzivat. A to je dolezite hlavne v dnesnom "modernom" programovani, kde ludia pouzivaju priserne prerastene struktury, obcas honosne nazyvane aj triedy plne vsakovakych duplicitnych premennych a funkcii, obcas honosne nazyvane aj metody a ked im clovek povie, ze nech sa trochu krotia, tak ich odpoved vacsinou vyzera: "Ved mame superrychle CPU a supervelku RAMku, tak preco to naplno nevyuzit?" Ale oni si neuvedomuju, ze som si nekupil niekolko giga ramky a viacjadrovy procesor len preto, aby som si mohol spustit ich priblblu aplikaciu, ktora je aj tak na dve veci. Proste, kazdy bit a kazdy cyklus sa pocita, to platilo odjakziva a plati to aj teraz. Gentooaci vam to potvrdia :)
                                  Strach dát najevo své pocity a zjednat si u druhých respekt je jedním z problémů civilizovaného člověka, který se naučil zpochybňovat svou vlastní pravdu pro zdání objektivity
                                  • Re: aky programovaci jazyk? 26.04.2010 | 19:43
                                    Avatar Ondrej Danko Debian | Fedora  Používateľ
                                    nj aj ked mne sa zda Python subjektivne rychlejsi ako kompilovana Java do bajtkodu :D
                                    btw co odporucas ked sa clovek prekusne C-ckom a alokovanie / dealokovanie dvojrozmernych poli, trocha rucnej prace s SQLite, atd
                                    vydat sa hardcore cestou C/GTK+ (a pisania dlhych funkcii napr. gtk_text_buffer_get_iter_at_offset(), co mna hned pri prvom pohlade odradilo, k tomu ked som este videl ako sa derivuje neaka trieda z GObject) alebo si zvolit C++/Qt?

                                    C++ je urcite vhodnejsi jazyk ako Java/C# pre zaciatocnikov, lebo ked chce clovek napisat neaky algoritmus tak nemusi hned vsetko balit do nezmyselnych tried v tomto pripade....no ked uz treba GUI aplikaciu bez vyssich struktur si ju nwm predstavit, je to tym, ze GUI je vzdy o objektovom programovani ;)

                                    PS: pri programovani si treba uvedomit ze viaceri ficia na 6 a viac rokov starych kompoch...ne kazdemu sa chce kazde 2roky menit komp aby mu tam bezala neaka prasacky naprogramovana aplikacia :)
                                    • Re: aky programovaci jazyk? 27.04.2010 | 20:03
                                      Avatar slazer   Používateľ
                                      Pridám taký vtipný programovací jazyk ze Haskell. Co si myslite o tom?
    • Re: aky programovaci jazyk? 28.04.2010 | 10:05
      peto   Návštevník
      >Dalej, aby som sa s tymto jazykom mohol bezproblemov uplatnit hocikde v praci

      Co to znamena hocikde?

      Kazdy jazyk bol vyvinuty na isty typ programov - C bolo na pisanie opearcnych systemov a ovladacov...


      Ale skus si pozrite, ake jazyky pouzivaju softverove projekty firiem nad 1000 ludi

      meria ich tzv. TIOBE index (vysledky su kazdy mesiac) a su zverejnene na ...
      http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html