Är Python, pyton eller ej?

Elektronik- och mekanikrelaterad mjukvara/litteratur. (T.ex schema-CAD, simulering, böcker, manualer mm. OS-problem hör inte hit!)
sodjan
EF Sponsor
Inlägg: 43249
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

Så sant att Java's JVM är mer "bloated".

> utan mer upplägget utan kompilator!

Den finns där, men du ser den inte. Vid varje start av ett .py script
så byte-kompileras källkoden till ett internformat (byte-code eller p-code,
jag är osäker på vad Python kallar det), vilket sedan *interpreteras* av
Python interpretern...

I princip samma metod som de flesta liknande verktyg använder, Perl
och Java t.ex.

Vid små testprogram så märks det knappt, men för ett stort Python program
som bara ska köras en kort stund (men däremot kanske ofta) kan runtime
kompileringen bli ett problem. Att pre-kompilera till .pyc filer kan hjälpa en del
men det är nog lite överkurs i början.

> ...och avsaknaden av felkällor...

Det finns inget som med automatik gör att en bytecode interpreter har
färre felkällor än en traditionell kompilerande miljö. Det har mer med
själva "språkets" karaktär att göra. Perl (som har en liknande bytecode
interpreterande miljö) har betydligt fler felkällor än t.ex ett COBOL program.
Men visst, Python verkar ur denna synvinkel vara bättre än t.ex Perl... :-)
Användarvisningsbild
speakman
Inlägg: 4838
Blev medlem: 18 augusti 2004, 23:03:32
Ort: Ånge

Inlägg av speakman »

Jag menade iofs inte att där inte fanns några felkällor, men dom är marginella i jämförelse med t.ex. C.

Java är nog av en helt annan avdelning. Dels är det ett statiskt språk, så dess kompilerade kod blir som vilket C-kompilerad kod som helst, fast istället för att köras direkt på en i386-arkitektur (t.ex.) så körs den genom JVM.

Ganska långt ifrån bytekoden från Python.

Men du har rätt i att just starten av program inte är att jämföra med C-program, som jag ju även skrev tidigare. Men när det väl är igång så märker inte jag någon nämnvärd skillnad när det gäller grafiska gränssnitt t.ex..

Däremot skulle jag ju aldrig köra en ren webbserver i Python, även om webbapplikationen mer än gärna får vara skrivet i det. 8)
sodjan
EF Sponsor
Inlägg: 43249
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

> men dom är marginella i jämförelse med t.ex. C.

Absolut !
Och min poäng var att det inte beror på hur den tekniska runtime miljön
är uppbygd (ren kompilator/bytecode/JVM/whatever), utan på designen
av själva "språket" i sig.

> så dess [Java's] kompilerade kod blir som vilket C-kompilerad kod som helst,

Nja, jag kan sträcka min till att JVM-modellen ligger någonstans
mellan Pythons bytecode och rena kompilatorer.
Användarvisningsbild
Andax
Inlägg: 4379
Blev medlem: 4 juli 2005, 23:27:38
Ort: Jönköping

Re: Är Python, pyton eller ej?

Inlägg av Andax »

MicaelKarlsson skrev:Kan jag:
- Bygga grafiskt gränssnitt och visa diagram och enklare animationer
- Kommunicera via COM-porten kanske till och med USB
- Läsa in bilder från t.ex. webkamera
För att svar lite på dina frågor och inte lägga allt för mycket tid på att drista om byte-kod hit eller dit:

- Bygga grafiska gränssnitt. Som jag skrev innan är wxPython kraftfullt.
- Kommunicera med COM-porten: pySerial
- Läsa in bilder från webcamera: VideoCapture

Observera att pySerial och VideoCapture kräver att du förinstallerar vissa andra paket. (framgår av respektive hemsida)
Har du några funderingar finns forumet för dig! :wink:
Användarvisningsbild
speakman
Inlägg: 4838
Blev medlem: 18 augusti 2004, 23:03:32
Ort: Ånge

Inlägg av speakman »

sodjan: Jag tror vi är rätt överens. :)

