Richtiges Buch
-
- 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
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).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.
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
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.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.
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
-
- 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
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
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?Gary123456 hat geschrieben:Python ist eine Skriptsprache, kann man diese Sprache denn nicht für größere Projekte einsetzen?
mutetella
Entspanne dich und wisse, dass es Zeit für alles gibt. (YogiTea Teebeutel Weisheit )
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 hat geschrieben:
Was ist der Nachteil , wenn man mithilfe von py2exe die py zur exe umwandelt?
-
- 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.
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.
Und schon wieder hast du Blödsinn erzählt ...Gary123456 hat geschrieben:C und C++ sind ja praktisch das gleiche, somit habe ich wieder 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.
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
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: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.
Erklär mir was eine Skriptsprache istGary123456 hat geschrieben:Python ist eine Skriptsprache, kann man diese Sprache denn nicht für größere Projekte einsetzen?
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.Gary123456 hat geschrieben:Was ist der Nachteil , wenn man mithilfe von py2exe die py zur exe umwandelt?
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
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.Gary123456 hat geschrieben:Wenn ich Programmer programmiere müsste ich ja immer den Interpreter mitliefern.
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 )
-
- User
- Beiträge: 318
- Registriert: Dienstag 26. Februar 2013, 18:39
Hi,
- 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
Das ist genau das, was ich machen will.man sehr dicht an die Hardware
Mal sehen ob ich mein ABI gut macheOb du allerdings (ohne Studium) jemals so weit kommst, dass du an solche Grenzen stößt, ist durchaus fraglich.
Ich vergleiche wieder Äpfel mit Birnen. Lass es erst soweit kommen, wenn ich soweit bin.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.
Eine Skriptsprache ist für mich:Erklär mir was eine Skriptsprache ist
- 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
Och nööö. Sehr, sehr schade.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.
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Was ist viel? Was ist klein?Gary123456 hat geschrieben:- eine Sprache, mit der man mit kleinem Skript viel machen kann
Ist das eine Skriptsprache?
Code: Alles auswählen
USING: io kernel sequences ;
4 iota [
"Happy Birthday " write 2 = "dear NAME" "to You" ? print
] each
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.
Wieso sollte man nicht mit jeder Sprache beliebig große Programme schreiben können?Gary123456 hat geschrieben:- es können damit ncith urgroße Programme geschrieben werden (aus meiner Sicht entsteht dann leistungsverlust, oder nicht?)
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
-
- 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?
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.
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.
-
- 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ß
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ß
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.Leonidas hat geschrieben: Wieso sollte man nicht mit jeder Sprache beliebig große Programme schreiben können?
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.Skriptsprache
@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.
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.bb1898 hat geschrieben: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.Leonidas hat geschrieben: Wieso sollte man nicht mit jeder Sprache beliebig große Programme schreiben können?
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
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 enoughBlackJack 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.
@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