Python, bra eller mediokert ?

C, C++, Pascal, Assembly, Raspberry, Java, Matlab, Python, BASIC, SQL, PHP, etc.
agehall
Inlägg: 418
Blev medlem: 12 augusti 2020, 19:27:54

Re: Python, bra eller mediokert ?

Inlägg av agehall »

Python har en stor nackdel och det är dess syntax. Att använda indentering som annat än whitespace är hål i huvudet. Om man bortser från det är det inga större fel att använda Python om det löser uppgiften. Sedan finns det ofta bättre språk om man vill ha mer prestanda, men det är rätt sällan det verkligen behövs.
Användarvisningsbild
rvl
Inlägg: 5720
Blev medlem: 5 april 2016, 14:58:53
Ort: Helsingfors

Re: Python, bra eller mediokert ?

Inlägg av rvl »

Tror att det är ett utmärkt språk att komma från noll till att faktiskt få nåt gjort med.

Är väl rätt många olika läroinrättningar som använde Python som introduktion till programmering.
För min del så ryms inte Python med bland de fem första programmerinsspråken jag lärt mig, men använder det gärna för diverse småuppgifter.
För uppgifter med prestandakrav där Python inte hinner med så får man ta till nåt annat.
Användarvisningsbild
sodjan
EF Sponsor
Inlägg: 43149
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping
Kontakt:

Re: Python, bra eller mediokert ?

Inlägg av sodjan »

Det var inte heller något av mina fem första programmeringsspråk som jag lärde mig.
Python fanns inte då. Men idag hade det nog kanske varit det...
Bo.Siltberg
Inlägg: 357
Blev medlem: 30 juli 2018, 06:46:13

Re: Python, bra eller mediokert ?

Inlägg av Bo.Siltberg »

Marta skrev: 13 oktober 2022, 10:24:38 Jag tycker att Python är pyton.

Det finns massor av färdiga fyrkantiga datatyper, men det saknar all flexibilitet.
Finns inga pekare, ingen typedef, ingen malloc, inte ens variabeldeklarationer och antagligen därför endast enkelt array index. Bara för att nämna de tillkortakommanden jag kommer på såhär direkt. En sak är Python däremot väldigt bra på, nämligen långsamhet. Ibland stoppar det till och med in lite extra långsamhet till synes slumpmässigt när programmet körs.
Jag har kört Python i 20 år, t.ex som kontroll- och konfigureringsspråk i simulatorer där den får hantera stora datamängder i form av loggning.
Dålig prestanda för detta ändamål har jag inte märkt.
Den har mer än arrayer. dict och set-typerna är mycket användbara för komplexa datastrukturer.
Men det är ju ett högnivå scriptspråk så det ska ju användas därefter.
Alla biblioteksfunktioner som idag finns gör dock att den framstår som onödigt komplex, men man behöver inte använda dem.
Bo.Siltberg
Inlägg: 357
Blev medlem: 30 juli 2018, 06:46:13

Re: Python, bra eller mediokert ?

Inlägg av Bo.Siltberg »

agehall skrev: 13 oktober 2022, 16:25:49 Python har en stor nackdel och det är dess syntax. Att använda indentering som annat än whitespace är hål i huvudet. Om man bortser från det är det inga större fel att använda Python om det löser uppgiften. Sedan finns det ofta bättre språk om man vill ha mer prestanda, men det är rätt sällan det verkligen behövs.
Ja, folk som inte har anlaget för att strukturera kod läsbart har problem med detta.
Jag har aldrig upplevt något problem.
Editeringsstöd finns i Emacs. TAB-tangenten fungerar utmärkt.
agehall
Inlägg: 418
Blev medlem: 12 augusti 2020, 19:27:54

Re: Python, bra eller mediokert ?

Inlägg av agehall »

Så bra att du aldrig upplevt något problem - det betyder inte att problemet inte finns, bara att du inte råkat ut för det eller är ignorant nog att inte förstå det.

Det är just att kunna strukturera kod läsbart som är problemet - jag vill kunna formatera koden som jag vill, inte pga att en dator kräver det. Såsom Python gör det saknas information för att kunna avgöra var ett block slutar och det är helt värdelöst.
Användarvisningsbild
Icecap
Inlägg: 26106
Blev medlem: 10 januari 2005, 14:52:15
Ort: Aabenraa, Danmark

Re: Python, bra eller mediokert ?

Inlägg av Icecap »

Jag håller med om att TAB-indenteringen är... besvärlig.
Om det fattas ett/är ett extra mellanslag får man fel på att indenteringen inte är korrekt eller bara ett fel.
Tänk att indenteringen inte är exakt 8 mellanslag men 7 eller 9. Ganska svårt att se.

Jag tycker att det kan vara svårt att se på samma sätt som i C med '{' & '}'.

Det finns en del inkonsekvenser i språket i mitt tycke, ett av dom gav att jag inte kunde disable/enable knapper.
Jag hade "btn_Start = tk.Button(window, text = 'Start', width = 7, font = fnt.Font(size = 16), command = Start_Test).pack(pady = 7)" och när jag senare körte en "btn_Start['state'] = DISABLE" kunde den komponent inte det!

Jag upptäckte då att jag var tvungen att köra "btn_Start = tk.Button(window, text = 'Start', width = 7, font = fnt.Font(size = 16), command = Start_Test)" FÖRST och SEDAN köra "btn_Start.pack(pady = 7)" för att det skulle fungera.

