6 svar
210 visningar
Oldboy 23
Postad: 6 sep 13:24

Fördelen med Python

De flesta programspråk har både fördelar och nackdelar. Den största nackdelen med Python är troligen att det är för långsamt (jämfört med tex C och C++ men även jämfört med Go och Java).

En fördel med Python ser man här:

https://rosettacode.org/wiki/Zebra_puzzle#Python

from itertools import permutations

Just denna import är avgörande. De flesta andra språk klarar uppgiften men koden blir i regel betydligt längre. För den som vill öva rekommendera jag att lägga till två (personer/hus/tobak/dryck/husdjur) för att se vad som händer. Felhantering saknas tyvärr...0 solutions ger inget svar! Så det händer om kraven är orimliga...men det troliga är att man får flera lösningar!

thedifference 656
Postad: 7 sep 17:49
from my_library import solve_particular_problem as win
win()

Antal rader kod säger inte nödvändigtvis så mycket när man låter importerad kod köra delar av uppgiften :P

Sen även om Python är långsamt, så om något är populärt (särskilt något matematiskt) så skriver någon kod som delegerar det till C och plötsligt blir det blixtsnabbt istället.

Laguna Online 32614
Postad: 7 sep 19:13

De tunga matematiska rutinerna i diverse Python-bibliotek är redan i C.

naytte 8389 – Moderator
Postad: 7 sep 19:14

Sen även om Python är långsamt, så om något är populärt (särskilt något matematiskt) så skriver någon kod som delegerar det till C och plötsligt blir det blixtsnabbt istället.

NumPy my beloved ❤️

Oldboy 23
Postad: 7 sep 19:37
naytte skrev:

Sen även om Python är långsamt, så om något är populärt (särskilt något matematiskt) så skriver någon kod som delegerar det till C och plötsligt blir det blixtsnabbt istället.

NumPy my beloved ❤️

Stämmer absolut!

Gissar att man inte får trixa med andra bibliotek här:

https://benchmarksgame-team.pages.debian.net/benchmarksgame/fastest/python.html

Den stora fördelen med python är att det är lätt att lära sig, går snabbt att skriva kod, och att koden är enkel att förstå. Med andra ord: det gör programmering mer tillgängligt. Tack vare detta har det skapats ett enormt ekosystem av paket för alla möjliga ändamål, vilket blir ytterligare en fördel för python.

För sakens skull vill jag dock även slå ett slag för mitt favoritspråk Julia. Underbart enkelt att skriva kod i, och snabbare än python. Inte närmelsevis lika stort ekosystem som python har, men det växer snabbt, och inom matematik finns det nu flera väldigt vassa paket.

Oldboy 23
Postad: 8 sep 08:42
oggih skrev:

Den stora fördelen med python är att det är lätt att lära sig, går snabbt att skriva kod, och att koden är enkel att förstå. Med andra ord: det gör programmering mer tillgängligt. Tack vare detta har det skapats ett enormt ekosystem av paket för alla möjliga ändamål, vilket blir ytterligare en fördel för python.

För sakens skull vill jag dock även slå ett slag för mitt favoritspråk Julia. Underbart enkelt att skriva kod i, och snabbare än python. Inte närmelsevis lika stort ekosystem som python har, men det växer snabbt, och inom matematik finns det nu flera väldigt vassa paket.

Jag har provat Julia men det var några år sedan. Ser att man använder flera trådar men det är nog svårare att hantera än med Open MP för C och C++. Julia använder mycket minne men det är nog sällan ett problem. Gissar att minnet är "automatiskt" så att det är enklare än hos C och C++ där det lätt blir en krasch....

Mycket har hänt sen jag började skriva kod i Algol 60 1973...

Svara
Close