python vs C#

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
febel
User
Beiträge: 5
Registriert: Montag 21. Mai 2007, 10:16

Hallo liebe Forums-Mitglieder,

ich bin seit Jahren ein großer Python Fan und habe es auch jahrelang im Bereich Bioinformatik eingesetzt. Nun habe ich einen neuen Job und eine Entscheidung steht an welche Sprache gewählt werden soll. Bisher wurde alles hier mit C# und MSSQL gelöst.

Nach einigen Tagen in denen ich mich mit C# auseinandergesetzt habe, ist meine Entscheidung wieder auf Python gefallen. Nun brauche ich gute Argumente um meinen Chef und meine Kollegen zu überzeugen. Ein entscheidender Punkt ist sicherlich, dass sich Python mit ironpython in .NET einbinden läßt und mit dem pymssql Modul auch eine Schnittstelle zu MSSQL vorhanden ist.

Nach intensiven Googlen bin ich auf keine brauchbare Publikation oder Präsentation "python vs C#" gestoßen.

Ich möchte euch bitten mir einen Tipp zur einer Publikation zu geben oder einige Argumente hier zusammen zu tragen.


Ich danke euch schon jetzt für eure Hilfe
febel

P.S.: Ich hoffe der Beitrag passt hier rein
Benutzeravatar
keppla
User
Beiträge: 483
Registriert: Montag 31. Oktober 2005, 00:12

Vermutlich wird C#/Python nicht so häufig verglichen, weil dahinter sehr unterschiedliche Philosophien stecken. Da c# gewisse... Ähnlichkeiten zu java hat, müssten viele der Argumente Java/Python übertragbar sein.
Bisher wurde alles hier mit C# und MSSQL gelöst.
So sehr ich Python mag, was spricht dagegen, in c# und mssql weiterzumachen? Im kleinen ist einem die Sprache, in der man programmiert natürlich sehr wichtig, aber im großen wiegen Dinge wie Legacy Code, vorhandene Teamfähigkeiten, bereits bezahlte Software, etc sehr schwer.

Wenn du sagst, deine Entscheidung sei auf Python gefallen, nenne doch mal die einzelnen Teile der Entscheidung, vielleicht lässt sich dafür was finden.
EnTeQuAk
User
Beiträge: 986
Registriert: Freitag 21. Juli 2006, 15:03
Wohnort: Berlin
Kontaktdaten:

So sehr ich Python mag, was spricht dagegen, in c# und mssql weiterzumachen? Im kleinen ist einem die Sprache, in der man programmiert natürlich sehr wichtig, aber im großen wiegen Dinge wie Legacy Code, vorhandene Teamfähigkeiten, bereits bezahlte Software, etc sehr schwer.
Hier muss ich auch zustimmen.

Was mich interessieren würde: Du hast nen neuen Job und hast nun die Wahl, welche Programiersprache verwendet werden soll? Gehts nur mir so oder kommt mir das komisch vor.
Ich meine damit: hast du alleine solche Entscheidungsmacht?

Habt ihr ein vergleichsweise großes Entwicklerteam? Wie lange entwickelt ihr schon mit C#. All solche Sachen muss man berücksichtigen, wenn man solche Umstrukturierungen machen möchte.
z.B. auch... was ihr entwickelt.

Ich glaube zum Beispiel kaum, das du als einzelne Person Chef und 30+ Mitarbeiter überreden kannst auf einmal mit Python statt mir C# zu programieren.


Ich persönlich kenne C# nicht. Aber schau dich mal in unserem Wiki um. Da findest du einige Vorteile und Nachteile von Python. Zumindest auf die Allgemeinheit bezogen.


MfG EnTeQuAk
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Ich "musst" mich noch nicht viel mit C# beschäftigen, aber so wie ich das sehe, sind MSSQL und C# wunderbar dafür geeignet, um DB-Applikationen zu schreiben. Immerhin ist SQL zu einem großen Teil bereits in der Syntax von C# enthalten.

So gerne ich Python auch mag, aber bei der Konstellation die du schilderst würde ich wohl bei C# bleiben.
BlackJack

SQL ist in der Syntax von C# enthalten!? Seit wann dass denn?
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

