Välkommen till linuxportalen.se!

Linuxportalen.se är Sveriges största och aktivaste webbplats för användare av öppen- och fri programvara.

Du besöker Linuxportalen.se som gäst vilket begränsar din möjlighet att använda webbplatsens alla funktioner. Genom att registera dig som medlem får du inte bara möjlighet att söka bland webbplatsens innehåll, skapa nya och delta i befintliga diskussioner, skapa din egen blogg, kommunicera med andra medlemmar genom privata meddelanden och delta i omröstningar. Du får också tillgång till Veckans Kadavro - en seriestrip unikt skapad för Linuxportalen.se!

Registeringen sker snabbt och är helt kostnadsfri - tveka inte, bli medlem idag!

Python 2.x eller Python 3.x?!

Jag håller i dagsläget på och översätter A Byte of Python version 1.20 som är den senaste för just Python 2.x. Swaroop (författaren) har ute version 1.92 som helt riktar in sig på Python 3.x och det har fått mig att fundera lite.

Läste någonstans att det fortfarande är bättre att satsa på 2.x om man är helt ny. Själv ligger jag väl en bra bit in i Python fast jag har en lång väg kvar innan jag kan kalla mig en Pythonprogrammerare.

Har försökt finna information om hur planerna ser ut för just 2.x respektive 3.x. När kommer 2.x att försvinna och 3.x ta över helt? Är det värt att fortsätta med 2.x eller borde man redan nu satsa på 3.x?

Jag hittar inte den text nu som rekommenderade att man fortsatte med 2.x, men jag tror den nämnde nåt om att pythonbiblioteket inte är lika stort i 3.x än, att dom flesta fortfarande kör 2.x m.m. Känslan jag får är att man borde stanna kvar vid 2.x, men det med stor tvekan. Om inte annat så får jag väl låta Debian 5.0.3 och dess paketförråd bestämma, där finns nämligen inte 3.x med.

Faktiskt så känns det riktigt frustrerande när man ger ut två versioner sida vid sida. Att 3.0 kommit ut innan 2.7.

Alternativ för kommentarvisning

Välj ditt önskade sätt att visa kommentarerna och klicka på "Spara" för att verkställa dina ändringar.

FoHs bild

Beror väl lite på hur långt du kommit med översättningen också. Jag är inte insatt i Python direkt, men efter att ha läst följande på Wikipedia: http://en.wikipedia.org/wiki/Python_%28programming_language%29#Development

Så tycker jag nog att en manual på 2.x-serien absolut har ett existensberättigande. Vet inte om det egentligen är så konstigt att man har två versioner sida vid sida, inte när man gör en ny version som inte är bakåtkompatibel åtminstone. Fixa buggar måste man ju ändå göra i den gamla serien.

Sen tycker jag nog att man får ta in i beräkningarna alternativa implementation som Jython och IronPython som är inriktade på 2.x-serien också, och som sannolikt kommer ta ett tag att gå över till 3.x.

leochingkwakes bild

Nåt man får ha i åtanke med är att den sista versionen av 2.x är 2.7. Vad jag uppfattat med 2.7 så har den mer gemensamt med 3.x än tidigare versioner av 2.x. Så läser man dokumentation för 2.5 så får jag uppfattningen att man inte kan använda saker om man får 2.7 sen vid nån uppgradering. Eller nåt, just nu tycker jag allt bara är snurrigt. Jag har fått uppfattningen att 2.6 också har mer gemensamt med det nya än med det gamla men jag behöver nog läsa på mer...  Tongue

Det jag menade med att det är trist att det är två versioner samtidigt är att dom båda anses vara stabila. Och 3.x är inte bakåtkompatibel. Man kan inte använda sig av diverse tredjepartsverktyg och standardbiblioteket är inte lika komplett.

Jag är i början av översättningen så jag kan byta om det skulle vara så. Jag har tagit en paus tills att jag känner att jag kan ta ett vettigt beslut i ämnet. Men mycket lutar åt att jag arbetar med 2.x. Min dist erbjuder som högst Python 2.5.2.

