abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 12:11 | Humor

    Lidi dělají divné věci. Například spouští Linux v Excelu. Využít je emulátor RISC-V mini-rv32ima sestavený jako knihovna DLL, která je volaná z makra VBA (Visual Basic for Applications).

    Ladislav Hagara | Komentářů: 1
    dnes 10:44 | IT novinky

    Revolut nabídne neomezený mobilní tarif za 12,50 eur (312 Kč). Aktuálně startuje ve Velké Británii a Německu.

    Ladislav Hagara | Komentářů: 16
    dnes 09:55 | IT novinky

    Společnost Amazon miliardáře Jeffa Bezose vypustila na oběžnou dráhu první várku družic svého projektu Kuiper, který má z vesmíru poskytovat vysokorychlostní internetové připojení po celém světě a snažit se konkurovat nyní dominantnímu Starlinku nejbohatšího muže planety Elona Muska.

    Ladislav Hagara | Komentářů: 0
    dnes 09:33 | IT novinky

    Poslední aktualizací začal model GPT-4o uživatelům příliš podlézat. OpenAI jej tak vrátila k předchozí verzi.

    Ladislav Hagara | Komentářů: 0
    dnes 08:11 | Nová verze

    Google Chrome 136 byl prohlášen za stabilní. Nejnovější stabilní verze 136.0.7103.59 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 8 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.

    Ladislav Hagara | Komentářů: 0
    včera 20:55 | Nová verze

    Homebrew (Wikipedie), správce balíčků pro macOS a od verze 2.0.0 také pro Linux, byl vydán ve verzi 4.5.0. Na stránce Homebrew Formulae lze procházet seznamem balíčků. K dispozici jsou také různé statistiky.

    Ladislav Hagara | Komentářů: 0
    včera 16:22 | Nová verze

    Byl vydán Mozilla Firefox 138.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 138 je již k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    včera 15:55 | Pozvánky

    Šestnáctý ročník ne-konference jOpenSpace se koná 3. – 5. října 2025 v Hotelu Antoň v Telči. Pro účast je potřeba vyplnit registrační formulář. Ne-konference neznamená, že se organizátorům nechce připravovat program, ale naopak dává prostor všem pozvaným, aby si program sami složili z toho nejzajímavějšího, čím se v poslední době zabývají nebo co je oslovilo. Obsah, který vytvářejí všichni účastníci, se skládá z desetiminutových

    … více »
    Zdenek H. | Komentářů: 2
    včera 15:44 | IT novinky Ladislav Hagara | Komentářů: 3
    včera 13:55 | Komunita

    Richard Stallman přednáší ve středu 7. května od 16:30 na Technické univerzitě v Liberci o vlivu technologií na svobodu. Přednáška je určená jak odborné tak laické veřejnosti.

    Ladislav Hagara | Komentářů: 14
    Jaký filesystém primárně používáte?
     (58%)
     (1%)
     (9%)
     (21%)
     (4%)
     (1%)
     (2%)
     (0%)
     (1%)
     (3%)
    Celkem 489 hlasů
     Komentářů: 19, poslední dnes 11:32
    Rozcestník

    Python ve městě Ruby

    8.4.2007 19:45 | Přečteno: 1757× | Z mého života | poslední úprava: 27.7.2007 16:13

    Jelikož jsem v pátek večer něměl vplánu žádnou akci, tak jsem zůstal doma a sledoval telku. Nejdřív jsem se díval na Prime na Nově a říkal si, že až to skončí tak půjdu spát bo sem šel v sobotu makat. Ale nakonec mě uchvátili ukázky na následující film. No víc než ukázky mě spíše uchvátil název. Film se jmenoval Python.

    Tak jsem se na něho podíval. Nebyl sice nic moc, ale nejhorší to nebylo. Nejvíce mě uchvátilo to, že to bylo o stvůře, která se jmenovala Python a odehrávalo se to v blízkosti městečka Ruby :-D(Asi už jsem trochu s těch počítačů zešílel, když si všímám takových kravin).

    Když jsem si šel lehnout začal jsem přemýšlet o tom, že poslední dobou o ruby sliším hodně, a že jsem jej ještě nezkusil. Tak mě napadlo, že by nebylo naškodu zkusit si vněm něco malého napsat, a také jsem chtěl zjistit jak moc se liší od pythonu.

    Jako priklad jsem se rozhodl, že přepíšu jeden svůj prográmek v pythonu a qt4 do ruby a qt4. Chvíli mi trvalo než jsem našel potřebný PKGBUILD pro můj arch. Po instalaci ruby-qt4 jsem se jal díla. Netrvalo to dlouho a progrímek byl předělanej. Moc mě překvapilo jak jednoduše to šlo.

    Na první pohled se kód příliš neliší, ale pozornějším čtením si všimneme, že se ruby od pythonu liší v hodně směrech. Pro porovnání uvádím oba zdrojové kódy.

    Ruby:

    #!/usr/bin/env ruby
    
    $KCODE = 'UTF-8'
    
    require 'Qt4'
    
    class VedlejsiDialog < Qt::Dialog
    	slots 'engine()'
    	def initialize()
    		super()
    		vrstva = Qt::VBoxLayout.new(self)
        	@prvkyOkna=[
          	typDrevaPopisek = Qt::Label.new("Typ Dřeva:"),
          	typDreva = Qt::ComboBox.new(self),
      		delkaKladyPopisek = Qt::Label.new('Délka klády(m):'),
          	delkaKlady = Qt::LineEdit.new(self),
          	prumerKladyPopisek = Qt::Label.new('Průměr klády(cm):'),
          	prumerKlady = Qt::LineEdit.new(self),
          	tlacitkoVypocti = Qt::PushButton.new('Vypočti')
        	]
        	typDrevaList = ['smrk','borovice - kura',
        								'borovice - borka','buk','dub']
        	@prvkyOkna[1].addItems(typDrevaList)
        	@prvkyOkna[6].connect(@prvkyOkna[6], SIGNAL( "clicked()" ),
        		self, SLOT( "engine()" ) )
        	@prvkyOkna.each { |x|
        		vrstva.addWidget(x)
        	}
    	end
      	def ziskatPecka()
        	peckaHash={'smrk' => [5.7723e-01, 6.8968e-03, 1.3123e+00],
        		'borovice - kura' => [2.5017e-01, 1.9147e-03,1.7866e+00],
        		'borovice - borka' => [1.7015e-00, 8.7620e-03, 1.4568e+00],
        		'buk' => [-4.0877e-02, 1.6634e-01, 5.6076e-01],
        		'dub' => [1.2474e+00, 4.2623e-02, 1.0623e+00]}
        	return peckaHash[@prvkyOkna[1].currentText()]
      	end
      	def engine()
        	dsk = @prvkyOkna[5].text().to_f
    		pecka = ziskatPecka()
    		pi = 3.141592654
    		l = @prvkyOkna[3].text().to_f
    		vysledek = ((dsk - (pecka[0] + pecka[1] * 
    			(dsk ** pecka[2])))**2 * pi * l) /40000 
    		Okno.pridatHodnotu([@prvkyOkna[3].text(),@prvkyOkna[5].text(),
    			@prvkyOkna[1].currentText(),(vysledek * 100).round.to_s])
      	end
    end
    
    class HlavniOkno < Qt::MainWindow
      slots 'odeber()'
    	def initialize()
            super()
              hlavniWidget = Qt::Widget.new(self)
              vrstva = Qt::GridLayout.new(hlavniWidget)
              pridatTlacitko = Qt::PushButton.new('Přidat')
              odebratTlacitko = Qt::PushButton.new('Odebrat')
              celkemLabel = Qt::Label.new('Celkem:')
              @celkemLineEdit = Qt::LineEdit.new()
              @celkemLineEdit.insert('0')
              @celkemLineEdit.setDisabled(true)
              @kubaturaList = Qt::TreeWidget.new()
              @kubaturaList.setColumnCount(4)
              headerLabels = ['Délka(m)', 'Průměr(cm)', 'Typ dřeva', 'Kubatura']
              @kubaturaList.setHeaderLabels(headerLabels)
              @kubaturaList.setRootIsDecorated(false)
              vrstva.addWidget(@kubaturaList,0,0,1,4)
              vrstva.addWidget(celkemLabel,1,0,1,2)
              vrstva.addWidget(@celkemLineEdit, 1, 1,1,2)
              vrstva.addWidget(pridatTlacitko, 2,0,1,4)
              vrstva.addWidget(odebratTlacitko, 3,0,1,4)
              setCentralWidget(hlavniWidget)
              setWindowTitle('Výpočet kubatury')
              pridatTlacitko.connect(pridatTlacitko, SIGNAL('clicked()'),
                HlOkno,SLOT('exec()'))
              pridatTlacitko.connect(odebratTlacitko, SIGNAL('clicked()'),
                self ,SLOT('odeber()'))
    	end
    	def pridatHodnotu(retezecList)
              @tmpPrvek = Qt::TreeWidgetItem.new(@kubaturaList, retezecList)
              aktualizuj()
    	end
    	def aktualizuj()
            tmpCount = 0
            0.upto(@kubaturaList.topLevelItemCount() - 1) { 
                |i| tmpCount = tmpCount + (@kubaturaList.topLevelItem(i).text(3)).to_i 
            }
            @celkemLineEdit.clear()
            @celkemLineEdit.insert((tmpCount/100.0).to_s)   
    	end
    	def odeber()
       		@kubaturaList.takeTopLevelItem(@kubaturaList.indexOfTopLevelItem(@kubaturaList.currentItem()))
       		aktualizuj()
     	end
    end
    App = Qt::Application.new(ARGV)
    HlOkno = VedlejsiDialog.new()
    Okno = HlavniOkno.new()
    Okno.show()
    App.exec()
    

    Python:

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    
    from PyQt4 import QtCore, QtGui # import QtToolkit class
    import sys
    import math
    app = QtGui.QApplication(sys.argv)
    
    
    class vedlejsiDialog(QtGui.QDialog):
        def __init__(self):
            QtGui.QDialog.__init__(self)
            #hlavniVrstva = QtGui.QWidget(self)
            vrstva = QtGui.QVBoxLayout(self)
            typDrevaPopisek = QtGui.QLabel(u'Typ Dřeva:', self)
            self.typDreva = QtGui.QComboBox(self)
            typDrevaList = [u'smrk', u'borovice - kůra', u'borovice - borka', u'buk', u'dub']
            self.typDreva.addItems(typDrevaList)
            delkaKladyPopisek = QtGui.QLabel(u'Délka klády(m):', self)
            self.delkaKlady = QtGui.QLineEdit(self)
            prumerKladyPopisek = QtGui.QLabel(u'Průměr klády(cm):')
            self.prumerKlady = QtGui.QLineEdit(self)
            tlacitkoVypocti = QtGui.QPushButton(u'Vypočti')
            app.connect(tlacitkoVypocti, QtCore.SIGNAL('clicked()'), self.engine)
            vrstva.addWidget(typDrevaPopisek)
            vrstva.addWidget(self.typDreva)
            vrstva.addWidget(delkaKladyPopisek)
            vrstva.addWidget(self.delkaKlady)
            vrstva.addWidget(prumerKladyPopisek)
            vrstva.addWidget(self.prumerKlady)
            vrstva.addWidget(tlacitkoVypocti)
            #self.setCentralWidget(hlavniVrstva)
            #self.setLayout(vrstva)
            self.setWindowTitle(u'Vypočet kubatury')
        def ziskatPecka(self):
            if self.typDreva.currentText() == u'smrk':
                p0 = 5.7723e-01
                p1 = 6.8968e-03 
                p2 = 1.3123e+00
                pecko = [p0, p1, p2]
                return pecko
            elif self.typDreva.currentText() == u'borovice - kůra':
                p0 = 2.5017e-01
                p1 = 1.9147e-03 
                p2 = 1.7866e+00
                pecko = [p0, p1, p2]
                return pecko
            elif self.typDreva.currentText() == u'borovice - borka':
                p0 = 1.7015e-00
                p1 = 8.7620e-03 
                p2 = 1.4568e+00
                pecko = [p0, p1, p2]
                return pecko
            elif self.typDreva.currentText() == u'buk':
                p0 = -4.0877e-02
                p1 = 1.6634e-01 
                p2 = 5.6076e-01
                pecko = [p0, p1, p2]
                return pecko
            elif self.typDreva.currentText() == u'dub':
                p0 = 1.2474e+00
                p1 = 4.2623e-02 
                p2 = 1.0623e+00
                pecko = [p0, p1, p2]
                return pecko
        def engine(self):
            dsk = float(self.prumerKlady.text())
            pecka = self.ziskatPecka()
            Pi = math.pi
            L = float(self.delkaKlady.text())
            vysledek = ((dsk - (pecka[0] + pecka[1] * (dsk ** pecka[2])))**2 * Pi * L) / 40000
            #vysledekOkno.setText(unicode(str(int(round(vysledek * 100, 0))), "utf-8"))
            okno.pridatHodnotu([self.delkaKlady.text(), self.prumerKlady.text(),
            self.typDreva.currentText(), unicode(str(int(round(vysledek * 100, 0))), "utf-8")])
            #vysledekOkno.show()
    
    class HlavniOkno(QtGui.QMainWindow):
        def __init__(self):
            QtGui.QMainWindow.__init__(self)
            hlavniWidget = QtGui.QWidget(self)
            vrstva = QtGui.QGridLayout(hlavniWidget)
            pridatTlacitko = QtGui.QPushButton(u'Přidat')
            celkemLabel = QtGui.QLabel(u'Celkem:')
            self.celkemLineEdit = QtGui.QLineEdit()
            self.celkemLineEdit.setEnabled(False)
            #print celkemLineEdit.isModified()
            self.celkemLineEdit.insert(u'0')
            self.kubaturaList = QtGui.QTreeWidget()
            #self.kubaturaListPrvek = []
            self.kubaturaList.setRootIsDecorated(0)
            self.kubaturaList.setColumnCount(4)
            headerLabels = [u'Délka(m)', u'Průměr(cm)', u'Typ dřeva', u'Kubatura']
            self.kubaturaList.setHeaderLabels(headerLabels)
            vrstva.addWidget(self.kubaturaList,0,0,1,4)
            vrstva.addWidget(celkemLabel,1,0,1,2)
            vrstva.addWidget(self.celkemLineEdit, 1, 1,1,2)
            vrstva.addWidget(pridatTlacitko, 2,0,1,4)
            self.setCentralWidget(hlavniWidget)
            #self.setLayout(vrstva)
            self.setWindowTitle(u'Vypočet kubatury')
            app.connect(pridatTlacitko, QtCore.SIGNAL('clicked()'), hlOkno.exec_)
        def pridatHodnotu(self, retezecList):
            self.tmpPrvek = QtGui.QTreeWidgetItem(self.kubaturaList, retezecList)
            self.aktualizuj()
            #self.kubaturaListPrvek.append(tmpPrvek)
        def aktualizuj(self):
            tmpCount = 0
            for x in range(self.kubaturaList.topLevelItemCount()):
                tmpCount = tmpCount + int(self.kubaturaList.topLevelItem(x).text(3))
            self.celkemLineEdit.clear()
            self.celkemLineEdit.insert(unicode(str(tmpCount/100.0) + str(' m3'), 'utf-8'))
    
    vysledekOkno = QtGui.QMessageBox(QtGui.QMessageBox.Information, u'Výsledek', str(u' '))
    hlOkno = vedlejsiDialog()
    #hlOkno.exec_()
    okno = HlavniOkno()
    okno.show()
    sys.exit(app.exec_())
    

           

    Hodnocení: 60 %

            špatnédobré        

    Anketa

    Který jazyk máte raději?
     (56 %)
     (38 %)
     (5 %)
    Celkem 73 hlasů

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    8.4.2007 20:13 botanicus | blog: Botanicusovi povzdechy | Prachatice
    Rozbalit Rozbalit vše Re: Python ve městě Ruby
    Vyborne, rozumny krok :) Ale pozor, Ruby skryva mnoho genialit pod povrchem, cim dele tento jazyk znam, tim vic ruleznejsi mi pripada :) A predevsim ma neuveritelne cisty objektovy navrh, kteremu mohou zavidet vsici ostatni. Vse je objekt, a to doslova, ne jako v Jave, o ktere se to s oblibou chybne tvrdi.

    Tak a ted rejpnuti: $KCODE = 'UTF-8' je tam proc? 1) pokud mermomoci, pak musis taky require 'jcode' 2) ze Ruby neumi unicode neznamena, ze neumi UTFko! Srovnej:
    irb(main):006:0> puts 'čečensko'
    čečensko
    => nil
    irb(main):007:0> puts 'čečensko'.length
    10
    => nil
    
    ... a jak je to s tou jcode?
    irb(main):001:0> require 'jcode'
    => true
    irb(main):011:0> $KCODE='u'
    => "u"
    irb(main):013:0> puts 'čečensko'.jlength
    8
    => nil
    
    Jinak ja prave pisu projektik v Ruby on Rails, taky parada, na weby nevim o nicem lepsim.

    Jo a to unicode - v nejblizsi dobe snad uz konecne bude (v Ruby 1.9.x). Navic Ruby 2.0 ma byt totalni bomba, pobezi to ve virtualni masine a ma to bejt brutalne rychly. Jiz dnes Ruby beha naprosto paradne rychle, ale i tak se mluvi o 2 - 20tinasobnem zrychleni. Tesim se :)

    BTW s Ruby klidne rad helpnu, aspon v ramci svych moznosti ... :)
    ... mam chut na jablicka ;)
    kozzi avatar 8.4.2007 20:31 kozzi | skóre: 55 | blog: vse_o_vsem | Pacman (Bratrušov)
    Rozbalit Rozbalit vše Re: Python ve městě Ruby
    Ohledne toj jcode tak to jsem tam původně měl a při pár kopirování a pár upravách se to někde ztratilo a jelikož jsem nikde nepoužíval nic na čem by se to ukázalo tak sem si toho nevšiml. Jinak musím uznat že ruby je obravdu hodně objektový dokonce i čísla jsou objektem což se mi líbí hlavně ty finty typu cislo.times cislo.to_s a take to cislo.upto atd..
    Linux je jako mušketýři "jeden za všechny, všichni za jednoho"
    Daniel Kvasnička ml. avatar 8.4.2007 22:34 Daniel Kvasnička ml. | skóre: 52 | blog: The Joys and Sorrows of Being an IT Freak | Ostrava
    Rozbalit Rozbalit vše Re: Python ve městě Ruby
    Jinak ja prave pisu projektik v Ruby on Rails, taky parada, na weby nevim o nicem lepsim.
    Ja jsem RoR nezkousel, ale jako webpythonistu by me zajimalo, s cim jsi RoR porovnaval (nechci slyset PHP ;-) ).
    FSF: “screw you for not wanting the stuff we produce”, People: “screw you for not producing the stuff we want."
    9.4.2007 18:38 botanicus | blog: Botanicusovi povzdechy | Prachatice
    Rozbalit Rozbalit vše Re: Python ve městě Ruby
    Porovnaval jsem hlavne s Pythonimi frameworky, PHP prece neni na programovani webu ;). Jmenovite Django, Zope a CherryPy (to se mi ale líbí také hodně). A pak s Javou ...
    ... mam chut na jablicka ;)
    Daniel Kvasnička ml. avatar 10.4.2007 09:22 Daniel Kvasnička ml. | skóre: 52 | blog: The Joys and Sorrows of Being an IT Freak | Ostrava
    Rozbalit Rozbalit vše Re: Python ve městě Ruby
    Rails u me maji jedno plus a to, ze nevytvari zadnou svou syntaxi sablon, ale pouzivaji klasicke xSP tagy. Nejlepsi jsou samozrejme XML templaty ;-) (ok, priznavam, bez ${} bych obcas prskal...ale jinak nedam dopustit), ale lepsi uz zavedena J/PSP syntaxe, nez vymyslet kolo a nosit drivi do lesa.
    FSF: “screw you for not wanting the stuff we produce”, People: “screw you for not producing the stuff we want."
    9.4.2007 19:35 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
    Rozbalit Rozbalit vše Re: Python ve městě Ruby
    Jako regulérního javistu a příležitostného rubistu mne taková srovnání uvádějí do rozpaků, hlavně když musím něco hledat v dokumentaci Ruby Core. Ale hlavně že je všechno objekt :-)
    Jinak ja prave pisu projektik v Ruby on Rails, taky parada, na weby nevim o nicem lepsim.
    K RoR se taky možná brzo dostanu, jsem zvědavý, jestli k tomu kromě tisíce a jednoho návodu Jak sobě zprasiti blog v deseti minutách a nechat se přitom vykouřit šestnáctiletou modelkou :-), na které člověk narazí na každém rohu, taky existujě nějaký rozumný tutoriál. Nemůžete něco doporučit?
    Ještě na tom nejsem tak špatně, abych četl Viewegha.
    9.4.2007 20:28 botanicus | blog: Botanicusovi povzdechy | Prachatice
    Rozbalit Rozbalit vše Re: Python ve městě Ruby
    No v cestine predevsim serial Ruby on Rails na Rootu a stranka rails.jinak.cz. Rekl bych vic, ale bohuzel ntb mam v oprave a ke svym bookmarkum se nedostanu :/
    ... mam chut na jablicka ;)
    10.4.2007 09:50 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
    Rozbalit Rozbalit vše Re: Python ve městě Ruby
    Ty nemáš bookmarky na del.ico.us? Chudáčku.
    XML je zbytečný, pomalý, nešikovný balast, znovu vynalézané kolo a ještě ke všemu šišaté, těžké a kýčovitě pomalované.
    10.4.2007 14:45 botanicus | blog: Botanicusovi povzdechy | Prachatice
    Rozbalit Rozbalit vše Re: Python ve městě Ruby
    Jeste jsem na to nemel cas. Ale kdyz Ti to tak vadi, mohu Ti je, jen co mi prijde ntb zpet, poslat a muzes mi je tam nahazet, budu jedine rad :)
    ... mam chut na jablicka ;)
    Daniel Kvasnička ml. avatar 10.4.2007 15:28 Daniel Kvasnička ml. | skóre: 52 | blog: The Joys and Sorrows of Being an IT Freak | Ostrava
    Rozbalit Rozbalit vše Re: Python ve městě Ruby
    Bez del.icio.us ani ranu.
    FSF: “screw you for not wanting the stuff we produce”, People: “screw you for not producing the stuff we want."
    10.4.2007 15:57 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
    Rozbalit Rozbalit vše Re: Python ve městě Ruby
    Já taky ne, nebudu přece na celý internet rozhlašovat, jaké mám rád programovací jazyky a pornoherečky! Stačí, že to ví návštěvníci jednoho kanálu na IRCnetu :-)
    Ještě na tom nejsem tak špatně, abych četl Viewegha.
    14.4.2007 08:23 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
    Rozbalit Rozbalit vše Re: Python ve městě Ruby
    Pornoherečky si můžeš dát private (not shared) :-)
    XML je zbytečný, pomalý, nešikovný balast, znovu vynalézané kolo a ještě ke všemu šišaté, těžké a kýčovitě pomalované.
    10.4.2007 19:27 MichalC
    Rozbalit Rozbalit vše Re: Python ve městě Ruby
    Jiz dnes Ruby beha naprosto paradne rychle, ale i tak se mluvi o 2 - 20tinasobnem zrychleni. Tesim se :)
    Asi žiju na jiné planetě, ale aktuální implementace Ruby ho řadí jako jeden z nejpomalejších vůbec. Ani YARV na kterém má oficiálně běžet verze 2.0 ho moc neurychlí. Výrazně pomalejší než Python, ale dokonce i než Perl. O Javě ani nemluvě.

    Škoda. Ruby je rozhodně pěkný jazyk s konzistentním návrhem, ale tímhle se diskvalifikuje pro spoustu nasazení, kde na rychlosti záleží.

    12.4.2007 12:52 botanicus | blog: Botanicusovi povzdechy | Prachatice
    Rozbalit Rozbalit vše Re: Python ve městě Ruby
    No zkousel jsem namatkove par testu a Ruby smele konkurovalo Pythonu (Ruby 1.8.5 a Python 2.5), a to dokonce i v rekurzi, o niz se vi, ze s ni ma Ruby, co se rychlosti tyce, problemy. Perl byl az hafo daleko a po nem nasledovalo PHP. Samozrejme JRuby a Jython byly az po PHP, ale to je tou Javou ... YARV a Rubinius minim teprve otestovat.

    BTW kazda verze Ruby je rychlejsi a rychlejsi, z Ruby 1.9.x jsem docela nadsen :)

    PS: Uz se vybral YARV? Posledni zminka, kterou jsem zaregistroval byla, ze se bude vybirat, s tim, ze to zrejme bude YARV, ale oficialni vybrani YARV tusim nepadlo, nebo ano?
    ... mam chut na jablicka ;)
    8.4.2007 20:50 dvh
    Rozbalit Rozbalit vše Re: Python ve městě Ruby
    $ ./pokus.py
    UnicodeDecodeError: 'utf8' codec can't decode byte 0xe9 in position 0: unexpected end of data
    
    
    $ ./pokus.rb
    ./pokus.rb:5:in `require': no such file to load -- Qt4 (LoadError)
            from ./pokus.rb:5
    kozzi avatar 8.4.2007 21:01 kozzi | skóre: 55 | blog: vse_o_vsem | Pacman (Bratrušov)
    Rozbalit Rozbalit vše Re: Python ve městě Ruby
    ohledně toho prvního nevím čím to je asi nejakej problém s kodováním možná pomůže odebrat ten řádek ohledně kodování. a ohledně toho ruby tak tam je potíž že nemáš nainstalovanej balicek kterej obasuhuje propojeni ruby s qt4 nejspis neco jako ruby-qt4
    Linux je jako mušketýři "jeden za všechny, všichni za jednoho"
    8.4.2007 23:39 Martin Matějek | skóre: 12 | blog: Flying_circus | Kladno
    Rozbalit Rozbalit vše Re: Python ve městě Ruby
    Tušil jsem, že ten film je o stvůře jménem Python, ale že je to ve městě Ruby, to mě nenapadlo ^_~

    Větší překvapení pro mě byla kniha s lákavým názvem 'Conan a poklad Pythonu'. Z barbara Conana se nestal programátor, ale šlo o město Python.
    Don't judge me by the friends I keep. No, no, no. Judge me by the enemies I have slain!
    9.4.2007 18:39 botanicus | blog: Botanicusovi povzdechy | Prachatice
    Rozbalit Rozbalit vše Re: Python ve městě Ruby
    BTW pro zasmání: u nás ve městě otevřeli optiku Python. Hádejte co může rubysta udělat - vzal jsem lihovku, Python škrtnul a napsal Ruby...
    ... mam chut na jablicka ;)
    9.4.2007 20:38 dvx
    Rozbalit Rozbalit vše Re: Python ve městě Ruby
    OT: Ale ze mne to u tebe ani trochu neprekvapilo.
    10.4.2007 15:12 Honza Král | skóre: 3 | Praha
    Rozbalit Rozbalit vše Re: Python ve městě Ruby
    Muzu se zeptat, jaky smysl ma silena konstrukce:
    elif self.typDreva.currentText() == u'borovice - kůra':
        p0 = 2.5017e-01
        p1 = 1.9147e-03 
        p2 = 1.7866e+00
        pecko = [p0, p1, p2]
        return pecko
    elif ....
    
    oproti ulozeni do nejake struktury:
    PECKA = {
      u'borovice - kůra' : ( 2.5017e-01, 1.9147e-03, 1.7866e+00 ),
      u'' : ....,
    }
    
    a volani:
    typDrevaList = PECKA.keys()
    ...
    return PECKA[self.typDreva.currentText()]
    
    kdyz uz chces porovnavat dva jazyky, chtelo by to alespon respektovat styl programovani v danem jazyku... takoveto srovnani nema zadny smysl - neobsahuje temer zadnou logiku (a ta co tam je je implementovana prinejlepsim pochybne) a tak nakonec porovnavas pouze zapis Qt v pythonu a ruby, ktery se prekvapive lisi pouze v detailech a rozdily mezi ptyhonem a ruby tam prilis nepredvedes...

    a to nemluvim o konstrukcich typu: str(' m3'), int(round(...)) nebo str(u' '), skutecne by to chtelo si neco o pythonu precist (o ruby nic nevim, do toho se poustet nebudu) predtim nez se pokusim o jakekoliv srovnani...

    netvrdim, ze to nemas delat, ale presentovat tohle jako seriozni srovnani muze dopadnout tak, ze to tak nekdo vezme a na zaklade toho si udela obrazek o pythonu ci ruby a ten bude naprosto spatny...
    kozzi avatar 11.4.2007 07:51 kozzi | skóre: 55 | blog: vse_o_vsem | Pacman (Bratrušov)
    Rozbalit Rozbalit vše Re: Python ve městě Ruby
    Ale tady nešlo o srovnání, a to že nepoužívám všechny možný konstrukce které mi python nabízí, je tím že vněm píši opravdu chvíli, takže jsem si ještě neosvojil všechny jeho výhody. Jinak mě šlo spíš jen o ten film a ten kód jsem jsem dal, právě kvůli tomu, že se dozvím co dělám špatně dřív než si na to zvyknu a pak by se mi to těžce odnaučovalo. A co se ruby týče tak tam jsem taky určiloe nepoužil ty správné možnosti. Ale mockrát děkuji za upozornění. Jinak ohledně těch zbytečních přetypování už vím.
    Linux je jako mušketýři "jeden za všechny, všichni za jednoho"

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.