Sida 1 av 2

Yes, Python is Slow, and I Don’t Care

Postat: 8 april 2017, 18:35:26
av lillahuset
https://hackernoon.com/yes-python-is-sl ... r_20170408

Bra artikel om varför man ska överväga Python.

Re: Yes, Python is Slow, and I Don’t Care

Postat: 8 april 2017, 19:06:06
av bearing
Jag har knappat python en del på sistone och tycker att det är ett alldeles utmärkt språk.

Re: Yes, Python is Slow, and I Don’t Care

Postat: 9 april 2017, 00:31:03
av Gizmo
Det där med vilket språk man ska välja, det går ju inte att göra helt kategoriskt. Vissa språk är mest lämpade på vissa saker, andra för andra saker.
I till exempel PC världen så är PCI bussens protokoll baserat på Forth. Ingen skulle rekommendera Forth för all slags programmering.

Det finns en annan aspekt som jag bara tror precis nämndes i den där artikeln som hastigast och det är att Python är kompakt.
För de som sysslar med programmering på heltid så består det ofta av att underhålla andra personers kod, rätta buggar och uppgradera. Kanske 70% av all programmering består av det. Där kan man tjäna hur mycket som helst på Python, det är kompakt och lättläst, jämför med Java och du skulle få kolla igenom tio sidor av kod för det som Python får in på en sida.

Jag gillar Python, lätt att lära sig och tydligt. Enda nackdelen jag kan komma på är nog snarare att det inte funkar för små processorer, typ pic, avr etc. I övrigt har det mest fördelar.

Re: Yes, Python is Slow, and I Don’t Care

Postat: 9 april 2017, 10:07:57
av sodjan
Man kan ju inte bara säga rent generellt att "man ska överväga Python".
Det är bara ett verktyg i verktygslådan och det har sina fördelar och
briser som alla andra verktyg i lådan. Att försöka tvinga in sitt favorit
verktyg i alla möjliga sammanhang där det inte passar visar enbart
att man är den dålig hantverkare.

Python har som sagt en del fördelar, om det är mest fördelar är ju frågan.
Det finns även områden (förutom embedded) där Python inte alls skulle
fungera. Ingen bank skulle så klart komma på idén att porta sina stora
back-end system till Python...

När det gäller artikeln så fokuserar den ju helt på programmeraren.
En annan personresurs som helt saknas är de som ska använda det
som programmeraren tar fram. Om inte det fungerar effektivt så
förlorar man lätt det som programmeraren kanske vann i tid.

Jag/vi använder Python där det gör nytta. För en del one-off fix jobb
och för ett par server processer som körs av webbservern. Det går ganska
snabbt att fixa med det inbyggda stödet för HTTP och liknande. Däremot
skulle det självklart aldrig gå att konvertera våra 300 bakgrundsprocesser
från Cobol till Python. Då spelar det ingen som helst roll vad man tycker
om Python eller om språket/syntaxen är ganska trevligt som sådant...

Re: Yes, Python is Slow, and I Don’t Care

Postat: 9 april 2017, 10:53:25
av hanpa
Man använder de verktyg man är van vid. Enligt artikeln ansågs Perl vara ännu snabbare på att lösa ett problem än Python, fast det förutsätter väl en hel del vana då koden kan upplevas vara lite trixig att förstå om det är smartprogrammerat. Personligen tar jag gärna till Perl för mindre script då man snabbt får till något som gör jobbet. Går säkert lika bra med Python i de flesta fall men jag har inte använt det så mycket. En del är jätteslängda i shell script och löser det mesta där. En duktig programmerare kan skriva läsbar kod i godtyckligt språk med stöd av bra namn på identifierare, bra struktur, kommentarer etc. Det finns ingen anledning att använda något som är snabbare vid exekvering än vad som behövs för uppgiften.

Re: Yes, Python is Slow, and I Don’t Care

Postat: 9 april 2017, 11:03:25
av sodjan
Nej, det så klart... :-)

Min poäng vara bara att många som uttalar sig idag om olika verktyg
och att "språk X är bättre än språk Y" också ofta saknar en bredare
erfarenhet och uttalar sig utifrån ganska snäva ramar.

Jag har även använt Perl för att det var ett verktyg som lösa just den
uppgiften vid just det tillfället. I det fallet var det för att scanna av
textfiler och sortera bort "skräp" på en server som hanterade all
kommunikation av produktinformation mellan Ericsson och samtliga
Ericssons externa underleverantörer world-wide. Jag skrev det i mitten
av 90-talet och det var fortfarande i drift då jag lämnade det uppdraget
för 3-4 år sedan. Det hade försökts flyttas till annan plattform under
många år men det var så stabilt så det var svårt att bygga ett business
case för att flytta det.

Re: Yes, Python is Slow, and I Don’t Care

