Richtiges Buch

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.
Gary123456
User
Beiträge: 318
Registriert: Dienstag 26. Februar 2013, 18:39

Naja die ersten Dinge waren ja nur die Dinge, die ich schon kannte und dennoch nochmal wiederholt habe :)
Benutzeravatar
snafu
User
Beiträge: 6741
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Gary123456 hat geschrieben:Und danach kommt keine Skriptsprache mehr, sondern eine richtige. Habe da C in Verdacht. Ich habe mit Bedacht diese Sprache gewählt und sie war sicher die richtige.
Eine Programmiersprache ist doch nicht weniger richtig, nur weil sie ausdrucksstärker ist und bestimmte potenziell fehleranfällige Dinge bewusst nicht unterstützt (wie z.B. Python). Es geht bei der Anwendung einer Programmiersprache einfach darum, ein Set von sprachlichen Mitteln zu haben, um ein Problem möglichst flexibel lösen zu können. Dazu gehören sowohl Syntax und Semantik der Sprache als auch dessen Standardbibliothek. C hat mit Sicherheit seine Daseinsberechtigung (und das haben wir alle auch schon tausendmal gehört), aber mit Sicherheit ist eine Skriptsprache deshalb nicht weniger "richtig". Programmiersprachen unterscheiden sich nunmal dadurch, dass sie manchmal für bestimmte Anforderungen besser geeignet sind als andere Sprachen. Das ist aber keine Frage von genereller Richtigkeit, sondern es geht nur darum, welche Sprache möglicherweise eher für ein bestimmtes Szenario geeignet ist im Gegensatz zu einer anderen. Ein Duschkopf ist ja auch nicht weniger richtig als ein Hochdruckreiniger (mir fiel gerade nichts besseres ein). ;)
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Gary123456 hat geschrieben:Und danach kommt keine Skriptsprache mehr, sondern eine richtige. Habe da C in Verdacht. Ich habe mit Bedacht diese Sprache gewählt und sie war sicher die richtige.
Was ist eine "richtige" Sprache? Ist OCaml eine "richtige" Sprache? OCaml kann sowohl zu Bytecode kompiliert werden wie Python aber auch zu nativem Code wie C.

Aber bedenke dass C für einen Einsteiger nicht unbedingt das beste ist. Ich hab zu C eine Love-Hate-Beziehung und generell wird C zu oft für Dinge hergenommen die in anderen Sprachen wesentlich besser implementiert worden wären. Andererseits ist C der kleinste gemeinsame Nenner, aber um Pointer zu verstehen habe ich erstmal x86-Assembler gebraucht und die weitreichenden Freiheiten die C dir lässt den Speicher zu korrumpieren sind etwas problematisch. Für dich wäre C eher zum lernen sinnvoll, aber weniger um darin Programme zu schreiben.

Aber vor allem muss ich snafu zustimmen: übernimm dich nicht. Rom wurde nicht an einem Tag erbaut und du lernst auch Python nicht in nem Monat.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Gary123456
User
Beiträge: 318
Registriert: Dienstag 26. Februar 2013, 18:39

Ja mit richtig habe ich auch was anderes gemeint. Für mich ist eine Sprache richtig, wenn ich damit machen kann, was ich erwartet habe.

Und C habe ich nach Python vorgenommen, da man damit hardwarenahe Sachen proggen kann (Kann man das mit C++ nicht auch?). C und C++ sind ja praktisch das gleiche, somit habe ich wieder Blödsinn erzählt. C oder C++. Mal sehen, was ich in 5 Jahren nehmen werde.

Nun paar allgemeine Wissensfragen:

- Python ist eine Skriptsprache, kann man diese Sprache denn nicht für größere Projekte einsetzen? Möglich wird das schon sein, was sind aber dann die Nachteile? Was ist der Nachteil , wenn man mithilfe von py2exe die py zur exe umwandelt?

Bye
mutetella
User
Beiträge: 1695
Registriert: Donnerstag 5. März 2009, 17:10
Kontaktdaten:

Gary123456 hat geschrieben:Python ist eine Skriptsprache, kann man diese Sprache denn nicht für größere Projekte einsetzen?
Mir konnte bisher noch niemand erklären, was eine Skriptsprache von "den anderen" (??) Sprachen unterscheidet. Und die immer wieder auftauchende Frage, ob denn Python nicht für größere Projekte geeignet sei, erschließt sich mir auch nicht. Weshalb sollte das so sein?

mutetella
Entspanne dich und wisse, dass es Zeit für alles gibt. (YogiTea Teebeutel Weisheit ;-) )
nezzcarth
User
Beiträge: 1635
Registriert: Samstag 16. April 2011, 12:47

