Gå til innhold

Anbefalte innlegg

Lurte egentlig bare på om det er noen som kanskje sitter på en slags sammenlikning på forskjellige scriptspråk. Programerer selv i Python, men kunne vært interessant å sammenligne det med f.eks. Perl, Ruby, og evt. også andre språk: C#, C++ osv.

 

Kunne muligens også lage en sticky, slik at nybegynnere har muligheten til å få inspirasjon og input fra forskjellige språk...??? Gjør det kanskje lettere å bestemme seg.

Lenke til kommentar
Videoannonse
Annonse

Kan komme med noen sammenlikning linker og litt kode.

Python & Java: A Side-by-Side Comparison

 

GeirGrusom skrev en sammenlikning VB og C#,jeg skrev samme kode i python.

Variabeldeklerasjon:
--------------------
C#
int myinteger = 20

#VB
Dim myinteger As Integer = 20

#python
Trenger ingen Variabeldeklerasjon



Lambdauttrykk:
--------------
C#
OpFunc func = (a, b) => a + b;

#VB
Dim func As OpFunc = Function(a, b) a + b

#python
lambda a, b: a + b



For løkker:
---------
C#
for(int i = 0; i < 20; i+=5)
 sum += i;

#VB
For i As Integer = 0 to 19 Step 5
 sum += i
End For

#python
sum([x for x in range(0,20,5)])

#Alternativ.
my_list = []
for i in range(0,20,5):
   my_list.append(i)
sum(my_list)



Funksjoner:
----------
C#
public int Add(int a, int b)
{
 return a, b;
}

#VB
Public Function Add(ByVal a As Integer, ByVal b As Integer) As Integer
 Return a + b
End Function

#python
def add(a, b):
   return a, b

 

>>> #Python trenger heller ikke pakke koden inn i klasse for og kjøre
>>> (lambda a, b: a + b)(4,8)
12
>>> sum([x for x in range(0,20,5)])
30
>>> my_list = []
>>> for i in range(0,20,5):
my_list.append(i)
>>> sum(my_list)
30
>>> def add(a, b):
return a, b

>>> add(5, 9)
(5, 9)

 

Python is Cool (and Perl is not)

http://www.strombergers.com/python/

 

Rosetta Code sammenlikning mange språk.

 

C++ for Python Programmers

Endret av SNIPPSAT
Lenke til kommentar
Ser jo fort at kodene i python er MYE kortere enn de andre (noe jeg forsåvidt hadde kjennskap til fra før av):)

 

Særlig når lambda må skrives på en linje :p

 

Sant, sant. Blir jo mye enklere å debugge programmene også vil jeg tro i forhold (vet ikke om det er noe vanskligere å "tolke" python-linjene) :p Selv om det selfølgelig er avhengig av hva du er vant til...

Lenke til kommentar

Jeg var egentlig litt sarkastisk siden Python har den begrensingen at lambda må skrives på en linje (...)

 

Hvor har du dette fra?

 

De kan bare være en expression (som jeg beskrev enkelt som en linje). Jeg har dette fra Python documentasjonen (5.12) og det har vært diskutert på diverse mailing lister hvor Guido bl.a. skriver:

 

Second, years of attempts to overcome this haven't come up with a usable syntax

 

Guido vil nå fjerne lambda i fra Python 3.0.

 

Ikke alltid like lett å forholde seg til diktatorspråk.

 

P.S her er linken siden editoren her slenger på en bold tag i min url

http://docs.python.org/reference/expressions.html

Lenke til kommentar

Jeg var egentlig litt sarkastisk siden Python har den begrensingen at lambda må skrives på en linje (...)

 

Hvor har du dette fra?

 

De kan bare være en expression (som jeg beskrev enkelt som en linje).

 

At kroppen til lambda må være en expression var aldri i tvil. Men du beskrev det feilaktig som "en linje". Lambda må ikke skrives på en linje.

Lenke til kommentar

Jeg var egentlig litt sarkastisk siden Python har den begrensingen at lambda må skrives på en linje (...)

 

Hvor har du dette fra?

 

De kan bare være en expression (som jeg beskrev enkelt som en linje).

 

At kroppen til lambda må være en expression var aldri i tvil. Men du beskrev det feilaktig som "en linje". Lambda må ikke skrives på en linje.

 

Som sagt så forenklet jeg det for å ikke forvirre en som jeg fikk inntrykk av er en nykommer til Python (som jeg sannynligvis hadde forvirret allerede). Men det er en fortsatt en begrensing i Python at en lambda kan bare være en expression og ikke inneholde kode lik funksjoner slik man kan i mange andre språk.

Lenke til kommentar

Men det er en fortsatt en begrensing i Python at en lambda kan bare være en expression og ikke inneholde kode lik funksjoner slik man kan i mange andre språk.

 

Det stemmer. Men "lambda kan bare være en expression" er noe helt annet enn at "lambda må skrives på en linje" (det sistnevnte er feil).

Endret av zotbar1234
Lenke til kommentar
  • 4 uker senere...
  • 1 måned senere...
Gjest Slettet+9871234

Lurte egentlig bare på om det er noen som kanskje sitter på en slags sammenlikning på forskjellige scriptspråk. Programerer selv i Python, men kunne vært interessant å sammenligne det med f.eks. Perl, Ruby, og evt. også andre språk: C#, C++ osv.

Lær deg C og C++ i tillegg til Python.

 

Kompilert C / C++ kode kan vanskelig sammenlignes med tolket skript kode.

 

Til webutvikling ville jeg personlig foretrukket PHP og Python + http://www.djangoproject.com/

 

Litteratur:

 

http://www.djangobook.com/

 

http://withdjango.com/

 

Antagelig er det ikke så vanskelig å kombinere Python + Django med kompilert C / C++ kode.

 

Jeg har tenkt å prøve på det selv.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...