PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : c# vs. python


mobo
2003-05-17, 18:41:13
Nun...ähm ich bin ein absoluter c# Anfänger und streite mich oft mir meinem halbwegs erfahrenen python-programmier-freund.

Er macht ziemlich oft meine liebe c# sprache runter und daich mich als Anfänger nirgens so gut auskenne, kann ich nicht kontern.

Findet sich hier einer der mir einige gute Vorteile von c# gegenüber von python nennen könnte?

grakaman
2003-05-17, 18:59:07
Dann sollte man sich eventuell mal überlegen, ob man auf das Nivau eingehen sollte. Ansonsten kanns du ja deinen Kollegen das Heiseforum empfehen, falls er dich in Ruhe lassen soll. Da kann er ja dann im größten Kindergarten herumbashen, wie er lustig ist ;)

Exxtreme
2003-05-17, 19:08:48
Originally posted by grakaman
Ansonsten kanns du ja deinen Kollegen das Heiseforum empfehen, falls er dich in Ruhe lassen soll. Da kann er ja dann im größten Kindergarten herumbashen, wie er lustig ist ;)
LOL,

Analüst... wird ihm ganz sicher C# empfehlen. Ist schliesslich keine unreife Bastelsoftware der Linux-Lemminge.

:lol:

Unregistered
2003-05-19, 00:26:19
höhö

Womit argumentiert dein Freund denn ? :)
Ich find Python ja gut für Prototyping und kleine Dinge für die ne Skriptsprache halt langt (lässt sich ja gut in C++ einbinden).
Aber für mehr....
Ich weiss ja nicht ;)
Allein schon der geschriebene Code sagt mir bei Python nicht unbedingt für grössere Sachen zu :D

acrophobia
2003-05-20, 20:27:28
@unregistered
Sein wir doch mal ehrlich: Wie hoch ist der Prozentsatz an Menschen die wirklich *GROßE* Programme schreiben?

BTW: Python eignet sich IMO auch für *GROßE* Projekte: siehe www.zope.org (Übrigens, auch IMO, einer der besten Web Application Server die ich kenne)

Eine Programmiersprache sollte demjenigen der sie benutzt "gefallen".

Ich finde Python wirklich eine gelungene Sache.

grakaman
2003-05-21, 07:46:54
Was verstehst du unter große Programme? Wenn Python eine Scriptsprache ist, dann kann man wohl sicher schwer Windowsprogramme mit einer GUI damit entwickeln?!

MfG

stabilo_boss13
2003-05-21, 08:01:59
Jede Programmiersprache hat seine Anwendungsgebiete.

Die Anwendungsgebiete von Python sind ähnlich denen des bekannteren Perl, bspw. Verarbeitung von ASCII-Dateien, Systemadministration und Web-Programmierung.

C# ist eine Mischung aus Basic/Pascal/C++. Es eignet sich für alle Anwendungsgebiete.

Der wesentliche Unterschied ist, das Python ein Interpreter, C# ein Compiler ist. Selbstverständlich kann man mit Python/Perl usw. keine Windowsprogramme oder 3D-Shooter entwickeln.

Der Vergleich der beiden Sprachen ist eigentlich sinnlos, da die Anwendungsgebiete zu unterschiedlich sind. Es vergleicht ja auch niemand Html und C++.

Captain America
2003-05-21, 10:22:24
Originally posted by stabilo_boss13
Es vergleicht ja auch niemand Html und C++.

HTML ist ja auch keine Programmiersprache :D *klugscheiss*

grakaman
2003-05-21, 12:32:57
Originally posted by stabilo_boss13
C# ist eine Mischung aus Basic/Pascal/C++.

Mhhm, man kann zwar in C# GoTo's benutzen, aber das macht ja eh keiner. Sonst wüsste ich nicht welche Ähnlichkeiten C# mit Basic hätte??? Und dass einige Klassen des .NET Frameworks von der Bezeichnung her wie Pascal Befehle klingen, z.B. Writeline, wobei es bei Pascal glaub ich Writeln hiess, würde ich nicht unbedingt auf ein Mischmasch von Sprachen schließen.

MfG

stabilo_boss13
2003-05-21, 13:53:36
Originally posted by grakaman


Mhhm, man kann zwar in C# GoTo's benutzen, aber das macht ja eh keiner. Sonst wüsste ich nicht welche Ähnlichkeiten C# mit Basic hätte??? Und dass einige Klassen des .NET Frameworks von der Bezeichnung her wie Pascal Befehle klingen, z.B. Writeline, wobei es bei Pascal glaub ich Writeln hiess, würde ich nicht unbedingt auf ein Mischmasch von Sprachen schließen.

MfG Der Chef Designer von C# ist Anders Hejlsberg. Er wurde von Microsoft bei Borland abgeworben.
Hejlsberg hat Turbo Pascal entwickelt, das später von Borland lizensiert wurde. Anschließend war er Teamleiter des Delphi Entwicklungsteams.
Daher vermutlich die Ähnlichkeiten zu Pascal.

Die Ähnlichkeiten zu Visual Basic sind imo nicht zu übersehen. Hier 2 Codefragmente zum Vergleich:
C#