Gary123456 hat geschrieben:
Was ist der Nachteil , wenn man mithilfe von py2exe die py zur exe umwandelt?
Vergiss am besten, dass sowas wie py2exe existiert. Es mag ja Fälle geben, in denen das nützlich ist, aber in fast allen Threads hier (die gefühlt zwei mal die Woche auftauchen) die sich darum drehen, beruht die Verwendung auf einigen Fehlannahmen.
Gary123456
User
Beiträge: 318
Registriert: Dienstag 26. Februar 2013, 18:39

@mutella)

Skriptsprache bedeutet für mich, dass man mit Skripts einige Programme darstellen kann. Diese Skripts sind nicht allzulang. Da stellt sich mir die Frage, ob es bei größeren Projekten weniger "Leistung" besitzt, sprich ob das bei einem aufwendigem Programm langsamer startet bzw. langsamer läuft.

@nezzcarth)

Wenn ich Programmer programmiere müsste ich ja immer den Interpreter mitliefern. Das ist ziemlich dumm und daher die Frage zu px2exe. Ich sehe nur Fragen, wie man das anwendet, aber nicht direkt die Nachteile.
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Gary123456 hat geschrieben:C und C++ sind ja praktisch das gleiche, somit habe ich wieder Blödsinn erzählt.
Und schon wieder hast du Blödsinn erzählt ...

Lerne erstmal eine Programmiersprache vernünftig, selbst das wird dir innerhalb eines Jahres schwer genug Fallen. Prinzipiell wirst du vor dem Problem stehen, dass du gar keinen Vorteil hast auf C++ zu wechseln. Das lohnt sich nur, wenn man sehr dicht an die Hardware muss oder geschwindigkeitskritische Probleme hat. Letzteres macht aber nur Sinn, wenn das zu optimierende Problem bereits algorithmisch optimal gelöst ist. Ansonsten lässt sich sehr leicht eine Lösung finden, welche in Python schneller ist. Ob du allerdings (ohne Studium) jemals so weit kommst, dass du an solche Grenzen stößt, ist durchaus fraglich.

Hinzu kommt, dass ein Wechsel innerhalb der selben Sprachfamilie, in diesem Fall imperativ und objektorientiert, sehr einfach ist. Klar, die Syntax ist unterschiedlich, an vielen Stellen auch die Semantik und die Bibliotheken sind anders, aber prinzipiell gibt es keine großen Unterschiede vom Denkmuster. Daher lohnt es sicher eher, wenn man mal in eine andere Familie schaut, wie zum Beispiel Funktionale Programmierung.
Das Leben ist wie ein Tennisball.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Gary123456 hat geschrieben:Und C habe ich nach Python vorgenommen, da man damit hardwarenahe Sachen proggen kann (Kann man das mit C++ nicht auch?). C und C++ sind ja praktisch das gleiche, somit habe ich wieder Blödsinn erzählt. C oder C++. Mal sehen, was ich in 5 Jahren nehmen werde.
C und C++ sind überhaupt nicht das gleiche, sie sind nichtmal sonderlich ähnlich. Daher kannst du dir sicher sein dass jeder Programmierer der sagt dass er "C/C++-Programmierer" sei, nichts davon ist, sonst würde er wissen das das verschiedene Sprachen sind. Wenn man C++ wie C programmiert dann macht man was falsch.
Gary123456 hat geschrieben:Python ist eine Skriptsprache, kann man diese Sprache denn nicht für größere Projekte einsetzen?
Erklär mir was eine Skriptsprache ist ;)
Gary123456 hat geschrieben:Was ist der Nachteil , wenn man mithilfe von py2exe die py zur exe umwandelt?
Der Nachteil ist, dass die Binaries nicht mehr Platformunabhängig sind, eine 64-Bit EXE kannst du etwa nicht unter 32-Bit-Windows verwenden, eine 32-Bit-EXE kann nicht mehr als 4 GB RAM verwenden. py2exe-generierte Distributionen sind groß weil sie eine komplette Python-Installation mitschleppen und diese hängt auch auf der Version fest die mitgeliefert wurde, das heißt wenn es Python-Sicherheitsupdates gibt müssen alle py2exe-Pakete neu gemacht werden oder sie sind unsicher statt Python *einmal* zu aktualisieren. Auf Platformen != Windows kann man mit py2exe schon gar nichts mehr anfangen.

Und du musst den Interpreter nicht mitliefern. Der ist ja schon vorinstalliert. Oftmal sogar sowohl python2 als auch python3.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
mutetella
User
Beiträge: 1695
Registriert: Donnerstag 5. März 2009, 17:10
Kontaktdaten:

