Permalänk
Medlem

Visual Basic eller Python?

Hej, nu är det så att jag ska börja att programmera i python. Innan har jag inte kunnat bestämma mig om jag ska välja Java eller Python men nu har jag valt :D. Men nu ska jag också hitta en guide som är bra, jag hade tänkt mig "A byte of Python" eller TheNEWboston's guider. Men vilka rekommenderar ni?

Går det att göra ett slags chat-program mellan två datorer eller liknande? Eller iallafall ett program som kan kommunicera med en server eller liknande? Inget avancerat såklart

Tack på förhand

OBS! Skriv inga svar som ni inte kan motivera på ett vettigt sätt, det förstör bara tråden!

Edit: Såg nu att TheNEWboston har lagt ut 200 nya videoguider om Visual Basic. Är Visual Basic bra eller är det bara skit, hade ändå tänkt att alla mina program ska köras på Windows

Visual Basic kanske?
Permalänk
Medlem

Har skummat igenom både Dive into Python och Learn Python the Hard Way, och tycker att båda verkar vara mycket bra. Dessutom är de ju gratis, om man läser dem online.

Det är klart att det går att göra ett slags chat-program (Python är ju Turing-komplett som alla andra språk), men det är inte det du ska börja med. Ta det lugnt, lär dig grunderna först och bygg successivt på med mer kunskap. Sockets (alltså nätverkskommunikation) är bland det sista du bör lära dig, och du bör absolut inte skriva några seriösa program innan du vet vad en klass är.

Permalänk
Medlem

Eftersom jag varken läst A byte of Python eller TheNEWbostons guider så kan jag inte rekommendera någon utav dem. Om du har tidigare erfarenhet av programmering och kanske bara behöver kolla upp lite saker (eller bara allmänt behöver kolla upp saker) så kan du använda biblioteket på http://docs.python.org/ , det var så jag lärde mig Python

Det finns rikligt med bibliotek man kan importera, så de grejer du nämnde är väldigt simpla att implementera (jag har inte gjort det själv i Python, men en klasskompis som är frälst i Python påstår att sån't är väldigt simpelt).

Python är ett trevligt språk, jag önskar dig lycka till i lärandet

edit: Jag håller med inlägget ovan angående börja från grunden, det är viktigt att få den rätt annars kan det bli tungt.

Visa signatur

Lian Li 6070B / Asus P8P67 B3 / Intel Core i5 2500K @ 4.5GHz
Corsair Vengance 8GB 1600MHz / Asus GTX780 / Corsair TX650V2

Permalänk
Medlem
Permalänk
Medlem

Tack för alla svar Men kom på en till fråga:

Ska jag välja 3.x.x eller 2.x.x? Vad är skillnaden?

Permalänk
Medlem
Skrivet av Kabeltv:

Tack för alla svar Men kom på en till fråga:

Ska jag välja 3.x.x eller 2.x.x? Vad är skillnaden?

Den här frågan på Stack Overflow har några vettiga svar på den frågan, och konsensus verkar vara att börja med Python 2. Python-wikin har också en sida på ämnet, som förklarar både skillnaderna och vad du bör använda.

Permalänk
Medlem

Visual Basic eller Python?

Hade bestämt mig för att börja med python, men på samma sida som jag hittade python tutorialen ( www.thenewboston.com ) hittade jag nu en tutorial med visual basic i 200 videodelar. Python har ungefär bara 40 st videos :/ . Verkar som om att dom i visual basic går igenom allt djupare osv. Men de finns även tutorials med PyGame och WxPython. Vilket leder till att python också känns relevant.
De programmen jag gör kommer nog oftast att användas till windows. Och även, vilket går snabbast att komma igång med? Ska såklart bara ha kunskaperna för att göra små program, inget jobbrelaterat(kanske lite).

Så snälla, hjälp mig välja vilket jag ska ha!

Några frågor också
1. Skapas det en .exe fil i vb
2. Visual basic verkar kraftfullt även i början, vilket inte python verkar? Kan inte komma på något bra att göra med det utan ett extra bibliotek?

Permalänk
Medlem

Om det är Visual Basic 6 rekommenderar jag det inte. Ja, du kan skapa .exe fil i den men den är inte så väldigt kraftfull. Måste du välja mellan Python och Visual Basic 6 - så kör Python.

Visual basic 6 är gammal och inte kraftfull. Om det nu är VB 6 alltså... finns väl .NET Visual Basic också.

Permalänk
Medlem
Skrivet av xe:

Om det är Visual Basic 6 rekommenderar jag det inte. Ja, du kan skapa .exe fil i den men den är inte så väldigt kraftfull. Måste du välja mellan Python och Visual Basic 6 - så kör Python.

Visual basic 6 är gammal och inte kraftfull. Om det nu är VB 6 alltså... finns väl .NET Visual Basic också.

Visual basic express heter det numera. Tycker det fungerar rätt så bra men var säker på att guiderna är till samma version som du tänker använda, de har ändrat massor av komandon mellan olika versioner. Vi hade nämligen en bok som var 4 år gammal, inga kommandon fungerade.

VB fungerar men kraftfullt vet jag inte, har dock inte så mycket att jämföra med,.

Permalänk
Medlem

Jag vet att jag bör argumentera mer grundligt för varför du ska välja python framför VB.
Från karaktären på din fråga och att du behöver tips/råd/välsignelse att välja ett språk att satsa på så måste du vara nybörjare.
Det är underbart med entusiasm och nyfikenhet och viljan att lära sig/sätta igång. Så mitt tips till dig är att göra just detta: sätt igång.
Anledningen till att du bör välja Python då?
1) Python är ett tolkat språk som i mångt och mycket är väldigt enkelt att få att köra både under *nix, windows, mac, olika embedded platformar. Detta kontra VB, som numera använder sig av .NET som på sätt och viss har visst cross-platformstöd genom mono men det är haltande.
2) Syntax, här vinner Python i min värld varje dag. Det finns så många bekvämligheter och det är enkelt att vränga runt för att få sin vilja igenom. VB har aldrig varit något för mig det är många som drar på smilbanden bara man skriver "on error resume next". Om du dock väljer att gå på spåret .NET så välj för allt i världen C#. Du får en syntax som är mer lik C, C++, Java, Pascal...
3) Med Python så kan du väsentligen tanka hem en python-tolk idag, nu, http://python.org/download/
installera den/packa upp den, öppna notepad eller annan valfri editor, skriv/kopiera in ditt första program och kör det ELLER starta en interaktiv tolk ipython och laborera med språket som en avancerad "miniräknare/grafräknare"
Med VB så måste du skapa projektet i VisualStudio, för att sedan kompilera det för att slutligen kunna köra det.

