Welche Programmiersprache?

Re: hmm,

Original geschrieben von JoelH
diese haben defakto keine Threadsteuerung und entberen dadurch jeder Disskusionsgrundlage. Da verstehe ich dann nimmer über was ihr hier disskutiert.

Webscripte haben immer dasselbe zu tun, wenn der Input gleich ist.

Ich habe den Alexander falsch verstanden. Ich dachte er meinte er hat eine Webapplikation, Eventgesteuert implementiert.
Jedoch ist es eher ein Webserver.

Typisches Missverständniss, um Mitternacht darf das sein :)

Darauf gekommen sind wir eigentlich dadurch das Alexander das EventHandling bei .net besser findet, und ich es bei Java.
 
Code:
// Delegate erstellen
public delegate void MessageRecievedEventHandler(string message);

// Klasse, welche das Event abfeuert
public class KlasseMitEinemEvent()
{
	public event MessageRecievedEventHandler OnMessageRecieved;
	
	// hier das event ansich erst abfeuern,
	// (wenn eventhandler hinzugefügt sind)
	protected virual void MessageRecieved(string message)
	{
		if (OnMessageRecieved != null)
			OnMessageRecieved(message);
	}

	private void bla()
	{
		// hier geschieht etwas
		// in dem fall wohl der Thread der auf neue Nachrichten wartet
		MessageRecieved("bla");
	}

}

Und von einer anderen Klasse aus,
welche darauf wartet das Nachrichten kommen

public class MeineKlasseDieAufDieNachrichtWartet()
{
	private KlasseMitEinemEvent MeineKlasse;

	public MeineKlasseDieAufDieNachrichtWartet()
	{
		MeineKlasse = new KlasseMitEinemEvent();
		MeineKlasse.OnMessageRecieved += new MessageRecievedEventHandler(this.NachrichtVerarbeiten);
	}

	public void NachrichtVerarbeiten(string message)
	{
		System.Console.WriteLine("Nachricht erhalten: " + message);
	}
}

Diese Art von EventHandling finde ich einfach schöner. CodeSchnippsel kannst aber dennoch gerne immer wieder bringen. ;)

Ich habe den Alexander
Man darf mich Alex, oder noch besser, Wiesel nennen. :)
 
Okido Alex, dann will ich mal aufzeigen was mir an diesem Eventhandling nicht so dolle gefaellt:

Alexander Schuc hat gesagt.:
// Delegate erstellen
public delegate void MessageRecievedEventHandler(string message);

Genau der delegate.
Delegates wurden als eine Art Funktionszeiger implementiert. Sprich kurzerhand wurde gesagt: Mit normalen Hausmitteln ist es nicht möglich
so wie gewollt das Eventhandling zu implementieren, da wird kurzerhand
ein neues Schlüsselwort / Sprachfeature eingeführt.
Delegates sollten, laut Antrag Microsoft, auch in Java implementiert werden, als Microsoft noch selber stark auf Java setzte.
Das ganze ist im Java Community Prozess, in denen Firmen wie Sun Microsystems, IBM, Oracle, Together usw sitzen gescheitert. Also wurde
kurzerhand die Fehlimplementierung in .net eingebaut.

Bei Java ist das ganze im Sinne von OOP geregelt. Der Listener ist kein kurioses etwas, oder gar ein Ding welches extra fuer diesen Zweck in die Sprache eingebaut worden ist, sondern ein ganz normales Object das bestimmte vorraussetzungen erfüllt, ganz nach dem OOP Vorbild.
 