Mitt val av Python är mest av brist på andra billiga språk med tillgång till NI-enheterna.
Python fungerar för mig för att det finns och jag kan sparka det nog till det gör som jag vill.
guckrum
Inlägg: 1671
Blev medlem: 19 juni 2012, 09:04:27
Ort: Lund

Re: Python, bra eller mediokert ?

Inlägg av guckrum »

Om man indenterar med TAB har man inte det problemet. Oavsett kan en ordentlig editor naturligtvis hjälpa till att hitta problem direkt när de uppstår eller när man ber om det, vilket man nu föredrar, precis som editorn hjälper en med linting osv.
Användarvisningsbild
pi314
Inlägg: 5680
Blev medlem: 23 oktober 2021, 19:22:37
Ort: Stockholm

Re: Python, bra eller mediokert ?

Inlägg av pi314 »

Vad menas med att ett programmeringsspråk är bra?
Här är några tankar om detta.
– Hur bra är språket, som språk betraktat?
– Hur bra är språket för att lösa det problem som ska lösas, sett till effektivitet vid utveckling?
– Hur bra är språket för att lösa det problem som ska lösas, sett till kvaliteten på resultatet?
– Hur bra och tillgängliga är dom utvecklingsverktyg som finns för språket?
– Hur bra är språket, sett till ägande och öppenhet?
– Hur populärt, i bemärkelsen använt av många och till mycket, är programmeringsspråket?

Flera av dessa frågor är svåra att besvara objektivt. Jag tycker t.ex. att Java är ett bra språk, men att Oracles/Ellisons huvudmannaskap lägger hinder i vägen för en riktigt stor spridning. "Familljen" C, C++ och C# har stora styrkor, men även en del svagheter. Som t.ex. varför kan dom inte vara ett språk? Som språk betraktade har dom inslag av att vara "assembler på bredden". Inte så "vackra" som högnivåspråk som t.ex. Pascal, Ada eller Java.

Popularitet
Jag vill inte sätta likhetstecken mellan popularitet och bra när det gäller programmeringsspråk. Popularitet har ändå fördelen att det går att mäta, även om mätmetoderna har svagheter. TIOBE används ofta som referens när det gäller att mäta programmeringsspråks popularitet.
Här är TIOBES "top 5" för oktober 2022.

1. Python, 17,08%
2. C, 15,21%
3. Java, 12,84%
4. C++, 9,92%
5, C#, 4,42%

Se hela listan med dom 50 "populäraste" programmeringsspråken här.

https://www.tiobe.com/tiobe-index/

Samtidigt är det lätt att hitta tillämpningar där t.ex. JavaScript, PHP/SQL, MATLAB, Haskell eller varför inte Fortran eller COBOL, är logiska val.

Så visst finns det likheter mellan trådrubrikens frågeställning och frågan om hur långt ett snöre är.

/Pi
Användarvisningsbild
Icecap
Inlägg: 26106
Blev medlem: 10 januari 2005, 14:52:15
Ort: Aabenraa, Danmark

Re: Python, bra eller mediokert ?

Inlägg av Icecap »

Nu var det väl frågan om Python är bra eller mediokert.

Och svaret är: Det beror på vad det ska användas till.

Det är kapabelt nog, det finns mycket info att hitta, det är inte våldsamt svårt att skapa ett program.

Men jag håller 110% med Pi:
Vilken uppgiftstyp ska lösas?

Innan det besvaras är det omöjligt att komma vidare.

Och många uppgifter kan lösas i olika språk, till vissa typer av projekter kan olika språk ha olika fördelar - och nackdelar.

Men mediokert?
Jag tycker att det fungerar OK, jag är inte bästis med det men det fungerar helt OK till mitt behov.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 45173
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Python, bra eller mediokert ?

Inlägg av TomasL »

Det är väl så att alla intrepreterande språk, oavsett om de kompileras till pseudokod eller radtolkas alltid är långsammare än ett språk som kompilerar till exekverbar maskinkod.
Det är väl i dag i princip bara C och C++ som kompilerar till exekverbar kod, förutom det att man naturligtvis kan skriva maskinkoden direkt, dvs assembler.
guckrum
Inlägg: 1671
Blev medlem: 19 juni 2012, 09:04:27
Ort: Lund

Re: Python, bra eller mediokert ?

Inlägg av guckrum »

Precis, men om språket ifråga kan anropa färdigkompilerade programbibliotek så behöver inte långsamheten märkas. Ibland är det snarare tvärtom eftersom kompileringstiden i princip är noll för interpreterande språk medan det kan ta ett tag att kompilera och länka ett C-program. Verkligheten är inte svartvit.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 45173
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Python, bra eller mediokert ?

Inlägg av TomasL »

Men, kompilera och länka gör man en gång, så tidsåtgången för detta berör inte användaren.
Interpreterande språk tolkas och länkas varje gång de körs, så det påverkar alltid användaren.
Användarvisningsbild
sodjan
EF Sponsor
Inlägg: 43149
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping
Kontakt:

Re: Python, bra eller mediokert ?

Inlägg av sodjan »

Jo, men poängen är att mycket i Pythons runtime *är* kompilerad C-kod.
Så slutresultatet då det gäller prestanda beror väldigt mycket på vad man gör.
Du kan bygga en stor funktion som gör det mesta av "jobbet" och sen bara
lite Python "glue-code" som binder ihop det.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 45173
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Python, bra eller mediokert ?

Inlägg av TomasL »

Visst är det så, och som vanligt, rätt verktyg för rätt jobb.
Skriv svar