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!
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.
De tunga matematiska rutinerna i diverse Python-bibliotek är redan i C.
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 ❤️
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.
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...