BlackJack hat geschrieben:SQL ist in der Syntax von C# enthalten!? Seit wann dass denn?
Seit C# 3.0 in Verbindung mit dem "LINQ Project": http://msdn.microsoft.com/msdnmag/issue ... spx?loc=de.
BlackJack

Da kann man nicht wirklich von "Seit" sprechen wenn der Zeitpunkt in der Zukunft liegt. ;-)

Das ist ein Link auf einen Artikel der nächsten Monat erscheint, für ein Feature das für C# 3.0 geplant ist. Und über Sinn und Vorteile kann man streiten. Mit SQL eine Sprache zu "kontaminieren"…
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Stimmt, dass liegt noch ein wenig in der Zukunft. Den Vortrag den ich über C# gehört hatte, ist aber auch schon ein halbes Jahr her, und wer kann ahnen, dass die so langsam sind bei Microsoft ;-)

Als Feature würde ich die Vermischung von SQL mit anderen Sprachen auch nicht gerade bezeichnet, dass sieht wieder nach so einer Eierlegendenwollmilchsau-Sprache aus, die über 100 Keyword belegt. Aber vielleicht gibt es ja Anwender, die das als sinnvoll betrachten. Immerhin konnten sich einige funktionale Konstrukte auch in der OO-Welt durchsetzen.
Y0Gi
User
Beiträge: 1454
Registriert: Freitag 22. September 2006, 23:05
Wohnort: ja

Wie wäre es mit dem klassischen "Mit Python ist man produktiver als mit C#"?
Benutzeravatar
Sr4l
User
Beiträge: 1091
Registriert: Donnerstag 28. Dezember 2006, 20:02
Wohnort: Kassel
Kontaktdaten:

Nachteil: man verliert die Visual C# Umgebung, dann Menschen bleiben gerne bei 'alt' bekannten (C# ist ja jetzt nicht so alt).
Zudem finde ich den Syntax von C# nicht so schlecht (von dem was ich bisher gesehen habe)

An C# gefällt mir das Versionsgespringe des .NET Frameworks nicht.

Für Python spricht allgemein: Multi Platform, freie Software, . . . . , . . . . . , . . . . ,Coden macht spaß und nette deutschsprachige Gemeinschaft ;-)

Aber ich würde sagen hauptsächlich kommt es auf die an die bisher kein Python kennen und wie sie dem gegenüberstehen, auf die kommt es an.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Sr4l hat geschrieben:Nachteil: man verliert die Visual C# Umgebung, dann Menschen bleiben gerne bei 'alt' bekannten (C# ist ja jetzt nicht so alt).
Es gab ja mal Visual Python von ActiveState, ein Plugin für VIsual Studio, hat aber wohl keinen besonderen Absatz gefunden.
Sr4l hat geschrieben:An C# gefällt mir das Versionsgespringe des .NET Frameworks nicht.
Dann wird dir Python 3.0 nicht gefallen. Oder Python 3000 und 4000 ;) Sieh es doch einfach als .Net-Framework 0.1, 0.1.1, 0.2 und 0.3 an. Davon abgesehen macht Firefox ebensolche Sprünge, Opera ebenso, Netscape auch, IE genauso (nur etwas seltener).
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Y0Gi
User
Beiträge: 1454
Registriert: Freitag 22. September 2006, 23:05
Wohnort: ja

Bin ich eigentlich der Einzige, der das .NET-Framework "nicht mag" und sich nachwievor mit Händen und Füßen gegen dessen Installation wehrt?
thelittlebug
User
Beiträge: 188
Registriert: Donnerstag 20. Juli 2006, 20:46
Wohnort: Wien
Kontaktdaten:

Ich persönlich mag C# und Python neben ein paar anderen Sprachen, wobei ich den beiden erstgenannten eindeutig den Vorzug gebe.

Ich würde C# nehmen wenn:
Ich eine Windowsanwendung leicht erstellen möchte.
DirectX oder eine andere Library die es nur unter Windows gibt brauche.

Ich würde Python nehmen wenn:
Alle anderen Fälle eintreten.

Begründung:
Ich mag Python wirklich sehr, aber GUI Erstellung finde ich verglichen mit C# oder Delphi sehr komplex und fast schon "altmodisch".
C# scheint mir bei "low-level" (i+=1) Operationen schneller zu sein als Python.