Gary123456 hat geschrieben:Wenn ich Programmer programmiere müsste ich ja immer den Interpreter mitliefern.
Das kann durchaus vorkommen, je nach Programmiersprache und Plattform. Aber wo liegt das Problem? Wenn Du mal genauer hinschaust wirst Du feststellen, dass bei vielen Programmen (sowohl unter Linux wie auch Windows) während einer Installation unaufgelöste Abhängigkeiten auftauchen, die idealerweise vom Installer aufgelöst werden.
Nur weil man es unter Windows gewohnt ist, via Klick auf eine .exe ein Programm zu installieren, heißt das ja noch lange nicht, dass unter Windows bereits alles zur Ausführung dieses Programms zur Verfügung steht.

mutetella
Entspanne dich und wisse, dass es Zeit für alles gibt. (YogiTea Teebeutel Weisheit ;-) )
Gary123456
User
Beiträge: 318
Registriert: Dienstag 26. Februar 2013, 18:39

Hi,
man sehr dicht an die Hardware
Das ist genau das, was ich machen will.
Ob du allerdings (ohne Studium) jemals so weit kommst, dass du an solche Grenzen stößt, ist durchaus fraglich.
Mal sehen ob ich mein ABI gut mache 8)
C und C++ sind überhaupt nicht das gleiche, sie sind nichtmal sonderlich ähnlich. Daher kannst du dir sicher sein dass jeder Programmierer der sagt dass er "C/C++-Programmierer" sei, nichts davon ist, sonst würde er wissen das das verschiedene Sprachen sind. Wenn man C++ wie C programmiert dann macht man was falsch.
Ich vergleiche wieder Äpfel mit Birnen. Lass es erst soweit kommen, wenn ich soweit bin. :lol:
Erklär mir was eine Skriptsprache ist ;)
Eine Skriptsprache ist für mich:
- eine Sprache, mit der man mit kleinem Skript viel machen kann
- es können damit ncith urgroße Programme geschrieben werden (aus meiner Sicht entsteht dann leistungsverlust, oder nicht?)
- ja .... das muss jetzt kommen .... perfekte Sprache um leichte NetWorkHacks zu machen
Der Nachteil ist, dass die Binaries nicht mehr Platformunabhängig sind, eine 64-Bit EXE kannst du etwa nicht unter 32-Bit-Windows verwenden, eine 32-Bit-EXE kann nicht mehr als 4 GB RAM verwenden.
Och nööö. Sehr, sehr schade.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Gary123456 hat geschrieben:- eine Sprache, mit der man mit kleinem Skript viel machen kann
Was ist viel? Was ist klein?

Ist das eine Skriptsprache?

Code: Alles auswählen

USING: io kernel sequences ;

4 iota [
    "Happy Birthday " write 2 = "dear NAME" "to You" ? print
] each
Ist C eine Skriptsprache weil man mit einem kleinen Skript (tcc) einen Compiler schreiben kann?

Du siehst, das ist alles sehr beliebig irgendwie. Daher würde ich den Term Skriptsprache gar nicht mehr verwenden, weil er genau gar nichts aussagt.
Gary123456 hat geschrieben:- es können damit ncith urgroße Programme geschrieben werden (aus meiner Sicht entsteht dann leistungsverlust, oder nicht?)
Wieso sollte man nicht mit jeder Sprache beliebig große Programme schreiben können?
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Gary123456
User
Beiträge: 318
Registriert: Dienstag 26. Februar 2013, 18:39

Ich habe es eingesehen. Aber dann bleibt ja die Frage: Was ist Dein eigentlich eine Skriptsprache?
BlackJack

Anknüpfend an Leonidas letzte Frage: Die Gründe warum man in einer Programmiersprache keine grossen Programme schreiben kann, haben weniger damit zu tun ob die (üblichen) Implementierungen Bytecode oder nativen Binärcode für einen Prozessor erzeugen, sondern eher damit was für Sprachmittel es gibt, um den Code zu strukturieren. Also zum Beispiel ob es so etwas wie Namensräume oder Unterstützung für objektorientierte Programmierung gibt. Da ist Python beispielsweise C gegenüber in beiden Punkten im Vorteil. Python bietet alles was man braucht um grosse Projekte wartbar zu halten.

Skriptsprache ist eigentlich keine Eigenschaft einer Sprache, sondern die Art wie man sie verwendet. Der Begriff impliziert, dass die Sprache in ein grösseres Programm oder System eingebettet ist und man sie dafür verwendet Vorgänge in diesem Programm/System zu skripten. Das kann man mit Python machen. Man kann aber genau so gut eigenständige Anwendungen schreiben. Bis vor ein paar Jahren wäre JavaScript ein gutes Beispiel für eine reine Skriptsprache gewesen, weil sie zu 99,9% zum Skripten innerhalb eines anderen Programmes verwendet wurde, grösstenteils in Browsern. Aber das hat sich mittlerweile auch geändert, denn es gibt immer mehr eigenständigen JavaScript-Code, der mit node.js läuft.