En intressant detalj som jag läste var att 3.0 inte hade med TKInter vilket är konstigt då det är GUI standarden för Python och IDLE använder just TKInter. Nu är TKInter med i senare versioner, men man funderar ju på vad det är som saknas nu.

FoHs bild

Ja, en del från 3.0 hade väl "portats" till 2.7? Men enligt versionsnumreringen så ska ju 2-serien fortfarande vara i huvudsak bakåtkompatibel så förändringarna torde ju inte bryta allt för mycket?

Hur omfattande är förändringen i dokumentationen för de olika versionerna, har du nån uppfattning om det? Ett alternativ kanske kan vara att skriva för 2.5.x och om/när du sedan själv tänker gå vidare med de nyare versionerna så kanske du kan göra tillägg i dokumentationen? Eller blir det alldeles för rörigt?

leochingkwakes bild

Eftersom python 3.x har genomgått en stor förändring så borde även dokumentation gjort det.

I fallet med A Byte of Python så får man göra två separata översättningar om man vill ha guider på svenska för både 2.x och 3.x. Jag kommer inte skriva några egna texter för Python i dagsläget, det finns redan flera bra fria böcker på engelska som man kan översätta. Dive into Python är en annan jag är nyfiken på.

Det är 110 sidor för 2.x och 118 sidor just nu för 3.x och det kanske inte tar så lång tid egentligen att översätta båda. Det är en bra bok och det är kul om svenskar kan ta del av den just på svenska.

Det är ju värre med Subversionboken som är på flera hundra sidor. Den är man inte lockad att översätta även om det hade varit användbart.

FoHs bild

Jag började på med Linux Kernel in a Nutshell för något år sedan, men jag kom inte mer än till tredje kapitlet. Det var rätt jobbigt. Sen är jag lite pedantisk också :) Först översatte jag helt själv, men sen tog jag faktiskt hjälp av Google Translate. Man måste naturligtvis göra mycket efterarbete (speciellt med tekniska texter), egentligen blir det inte att man skriver om text i mindre omfattning. Den stora fördelen som jag tyckte jag fick av det var att man slapp spendera tid på att tänka ut översättningen själv. Många gånger förstår man ju precis vad man läser på engelska men det blir svårt att hitta orden och formuleringar på svenska som passar.

leochingkwakes bild

Jag är en perfektionist och skulle nog inte kunna leva med tanken att jag använt nåt som Google translate Wink

Jag har arbetat med texter både egna och översättningar sen 90-talet så jag känner mig hyfsat bekväm med det. Jag läser minst ett stycke innan jag skriver nåt och så skapar jag min egna svenska variant av detta. Problemet många verkar ha är att dom översätter samtidigt som dom läser, alltså mening för mening vilket nästan alltid skapar ett problem för den som översätter. Man tappar speciellt i grammatiken när man gör så.

Jag gillar även övningen och kunskapen som man får på köpet när man gör sådana arbeten. Jag har inte gjort sånt på ett par år nu, större översättningar, så det är lite trögt nu i början. Men sen kommer man komma in i ett flyt och kan bidra med fler översättningar. Det jag arbetar med nu är som sagt A Byte of Python och sen även A Byte of VIM.

Översättningar och egenskrivna guider är det smidigaste sättet för mig att bidra på i dagsläget.

FoHs bild

Jag som inte är speciellt van vid översättning gjorde precis det misstag du beskriver, dvs översatte i princip mening efter mening. Tycker nästan det märks i början av boken. Med Google Translate blev det ett helt annat flyt i arbetet, samtidigt som jag själv tycker att jag fått en exakt översättning. Det handlar naturligtvis inte om att köra det genom Google Translate och klistra in det i dokumentet Smile (Hade inte ens kommit fram till tredje kapitlet tydligen!)

http://docs.google.com/View?id=dd2mfmgq_10fc4kc2fz

http://docs.google.com/View?id=dd2mfmgq_9cm7vt2gm

leochingkwakes bild

