Novice » Izšel Python 3.0

Izšel Python 3.0

The Register - Če ste morebiti zamudili, v sredo je izšel Python 3.0, katerega nova verzija ni več popolnoma združljiva z družino 2.x. Guido van Rossum, oče projekta, je dejal, da je jezik večinoma enak, so pa spremenili vrsto detajlov, popravili nekaj nadležnosti in pobrisali nekaj zastarele kode ter reorganizirali standardno knjižnico. Priznava, da verzija 3.0 teče deset odstotkov počasneje od predhodne in pravi, da se bodo tej težavi posvetili pozneje. Seznam vseh novosti je na voljo na uradni spletni strani.

33 komentarjev | povej naprej: Facebook Twitter

Registriraj se

i100k100 ::

Uuu, tole bo pa treba preizkusit. V pythonu sem vedno najraje programiral, jezik mi je enostavno domač :)

mp218 ::

"Priznava, da verzija 3.0 teče deset odstotkov počasneje od predhodne in pravi, da se bodo tej težavi posvetili pozneje."

A ne zveni to mal neresno?

Drugače pa je jezik res ql. Samo škoda, da se mu ne posvečam več velik.

Quikee ::

"Priznava, da verzija 3.0 teče deset odstotkov počasneje od predhodne in pravi, da se bodo tej težavi posvetili pozneje."
A ne zveni to mal neresno?.


Neresno? Kaj pa se naj prvo posvetijo da bo delala hitreje in kasneje stabilnosti?

PaX_MaN ::

Indentacije nej se znebijo, če že.
Kvarim statistiko anket že od 1995

mp218 ::

Glede na priljubljenost jezika bi pričakoval, da bo - od predhodne verzije - boljši tako v funkcionalnostih, stabilnosti in hitrosti... ampak, nevermind, naj bolj kredibilno mnenje dajo tisti, ki ga bodo dejansko uporabljali.

"Indentacije nej se znebijo, če že. " => a ni to najbolj ql pri Pythonu? Enostavno te prisili pisat lepšo kodo...

techfreak :) ::

Indentacija je dobra stvar, vendar vseeno me moti to, da ni zavitih oklepajev.


V bistvu pa mi tudi ostale stvari niso všeč. Nekako mi je najboljši C/C++ način. Ker pri Pythonu se mi zdi ravno to težava.

Drugače pa kaj ti preprečuje indentacijo v drugih jezikih? 99% programerjev jo uporablja, tako, da tukaj res ni kakšnih težav ...

Sploh pa 10% počasneje? A ni bistvu izboljšav v tem, da poteka vse skupaj hitreje?

krho ::

Počasnejši je zaradi podpore Unicode. Bodo zrihtali.
Evo isto, kar so naredili Python razvijalci, bi morali narediti PHP, s 6tico. Ne pa de se izmišljajo nebuloze, kot je \ za namespace delimiter. Za nameček ne znajo spisati pravilnega regexa, ki bi pravilno popravil dokumentacijo. Aja govorim o tem... Bfoo(); // calls function "foo" from namespace "B" Right... kar bi moralo biti B\foo();..
si.Mail odprto-kodni odjemalec elektronske pošte. - http://www.simail.si
Uredite si svojo zbirko filmov, serij in iger - http://xcollect.sf.net

BigWhale ::

Drugače pa kaj ti preprečuje indentacijo v drugih jezikih? 99% programerjev jo uporablja, tako, da tukaj res ni kakšnih težav ...


Problem je v tem, ker jih potem 99% indentacijo narobe in drugace uporablja... :>
I need you like C++ needs preprocessor. Badly! #nerdlove
http://www.twm-kd.com/ | http://www.youtube.com/user/BigWWhale
If I had my little way, I'd eat peaches every day

techfreak :) ::

Problem je v tem, ker jih potem 99% indentacijo narobe in drugace uporablja... :>

Kako jo pa lahko narobe uporabljaš?:))

PaX_MaN ::

[edit - odstranjen del, ki se nanaša na brisan post]

"Indentacije nej se znebijo, če že. " => a ni to najbolj ql pri Pythonu? Enostavno te prisili pisat lepšo kodo...

To je neumnost. Kompajler se ne bi smel pritoževat nad kodo, magari če je napisana v eni sami vrstici. Ločenje odspredja/oduzadja, ja?

Drugače pa kaj ti preprečuje indentacijo v drugih jezikih? 99% programerjev jo uporablja, tako, da tukaj res ni kakšnih težav ...

