Sida 4 av 4

Re: AVR32Studio - Java!?

Postat: 13 mars 2009, 21:02:50
av speakman
AAVE: Du glömmer fortfarande att tala om *varför* det är svårare att hantera en *mindre* mängd kod. Dessutom använder du halmgubbeargument när du säger "mångar argumenterar...", vad jag vet har jag inte haft det argumentet. Däremot är Pythons användning indentering istället för måsvingar något som krymper koden och gör den mer läsbar, men det ser jag enbart positivt.

Så vad är det i just Python som gör det så svårt att maintaina? Med tanke på att det är väldigt likt Java bortsett från typningen så är jag väldigt nyfiken på vad i språket som gör att man inte kan ha samma upplägg som man skulle haft i t.ex. Java? Vad saknar språket Python men som språket Java har?

Sodjan har helt klart en poäng, men när man pratar om Python och Java eller C# så är man ändå på ungefär samma "nivå" så pass att det blir jämförbart. Jag tror t.ex. inte man skulle skriva grafikmotorn för FarCry 5 i varken Python eller Java.

Re: AVR32Studio - Java!?

Postat: 13 mars 2009, 22:21:47
av sodjan
> Sodjan har helt klart en poäng,...

Nä... Va? Oj! Jag var tvungen att läsa om flera gånger... ! :-)

Re: AVR32Studio - Java!?

Postat: 13 mars 2009, 22:56:48
av AAVE
Vad saknar språket Python men som språket Java har?
jag antar att det är "disciplin". den där som är i vägen när du skriver små projekt, men är ett måste i större projekt. "hårda typer" är kanske det exempel de flesta tänker på. själv tycker jag att javas "exception" hantering är viktigtare (något som för övrigt saknas i C# och finns i C++ endast som tillägg).

Re: AVR32Studio - Java!?

Postat: 13 mars 2009, 23:32:56
av speakman
AAVE:
På vilket vis har språkvalet med disciplin att göra? Pythons s.k. kodstilsnazism är väl ändå något som talar till dess fördel i såna här lägen. Och följer man PEP8 till fullo (som 99% av alla projekt gör) så blir koden väldigt proper. Var är Javas motsvarighet?

Och vad skiljer Javas exceptions ifrån Pythons exceptions?

Sodjan: Ja men du lyckas ju ibland och då måste man ju framhäva det! :D

EDIT: Råkade snubbla över den här Java/Python-jämförelsen när jag googlade på exceptions i Java. Om Javas "checked exceptions" är sant så är jag extra nyfiken vilka fördelar den har jäntemot Pythons.

Re: AVR32Studio - Java!?

Postat: 14 mars 2009, 12:29:22
av AAVE
du blandar ihop "Style Guide" med språk/kompilator disciplin. Till exempel , java tvingar dig att ta hand om ev. fel när dessa _kan_ uppkomma, vilket är i linje med morphys lag och därför ett måste i större projekt ;)

sedan är java och pythons exceptions väldig olika, jag föreslår att du läser på lite.

PS . sidan du länkar till är verkligen inte den minst opartiska sidan jag har sett :)
Java ska vara "verbose" för att det krävs fler rader för att koda en hello world?

Kod: Markera allt

public class HelloWorld
{
    public static void main (String[] args)
    {
        System.out.println("Hello, world!");
    }
}

Kod: Markera allt

print "Hello, world!"

problemet är att Java koden gör så mycket mer än python koden. Rätt kod är något i linje med:

Kod: Markera allt

class HelloWorld():
# (vet inte om detta behövs)
#	def __init__(self):
#		pass	
	def main:
		import sys
		print("Hello, world", file=sys.stdout)

if __name__ == '__main__':
	dummy = HelloWorld()
	dummy.main()
Java koden åt andra sidan följer _inte_ javas style guide. Den brode vara två rader kortare

Kod: Markera allt

public class HelloWorld {
    public static void main (String[] args) {
        System.out.println("Hello, world!");
    }
}
MEN, varför skulle kompakt kod vara bättre än verbose kod? jag vill hellre ha kod som jag kan förstå om 6 månader än kod som är kompakt! som jag sa, code for readability, not writeability

---
ahh, skit samma. nu ska jag tillbaka till mitt lilla python projekt och tänker inte skriva mer i den här tråden...

Re: AVR32Studio - Java!?

Postat: 14 mars 2009, 18:10:47
av speakman
AAVE skrev:du blandar ihop "Style Guide" med språk/kompilator disciplin. Till exempel , java tvingar dig att ta hand om ev. fel när dessa _kan_ uppkomma, vilket är i linje med morphys lag och därför ett måste i större projekt ;)
Java tvingar dig att ta hand om alla tänkbara fel *på alla nivåer*. I Python bör du (precis som du bör i Java) också ta hand om alla fel, men felen "backar" så det i princip räcker med en enda Try-sats för att hantera mänger av möjliga fel. Det står mer i detalj om det på sidan jag länkade.
AAVE skrev:sedan är java och pythons exceptions väldig olika, jag föreslår att du läser på lite.
Ja det visade sig väl tyvärr vara till Javas nackdel enligt ovan? Några konkreta fördelar för Javas del verkar du inte klara av att bidra meed.
AAVE skrev:PS . sidan du länkar till är verkligen inte den minst opartiska sidan jag har sett :)
Java ska vara "verbose" för att det krävs fler rader för att koda en hello world?
Ja det var *ett* av mängder av exempel. Var det verkligen allt du hade att invända mot?

Kod: Markera allt

class HelloWorld():
# (vet inte om detta behövs)
#	def __init__(self):
#		pass	
	def main:
		import sys
		print("Hello, world", file=sys.stdout)

if __name__ == '__main__':
	dummy = HelloWorld()
	dummy.main()
Att man använder if-satsen längst ner är helt optionellt och bidrar till en finess som gör att man kan provköra enskilda moduler genom att helt enkelt exekvera dessa genom interpretern. En ren feature som går helt perfekt att undvika om man inte vill. Och din användning av en klass är något du själv dragit till med, något som går men är helt onödigt (till skillnad från Java då) och det där med __init__ är en vanlig konstruktor i oo-språk. Vad är motsvarigheten i Java till dessa finesser?
AAVE skrev:MEN, varför skulle kompakt kod vara bättre än verbose kod? jag vill hellre ha kod som jag kan förstå om 6 månader än kod som är kompakt! som jag sa, code for readability, not writeability
Nu glömmer du att det är *du* som påstår att Python inte duger till större projekt, och därmed ligger bevisbördan helt på din sida (även om jag ändå visat på hur fel du har). Hittills har det inte gått särskilt bra, rättare sagt har du inte visat det minsta lilla som talar till din fördel.
AAVE skrev:ahh, skit samma. nu ska jag tillbaka till mitt lilla python projekt och tänker inte skriva mer i den här tråden...
Låt mig gissa; Du har kommit fram till att alla dina fördomar om Python inte stämde, och har nu konverterat alla dina Java-projekt dit istället för att öka produktiviteten? :p

Skämt åsido så bör du verkligen läsa på lite innan du kritiserar, eller åtminstone ha något konkret som du kritiserar samt något som backar upp dina påståenden. Ditt Python-exempel ovan bevisar om nånting att du inte är särskilt insatt i språket.