Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]1125[/thread]

C und Perl

Leser: 1


<< |< 1 2 >| >> 13 Einträge, 2 Seiten
J-jayz-Z
 2005-05-08 14:37
#11185 #11185
User since
2005-04-13
625 Artikel
BenutzerIn
[Homepage] [default_avatar]
Was haltet ihr eigentlich davon, C/C++ und Perl zu verbinden?
Ich bin eigentlich eher der Perler, und es gibt ja die Möglichkeit Perlcode in C einzubetten. Haltet ihr das für sinnvoll oder sollte man lieber so mächtige Sprachen wie C nicht verunreinigen? ? ?
perl -Mstrict -Mwarnings -e 'package blub; sub new { bless {} } sub bar {my $self=shift; $self->{bla}="5065726c2d436f6d6d756e697479"; return $self->{bla};} my $foo=blub->new();print "Hallo ";print pack("H*",$foo->bar()); print "\n"'

http://perl-tutor.de
steffenw
 2005-05-08 23:57
#11186 #11186
User since
2003-08-15
692 Artikel
BenutzerIn
[Homepage] [default_avatar]
Es gibt für alles einen Zweck und das kann sein, daß Du eine zeitkritische Anwendung einbinden willst und Du sie mit C wesentlich effektiver schreiben kannst, dann ist das ein möglicher Weg. Andererseits müssen aber auch die Schnittstellen von C nach Perl und umgekehrt ausprogrammiert werden. So etwas sollte man nur tun, wenn das Programm dann wirklich effektiver läuft/laufen muß. Unter Win hättest Du damit schon mal ein Problem, weil Du nicht davon ausgehen kannst, daß ein C-Compiler vorliegt. Was ich damit sagen will, daß durch solche Konstrukte auf jeden Fall die Portabilität leidet. Aber es gibt für alles einen Sinn und ich glaube, das ist der Sinn. Man kann ja auch Java mit Perl verbinden und umgekehrt. Gibt es eigentlich irgend etwas, was nicht mit Perl möglich ist?

Übrigens kann man mit C alles machen, wenn man nicht vorher gestorben ist. Aber das Wort mächtige Sprache paßt doch eher zu Perl.\n\n

<!--EDIT|steffenw|1115582480-->
$SIG{USER} = sub {love 'Perl' or die};
J-jayz-Z
 2005-05-09 14:40
#11187 #11187
User since
2005-04-13
625 Artikel
BenutzerIn
[Homepage] [default_avatar]
Aber C ist doch nicht umsonst die meist verbreitete Programmiersprache, oder nicht? Ich bin noch ein totaler C newbie, aber die ganzen Programme für Linux beispielsweise sind ja in C geschrieben. Und da kann man schon einiges machen. Außerdem kann man damit ne exe baun, die nicht gleich übertrieben groß ist...
Wie gesagt, wenn ich was falsches schreib, grad korrigieren, ich hab von C nur sehr wenig Ahnung!
perl -Mstrict -Mwarnings -e 'package blub; sub new { bless {} } sub bar {my $self=shift; $self->{bla}="5065726c2d436f6d6d756e697479"; return $self->{bla};} my $foo=blub->new();print "Hallo ";print pack("H*",$foo->bar()); print "\n"'

http://perl-tutor.de
esskar
 2005-05-09 14:50
#11188 #11188
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
[quote=J-jayz-Z,09.05.2005, 12:40]Aber C ist doch nicht umsonst die meist verbreitete Programmiersprache, oder nicht? Ich bin noch ein totaler C newbie, aber die ganzen Programme für Linux beispielsweise sind ja in C geschrieben. Und da kann man schon einiges machen. Außerdem kann man damit ne exe baun, die nicht gleich übertrieben groß ist...
Wie gesagt, wenn ich was falsches schreib, grad korrigieren, ich hab von C nur sehr wenig Ahnung![/quote]
man kann mit C alles programmieren...
Ronnie
 2005-05-09 14:51
#11189 #11189
User since
2003-08-14
2022 Artikel
BenutzerIn
[default_avatar]
Die Frage ist ob du schnelle Programme schreiben willst, oder schnell Programme schreiben willst! Im ersten Fall bist du mit einer hardwarenahen kompilierbaren Sprache wie C gut beraten, im zweiten Fall mit einer Skriptsprache wie Perl.
steffenw
 2005-05-09 15:11