Man får gå lugnt fram och ofta vara beredd på att gå igenom texten två gånger. Bästa är att lugnt översätta allt, och sen gå igenom arbetet från början och fundera kring varje stycke om det låter rätt när man läser det. I den processen så kan man förändra stycken som man inte är nöjd med.

Jag har använt mig av Lexin ibland då man ibland inte kan komma på ett bra svenskt ord trots att man vet vad det engelska ordet betyder. Så lite översättningshjälp behöver man alltid. Men det svåraste är att avgöra vilka ord som man skall översätta. I en programmeringstext så finns det en del ord som jag tycker skall vara på engelska även i en svensk text. Men sådana som Lindström tycker antagligen att allt skall vara på svenska Smile

FoHs bild

Det var lite det jag tyckte jag fick på köpet genom att använda Google Translate, dvs att man bearbetar den svenska texten två gånger Smile Eller 2.5 gånger kanske det blir.

Lexin är skitbra, den använder jag också. Dock är den lite tunn, känns lite gammal. Och det är inte alltid jag köper deras översättningar riktigt, de måste ju trots allt vara lite inarbetade för att vara till någon nytta (annars blir det som en obegriplig term även på svenska). Men där kan Google Translate återigen vara till viss nytta, tycker jag.

leochingkwakes bild

Jo, det kan nog vara så. Tror att jag tänker Altavista Babelfish när jag hör Google Translate. Sökmotor + översättning = dom skumma översättningar man kan få från spambotar och dessa underbara kärleksmail man kan få ibland. Smile

leochingkwakes bild

Har bestämt mig för att hålla mig till 2.x. Tittar man runt ordentligt så ser man att det mesta är anpassat kring detta, speciellt böcker och liknande. Även om adlibris har börjat ta in böcker av kungen själv som handlar om just python 3.x

valdermans bild

Det finns en enda anledning att hålla sig till 2.0: du har en applikation som bygger på 2.x som du inte hunnit anpassa till 3.x ännu. Att hålla sig till 2.x för att "det finns fler böcker om det" är som att föredra C framför Python, eftersom det finns vansinnigt mycket mer böcker om C.

2.x är helt enkelt legacy, och du gör mer skada än nytta, både för dig själv och andra, genom att krampaktigt klamra dig fast vid ett döende språk.

--
あるユーモアのないアホのため、シグナチャーをカエルことにした。カエルさん

Marcuss bild

Äntligen!

Håller helt med. kör på 3x. finns ingen anledning. som att köra en sunkig ubuntu (610 el så) för att en bok på biblan handlade om det Smile

leochingkwakes bild

Jag har pratat med folk inom pythonprojektet och dom säger att det är 2.x som gäller och så kommer det vara minst 3-4 år till. 3.x kommer inte vara "mainstream" förrän efter det.

laves bild

Men vad är ditt syfte med att koda i python? Är det att jobba i befintliga projekt eller kodar du bara nytt för ditt eget nöjes skull? Ska du börja från början finns det väl ingen som helst anledning att jobba med en version som du vet kommer att vara obsolete inom en snar framtid.

valdermans bild

Därav "döende," inte "dött." Anledningen till att 3.x inte kommer att vara "mainstream" på ett tag är att det finns en rätt stor 2.x-kodbas som först måste konverteras. Tanken är inte att folk ska fortsätta använda 2.x fram till någon stor flaggdag då all 2.x-kod automagiskt byts ut mot 3.x, utan att det gamla ska fasas ut. När tror du 3.x skulle vara mainstream om alla använde ditt resonemang? Vad sägs om "aldrig?"

Python är fullt tillräckligt stagnerande utan att folk ska göra sitt bästa för att medvetet sega ned utvecklingen. (van Rossum vill exempelvis inte ha vettiga tail calls i Python, på grund av att "det är unpythonic," och en lysande uppvisning av okunskap inom språkteori som kan få vem som helst att undra hur i helsefyr han egentligen lyckats sätta ihop ett språk överhuvudtaget.)

--
あるユーモアのないアホのため、シグナチャーをカエルことにした。カエルさん