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 00:11 | Nová verze

    Byla vydána prosincová aktualizace aneb nová verze 1.108 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.108 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 0
    včera 20:44 | IT novinky

    Na lasvegaském veletrhu elektroniky CES byl předveden prototyp notebooku chlazeného pomocí plazmových aktuátorů (DBD). Ačkoliv se nejedná o první nápad svého druhu, nepochybně to je první ukázka praktického použití tohoto způsobu chlazení v běžné elektronice. Co činí plazmové chladící akční členy technologickou výzvou je především vysoká produkce jedovatého ozonu, tu se prý podařilo firmě YPlasma zredukovat dielektrickou

    … více »
    NUKE GAZA! 🎆 | Komentářů: 1
    včera 16:33 | Zajímavý projekt

    Patchouli je open source implementace EMR grafického tabletu (polohovací zařízení). Projekt je hostován na GitLabu.

    Ladislav Hagara | Komentářů: 0
    včera 14:11 | IT novinky

    Český Nejvyšší soud potvrdil, že česká právní úprava plošného uchování dat o elektronické komunikaci porušuje právo Evropské unie. Pravomocným rozsudkem zamítl dovolání ministerstva průmyslu a obchodu. To se teď musí omluvit novináři Českého rozhlasu Janu Cibulkovi za zásah do práv na ochranu soukromí a osobních údajů. Ve sporu jde o povinnost provozovatelů sítí uchovávat údaje, ze kterých lze odvodit, kdo, s kým a odkud komunikoval.

    Ladislav Hagara | Komentářů: 4
    včera 02:11 | Komunita

    Google bude vydávat zdrojové kódy Androidu pouze dvakrát ročně. Ve 2. a 4. čtvrtletí.

    Ladislav Hagara | Komentářů: 0
    7.1. 17:22 | Zajímavý článek

    Bezpečnostní specialista Graham Helton z Low Orbit Security si všímá podezřelých anomálií v BGP, zaznamenaných krátce před vstupem ozbrojených sil USA na území Venezuely, které tam během bleskové speciální vojenské operace úspěšně zatkly venezuelského diktátora Madura za narkoterorismus. BGP (Border Gateway Protocol) je 'dynamický směrovací protokol, který umožňuje routerům automaticky reagovat na změny topologie počítačové sítě' a je v bezpečnostních kruzích znám jako 'notoricky nezabezpečený'.

    NUKE GAZA! 🎆 | Komentářů: 8
    7.1. 06:11 | Nová verze

    Společnost Valve aktualizovala přehled o hardwarovém a softwarovém vybavení uživatelů služby Steam. Podíl uživatelů Linuxu dosáhl 3,58 %. Nejčastěji používané linuxové distribuce jsou Arch Linux, Linux Mint a Ubuntu. Při výběru jenom Linuxu vede SteamOS Holo s 26,32 %. Procesor AMD používá 67,43 % hráčů na Linuxu.

    Ladislav Hagara | Komentářů: 3
    7.1. 05:55 | IT novinky

    V Las Vegas probíhá veletrh CES (Consumer Electronics Show, Wikipedie). Firmy představují své novinky. Například LEGO představilo systém LEGO SMART Play: chytré kostky SMART Brick, dlaždičky SMART Tagy a SMART minifigurky. Kostka SMART Brick dokáže rozpoznat přítomnost SMART Tagů a SMART minifigurek, které se nacházejí v její blízkosti. Ty kostku SMART Brick aktivují a určí, co má dělat.

    Ladislav Hagara | Komentářů: 0
    6.1. 18:33 | Bezpečnostní upozornění

    Vládní CERT (GovCERT.CZ) upozorňuje (𝕏) na kritickou zranitelnost v jsPDF, CVE-2025-68428. Tato zranitelnost umožňuje neautentizovaným vzdáleným útočníkům číst libovolné soubory z lokálního souborového systému serveru při použití jsPDF v prostředí Node.js. Problém vzniká kvůli nedostatečné validaci vstupu u cest k souborům předávaných několika metodám jsPDF. Útočník může zneužít tuto chybu k exfiltraci citlivých

    … více »
    Ladislav Hagara | Komentářů: 6
    6.1. 16:22 | Komunita

    V úterý 13. ledna 2025 se v pražské kanceláři SUSE v Karlíně uskuteční 5. Mobile Hackday, komunitní setkání zaměřené na Linux na mobilních zařízeních, kernelový vývoj a související infrastrukturu. Akci pořádá David Heidelberg.

    … více »
    lkocman | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (1%)
     (4%)
     (0%)
     (10%)
     (22%)
     (4%)
     (5%)
     (3%)
     (11%)
     (54%)
    Celkem 295 hlasů
     Komentářů: 7, poslední včera 15:35
    Rozcestník

    Python ve městě Ruby

    8.4.2007 19:45 | Přečteno: 1810× | 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.