#11190 #11190
User since
2003-08-15
692 Artikel
BenutzerIn
[Homepage] [default_avatar]
Du kanst mit Perl auch eine exe bauen. Übertrieben groß ist die nicht, aber sie bindet natürlich den Perl-Interpreter als erstes mit ein und wächst dann wie jede andere exe nur noch damit, was Dein Programm bzw. die von Dir benutzten Module ausmacht. Der Interpreter hat natürlich eine gewisse Größe. Da könnte es sein, daß dazu Dein Programm eher eine lächerliche Größe hat.

Bei C bist Du natürlich nicht an das Vorhandensein eines Betriebssystems gebunden. Irgendein Prozessor reicht da schon. Das erklärt auch, daß C natürlich eine bedeutende Größe in der Systemprogrammierung ist. In der Anwendungsprogrammierung, also für diverse Betriebssysteme gibt es eben auch die Scriptsprachen, wo Perl die ist, mit der man am schnellsten viel Anwendung programmieren kann. Für ein Unternehmen sind Lohnkosten ein Kostenfaktor. Dagegen ist Speicher oder Festplattenkapazität meist recht preiswert zu haben. Also wird man, wenn es geht, versuchen, mit möglichst wenig Programmieraufwand möglichst viel Funktionalität zu erzielen. Es geht also immer um's Geld.

Wie Du siehst, macht es wenig Sinn Perl und C zu vergleichen. Die Anwendungsbereiche differieren stark. Aber es lohnt sich auf jeden Fall für Dich beide Sprachen zu erlernen. Mit beiden zusammen kannst Du dann wirklich alles machen und das auch immer sehr effektiv, je nachdem wie die Anforderungen eben sind.\n\n

<!--EDIT|steffenw|1115637334-->
$SIG{USER} = sub {love 'Perl' or die};
lichtkind
 2005-05-09 15:12
#11191 #11191
User since
2004-03-22
5679 Artikel
ModeratorIn + EditorIn
[Homepage]
user image
es gibt von brian ingerson die inline module um direct c innerhalb deies perl zu schreiben
Wiki:Tutorien in der Wiki, mein zeug:
kephra, baumhaus, garten, gezwitscher

Es beginnt immer mit einer Entscheidung.
J-jayz-Z
 2005-05-09 16:50
#11192 #11192
User since
2005-04-13
625 Artikel
BenutzerIn
[Homepage] [default_avatar]
Hmm, okay.
Ich sehe schon. Welche Sprache man besser benutzt kommt nicht generell auf die Sprache an. Eher an das Anwendungsgebiet.
Nur wenn ich ehrlich bin, kann ich mir nicht wirklich vorstellen, wie man in C so etwas programmieren kann...
Werde ich mir wohl mal die Sourcen eines Linux tools anschauen. Kann man ja, das find ich ja so gut;p
Aber danke mal, für eure hilfreichen Tipps!
Ich habe mittlerweile auch eingesehen, dass es nicht viel Sinn macht C in Perl einzubetten und umgekehrt...

Nochwas: Welche GUI sollte man in C benutzen, wenn man Systemunabhängig programmieren will? WinAPI und GTK+ sind ja wohl eher Windows bzw. Linux speziefisch...
perl -Mstrict -Mwarnings -e 'package blub; sub new { bless {} } sub bar {my $self=shift; $self->{bla}="5065726c2d436f6d6d756e697479"; return $self->{bla};} my $foo=blub->new();print "Hallo ";print pack("H*",$foo->bar()); print "\n"'

http://perl-tutor.de
Strat
 2005-05-09 18:51
#11193 #11193
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
ich koennte mir z.B. eine C-Anwendung gut vorstellen, die man durch ein paar Zeilen eingebetteten Perlcode konfiguriert... haeufig wurde fuer sowas bisher leider Tcl verwendet...
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
ptk
 2005-05-09 22:55
#11194 #11194
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
[quote=J-jayz-Z,09.05.2005, 14:50]Nochwas: Welche GUI sollte man in C benutzen, wenn man Systemunabhängig programmieren will? WinAPI und GTK+ sind ja wohl eher Windows bzw. Linux speziefisch...[/quote]
Perl/Tk kann Unix und Windows (und MacOSX mit X-Server) bedienen.

Gtk gibt es wohl auch fuer Windows, allerdings weiss ich nicht, wie ausgereift die Portierung ist.

Dann gibt es noch WxPerl.

Einen Vergleich findet man auch hier: http://www.perlmonks.org/?node_id=108708
<< |< 1 2 >| >> 13 Einträge, 2 Seiten



View all threads created 2005-05-08 14:37.