public class MyForm : System.Windows.Forms.Form {
this.treeView = new System.Windows.Forms.TreeView();
this.button = new System.Windows.Forms.Button();
this.SuspendLayout();
this.treeView.ImageIndex = -1;
this.treeView.Location = new System.Drawing.Point(24, 32);
this.treeView.Name = "treeView";
this.treeView.SelectedImageIndex = -1;
this.treeView.Size = new System.Drawing.Size(128, 104);
this.treeView.TabIndex = 0;
this.Controls.AddRange(new System.Windows.Forms.Control[] {this.button,this.treeView});
this.ResumeLayout(false);
Visual Basic

Public Class MyForm Inherits System.Windows.Forms.Form
Me.treeView = New System.Windows.Forms.TreeView
Me.button = New System.Windows.Forms.Button
Me.SuspendLayout
Me.treeView.ImageIndex = -1
Me.treeView.Location = New System.Drawing.Point(24, 32)
Me.treeView.Name = "treeView"
Me.treeView.SelectedImageIndex = -1
Me.treeView.Size = New System.Drawing.Size(128, 104)
Me.treeView.TabIndex = 0
Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.button, Me.treeView})
Me.ResumeLayout(false)

grakaman
2003-05-21, 14:03:15
Das hat aber nichts mit der Sprache zu tun, sondern die Ähnlichkeiten kommen daher, da beides VB.NET sowie C# aufs selbe Framework in deinem Bsp. aufsetzt. Es gibt sogar einige Unterschiede zwischen beide Sprachen (was ich aber wieder vergessen habe), was Sprachkonstrukte betrifft. Ich schaue noch mal heute abend nach, um genaueres zu finden. Sonst würde ich im Allgemeinen eher dazu neigen, dass VB eher Pascal (Delphie) ähnelt.

MfG

stabilo_boss13
2003-05-21, 14:26:23
Das wird jetzt etwas OT, aber zum Schluss habe noch das gefunden:

Anders Hejlsberg als der Chefarchitekt von C# hat in einem Interview gesagt, dass es seiner Auffassung nach keine native Sprache für .NET gibt. In seinen Augen ist C# zwar die zuerst entwickelte Sprache, aber bis auf die Syntax zu 99 % mit VB.NET identisch.

grakaman
2003-05-21, 18:46:41
Originally posted by stabilo_boss13
Das wird jetzt etwas OT, aber zum Schluss habe noch das gefunden:

Anders Hejlsberg als der Chefarchitekt von C# hat in einem Interview gesagt, dass es seiner Auffassung nach keine native Sprache für .NET gibt. In seinen Augen ist C# zwar die zuerst entwickelte Sprache, aber bis auf die Syntax zu 99 % mit VB.NET identisch.

Also ich hab mich noch mal umgehört:

- in VB/VB.NET kann man keine Pointer benutzen
- in VB/VB.NET kann man keine Operatoren überladen
- XML Dokumentation geht nicht
- es gibt keine using Anweisung -> ruft unmittelbar nach verlassen des using scope Dispose Methode auf (kann für Bereinigungsarbeiten benutzt werden)
- VB/VB.NET kann keine Indexer
- VB/VB.NET ist nicht typsicher, da man Option explizit auf Off stellen kann
- VB/VB.NET ist nicht case sensitiv

Naja und syntaktisch sind beide ja sowieso vollkommen verschieden.
(Klassen/Methoden/Typen/ Deklaration, Namespace importieren etc.)

PS. Bei benutzung der .NET Klasse wird es dann wohl kein Unterschied geben, so dass im Alltag die Sprachunterschiede nicht sooo bedeutend sind.

MfG

Xmas
2003-05-22, 01:26:17
Jap, also rein sprachlich hat C# gar nichts mit VB.net zu tun. Viel eher kann man C# mit Java und C++ vergleichen.

Und Hejlsberg mag vielleicht TP entwickelt haben, Pascal hat er allerdings nicht entworfen. Und eine besondere Ähnlichkeit zwischen Object Pascal und C# kann ich auch nicht erkennen.

mobo
2003-05-22, 23:36:51
Python = nix mit 3D Shoote und etc. ???

mobo
2003-05-22, 23:38:28
hehe, soll shooter heißen!

(hab paßwort vergessen und muss als gast rumspucken)

stabilo_boss13
2003-05-23, 08:24:16
@Xmas und @grakaman:

Habe euch ja nie wiedersprochen! Aber so ganz unrecht habe ich halt auch nicht. Ich darf eben in VB, C++ und C# entwickeln. Deshalb kenne ich die 3 Sprachen halt.

C# "fühlt sich an", wie eine Mischung aus C++ und Visual Basic. Speziell Python-Programmierer werden sofort produktiv in dieser Sprache arbeiten können.
Quelle: http://www.datec.at/csharp.html
(@mobo: Wäre das nicht ein Argument für C#?)

Hier werden Sie im Verlauf des Buchs erfahren, warum C# die ideale Mischung aus der Mächtigkeit von C++ und der Produktivität von Visual Basic mit der Modernität von Java darstellt.
Quelle: http://www.addison-wesley.de/media_remote/katalog/bsp/3827319323bsp.htm

C# ist die Antwort von Microsoft auf Java und ist eine Mischung aus Java, C++ und Visual Basic.
Quelle: http://www.ssw.uni-linz.ac.at/Teaching/Lectures/CSharp/
(Naja. Imho eher C++, VB und Pascal/Delphi. Oder vielleicht aus allen vieren?)