Tips på bra programmeringsspråk

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av "Tusse" Torvald
Vad jag inte riktigt förstår är att bara Java utpekas som slött. Är inte det ständigt rekommenderade Python också ett interpreterat språk? Och körs inte .NET genom en virtuell maskin?

Java är betydligt snabbare än Python.
Java är inte ens ett rent interpreterat språk som Python är numera, utan det använder något som kallas JIT (just in time) kompilering som vad jag fattat det ska vara nära hastigheterna på mer lågnivåspråk.

Python däremot är pervolångsamt.
edit: (...men ganska trevligt att utveckla i)

Permalänk
Medlem

Jag skulle vilja säga Python. Har gått från C++ till Python och jag gillar det skarpt, hur det sen står sig på arbetsmarknaden har jag ingen aning om.
Nu har jag även börjat kolla på Ruby lite, och utav det jag har sett verkar det väldigt smidigt att programmera i, så det kanske är värt en koll med.

Angående Java och C# har jag aldrig hört något bra om dem, förutom lite random folk som tipsar om dem för att de är bra på arbetsmarknaden t.ex... Sen att Java är "plattformsoberoende" ger jag inte ett öre för, jag tycker bara det är förbannat irriterande att behöva ha all skit man måste ha för att det ska funka alls... Att C# är helt plattformsberoende (förutom mono, som inte verkar vara nån höjdare om man vill utveckla seriöst hittills) utesluter ju det direkt, i alla fall för mig (trogen Linux-användare som man är).

Alltså; Jag lägger min röst på att du ska ge dig på Python alt. Ruby.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av NemroD
Jag skulle vilja säga Python. Har gått från C++ till Python och jag gillar det skarpt, hur det sen står sig på arbetsmarknaden har jag ingen aning om.
Nu har jag även börjat kolla på Ruby lite, och utav det jag har sett verkar det väldigt smidigt att programmera i, så det kanske är värt en koll med.

Angående Java och C# har jag aldrig hört något bra om dem, förutom lite random folk som tipsar om dem för att de är bra på arbetsmarknaden t.ex... Sen att Java är "plattformsoberoende" ger jag inte ett öre för, jag tycker bara det är förbannat irriterande att behöva ha all skit man måste ha för att det ska funka alls... Att C# är helt plattformsberoende (förutom mono, som inte verkar vara nån höjdare om man vill utveckla seriöst hittills) utesluter ju det direkt, i alla fall för mig (trogen Linux-användare som man är).

Alltså; Jag lägger min röst på att du ska ge dig på Python alt. Ruby.

...va?
Du tycker att det är jobbigt att lägga in "all skit" som behövs för java (endast java runtime om du ska köra program samt SDK om du vill utveckla) när du tipsar om python och ruby som behöver precis samma grejer?

Motivera gärna varför det är jobbigare att lägga in runtime i java än i python eller ruby då procedurerna more or less är likadana.

edit: Och kom inte med någon bullshit i stil med att man inte behöver runtime för att köra pythonapplikationer om man kompilerar dom specifikt för t.ex. windows med py2exe eller liknande, då exakt likadana verktyg finns för java.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av "Tusse" Torvald
Vad jag inte riktigt förstår är att bara Java utpekas som slött. Är inte det ständigt rekommenderade Python också ett interpreterat språk? Och körs inte .NET genom en virtuell maskin?

Både .NET och Java kompileras under uppstart vilket gör att det kan ta lite (0.1sec) längre tid att starta programmet första gången(sedan brukar den kompilerade versionen lägga sig i nån cache) jämfört med en färdigkompilerad binär exe.
Att sen räkna ut hundrafemtielfte decimalen av pi tar lika lång tid som med "riktiga"-exe filer, i vissa fall går det t.om snabbare eftersom JIT-kompileraren anpassar kompileringen efter vilket processor du har och kör inte one size fits all som en binär exe.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av "Tusse" Torvald
Vad jag inte riktigt förstår är att bara Java utpekas som slött. Är inte det ständigt rekommenderade Python också ett interpreterat språk? Och körs inte .NET genom en virtuell maskin?