Postat: 9 april 2017, 11:11:58
av johano
"If all you have is a hammer, every problem looks like a nail"

/j

Re: Yes, Python is Slow, and I Don’t Care

Postat: 9 april 2017, 11:27:53
av Lennart Aspenryd
Jag tycker att artikeln om Pythons förträfflighet missar något väsentligt.
I min värld är det de dagliga användarna som skall ha allt stöd, om vi som programmerare lägger några timmar extra på en snabb och säker funktion. Tas de snabbt upp av xx användare som kör det X gånger om dagen i y år.
Är det dessutom så att funktionen enkelt kan ändras när det sker omvärldens förändringar. Då är det viktigt.

Re: Yes, Python is Slow, and I Don’t Care

Postat: 9 april 2017, 12:01:01
av sodjan
Ja, håller med. "Artikeln" var allt för tekniskt orienterad och lösningen på vilket
problem det än råkade vara, var att "throw hardware on it"...

Re: Yes, Python is Slow, and I Don’t Care

Postat: 9 april 2017, 12:15:12
av Micke_s
Stor styrka med python är alla bibliotek man kan installera och använda.

Hårdvara är billigt idag....

Re: Yes, Python is Slow, and I Don’t Care

Postat: 9 april 2017, 12:41:51
av lillahuset

Re: Yes, Python is Slow, and I Don’t Care

Postat: 9 april 2017, 13:01:50
av rvl
Om jag minns rätt, så gjordes Python från början för att få nåt gjort. Dvs det ansågs vara lättare, än med något annat tillgängligt språk, trots att man var tvungen att skapa både språk och tolk, förutom själva uppgiften. Säger en hel del om Python som vidareutvecklats en hel del sen dess.

För många tillämpningar har andra programmeringsspråk helt klart sin plats. Och fortfarande kan det för vissa applikationer vara motiverat med helt nyskapade språk, för att få ner komplexiteten på programmen. Inte direkt en uppgift som passar vilkensomhelst "bulkprogrammerare".

Re: Yes, Python is Slow, and I Don’t Care

Postat: 9 april 2017, 13:25:39
av Nerre
sodjan skrev: När det gäller artikeln så fokuserar den ju helt på programmeraren.
En annan personresurs som helt saknas är de som ska använda det
som programmeraren tar fram. Om inte det fungerar effektivt så
förlorar man lätt det som programmeraren kanske vann i tid.
Artikeln nämner även användare, och har där argumentet att idag är hårdvaran så billig att det ofta blir billigare att slänga in mer hårdvara än att lägga tid på att optimera mjukvaran.

Men sen säger väl artikeln egentligen inte att Python är bäst (i diagrammet toppade ju perl), den sågar bara ett av argumenten som brukar läggas fram mot Python: Att det är långsamt.

Med det argumentet borde man köra godstransporter med sportbilar, de går ju så mycket snabbare? :)

Så varför har inte Ferrari en större marknadsandel av speditionsmarknaden än Scania?

Re: Yes, Python is Slow, and I Don’t Care

Postat: 9 april 2017, 14:56:17
av sodjan
Du har lite dålig koll på vad du skriver om.

Det handlar så klart inte om att "lägga tid på att optimera programvaran".
Det handlar över huvud taget inte om optimering. Du kan aldrig optimera
Python till samma prestanda som du får utan optimering med många
traditionella språk/verktyg. OK, du kan skriva moduler i andra språk
och importera till Python, men då är det ju inte skrivet i Python...

Artikeln sågar inte alls argumentet att Python är långsamt. Den bekräftar
att Python är långsamt, men att du ska köpa mer hårdvara istället.

Sen så har du ju fått det där sista helt bak och fram. Ferrarin är Python
och Scania är de stora (t.ex.) Cobol baserade transaktionssystemen.
Inte tvärtom som du tycks tro (eller missförstår jag vad du skrev?).

Re: Yes, Python is Slow, and I Don’t Care

Postat: 9 april 2017, 21:26:38
av Nerre
Jag skrev lite för kortfattat uppenbarligen.

Det han sågar är argumentet "man ska inte använda Python för att det är långsamt".

Detta eftersom programmerarnas timlön oftast är högre än vad det kostar att slänga in en extra CPU i systemet.

Och med jämförelsen med Ferrari och Scania ville jag ju bara peka på att det här med "hastighet" är ett alldeles för snävt begrepp.

Det är samma sak med bredband, folk stirrar sig blinda på hur många Mbit/s de får ut men struntar i latens. Man kan t.ex. få en överföringshastighet på typ 30 Gbit/s genom att låta MC-bud köra hårddiskar, men latensen blir flera timmar.

Frågan här blir ju, hur många mantimmar får det kosta att slippa köpa en extra server för 5000?