Das solche Postings immer wieder in einer Art Glaubenskrieg/ -diskussion enden müssen. :) :) :)
Nein mal im Ernst jeder hat irgendwo seine Vorlieben für irgende eine Sprache.
Und Gottseidank sind die Kritiken und Vorlieben hier konstruktiv.
Aber glaubt ihr, ihr habt dem Ersteller dieses Postings ernsthaft weitergeholfen? Denn evtl. ist er ja mit den Fragen über Eventhandling usw... überfordert und wollte vielleicht nur gewisse Sprachfeatures und Vor-/Nachteile erfahren.
Meiner Meinung nach kommt es wirklich nicht auf die Sprache ansich, sondern auf die Aufgabenstellung, bzw. beim "Spaßprogrammieren" auf die Anwendungen die man erstellen möchte an.
Bei beruflicher Nutzung sollte man natürlich flexibel bleiben.
Ich persöhnlich bevorzuge C++ (Glaubenskrieg, Vorliebe, da mach ich doch mit :) ).
Denn ich denke das C++ rundum eine Sprache ist, mit der man so schnell nicht an irgendwelche Grenzen stößt.
Außerdem wenn man C++ einigermaßen beherrscht, kann man das auch sehr einfach als Sprungbrett für andere Sprachen nutzen, somit ist C++ ein guter Grundstock.
Allerdings beherrsche ich mal von Visual Basic abgesehen keine Konkurenten wie Java, C#, Pascal, ... und möchte somit nichts nachteiliges darüber sagen. Auser, daß ich beruflich nahezu an C++ gebunden bin, weil die Nachteile der anderen Sprachen nicht tragbar sind.
Aber ich meine, daß die Features die C++ besitzt schon dafür sprechen.
Da wären z.B.:
- OOP incl. poloymorphen Objekten.
- Zeiger und Funktionszeiger
- Generische Datentypen und Templates
- Geschwindigkeitsvorteile
- Hardwarenähe
- viel Freiheit ( auch ein Nachteil)
- nahezu plattformunabhängig mit intsprechenden Libs
- verwendbar für große Projekte
- ...
Natürlich gibt es auch Nachteile:
- schwieriger erlenbar
- der Programmierer muss sich um vieles kümmern und somit auch teilw. gefährlich
- teilw. schwer lesbarer Code, wenn man nachlässig ist
- ...

Gruss Homer
 
@Daniel Toplak:

Natürlich versteh ich kein Wort mehr =)
Aber das macht nix, ich folge dem Thread aufmerksam :)
Ich glaube meine Entscheidung C++ mal anzutesten ist richtig. Das schöne daran ist (für mich) die Portierbarkeit in andere Betriebssysteme. Ich HASSE nichts so sehr wie Programme die absolut an ein System gebunden sind.

Nun könnt Ihr weiter mit dem Flamewar machen :) :)
 
Original geschrieben von Daniel Toplak

Aber glaubt ihr, ihr habt dem Ersteller dieses Postings ernsthaft weitergeholfen? Denn evtl. ist er ja mit den Fragen über Eventhandling usw... überfordert und wollte vielleicht nur gewisse Sprachfeatures und Vor-/Nachteile erfahren.

Hey wir sind hier immer noch in CodersTalk :)
 
C++ würde ich nicht ohne Lehrer lernen... ich hab gott sei dank in der Schule C++ gelernt und sonst kappiert man echt nix ! und wenn du meinst C++ ist nicht Systemgebunden dann darfste aber nicht sowas benutzen wie die Windows API oder die MFC weil das ist ja dann wieder an Windows gebunden.

Ich kann nur Python empfehlen ;) easy zu lernen, man wird nicht zur OO gezwungen was für den Anfanger recht angenehm ist und an Python wird ziemlich viel gearbeitet, gibt zur Zeit eigentlich alles was man mit jeder anderen sprache uach machen kann, selbst 3D spiele kann man in Python schon schreiben in OpenGL oder DirectX :) und das tolle ist es gibt soviele funktionen die auf jeder Plattform laufen damit mein ich nicht nur Unix/Linux sondern auch MacOS.

so das war mein beitrag um ein bisschen von Eventhandling weg zu kommen :)

ausserdem warte ich immer noch auf das Python Forum bei tutorials.de, naja wird wohl nicht mehr lange dauern... solange werde ich hier Python schon an den mann bringen ;)

und wo bekommst du infos über Python natürlich hier
 
Ich habe vorher in PHP programmiert und habe dann das .NET Framework und Visual Basic .NET entdeckt.

Ich könnte mir nichts anderes mehr vorstellen. Interessant: die Idee des .NET Frameworks: "Die Programmiersprache ist sekundär"

Vorteile: Jeder kann in "seiner" Sprache programmieren und doch verstehen alle einigermassen den Quellcode anderer aufgrund der gleichlautenden Basisklassen.
Auch angenehm: Multilinguale (nennt man das so?) Programme über .NET Dlls.
Egal in welcher Sprache nützliche Klassen im Internet geschrieben sind.

OOP ist für mich Pflicht. Auf diesen Komfort könnte ich nicht mehr verzichten.
 
@Sunray: Darunter leidet aber (zumindest im Moment) die Portabilität auf andere Systeme. Siehe *nix Systeme und .NET
Und Mono (so heißt die Portierung glaube ich) kann noch nicht als Ersatz herhalten, soweit ich weiß.

Das ist einer der Punkte die ich an .NET nicht mag.
 

Neue Beiträge

Zurück