Och en annan riktigt fin sak med Python är hur moduler och tillägg är strukturerat på disken. Både för global installation och per-user. Och de flesta program och moduler använder sig av EasyInstall som gör det grymt enkelt att installera moduler; "python setup.py install".

Och sedan finns ju Python Eggs; "Eggs are to Pythons as Jars are to Java..."

Själv har jag nyss läst in mig lite på Decorators som är riktigt imponerande smidigt.
pern
Inlägg: 700
Blev medlem: 14 juli 2004, 08:47:36
Ort: Landskrona

Inlägg av pern »

@ speakman:
C# kanske ser krångligt ut i början om man inte sysslat med objektorienterad programmering förut, men det är mycket enklare att lära sig än vad många tror.


@ blueint:
Jag har aldrig förnekat att C# inte gör sig bäst under Windows, Men det mesta går idag även att köra under Mono med.


Ok, får väl erkänna att jag till vardags sedan många år jobbar heltid med programutveckling och de senaste 5 nästan helt i C# (En del i C++ med), så lite färgad är jag väl av att det även skall vara relativet enkelt att tjäna pengar på det med man lägger ner sin dyrbara tid på.

Skall man bara lära sig något nytt programspråk på "skoj" så tycker jag inte det spelar så stor roll vilket språk man väljer. En bra programmerare kan lösa problemen i vilket språk som helst. Språket kommer igentligen i andra hand. Sedan är vissa språk enklare och/eller roligare att arbeta i än andra. Men detta är ju som sagt en helt annan discussion ;-)
Användarvisningsbild
speakman
Inlägg: 4838
Blev medlem: 18 augusti 2004, 23:03:32
Ort: Ånge

Inlägg av speakman »

Python är fullständigt objektorienterat...

Men det ligger ju en del annat i det du säger. Som min kusin sa när jag frågade vad han gjorde nu för tiden; "Är Microsoft-slav, men tjänar mycket pengar på det!".

Vad gäller val av språk så skulle jag säga att det mest produktiva borde vara det rätta valet. Iallafall om man tänker använda det i något kommersiellt sammanhang.
bos
Inlägg: 2311
Blev medlem: 24 februari 2007, 23:29:15
Kontakt:

Dyrbar tid

Inlägg av bos »

pern skrev:det även skall vara relativet enkelt att tjäna pengar på det med man lägger ner sin dyrbara tid på.
Jag har aldrig förstått det där, hur folk kan - eller måste - relatera sin tid till pengar.

Har sett folk som gnällt på saker för att det tar kanske två timmar att göra, och det är "dyrbar tid" som går till spillo. Samma folk häckar också framför TV:n med Parlamentet, Big Brother och allt vad det nu är. Är det inte dyrbar tid som går till spillo?

Ganska paradoxalt, om man får fråga mig.
SvenW
Inlägg: 1156
Blev medlem: 24 april 2007, 16:23:10
Ort: Göteborg

Inlägg av SvenW »

- relatera sin tid till pengar...
Jo, jag har en synpunkt här. Förr brukade jag bygga en massa elektronikprylar.
Komponenter kostar pengar. Åtskilliga tusenlappar har man slösat bort genom åren.
Numera 'bygger' jag mest mjukvara. Då är det bara datorn som kostar.
Jag kan intyga att det blir billigt per timma ...
pern
Inlägg: 700
Blev medlem: 14 juli 2004, 08:47:36
Ort: Landskrona

Re: Dyrbar tid

Inlägg av pern »

bos skrev: Jag har aldrig förstått det där, hur folk kan - eller måste - relatera sin tid till pengar.
Eftersom jag driver eget företag och debiterar mina kunder för min tid så är det oerhört viktigt att både vara effektiv och ha tillgång till en så stor marknad som möjligt. Och när man debiterar per timma så är faktiskt tid=pengar.

När din egen inkomst är relaterad till vad du kan fakturera ut, då måste man tänka en hel del i "fula" kommersiella termer.
bos
Inlägg: 2311
Blev medlem: 24 februari 2007, 23:29:15
Kontakt:

Inlägg av bos »

OK, det argumentet köper jag. Har aldrig haft egen firma så har jag inte kunnat relatera till den typen av verksamhet.