Det beror nog på att många (gui-)java-program är dåligt skrivna och att Java var slött förr i tiden, speciellt med gui-delen som dom flesta använde då. Eclipse är ett tex imho fint exempel på att stora snabba gui-program går utmärkt att skriva i Java.

Nu tycker jag iof att Python är trevligare än Java iaf, men det beror inte på hur snabbt programmen körs utan hur snabbt dom kan programmeras

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Xintron
Kollade in din sida Såg riktigt nice ut. Tanka hem källkoden till VillageSim3.0 och kollade lite på den och måste säga att det inte verkar krävas speciellt mycket för att skapa ett spel i Python (det är iofs väldigt simpelt men ändå). Har du några tips på var man ska börja med Python. Jobbar just nu på att lära mig vad jag kan från tutorialen från dive into python.

När jag kommit längre i mitt programmerande så kanske vi kan starta ett projekt ihop Btw, gör det något om jag använder ditt spel och "försöker" vidareutveckla det?

Jepp. Tro det eller ej, men igår var första gången jag någonsin testat det. Jag kan ju säga att jag kommer lägga ner mycket tid på det framöver Funderade på att utveckla ett eget hacker spel online, MMOG. Fick lite inspiration av HackWare och har länge väntat på det, men det verkar inte bli färdigt.

Njae, det är inte så lurigt som man kan tro att sätta ihop ett enkelt spel. Nu är VillageSim inte så mycket spel dock, utan ganska ointeraktivt. Men iaf, ändra på du. Det kan nog vara ett bra sätt att lära sig, att kolla runt på nåt hyfsat överskådligt. Sen är väl kodupplägget inte det bästa i VillageSim, eftersom det var en av dom första grejerna jag gjorde i Python, men det duger väl på att kolla runt i.

Angående gemensamma projekt är det bara att hänga på nästa gång det dras igång en speltävling.. brukar arras två stycken PyWeek varje år tror jag (det är tanken iaf), där man ska göra ett Pythonspel från scratch på en vecka. Sök på forumet här så hittar du nog lite info om såna tävlingar. Du kanske inte kan bidra så mkt första gången men det kan säkert vara lärorikt att hänga med iaf..

Citat:

Ursprungligen inskrivet av Xintron
Jag har börjat med Python nu och ska lära mig så mycket jag kan. Sedan känns det som att det blir C#. Har hört att JAVA ska vara slött och krävande för datorn. Kan man inte skriva program i C# till mer än MS?

För det första är Python slöare än Java, och för det andra är inte Java alls lika slött som det var en gång i tiden. Så det är ingen anledning att utesluta det, imo. Personligen så är jag lite trött på Java och mer sugen på att försöka koda nåt i C#, men det är nog mest en fråga om smak och intresse.

Just det, tips för att skapa spel i Python. Tja, kolla upp PyGame för att börja göra 2d-spel (tKinter som jag använde till VSim har inget med spel att göra, det är bara ett GUI-lib som jag missbrukade lite lätt. ) Och kolla på fler Pythonspel jag gjort, t.ex. Det jag gjorde senast gjorde jag tillsammans med vb och blev rätt trevligt, både kodmässigt och i utförande, iaf om man tar hänsyn till att vi gjorde det på 48 timmar. Det heter City Connect.. säg till om du behöver hjälp att hitta det.

Visa signatur

Min hemsida: http://www.srekel.net
Pocket Task Force: http://ptf.srekel.net
Kaka e gott! http://kaka.srekel.net

Permalänk
Citat:

Ursprungligen inskrivet av vb
Det beror nog på att många (gui-)java-program är dåligt skrivna och att Java var slött förr i tiden, speciellt med gui-delen som dom flesta använde då. Eclipse är ett tex imho fint exempel på att stora snabba gui-program går utmärkt att skriva i Java.

Nu tycker jag iof att Python är trevligare än Java iaf, men det beror inte på hur snabbt programmen körs utan hur snabbt dom kan programmeras

Ok, tack för svaren, allihop.

Visa signatur

This is my signature. There are many like it but this one is mine.

Permalänk
Medlem

Jag hittade information om det på GameDev.se men kunde inte hitta någon länk till spelet eller källkoden. Skulle uppskatta om du kunde hjälpa mig lite där!