Nič mi je ne preprečuje, ker je prostovoljna; python jo po drugi strani zapoveduje, kar botruje nepreglednosti. En odmik preveč/premalo, hopla!, pa je del kode takoj izven funkcije/zanke/younameit.
Kvarim statistiko anket že od 1995

Zgodovina sprememb…

  • spremenilo: gzibret ()

upirna ::

Ima prednosti in slabosti. Drugače pa python že tako ali tako ni ravno uren, tako da teh 10% res ni ravno pohvalnih.
[to sporočilo bo spremenil upirna, kadar bo to njemu pasalo]

BigWhale ::

Problem je v tem, ker jih potem 99% indentacijo narobe in drugace uporablja... :>

Kako jo pa lahko narobe uporabljaš?:))


Ti zgleda se nisi videl kako zgleda ena zanikrna koda...
I need you like C++ needs preprocessor. Badly! #nerdlove
http://www.twm-kd.com/ | http://www.youtube.com/user/BigWWhale
If I had my little way, I'd eat peaches every day

Matevžk ::

En odmik preveč/premalo, hopla!, pa je del kode takoj izven funkcije/zanke/younameit.

Če ne zamikaš ravno po en presledek, to ni problem - dobiš napako pri prevajanju ... Koda je pa v večini primerov veliko bolj berljiva brez oklepajev ali "begin-end" delimiterjev in podpičij. Kdaj pa tlačiš več stavkov v eno vrsto? Kvečjemu pri kakšnih kratkih inicializacijah (x=0;y=0;maxx=0;maxy=0;) - vse to pa v Pythonu tako ali tako narediš v enem stavku ...
lp, Matevžk

infiniteLoop ::

Ne programiram v pythonu, ampak ko sem slisal za standardno indentacijo mi je bila ideja takoj vsec. Po svoje bi mi pasalo, da bi bilo cimvec strukture zapovedane. Ker, ce ne pazis (se posebaj pri kakem perlu) mas kaj hitro 'write only' software. Ce pa se malo vec ukvarjas s programiranjem vecjih aplikacij, itak hitro ugotovis, da za branje kode zapravis vsaj toliko casa kot ga za pisanje.
None of us is as dumb as all of us.

Quikee ::

Če pythonu vzameš vstran identacijo potem to enostavno več ni python. Identacija je stvar okusa - nekaterim je všeč drugim ne. Ni ne bedarija in ne najboljša stvar pod soncem. Pregledno kodo lahko pišeš tudi na "klasičen" način. Po drugi strani pa je po moje dobra za začetnike, ki jih sili v pisanje lepo strukturirane kode in pa tudi vsa python koda, ki sem jo bral se mi je zdela enaka ravno zaradi identacije.

mte ::

Quikee: lepo povedano. Dodal bi še, da je v primerih, ko je sintaksa restriktivna, običajno manj problemov in navajanja na kodo drugih, če delaš v skupini. Če bi vsak od desetih programerjev v skupini pisal na svoj način in ne bi v skupini veljala določena pravila pri pisanju kode, si ne predstavljam, kako bi lahko vse skupaj vzdrževali.

lp

jlpktnst ::

Hja kolikor poznam python (user experience) so mainline in bittornado v pythonu ne? Ogabno počasni in požrešni, ram in cpu. :) Glede indentacije ko je težka debata - nimam nič proti, malo manj pisanja oklepajev, bog ne daj begin/end ...

Sicer pa je nekdo omenil php, php resno rabi prevetritev. Po par mesecih dela sem odkril že kar nekaj reči, ki mi gredo grozno na živce :)

aks_! ::

James Bennett, eden izmed razvijalcev Djangota, je napisal kul text, zakaj je dobro, da je prišlo do sprememb v Pythonu: Let's talk about Python 3.0.

Edit: napačen link.

Zgodovina sprememb…

  • spremenil: aks_! ()

MrStein ::

PaX MaN:
En odmik preveč/premalo, hopla!, pa je del kode takoj izven funkcije/zanke/younameit.

V C-ju je isto (oziroma "nasprotno"):
if(pogoj)
   NaredTo();
   NarediOno();


Programer se zatipka -> program ne dela. Nič ni kompaljler kriv.
Teštiram če delaž

jype ::

PaX_MaN> Indentacije nej se znebijo, če že.

>>> from __future__ import braces
File "<stdin>", line 1
SyntaxError: not a chance

krho ::

PaX MaN:
En odmik preveč/premalo, hopla!, pa je del kode takoj izven funkcije/zanke/younameit.

V C-ju je isto (oziroma "nasprotno"):
if(pogoj)
   NaredTo();
   NarediOno();