Jag kommer dock fortfarande ha svårt att se hur vanliga soffliggare / löneslavar (icke egenföretagare) kan med att använda uttrycket.
Användarvisningsbild
Icecap
Inlägg: 26632
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Inlägg av Icecap »

Skillnaden är väl VAD man gör.

Är det till hobby är själva "resan mot målet" ju oftast det som eftersträvs, när prylen väl fungerar är den ju tråkig.

Är det målet som är viktigt för att man ska komma vidare ska resan vara kort och snabb, den är ett nödvändigt ondo.

Ett exempel:
Jag har ju börjat använda Renesas-processorer och för att programmera dom har jag ett antal E8 ICD-enheter liggande.... men jag använder väldigt sällan ICD! Jag har gjort det på PIC men med ett antal interruptvektorer och stort minne osv. blir det inte "enkelt" nog till mig, alltså är det inte prioriterat.

Men... det finns en bootloader inbyggd i processorerna! Denna kan användas via UART1 i antingen synkron överföring (används av E8 ICD) eller "vanlig" asynkron (serieport) överföring.

Till den Fujitsu-processor jag tidigare använde har vi "utvecklat" ett programmeringsinterface som används i produktionen och detta kan göras på Renesas'en också.

Det har varit en kamp då asynkron programmeringsläge är.... bristfälligt... dokumenterat men nu fungerar det och plötsligt har jag det som med en PIC + WISP6x8: "bar' å kör".

Att "roa mig" med att få detta program till att köra finns inte, det är en nödvändighet för ATT jag kan jobba, alltså ett verktyg.

Se det som att du ska löda ihop en grej som är skitkul och som du verkligen behöver... men först måste du bygga lödkolven. Detta byggande av verktyget är tråkigt för det är en bromkloss som man måste komma förbi för att komma till målet: att göra det roliga.

Så skillnaden är helt enkelt vilket utgångsläge man har, det kan vara jättekul att lära sig en teknik och då kan "resan" vara det roligaste men det kan vara att man kan tekniken in och ut och då kan målet vara det roliga.

Och ibland är det roligaste att skicka fakturan... ;-)
pern
Inlägg: 700
Blev medlem: 14 juli 2004, 08:47:36
Ort: Landskrona

Inlägg av pern »

Icecap, så sannt,

När det gäller jobb, då är det att vara effektiv som räknas. När det gäller hobby, då kan man kosta på sig att ha andra prioriteringar.

Jag håller t.ex. just nu på att för eget bruk renovera en del Ljud och ljusutrustning från tidigt 80-tal för att ha hemma av rent nostalgiskäl (Citronic, Pulsar , FAL mm). Skulle jag bara sett ekonomisk på det så hadde det varit mycket billigare att köpa nya saker. Men då missar man ju hela grejen. Att kämpa för att få tag på gamla servicemanualer/ritningar, orginalkomponenter och till slut efter mycket lödande och pulande kunna få dessa "burkar" som nya - Det är det som är hela grejen. Då tänker man verkligen inte på ekonomi .
Användarvisningsbild
speakman
Inlägg: 4838
Blev medlem: 18 augusti 2004, 23:03:32
Ort: Ånge

Inlägg av speakman »

En intressant diskussion, men har spårat långt ifrån topic.
Fortsätt gärna, men i en ny tråd. :)
pern
Inlägg: 700
Blev medlem: 14 juli 2004, 08:47:36
Ort: Landskrona

Inlägg av pern »

Tillbaka till topic ;-)


En viktig sak att belysa när man skall rekommendera någon vilket programmeringsspråk/utvecklingsmiljö de skall lägga sin tid på att lära sig är att de bör ställa sig frågan om vad de skall använda kunskapen till.

Är det bara för rent intresse/hobby-bruk så kör på med det som du tycker verkar roligt. Att lära sig Python kan säkert vara utvecklande och vad jag förstått så kan det lösa det du är ute efter.

Tänker du även på andra faktorer som att det kan vara bra att ha kunskapen som merit vid jobbsökande, för ev framtida studier eller liknande så kommer även andra kriterier in. Att då lära sig Python är kanske inte det bästa sättet att använda sin tid på.
Skriv svar