Python finde ich aber als Sprache allein sehr ellegant und vor allem einfach.


MS hätte C#(eigentlich .NET allgemein) in Verbindung mit MSSQL gerne als qualitativ hochwertigeren Access Ersatz, ob das gutgeht? (siehe mono)

lgherby
Benutzeravatar
Sr4l
User
Beiträge: 1091
Registriert: Donnerstag 28. Dezember 2006, 20:02
Wohnort: Kassel
Kontaktdaten:

Leonidas hat geschrieben:
Sr4l hat geschrieben:An C# gefällt mir das Versionsgespringe des .NET Frameworks nicht.
Dann wird dir Python 3.0 nicht gefallen. Oder Python 3000 und 4000 ;) Sieh es doch einfach als .Net-Framework 0.1, 0.1.1, 0.2 und 0.3 an. Davon abgesehen macht Firefox ebensolche Sprünge, Opera ebenso, Netscape auch, IE genauso (nur etwas seltener).
Python bruacht 5 Jahre bis die Python Version eine Sprung macht bis sie inkompatibel wird. Das .NET Framwork schafft das in 1 oder 2 Jahren.


**edit**
Wenn ich richtig liege dann ist eine .NET Framwork 1.1 Anwendung nicht unter 2.0 lauffähig dafür brauch man den Source um sie für 2.0 zu builden oder man muss 1.1 und 2.0 in zukunft auch noch 3.0? installireen.

Ich bin mir jedoch nicht 100% sicher allein hatte das Problem nur mal an der Arbeit. Zuhause gebe ich mich mit .NET nicht ab nur mit C# ein bisschen.
Zuletzt geändert von Sr4l am Montag 21. Mai 2007, 19:21, insgesamt 1-mal geändert.
BlackJack

@Leonidas: Ich glaube es ging weniger darum das sich die Nummern ändern, sondern eher darum, dass sich wohl auch immer einiges an der API verändert. Da ist Python wesentlich stabiler.

@Y0Gi: Nein Du bist nicht der einzige. :-)

Ich muss zugeben, dass es schon eine ganze Weile her ist, dass ich in .NET reingeschaut habe, aber damals habe ich einige Entwurfsentscheidungen gar nicht verstanden, bzw. rührten einige der Einschränkungen auch daher das es Teile gab, die einfach nur ein dünner Wrapper um alte Windowsapi waren und damit nicht gerade "modern" und "mit Verstand entworfen" aussahen. ;-)

@thelittlebug: Die GUI-Erstellung ist letztendlich keine Frage der Sprache, sondern der IDE bzw. des GUI-Designers für's verwendete Toolkit.
thelittlebug
User
Beiträge: 188
Registriert: Donnerstag 20. Juli 2006, 20:46
Wohnort: Wien
Kontaktdaten:

BlackJack hat geschrieben:@thelittlebug: Die GUI-Erstellung ist letztendlich keine Frage der Sprache, sondern der IDE bzw. des GUI-Designers für's verwendete Toolkit.
Das ist richtig, aber zeig mir echte Alternativen die qualitativ an den GUI Designer von MSVC2003 ranreichen. Und wenn wirklich WindowsGUI Anwendungen in dem Team erstellt werden fällt mir für Python keine Alternative ein. Zeigt mir was tolles und ich verwende es und bin ruhig :D

lgherby
BlackJack

Wer will denn schon Windows-GUIs erstellen. :-)
Benutzeravatar
Sr4l
User
Beiträge: 1091
Registriert: Donnerstag 28. Dezember 2006, 20:02
Wohnort: Kassel
Kontaktdaten:

thelittlebug hat geschrieben:zeig mir echte Alternativen die qualitativ an den GUI Designer von MSVC2003 ranreicheny
MSVC2005? (schwacher einfall ;-))
thelittlebug
User
Beiträge: 188
Registriert: Donnerstag 20. Juli 2006, 20:46
Wohnort: Wien
Kontaktdaten:

BlackJack hat geschrieben:Wer will denn schon Windows-GUIs erstellen. :-)
und LinuxGUI's?

lgherby
BlackJack

Da gibt's Glade und QT-Designer.
Antworten