Någon fördel med VB då (eller C# för den delen), VisualStudio är inte så "illa pinkat" det är ganska väl integrerat med editor, projekthantering, hjälp, debugger. Tråkigt nog så är editorn något slö. Och med ett stort IDE så kan risken bli att man i menyer försöker leta lösningar på kod-problem. Att lära sig programmera och förstå ett språk gör man genom att skriva kod, inte att klicka i massa menyer, tyvärr så ser jag på det.

Dokumentation och tutorials etc. för Python finns det ruggigt gott om.

Jag kan inte annat än önska dig lycka till och hoppas att alla mina ord kan ge någon slags vägledning. Det inses enkelt att jag har svårt att vara objektiv i ämnet men jag har försökt att inte bara skriva "välj Python", jag har försökt belysa båda sidorna.

Visa signatur

weeeee

Permalänk
Medlem

Python, utan tvekan. Python är hur kraftfullt som helst. Båda språken är Turingkompletta, Python är mer modernt och lättläst än VB, och att VB verkar "kraftfullare" beror mest på att det inte finns någon tydlig distinktion mellan språk och bibliotek. Mycket av det man gör i Python finns ändå i standardbiblioteken, så att du kör import <någonting> betyder inte att det är något externt du använder.

Ska du lära dig Python borde du läsa Dive into Python och Learn Python the Hard Way, två bra böcker som båda finns tillgängliga gratis.

Permalänk
Medlem

Året är inte 1999 utan 2011
Python!

Permalänk
Inaktiv

Ja, vill du inte spåra misstänktas IP adresser så är ju Python ett klart val

Permalänk
Medlem
Skrivet av anon150287:

Ja, vill du inte spåra misstänktas IP adresser så är ju Python ett klart val

Kunde inte låta bli att dra på smilbanden när jag läste din kommentar.

Citat:

Året är inte 1999 utan 2011
Python!

Sanning, MEN, det finns många språk där ute som är äldre men som inte rakt av bör förkastas.
Jag förstår ironin i ditt inlägg och det är en klockren analogi att leva i nuet.
Självklart finns det plats för de som kodar erlang och är duktiga ... men antalet tillgängliga jobb är färre än för duktiga pythonutvecklare skulle jag tro dock mindre konkurens.

Citat:

Python, utan tvekan. Python är hur kraftfullt som helst. Båda språken är Turingkompletta, Python är mer modernt och lättläst än VB, och att VB verkar "kraftfullare" beror mest på att det inte finns någon tydlig distinktion mellan språk och bibliotek. Mycket av det man gör i Python finns ändå i standardbiblioteken, så att du kör import <någonting> betyder inte att det är något externt du använder.

Ska du lära dig Python borde du läsa Dive into Python och Learn Python the Hard Way, två bra böcker som båda finns tillgängliga gratis.

Vart vill du komma med att ett språk är turingkomplett... skulle du vilja utveckla det lite mer? Vad syftar du till? Självklart är alla programmeringsspråk turingkompletta.

Citat:

"All general purpose programming languages and modern machine instruction sets are Turing complete..." - wikipedia

Men om du syftar till att du _kan_ skriva en pythontolk i VB och viceversa så ger det lite mer djup till ditt påstående, men fortfarande så är jag inte riktigt mer i resonemanget

Men visst är syntaxen i python härlig, dock ges man tillräckligt med rep för att hänga sig själv flera gånger om

Visa signatur

weeeee

Permalänk
Medlem
Skrivet av mounte:

Vart vill du komma med att ett språk är turingkomplett... skulle du vilja utveckla det lite mer? Vad syftar du till? Självklart är alla programmeringsspråk turingkompletta.

Men om du syftar till att du _kan_ skriva en pythontolk i VB och viceversa så ger det lite mer djup till ditt påstående, men fortfarande så är jag inte riktigt mer i resonemanget

Jag tycker att det är fel att påstå att något språk skulle vara mer "kraftfullt" än något annat, om båda är Turingkompletta. Man kan, som du säger, skriva en VB-tolk i Python och vice versa om man vill, men min poäng är snarare att du vad du än vill göra kan göra det i båda språken. Skillnaderna ligger istället i syntax, paradigm, förståelighet och så vidare. Det är klart att ex. C är lämpligare än Haskell i till exempel lågnivåprogrammering, men det gör inte C mer kraftfullt än Haskell.

(Sedan är jag av den personliga åsikten att VB är en styggelse, men det är väl kanske mest för att det ofta används av folk som inte kan skriva bra kod, inte bara på grund av syntaxsaltet och den konstiga designen och absolut inte på grund av att Python skulle vara mer "kraftfullt".)

Permalänk
Medlem

Tack för alla svar

Nu blir det till att fortsätta med python(kunde typ skriva "hello world" och en miniräknare, ock kunde använda if, elif och else )

Permalänk
Hedersmedlem
Skrivet av mounte:

Någon fördel med VB då (eller C# för den delen), VisualStudio är inte så "illa pinkat" det är ganska väl integrerat med editor, projekthantering, hjälp, debugger. Tråkigt nog så är editorn något slö. Och med ett stort IDE så kan risken bli att man i menyer försöker leta lösningar på kod-problem. Att lära sig programmera och förstå ett språk gör man genom att skriva kod, inte att klicka i massa menyer, tyvärr så ser jag på det.

Visual studio är väl bland det bättre man kan råka ut för när det gäller utvecklingsmiljöer (även om de gratis expressversionerna har en del onödiga begränsningar) och då det ser ut att gälla .net-varianter av visual basic är det väl inte något större fel på varken "kraftfullhet" eller enkelhet? Möjligen kan det kanske anses en smula irrationellet att, om man skall välja, ta visual basic framför c#, men skillnaden är väl mest kosmetisk och har man väl lärt sig hitta i .net-djungeln är det hyfsat lätt att växla mellan de stödda språken. Vidare är det inte alls nödvändigt att klicka i menyer (och då tror jag faktiskt att jag kan säga det i en bokstavstrogen bemärkelse), men det finns väldigt många funktioner att tillgå vid behov.

Permalänk
Medlem
Skrivet av Elgot:

Visual studio är väl bland det bättre man kan råka ut för när det gäller utvecklingsmiljöer (även om de gratis expressversionerna har en del onödiga begränsningar) och då det ser ut att gälla .net-varianter av visual basic är det väl inte något större fel på varken "kraftfullhet" eller enkelhet? Möjligen kan det kanske anses en smula irrationellet att, om man skall välja, ta visual basic framför c#, men skillnaden är väl mest kosmetisk och har man väl lärt sig hitta i .net-djungeln är det hyfsat lätt att växla mellan de stödda språken. Vidare är det inte alls nödvändigt att klicka i menyer (och då tror jag faktiskt att jag kan säga det i en bokstavstrogen bemärkelse), men det finns väldigt många funktioner att tillgå vid behov.

Håller helt med dig. Det är inte nödvändigt att klicka i menyerna, men om man är van att använda sig av menyer så kan jag tänka mig att det blir det lätt att man letar där. VS har ju massvis av kraft med emacs/vi-liknande tangentbordsmakron som är klockrena då man lärt sig dem och det går väl fint att binda saker precis som man själv vill...
Men någonstans så gillar jag det analoga hantverket. Man skriver koden i en editor, i någon terminal så kompilerar man koden, länkar och sedan kör den. Eller för tolkade språk så låter man tolken tolka filen med kod i. Med dessa steg så "tvingas" man (omedvetet kanske) att förstå lite mer hur processen från källkod till körande program fungerar. Till skillnad från att trycka F5 eller vad man nu använder, alternativt klickar sig in i en meny för att välja Run eller Compile. Har stött på för många utvecklare som blir låsta då de inte har tillgång till VS eller att de får problem om uppgiften är att skriva ett batchscript för att kompilera något via kommandoraden: "Är det möjligt????", "Jodå" blir det korta svaret.

Nu till något annat, vi har inte gett någon rekomendation om vilken pythonversion som är lämplig att börja med.
Framtiden är ju 3.x, men det är många moduler och program som fortfarande lever kvar i version >= 2.6
Jag skriver inte så mycket i python, och har av bekvämlighet valt att tuffa på med 2.6. Vad säger ni andra?

Visa signatur

weeeee

Permalänk
Medlem
Skrivet av mounte:

Nu till något annat, vi har inte gett någon rekomendation om vilken pythonversion som är lämplig att börja med.
Framtiden är ju 3.x, men det är många moduler och program som fortfarande lever kvar i version >= 2.6
Jag skriver inte så mycket i python, och har av bekvämlighet valt att tuffa på med 2.6. Vad säger ni andra?

Det diskuterades för inte så länge sedan i en annan tråd här på Swec. Jag kan citera mitt svar:

Skrivet av You:

Den här frågan på Stack Overflow har några vettiga svar på den frågan, och konsensus verkar vara att börja med Python 2. Python-wikin har också en sida på ämnet, som förklarar både skillnaderna och vad du bör använda.

Permalänk
Medlem
Skrivet av anon150287:

Ja, vill du inte spåra misstänktas IP adresser så är ju Python ett klart val

Haha, den har jag också sett på Youtube

Visa signatur

ASRock P67 Extreme 4 REV B3 | Corsair 8GB (2x4096MB) 1600MHz| Intel Core i5 2500K , 4.3GHz | Gigabyte GeForce GTX 660 TI | Corsair TX 550W 80+ | Fractal Design Define R3

Samsung Galaxy S III

Permalänk
Medlem

Tack för svaren!

Men nu har jag stött på ett problem som jag inte har kunnat lösa på hela kvällen och har inte en blekaste aning om vad felet är:

dictionary={'Apple':'Apples is a fruit, it\'s growing on trees and has different size. They are good for the health and really delicious.', 'Book':'A book is a bunch of paper that you can read. It\'s really good to read books beacause they are interesting and trains your mind and language.', 'House':'A house is a place where you can live in, most people call it "Their Home". It\s almost always made of tree and other materials.'} search=raw_input("Search: ") if search=='Apple': dictionary['Apple'] elif search=='Book': dictionary['Book'] elif search=='House': dictionary['House'] else: print "This isn't in the Dictionary"

Tack för ett så snabbt svar

Permalänk
Medlem
Skrivet av Kabeltv:

Men nu har jag stött på ett problem som jag inte har kunnat lösa på hela kvällen och har inte en blekaste aning om vad felet är:

Antar att "problemet" är att inget skrivs ut? Det är för att du inte skriver ut något:

if search=='Apple': print dictionary['Apple'] elif search=='Book': print dictionary['Book'] elif search=='House': print dictionary['House'] else: print "This isn't in the Dictionary"

Permalänk
Medlem
Skrivet av Kabeltv:

Tack för svaren!

Men nu har jag stött på ett problem som jag inte har kunnat lösa på hela kvällen och har inte en blekaste aning om vad felet är:

dictionary={'Apple':'Apples is a fruit, it\'s growing on trees and has different size. They are good for the health and really delicious.', 'Book':'A book is a bunch of paper that you can read. It\'s really good to read books beacause they are interesting and trains your mind and language.', 'House':'A house is a place where you can live in, most people call it "Their Home". It\s almost always made of tree and other materials.'} search=raw_input("Search: ") if search=='Apple': dictionary['Apple'] elif search=='Book': dictionary['Book'] elif search=='House': dictionary['House'] else: print "This isn't in the Dictionary"

Tack för ett så snabbt svar

Vet inte riktigt vad du ville göra men det såg bättre ut när jag lade till print framför "dictionary" på ifsatserna.

EDIT: 2late