Visa signatur

xintron
I had a life, then my pokémon died

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Xintron
Jag hittade information om det på GameDev.se men kunde inte hitta någon länk till spelet eller källkoden. Skulle uppskatta om du kunde hjälpa mig lite där!

http://www2.gamedev.se/spelen.rar

Tror det ligger under srekel/CityConnect_final.rar eller nåt sånt i den filen. källkoden ska vara med.

Förresten, det här var ju lite kul.

Citat:

Bästa speldesign
1. Treasehunting
2. Chess 48 & Qubilibrium
3. City connect

Visa signatur

Min hemsida: http://www.srekel.net
Pocket Task Force: http://ptf.srekel.net
Kaka e gott! http://kaka.srekel.net

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av NemroD
Jag skulle vilja säga Python. Har gått från C++ till Python och jag gillar det skarpt, hur det sen står sig på arbetsmarknaden har jag ingen aning om.
Nu har jag även börjat kolla på Ruby lite, och utav det jag har sett verkar det väldigt smidigt att programmera i, så det kanske är värt en koll med.

Angående Java och C# har jag aldrig hört något bra om dem, förutom lite random folk som tipsar om dem för att de är bra på arbetsmarknaden t.ex... Sen att Java är "plattformsoberoende" ger jag inte ett öre för, jag tycker bara det är förbannat irriterande att behöva ha all skit man måste ha för att det ska funka alls... Att C# är helt plattformsberoende (förutom mono, som inte verkar vara nån höjdare om man vill utveckla seriöst hittills) utesluter ju det direkt, i alla fall för mig (trogen Linux-användare som man är).

Alltså; Jag lägger min röst på att du ska ge dig på Python alt. Ruby.

Som du säger arbetsmarkanden vill ha C# och JAVA, för att de har förstått potentialen hos dessa språken. C# som är väldigt snabbt att programera windows program.. JAVA har fördelen att kunna kommunicera bra över plattformar, och även det ett snabbt språk att koda. Båda har dessutom stora bibliotek med bra dokumentation.

Python har jag knappt hört talas om på universitet, mer än att det är ett programeringsspråk.

Visa signatur

i5 2500k, GTX770SLI, 8GB RAM

Permalänk
Medlem

är Java en jäkla akronym numera, eller finns det någon annan anledning till att vissa envisas med att stava det med VERSALER?

ps. lär dig Ruby.

Visa signatur

The power of GNU compiles you!
"Often statistics are used as a drunken man uses lampposts -- for support rather than illumination."

Permalänk
Inaktiv

Anledningarna att köra kompilerade program minskar för varje år som går, maskinerna blir snabbare och utvecklingstiden blir allt viktigare (läs kortare). Om man kan göra samma jobb på halva tiden med en liten extra kostnad i exekveringstid så är tolkade språk nog överlägsna.

Som ny är det nog bra att välja ett språk som döljer en del av det som pågår (t ex minneshantering) för att kunna koncentrera sig på strukturen hos språket istället för att bråka med detaljer. Exempel skulle kunna vara Java, Python, C# eller Ruby.

Jag gjorde iofs sig tvärtom, började med C och assembler vilket kanske inte är den mest optimala vägen om man tänker på inlärningskurva, men fungerar hyfsat om man är envis...

Permalänk
Medlem

mickeus: Med tanke på vad du skrev är det nog bra om jag jobbar med Python då. Jag vill gärna se resultat fort utan en massa error's hit och dit. Vad jag kan säga än så länge är att Python verkar riktigt lovande. Syntaxen är ju helt underbar (med tanke på att jag skrivet mycket PHP på sistone).

Sen är det som många har sagt till mig att ju fler språk man lär sig, desto lättare blir det att lära sig lite svårare språk, typ C/C++, assembler osv.

Visa signatur

xintron
I had a life, then my pokémon died

Permalänk
Medlem

Själv tycker jag python känns skitfult när man kodar det

När man är van vid C/Java så känns det inte helt hett att inte deklarera variabler, samt att funktioner kan returnera precis vad som hellst (eller inget) utan att man bestämmer sånt innan...

Permalänk
Medlem