„Gefahrlos” kann man die Bezeichnung „Skriptsprache” eigentlich nur für Sprachen verwenden, die fest mit einem Wirtsprogramm verbunden sind und darin für Skriptingaufgaben verwendet werden. Vielleicht könnte man sie noch für Shell und Batch verwenden, denn auch wenn es grössere Anwendungen als Shell oder Batch-Skripte gibt, so ist das eher ungewöhnlich und nichts was man geplant machen würde.
JonnyDamnnox
User
Beiträge: 68
Registriert: Sonntag 10. März 2013, 21:14

Also ich finde das nicht schlecht:
http://www.amazon.de/Programmieren-lern ... rds=python

Ist die deutsche Übersetzung von "How to think like a computer scientist", die es in der Originalversion auch kostenlos im Internet gibt. Hat ca. 300 Seiten. Kommt alles was man am Anfang braucht vor.
Aber eigentlich würd ich dir empfehlen sehr sehr viel auf englisch zu lesen. Die beste Quelle für Python ist meiner Meinung nach die Python doc an sich, und die Seite stackoverflow.com auf der man Fragen stellen kann(damit meine ich aber nicht das auf diesen Seiten alles einfach erklärt wird). Sobald du nämlich etwas größeres machen willst als Textadventure wirds schon umfangreicher, da gibts dann halt zb nur eine Seite auf englisch auf der steht wies geht. Tut mir leid, aber so isses bei mir jedenfalls^^

Gruß
bb1898
User
Beiträge: 200
Registriert: Mittwoch 12. Juli 2006, 14:28

Leonidas hat geschrieben: Wieso sollte man nicht mit jeder Sprache beliebig große Programme schreiben können?
Ich würde die Frage nach dem Wesen einer Skriptsprache eher umdrehen: macht es Spaß, in Sprache XY Programme für kleine, banale, aber sich wiederholende Aufgaben zu schreiben? Wenn nein, dann ist es eben keine Skriptsprache. Und in diesem Sinne sind Pascal oder C# eher keine - C kenne ich nicht gut genug.
Benutzeravatar
kbr
User
Beiträge: 1487
Registriert: Mittwoch 15. Oktober 2008, 09:27

Skriptsprache
Dies dürfte für viele einfach das Synonym für eine interpretierte Sprache sein - daher oft auch die undifferenzierten Annahmen, dass solche Sprachen generell "langsam" seien, oder für große Projekte nicht geeignet.
BlackJack

@kbr: Das kann aber IMHO auch nicht stimmen, denn dann hätte das auch für VisualBASIC sehr lange zutreffen müssen, ich kenne aber keinen der das tatsächlich als Skriptsprache bezeichnen würde.
Benutzeravatar
snafu
User
Beiträge: 6741
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

bb1898 hat geschrieben:
Leonidas hat geschrieben: Wieso sollte man nicht mit jeder Sprache beliebig große Programme schreiben können?
Ich würde die Frage nach dem Wesen einer Skriptsprache eher umdrehen: macht es Spaß, in Sprache XY Programme für kleine, banale, aber sich wiederholende Aufgaben zu schreiben? Wenn nein, dann ist es eben keine Skriptsprache.
Dann wäre mit "Skriptsprache" also die Fähigkeit gemeint, shellskriptähnliche Programme zu schreiben, ohne dass man zwangsläufig auf dieses Anwendungsfeld eingeschränkt sein muss. Treffender wäre dann aber wohl der etwas schwerfälligere Ausdruck "shellskriptfähige Sprache", denn damit hätte man nicht so sehr das Gefühl, dass außer Shellskripten nicht viel mehr gehen würde. Wie dem auch sei: Den besagten potenziell missverständlichen Ausdruck wird Python so oder so nicht mehr los, denke ich.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

BlackJack hat geschrieben:@kbr: Das kann aber IMHO auch nicht stimmen, denn dann hätte das auch für VisualBASIC sehr lange zutreffen müssen, ich kenne aber keinen der das tatsächlich als Skriptsprache bezeichnen würde.
Bei VB kommt etwas raus was mit .EXE endet. Auch wenn das nur P-Code ist. Ich glaub damit ist es eine "richtige" Sprache. Wie C# auch, da kommt zwar kein echtes binary raus, aber es endet mit ".EXE" ­— good enough ;)

@bb1898: Die Definition funktioniert nicht. Denn ich war gestern in #ocaml und da wurde Python als grausam empfunden und die hätten auch keinen Spaß das für kleine, banale Aufgaben zu verwenden. Genauso gibt es Leute die JavaScript ablehnen. Und stattdessen etwa Skripte mit Scala schreiben (was btw. sogar besser funktioniert als Java weil man keinen getrennten Kompilationsschritt haben muss).
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Antworten