Programer se zatipka -> program ne dela. Nič ni kompaljler kriv.


Jaz dobim pike, ko vidim zgornjo kodo.
if(pogoj) { NaredTo(); }

NarediOno();

//oz najbolje
if(pogoj) { 
  NaredTo();
}
NarediOno();
si.Mail odprto-kodni odjemalec elektronske pošte. - http://www.simail.si
Uredite si svojo zbirko filmov, serij in iger - http://xcollect.sf.net

techfreak :) ::

{} sta pri samo enem stavku nepotrebna.

Najboljše je:

if(pogoj)
presledek presledek presledek presledek NarediTo();
NarediOno();

Zgodovina sprememb…

squngy ::

Osebno mi je veliko bolj pregledno, da če ima pogoj samo en stavek, da napišem kar v isti vsrtici.

recimo: if(pogoj) { NaredTo(); }

še rajš pa: if(pogoj) NaredTo();
Itaq tako v trenutku vidiš kam spada stavek.

Čim jih ima več pa:

if(pogoj) {
tab NaredTo(); //tab = zamik s tabulatorjem
tab NarediOno();
}

Zgodovina sprememb…

  • spremenil: squngy ()

BigWhale ::

Dejan, as nor?! :>

Najboljs je tkole:

if (something)
{
  Do_Stuff;
}
else {
{
  Do_OtherStuff;
}
I need you like C++ needs preprocessor. Badly! #nerdlove
http://www.twm-kd.com/ | http://www.youtube.com/user/BigWWhale
If I had my little way, I'd eat peaches every day

squngy ::

ni če hočeš da se Do_OtherStuff; izede v vsakem primeru...

BigWhale ::

Ja, to ze vem. Ampak Pisanje takih if stavkov brez oklepajev je blasphemy.
I need you like C++ needs preprocessor. Badly! #nerdlove
http://www.twm-kd.com/ | http://www.youtube.com/user/BigWWhale
If I had my little way, I'd eat peaches every day

jype ::

Ne, ni.

Samo python potrebuješ.

techfreak :) ::

Če je samo en stavek ne vidim zakaj bi pisal {} ...

BigWhale ::

Ne, ni.

Samo python potrebuješ.


Smartass :P
I need you like C++ needs preprocessor. Badly! #nerdlove
http://www.twm-kd.com/ | http://www.youtube.com/user/BigWWhale
If I had my little way, I'd eat peaches every day

BigWhale ::

Če je samo en stavek ne vidim zakaj bi pisal {} ...


Zato, ker ti bo enkrat nekdo vrinil enter med tisti if in pogojni stavek. Ali pa zato, ker bos enkrat poleg Do_Something() zelel, da se izvede se Do_Something_Completely_Different() in bos pozabil na oklepaje....

Pisanje {} prihrani mnogo tezav in naredi kodo lepso in bolj pregledno. :)
I need you like C++ needs preprocessor. Badly! #nerdlove
http://www.twm-kd.com/ | http://www.youtube.com/user/BigWWhale
If I had my little way, I'd eat peaches every day

techfreak :) ::

Če imam:
if(pogoj) Do_Something();
in mi nekdo vrine enter med if in pogojem dobim:
if(
pogoj) Do Something();
in mi bo še vedno delovalo.

Sploh pa še nikoli nisem pozabil {} in ni nikakor bolj pregledno.

krho ::

@Dejan še 1x poglej kaj je napisal MrStein, in kaj BigWhale pa ti bo vse jasno.
si.Mail odprto-kodni odjemalec elektronske pošte. - http://www.simail.si
Uredite si svojo zbirko filmov, serij in iger - http://xcollect.sf.net

BigWhale ::

Dejan, med pogojni stavek. Ne med pogoj. ;)

In ja z oklepaji je BOLJ pregledno. O tem se ne bomo kregali. :P
I need you like C++ needs preprocessor. Badly! #nerdlove
http://www.twm-kd.com/ | http://www.youtube.com/user/BigWWhale
If I had my little way, I'd eat peaches every day
Registriraj se


Vredno ogleda ...

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

NEC prvi s krmilnikom za USB 3.0

Oddelek: Novice
0653 (653) McHusch
»

Tudi Sun MicroSystems se podaja v odprtokodne vode

Oddelek: Novice
71791 (1524) 64202
»

Python 2.4!

Oddelek: Novice
321267 (1267) MrStein
»

NSIS 2.0

Oddelek: Novice
6726 (726) PicNiK
»

Mandrake Linux 8.2 (beta) nared za download

Oddelek: Novice
0942 (942) whatson