Nej, har jobbat ytterst lite med C++ innan och kan hålla med om att det är annorlunda. Men att gå från PHP till Python är något jag absolut kan rekomendera.

Visa signatur

xintron
I had a life, then my pokémon died

Permalänk

Python och/eller Ruby är två rent underbara programmeringsspråk. Precis läst Programmering A på NTI i Karlskrona där man använde sig av C++ (för det lilla man fick lära sig ^^). Efter kursens slut började jag snart med Python, hade sedan tidigare grundläggande erfarenhet i PHP, och är helt fräch, men synnerligen begeistrad, av Ruby.

Visa signatur

http://fredlight.no-ip.org
- Trust in me. I have come to save this world.

Permalänk
Avstängd

Java.

C# är väldigt likt Java faktiskt. Om du jämför med MFC och Win32 API så ser du hur M$ ursprungligen tänkt sig hur man ska programmera windowsprogram. Om du sedan tittar på C# istället, så ser du att det är skitlikt Java och inte alls likt MFC och win32 API. Faktum är att C#s fönsterhantering är en ren kopia av Java. Och att man kan skriva program en gång, och köra det på Solaris, *BSD, Mac OS X, Plan 9, windows, etc gör det hela trevligare.

Sen om du ska läsa en högre utbildning vid något universitet, så är många kurser i Java. Absolut inte i Python som tillåter att man lär sig dålig programmeringsstil. Java används för stora program och system (enterprise) oxå. Det finns väl utvecklade verktyg och bibliotek för det. Java har ett massivt stöd bland stora företag som släpper massa verktyg och saker till Java hela tiden. Python är mera för hemmahackaren som sitter på sin kammare och vill slänga ihop något quick-n-dirty. Absolut inget man skriver stora affärssystem i.

Permalänk
Citat:

Ursprungligen inskrivet av emilsson
Sen om du ska läsa en högre utbildning vid något universitet, så är många kurser i Java. Absolut inte i Python som tillåter att man lär sig dålig programmeringsstil.

Det var första gången jag hört någon säga något liknande, så lite motivering skulle kanske inte skada. Annars brukar inställningen vara det motsatta bland de jag hört. För mig har Python förbättreat min programmeringsstil avsevärt.

Citat:

Ursprungligen inskrivet av emilsson
Java används för stora program och system (enterprise) oxå. Det finns väl utvecklade verktyg och bibliotek för det. Java har ett massivt stöd bland stora företag som släpper massa verktyg och saker till Java hela tiden. Python är mera för hemmahackaren som sitter på sin kammare och vill slänga ihop något quick-n-dirty. Absolut inget man skriver stora affärssystem i.

Anledningen till att man inte skriver stora affärssystem i Python handlar snarare om tradition, kännedom och tillgängliga kodare. Det finns inget i själva språket som hindrar att man skulle kunna skriva stora affärssystem i Python. Med Jython kan man dessutom enkelt integrera med Java-kod.

Men nog används Python i affärssystem med, kolla Success Stories på hemsidan. Men sant, tänker han bara jobba som kodapa på nått större företag och skriva affärssystem så är det inte så sannolikt att han kommer få koda mycket Python. .NET och Java kommer han behöva lära sig isåfall. Vill man koda spel är det istället C/C++ som gäller.

Visa signatur

Python-IRC på svenska: #python.se

Permalänk
Medlem

Men borde det inte bli enklare att gå över till "svårare" programmeringsspråk t.ex. C#, Java, C/C++ desto fler "enkla" språk man lär sig. Man måste ju som sagt var börja någon stans. Desutom så har jag några år kvar i skolan innan jag ska ut och söka jobb så jag har fortfarande tid på mig (ska börja 2 året på gymnasiet till hösten).

Alla har ju sina egna vägar. För mig började det hela med HTML (vilket inte är ett programmeringsspråk, men hade jag inte lärt mig det så hade jag nog inte börjat programmera heller). Det tog ett tag med tanke på att jag inte var mer än 10-12 år och att jag inte läste någon tutorial utan använde mig av andra hemsidor och lärde mig på så vis. Troligtvis är det det bästa sättet att lära sig något på, av sina misstag, men det går ju betydligt snabbare med en tutorial

Jag kommer att spara denna tråden och när jag sedan är redo för nästa steg så ska jag läsa igenom allt igen och sedan bestämma mig för vad nästa språk blir.

Visa signatur

xintron
I had a life, then my pokémon died

Permalänk
Medlem

Microsoft verkar satsa ganska hårt på att få spelutvecklare att gå över till C#. Bland annat finns stort sett hela DirectX 9 som .NET-api, och Directx 10 har jag hört skall vara optimerat för just .NET. De har också släppt utvecklingspaket för att underlätta spelutveckling i C#/.NET, både för utveckling mot PC och Xbox360.

Ute på företagen verkar det vara Java eller Microsoft (C#/.NET) som gäller för väldigt många företag. Jag tror inte det har så mycket med kunskap eller tradition att göra, utan snarare att de har investerat mycket pengar i en plattform och därmed inte är villiga att byta. Och att köra flera plattformar samtidigt innebär ofta en merkostnad.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av emilsson
Sen om du ska läsa en högre utbildning vid något universitet, så är många kurser i Java. Absolut inte i Python som tillåter att man lär sig dålig programmeringsstil.

KTH använder Python i minst en kurs (Grundläggande Datalogi), så det där är inte sant.

Visa signatur

:€

Permalänk
Medlem

En sak som jag missade i mitt första inlägg i tråden och som ingen tagut upp än är att man kan göra program till i stort sett alla mobiltelefonder som finns i Java. Jag har gjort ett par enklare program och spel. Det finns ett speciellt API för mJava(mobile Java) som är som det vanliga fast något reducerat.
Vad jag har förstått är Java och C# är väldigt lika och man kan göra exakt samma saker i dom. Det finns ju till och med Java -> C# converter i MS Visual Studio 2005

Visa signatur

Bloggar om Hemautomation på HomeAutomateIt.com

Permalänk

Angående python, dålig programmeringsstil och större system, jag tror det syftas på Pythons dynamiska natur. Allt är dynamiskt, inget behöver deklareras, typer blandas dit och dit.

I större program så får man troligen lägga ner mycket arbete på att göra saker mer strikt så att det inte blir värsta kaoset.

Vad skulle du rekommendera ditt lokala kärnkraftverk? Python eller Ada?

Permalänk
Citat:

Ursprungligen inskrivet av Mr Self Destruct
Angående python, dålig programmeringsstil och större system, jag tror det syftas på Pythons dynamiska natur. Allt är dynamiskt, inget behöver deklareras, typer blandas dit och dit.

I större program så får man troligen lägga ner mycket arbete på att göra saker mer strikt så att det inte blir värsta kaoset.

En del större program i python inför en egen form av typcheckning. Om det är av vana eller behov vet jag inte. Det finns eventuellt planer på att bygga in lite typcheckning i språket senare. I Python brukar man annars föredra något kallat "Duck Typing" "if it walks like duck and quacks like a duck, it is a duck." fördelen med det är att man kan göra många saker enklare. Om man tilll exempel vill byta ut en filström mot en begränsad webbström, så går det utmärkt sålänge de implementerar de metoder som behövs. Medd interfaces skulle man behöva implementera hela interfacet, inte bara just de funktioner som behövdes. Speciellt vid automatiska tester utnyttjas det en hel del.

Citat:

Ursprungligen inskrivet av Mr Self Destruct
Vad skulle du rekommendera ditt lokala kärnkraftverk? Python eller Ada?

Kärnkraftverk är lite exeptionella. Jag skulle vlja att de använder minst tre redundanta system på allt. Minst två olika programmeringsspråk. Pair programming, genomgående säkerhetskontroller av koden, unit tests, manuella tester etc. På ett kärnkraftverk får det inte gå fel, över huvud taget. För en härdsmälta finns liksom inga ursäkter.

Men statisk typning bör inte vara det som ravgör vilket språk man använder, jag skulle fan inte vilja att de skrev alla sina säkerhetssystem i C. Jag kan tänka mig att ada som språk är rätt så stabilt och moget och därför vinner en hel del. Men jag hoppas verkligen inte att de som gör säkerhetssystem till kärnkraftverk frågar på swec.

Visa signatur

Python-IRC på svenska: #python.se