Welche Programmiersprache ist gut für Anfänger?

Ammonox

Herzlich willkommen!
Hall supernature forum !

Ich bin jetzt 21 jahre jung und habe eine abgeschlossene lehre als lebensmitteltechniker / maschinen/anlagenführer , habe mich aber immer für einen beruf mit Computer interessiert aber da ich damals nur eine qualifizierenden hauptschulabschluss hatte war das schwer möglich. Jetzt bin ich am überlegen evtl neue ausbildung zu machen , quereinstieg also einfach in den beruf bewerben oder fortbilden. Wollte da schonmal mit lernen von programmiersprachen anfangen um ein gewisses vorwissen aufweißen zu können. ( Tendiere sogar eher zur dualen ausbildung da es wohl doch das beste sein wird ) Jetzt meine frage welche sprache ist leicht für den anfang und auch nützlich im allgemeinen, ein freund von mir meine Qbasic wäre nicht schlicht für den anfang oder java. Könnt ihr mir da ein paar tipps geben und was ich wofür benötige ?

MFG
 
Als erstes fände ich es ganz freundlich wenn du dir etwas mehr Mühe mit der deutschen Sprache geben würdest. Ist nicht böse gemeint, aber dein Beitrag sieht schon etwas arg dahingeschludert aus.

Wir haben in der Ausbildung (Fachinformatiker Systemintegration) ein bisschen Visual Basic gelernt. Das ist sicherlich geeignet für Anfänger. Allerdings hätte ich lieber C++ oder Java gelernt, weil man mit VB mMn nicht soviel anfangen kann.
 
AW: Programmiersprach anfänger!

Willkommen an Board Ammonox :)

Ich bin zwar auch noch blutiger Anfänger, versuche mein Glück allerdings mit Python und begeistert, wie schnell sich selbst für jemanden, fast ohne Kenntnisse, etwas auf die Beine stellen lässt.

Das besondere an dieser Sprache ist, dass sie sehr flexibel und nicht abhängig von der Plattform ist.
Code, welchen ich unter meinem Debian GNU/Linux schreibe, kannst Du ebenso leicht unter Windows benutzen, ohne extra dafür etwas umzuschreiben.
 
AW: Programmiersprach anfänger!

Hallo Ammonox,

ich meine mich zu entsinnen, eine ähnliche Frage vor Monaten auch mal gestellt zu haben. ^^
Ich hab damals ein bisschen mit Batch rum gebastelt, was mir aber nicht gereicht hat, nun kann ich C# und lerne gerade PHP.

Wenn du eine Programmiersprache lernen willst und kein Vorwissen oder ein besonderes Talent vorweisen kannst, dann solltest du Sprachen wie C oder C++ meiden. Beide sind zwar sehr mächtig, aber auch schwer zu erlernen. Zusätzlich fordert C gute allgemeine Kenntnisse zum Computer.

Weil ich trotzdem immer möglichst mächtige Sprachen lernen wollte und die Syntax der C-Sprachen aus dem Schul-Java schon kannte, habe ich mich dann schlussendlich für C# entschieden. Das hat ne Menge Vorteile. Das Net-Framework bietet eine riesige Palette an Erleichterungen, Microsoft eine hervorragende Seite, wo alles erklärt ist und nachgeschlagen werden kann sowie auch einen sehr guten Editor namens Visual Studio, der als Express-Version kostenlos ist. Zusätzlich ist C# sehr leicht zu erlernen, bleibt aber dennoch eine mächtige Sprache, die zwar an Windows gebunden ist, allerdings dort beinahe alles bietet. Außerdem gehört sie ebenfalls dem C-Stamm an, was den Umstieg zu C oder C++ (oder andere, wie D, F# ...) erleichtert.

C# ist Java syntaktisch sehr ähnlich, was es mit etwas Einarbeitungs-Zeit möglich macht, beide Sprachen bis zu einem bestimmten Grad zu verstehen, daher konnte ich aus dem Java-Unterricht für C# profitieren.
Allerdings ist Java etwas langsamer als C# und bietet einige Dinge nicht, die in C# die Arbeit erleichtern. So gibt es in Java z.B. die Eigenschaften nicht, welche die Attribute einer Klasse nach außen hin sicher und einfach verfügbar machen. In Java muss man dazu immer noch die Get- und Set-Methoden schreiben, was ich als unhandlich empfinde. Außerdem ist die Java-Bibliothek deutlich kleiner und fehlerbehafteter als die von C#.
Ich weiß, dass ich damit jetzt einen Glaubens-Krieg los stoße, aber das ist meine Meinung. ^^ Lerne C#, damit bist du auf jeden Fall besser beraten. ^^

Neben diesen Hochsprachen gibt es auch noch weitere Sprachen, wie z.B. PHP.
PHP ist einen Script-Sprache und ebenfalls C# sehr ähnlich. Allerdings ist sie nur schwach typisiert, was ich persönlich gar nicht mag.
Dennoch hat PHP das Web-Wesen behauptet und wenn du später einmal Webseiten designen willst, solltest du dir diese Sprache durchaus mal anschauen. ^^
Allerdings sollte man dafür sich mit HTML/CSS auskenne, was allerdings nicht schwer oder langwierig zu lernen ist.
PHP selber ist auch sehr leicht zu erlernen, bietet direkte Verbindungs-Möglichkeiten mit MySQL an, ist Plattform unabhängig und wird bei jeder größeren Webseite verwendet, so auch bei unserem schönen Forum hier. ^^


Also, je nachdem, was du machen willst (Webdesign, oder richtige Softwareentwicklung) musst du dich entscheiden.
Bei Webdesign ist HTML/CSS und PHP ein Muss.
Wenn du in die Softwareentwicklung willst, musst du eventuell mit langsameren Erfolgen rechnen, kannst dafür aber deutlich mehr machen und du hast auch deutlich mehr Möglichkeiten, dich selber weiter zu bilden. So kannst du z.B. C++ lernen, die Sprache, die meistens für Spiele wie Assassin's Creed verwendet wird, weil sie beinahe Assambler-Möglichkeiten bietet und sehr hardwarenahe arbeitet und dabei Objektorientierung mit einer sehr guten Performance kombiniert. C als Assambler-Sprache wurde unter Anderem in den Betriebs-Systemen Windows und Linux verwendet und kann absolut alles, was keine Objektorientierung zwingen voraus setzt. Oder du lernst Python, Delphi, es gibt genug zur Auswahl.
Im Webdesign kannst du schneller Erfolge erzielen. So gibt es sogar immer irgendjemanden, der eine Webseite haben will und bereit ist, dafür Geld zu bezahlen. Du musst sie nur finden und überzeugen. ^^
 
AW: Programmiersprach anfänger!

Hi,

dem möchte ich beipflichten, Pascal ist gut für das Selbststudium und hat den Vorteil, dass die Variablen von vornherein mit definiertem Datentyp festgelegt sein wollen. Das führt dazu, dass man schon zu Beginn lernt eine klare Struktur anzulegen.
Ursprünglich hatte ich mit Assembler und anschliessend Turbo-Pascal von Borland begonnen (ist schon ein paar Tage her ;))und so nutze ich heute oft Python 3.2 oder direkt Ansi-C für Automation- und Prozessfunktionen, C# und C++, je nach Aufgabe und Ziel (Portierbarkeit).

Visual-Basic ist meines Erachtens nicht gerade ein guter Einstieg, da das nun wirklich ein MS eigenes Dialekt ist. Damit ist man an MS gebunden und tut sich anschliessend schwer andere Dialekte anzuwenden. Dazu gibt es noch viele reine Script-Sprachen wie z.B. VBS das direkt mit dem Editor erstellt wird, die aber alle die auf den Grundstrukturen hohen Programmiersprachen abgeleitet sind. Nur in diesen fehlt zumeist ein Debugger was das Fehler finden zum Teil erheblich erschwert.

Java und C erfordern aber schon mehr Kenntnisse, die Funktionen von Pascal können aber alle in diesen Sprachen auch übersetzt werden. Entscheidend ist aber, was Du schlussendlich realisieren willst.

Gruss ms
 
AW: Programmiersprach anfänger!

Muss nicht bei jeder streng typisierten Sprache der Typ schon bei der Initialisierung der Variable fest gelegt werden? ^^
Aber vielleicht schaue ich mir Pascal auch irgendwann mal an, dann freut sich der bastla :D


Visual Basic halte ich auch für unnötig. VB kann maximal so viel wie C#, aber es ist deutlich schwerer, auf andere Sprachen umzusteigen. Von VB könnte man vermutlich nicht ohne größeren Aufwand C oder C++ lernen, weil man ja auch eine völlig neue Syntax erlernen muss.
Ich bin da immer noch für C# als Anfängersprache. ^^ Wer C# kann, der kann auch mit gewissen Einschränkungen VisualBasic-Code verstehen, wenn das mal nötig sein sollte.


Was ich aber nicht verstehe ist, wie du Java mit C vergleichen kannst?
Java ist eine objektorientierte Programmiersprache und C eine rein imperative Sprache. Das sind zwei Welten, auch wenn die Syntax ähnlich ist.
Oder wie meinst du das? :D
 
AW: Programmiersprach anfänger!

hi,

jep, das ist soweit schon richtig Java ~ C++, nur ist der Unterschied in meinen Augen entscheidend, dass C reine Kompilate sind, während in Java vieles über Interpretation läuft.

So kann man sagen, dass Java ein Kind des Internets ist. Die Wurzel lag daran, dass man via Internet vermeiden wollte grossen Programmcode zu transportieren und deshalb einen Grossteil von Java lokal interpretiert wird. Das bedingt ja, dass vom "user" eine lokale Laufzeitumgebung geladen werden muss.

Ich persönlich ziehe C und C++ eindeutig vor, nur sind diese Programme halt in der Regel immer direkt auf den Rechner zu laden. Darum meine Aussage, dass es halt schon auf die jeweilige Anwendung ankommt, welche Sprache nun genutzt werden soll.

Da ich sehr oft Programme für Prozessautomation schreibe nutzte ich zumeist Pascal und Ansi-C, da bei diesen Aufgaben das Echtzeitverhalten bedeutend wichtiger ist als der Komfort via Graphik.

Gruss ms
 
Ich habe auch, wie Palladin, ein bisschen in Batch gescriptet, bevor ich auf die höhere Programmiersprache Pascal umgestiegen bin.
Pascal eignet sich in soweit super für Anfäger, da die Syntax leicht zu lesen und nachvollziehbar ist und extra für den Einstieg in die objektorinetierte Programmierung entwickelt wurde.

Man kann Pascal mit Delphi nutzen, das jedoch übelst teuer ist, oder man benutzt Lazarus auf der Basis des FreePascals Compilers

Übersicht:
Pascal ist eine höhere Programmiersprache wie Java, C++ etc.
Pascal ist einfach zu lesen, aber deswegen nicht weniger wirkungsvoll!
Pascal ist
(auf FPC- und Delphi-Basis) imperativ und objektorientiert!
Pascal ist plattformunabhängig
(nur auf FPC-Basis!, du kannst Programm für Windows, Mac und Linux schreiben)
Pascal benötigt keine Treiber/Laufzeitumgebungen, wie .NET oder Java-Runtimes, Python etc.


Palladin und ich haben schon öfter (auch hier sichtbar im SNF) mit Leib und Seele "diskutiert", ob C# oder Pascal - es lief darauf heraus, dass C# eine Art ertweiterte Skriptsprache ist (wegen dem NET-Framework), die dazu noch plattformgebunden ist!

Der einzige Nachteil von Pascal ist, dass es ein Sprach-Stil ist - das heißt, es gibt verschiedene Dialekte und Compiler, wie das teure Delphi (das nur auf Windows läuft), den Allrounder FreePascalCompiler für Windows, Mac, Linux, iOS, Android, Nintendo etc sowie Lazarus, das auf den FPC-Compiler basiert aber die objektorientierte Programmierung ergänzt (damit kannst du dann grafische Programm erstellen) oder den GNU Pascal Compiler (welcher ganz anders als Delphi und Lazarus nur imperativ funktioniert).

Was du aber letztendlich wählst, ist deine Entscheidung. ABER: Für alle Programmiersprachen gilt: Man lernt sie nicht über Nacht oder gar in einer Woche - selbst nach Jahren Erfahrung kann man noch Neues zu der Sprache dazulernen!

Gruß,
bastla :)
 
Wenn Du erstmal nen leichten Einstieg vor hast, dann versuch es mit Profan von Roland Hülsmann. Link: PROFAN

Kommt gut für Anfänger, ist in älteren Versionen kostenlos und hat den Vorteil, dass man sich bestimmte Strukturen aneignet. Ein späterer Umstieg auf komplexere Programmiersprachen fällt dann ggf. leichter.

Profan ist mächtig und recht schnell - es gibt viele Tools für umme. Nicht die Interpreter-Version nehmen sondern die mit Compiler (derzeit Version 9.x). Ich habe Profan bevorzugt, da ich per Hobby aus der Datenbank-Ecke komme, wo dBase, Clipper und Co. der Standard waren. Ist nach wie vor nicht "veraltet" - man lernt strukturiert zu denken.
Ich halte Profan für erste Wahl, was freie Programmiersoftware anbelangt. Ich benutze es selbst, da ich nie was mit dem doch sehr komplexen C# am Hut hatte. Und Pascal ist mir auch zu umständlich. Aber alles "Geschmacksache" - wie immer.

Im Prinzip ist es egal, was Du zuerst lernst. Man leckt Blut. Irgendwann weißt Du, was Du willst. Und das ist ausschlaggebend.
 
Palladin und ich haben schon öfter (auch hier sichtbar im SNF) mit Leib und Seele "diskutiert", ob C# oder Pascal - es lief darauf heraus, dass C# eine Art ertweiterte Skriptsprache ist (wegen dem NET-Framework), die dazu noch plattformgebunden ist!

Das habe ich zwar nie gesagt, sondern das ist auf deinem Mist gewachsen, aber nachdem ich mich jetzt mal belesen habe, weiß ich, dass C# in die Zwischen-Sprache MSIL übersetzt wird und damit so etwas ähnliches wie eine Scriptsprache ist.

Aber selbst, wenn du Recht hast, bietet C# immer noch eine Klassen-Bibliothek, die die Arbeit jedes C#-Entwicklers deutlich vereinfacht. Außerdem kann man von C# wie gesagt relativ einfach auf C++ umsteigen und danach auf C.
Und du kannst sagen, was du willst, gegen C++ kann dein Pascal nicht an stinken. :p C++ ist einfach sehr schnell, sehr mächtig und ebenfalls unabhängig. Und wenn einem was fehlt, dann kann man bestimmt auch die passenden DLLs aus dem Net-Framework "klauen" und verwenden.
C ist zwar imperativ, aber eine Assemblersprache und für eine Assemblersprache ist C noch sehr einfach. Schaut euch doch mal auf Wikipedia die Beispiele an.
Wenn man bedenkt, dass das in MASM für MS-DOS geschriebene:
Code:
DATA SEGMENT ;- Beginn des Datensegments
Meldung db "Hello World" ;- Die Zeichenkette "Hello World"
        db "$"             ;- Endzeichen der Zeichenkette
DATA ENDS ;- Ende des Datensegments
CODE SEGMENT ;- Beginn des Codesegements
ASSUME CS:CODE,DS:DATA ;- dem Assembler die Segmente mitteilen
Anfang: ;- Label für den Anfang des Programms
mov ax, DATA ;- das Daten...
mov ds, ax ; ...segment festlegen
mov dx, offset Meldung ;- den Text in das auf DS bezogene Datenregister laden
mov ah, 09h ;- die Unterfunktion 9 des Betriebssysteminterrupts 21h auswählen
int 21h ;- den Betriebssysteminterrupt 21h (hier erfolgt Ausgabe des Texts) aufrufen
mov ax, 4C00h ;- die Unterfunktion 4Ch (Programmbeendigung) des Betriebssysteminterrupts 21h festlegen
int 21h ;- diesen Befehl wiederum ausführen 
CODE ENDS ;- Ende des Codesegments
END Anfang ;- dem Assembler das Ende des Labels Anfang mitteilen
dem in C geschriebene:
Code:
#include <stdio.h>
#include <stdlib.h>
 
int main(void)
{
    printf("Hallo Welt!\n");
    return EXIT_SUCCESS;
} /* end main() *
entspricht, dann ist der Unterschied doch sehr deutlich zu erkennen.
Beides gibt nur "Hallo World", oder "Hallo Welt" auf dem Bildschirm aus und die Variante in C ist sowohl einfacher und übersichtlicher.

C# bietet einen sehr leichten Einstieg und eine sehr umfangreiche Bibliothek, die es dem Anfänger leicht macht, aber auch dem Profi umfangreiche Möglichkeiten für jeden Anwendungsbereich bietet.


Ich gebe zu, Pascal ist verlockend, aber der Einstieg mit so einer Bibliothek ist schlich einfacher und angenehmer und die Sprachen C und C++ als Umstiegs-Möglichkeiten sind gegenüber Pascal dominant.
 
Jetzt wird das hier wieder eine "Diskussion" - im Vorfeld: Lass uns es nicht übertreiben, ich hab kein Bock auf Chatbremse & Co ;):D

Erstmal: Mit Pascal kann man sich auch die DLLs aus der Bibliothek von .NET klauen und nutzen - wie bei jeder anderen Programmiersprache auch ;) (und natürlich auch erstellen)
Und wenn wir schon bei Windows sind - Lazarus kann auch die WinAPI nutzen :D!

Desweiteren kommt Lazarus mit drei Bibliotheken: der Lazarus Component Library (der benötigte Quatsch für Win32), der Free Pascal Component Library und der Free Pascal Run-Time Library.
Diese Bibiliotheken sind aber nicht in einer DLL-Form vorhanden, sondern in Units, welche beim komplimieren des Codes direkt in die Executable implementiert wird. Das heißt: Eine Executable, keine DLLs oder sontigen Quatsch. Deshalb braucht Lazarus auch keine Laufzeitumgebung.
Die Units blähen das komplierte Programm nochnicht mal auf - SmartLinking linkt wirklich nur die Funktionen in die Anwendung, die man auch wirklich benötigt :).

Dreh' es wie du willst: Lazarus ist C# um Längen vorraus - und ob C++ so viel mächtiger ist, wage ich zu bezweifeln.
 
und ob C++ so viel mächtiger ist, wage ich zu bezweifeln.

Dann beantworte mir die Frage, warum immer noch so viele Spiele, wie z.B. Assassin's Creed mit C++ erstellt werden und nicht mit Lazarus.
Bei solchen Spielen hängt Unmengen Geld drin und es wäre schlicht dumm, dann nicht die bessere Sprache zu nehmen.

Außerdem ist C++ im prinzip nur die objektorientierte Variante von C.
Ich kenne mich mit C++ noch nicht wirklich aus, aber ich denke, dass der Unterschied zwischen beiden Sprachen relativ gering ist, wenn man einmal nur die Möglichkeiten betrachtet. C kann halt noch im Assambler-Mode operieren und hat damit einen gigantischen Vorteil gegenüber C++, wobei C++ aber auch sehr nahe an der Hardware operieren kann.
 
hi,

ich staune ein wenig... Warum philosophiert Ihr hier, welches nun die bessere Programmiersprache ist. Natürlich kann man geteilter Meinung sein. Ich habe auch viele Programme in Basic geschrieben, auch dies Sprache ist geeignet jedes Ziel zu erreichen. Einbindung von vorgefertigten Code ist praktisch bei jeder Sprache möglich. Frage ist immer Aufwand zu Ertrag!

Darum hatte ich ja erwähnt, dass es Massgebend ist:
Was ist die Aufgabe, was will gewährleistet sein und wie gross ist der Aufwand, das Ziel zu erreichen.

Wer Pascal anwendet muss sich bewusst sein, das damit Variablen nicht zur Laufzeit erzeugt werden können.
In C kann ich im Header einer FUN "any" als Datentyp vorgeben und diesen zur Laufzeit zuweisen, was in Pascal eben nicht möglich ist. Das trägt in sich die Möglichkeit bei C eine einzige flexible Grundfunktion für alle Datentypen zu erzeugen, während ich in Pascal halt für jeden Datentyp eine eigen Funktion erstellen muss. Das Ziel zu erreichen als solches ist jedoch bei beiden Sprachen gegeben!
Gerade dieser Umstand zwingt mich ja bei meinen Aufgaben eben C anzuwenden um den Aufwand klein zu halten und dem Anwender meiner Codes möglichst grosse Flexibilität zu geben.
Ansonsten nutze ich aber lieber Pascal, weil dort eben diese strenge Typisierung gefordert ist; das ergibt grössere Sicherheit bei komplexen Funktionen.

Ein weiter Punkt aber ist ein Vergleich von C und C++.
C++ wurde ja geschaffen, um grössere Portierung zu ermöglichen. So wurden da die Klassenbibliotheken eingeführt, mit dem vorgefertigter Programmcode sehr effizient direkt eingebunden werden kann. Unter C gabt es diese Klassen nicht!
Der manifestierte Nachteil ist jedoch, dass in vielen Programmen Code eingebunden ist welcher Funktionen enthält die gar nicht benötigt werden, was sicherlich nicht zur Beschleunigung des Abläufe führt...(gute Programmierer suchen sich daher die Richtigen).

Manchmal kommt es mir vor, das mit einem ganzen Eisbahnzug, eine Mücke transportiert wird...

Dazu noch den folgenden Rat an jeden, der Programme entwickeln will:


Zahlreiche Untersuchungen zu Fehlerfreiheit bzw. Fehlerhaftigkeit von Software und Produktivität von Software-Entwicklern sind angestellt worden. Immer wieder gleichen sich die Ergebnisse. Die Produktivität eines Software-Entwicklers über den gesamten Verlauf einer Entwicklung hinweg, zeigt desillusionierende 2*bis 5*Codezeilen pro Stunde. Bei großen Projekten sind es weniger als bei kürzeren Projekten.
Ebenso zeigen solche Untersuchungen klar, dass unerkannt gebliebene Fehler um so teurer werden, je früher im Projekt-Verlauf sie entstanden sind.

Bei nüchterner Betrachtung kann man also Termindruck kaum als Ursache für mangelnde Dokumentation verantwortlich machen. Bei einem durchschnittlichen Zeitbedarf von 12*bis 30*Minuten für eine Programmzeile (!), ist wohl ausreichend Zeit vorhanden, die Absicht hinter einer Programmzeile zu erläutern, die Datenstrukturen klar auszuzeigen oder Variablennamen plausibel auszuwählen.
Gute, klar verstehbare Dokumentation ist eine wesentliche Voraussetzung für stabile Projekte von langer Lebensdauer, und guter Pflegbarkeit und späterer Erweiterbarkeit.


Auszug aus einem Basic-Programmierhandbuch(Wilke)

Gruss ms
 
Dann beantworte mir die Frage, warum immer noch so viele Spiele, wie z.B. Assassin's Creed mit C++ erstellt werden und nicht mit Lazarus.
Die Frage hast du dir selber beantwortet ;)
wobei C++ aber auch sehr nahe an der Hardware operieren kann.
Mit C++ kann man einfacher auf die Grafikkarte zugreifen.

Es gibt allerdings noch verschiedene Schnittstellen, wie DirectX und die "Open"-Produkte (OpenML, OpenGL, OpenCL, OpenAL usw.), die auch wieder von Pascal aus angesteuert werden können und plattformunabhängig sind (bis auf DirectX) :D

Woher weißt du denn, dass Assassins Creed in C++ programmiert wurde :unsure:?

Darum hatte ich ja erwähnt, dass es Massgebend ist:
Was ist die Aufgabe, was will gewährleistet sein und wie gross ist der Aufwand, das Ziel zu erreichen.
Es geht um's Prinzip :D
 
Ich bin derzeit im 2. Lehrjahr zum Fachinformatiker Systemintegration und habe im 1. Lj VB.net gelernt, jetzt im 2. Lj kommt Java dran und anschließend im 3. Lj PHP.

Ich persönlich halte Pascal dennoch für die "Innovativste".

Um komplett erstmal mit Programmierung anzufangen, empfehle ich das Programm Robot Karol. Dies ist sehr einfach, man kann aber dafür auch nicht sehr viel machen, dafür aber zum einarbeiten/vorbereiten zum Lernen von Programmiersprachen optimal.
 
Hallo,

noch eine kleine Ergänzung für die Neulinge,

Assembler sollte in diesem Zusammenhang so nicht genannt werden.

Assembler beruht auf dem direktem Zugriff auf die Hardware und ist immer nur die Maschinensprache in HexCode; Turbo-Assembler (ursprünglich von Borland) war zur Assembler-Zeit eine grossartige Erleichterung für Programmierer.
Assembler als solches ist die einzige Sprache, welcher der Prozessor überhaupt direkt versteht. Dazu bedarf es des Befehlssatzes des zur Anwendung kommenden Prozessors. Hier sind aber alle Befehle einzeln auf zusetzten und die Register einzeln auszulesen. Assembler ist mit Abstand die Text-Intensivste Sprache, und braucht sehr viel Erfahrung und Kenntnis der Architektur des Prozessors. Dafür haben Assemblerprogramme aber bestimmt die höchste Performance und dazu stehen alle Möglichkeiten; z.B. Interrupt-Zugriffe, direkt zur Verfügung. Mit den heutigen Grafikoberflächen jedoch würde jeder Programmierer in Assembler wohl verzweifel.

Jede gute Hochsprache hat einen Compiler intus, welcher aus dem Hochspracheingeschreibsel schlussendlich den Maschinencode erzeugt, er assembliert. Der Compiler ist Hardwarespezifisch und kann somit nur auf der entsprechenden Hardware ausgeführt werden. Darum ist es einerlei, auf welcher Maschine das Programm abläuft, solange mit dem richtige Compiler übersetzt wurde.

Sprachen ohne Compiler benötigen einen Interpreter, der aus den jeweiligen Code, zur Laufzeit, den Befehl aufschlüsselt. Darum sind alle Interpretierten Sprachen direkt ausführbar; in der Regel besser zu Debuggen; aber immer langsamer in der Ausführung, da der Prozessor bei jedem neuen Befehl zuerst beim Interpreter, in der Regel im Ram geladen; Rückfragen muss.

Gruss ms
 
@Salv.M:

Bei uns Beiden ist das irgendwie eine Art Glaubens-Krieg :D
Natürlich hat jede Sprache Vor- und Nachteile und jede Hochsprache bringt die nötigen Mittel zum Erreichen eines Zieles mit sich, aber welche Sprache nun mal besser zum Einstieg geeignet ist, da teilen sich die Meinungen. Ich sehe einen großen Vorteil von C# nun mal direkt auch im größten Nachteil: dem Net-Framework
Dazu kommt noch die meines Erachtens nach sehr einfache Syntax, der Garbage Collector nimmt das lästige Speicher-Bereinigen ab und eine strenge Typisierung sorgt dafür, dass man sich gleich genaue Strukturen überlegen muss.
Was mir aber auch sehr geholfen hat, war Visual Studio, was einem wirklich so viel wie möglich ab nimmt und ich wüsste auch nicht, wie man noch mehr Arbeit abnehmen könnte.

@bastla:

Das Assassin's Creed in C++ geschrieben wurde, hab ich irgendwo mal gelesen, weiß allerdings auch nicht mehr wo. :/
Wenn ich das noch mal wieder finde, gebe ich dir die Quelle. ^^



ot:


By the Way:

Ich quäle mich ja zur Zeit durch PHP, weil ich finde, diese Sprache zu können, ist einfach in vielerlei Hinsicht praktisch und sinnvoll, aber ich hab echt ein Problem mit der schwachen Typisierung. :/
An sich ist das ja ganz praktisch, dass man bei jeder Methode einfach immer false zurück geben kann, wenn was nicht funktioniert hat, wie es sollte, aber wenn eine Methode dann komplexer wird, braucht man umfangreiche Kenntnisse darüber, wie diese Methode arbeitet, um für jeden Fall angemessen zu reagieren. Außerdem wird irgendwie jeder Datentyp so interpretiert, wie es gerade passt und so ganz fehlt mir noch der Überblick, wie was interpretiert wird. -.-

Kann mir jemand ein paar Tipps geben, wie ich mit einer so schwach typisierten Sprache umgehen kann?
 
ot:


Bei Batch kann man dafür ja auch kam was machen, man kann keine sinnvolle Oberfläche gestalten und keine Webseiten bauen. ^^
Und es gab ja auch keine Methoden. ^^ Obwohl, die Methoden hab ich mir manchmal gebaut, mit Sprungmarken oder in einzelnen Dateien. ^^
 
Zuletzt bearbeitet:
hi bastla,

ja, hoffe ja nicht gerade Krieg :eek:

Nun ich persönlich bin eben eher für System-unabhängige Software... C# ist sicherlich sehr gut geeignet um visuelle (Graphik) Funktionen zu realisieren, nur ist sie eben nur unter MS anwendbar. Es gibt ja einen schon oft gesehenen Disput darüber ob nun der Anfänger mit C oder C++ beginnen soll, ich halte von diesem Hin und Her nicht viel.

Programmieren ist sowieso eine Philosophie - viele Wege führen ans Ziel und der einzig richtige Weg ist genauso wenig erreichbar wie der Götter-Himmel.

Ich persönlich nutze C++ praktisch nicht, da es für meine Aufgaben keinen Vorteil ergibt und für direkte Hardwarefunktionen (gekapselte FUN und FB) welche ich bearbeite sowieso zumeist nur AnsiC zur Verfügung steht.


Hängt damit zusammen, dass wir mit internem Header, lokale Variablen, welche aber nicht geh-Monitor werden können, und externem Header unter IEC1131 arbeiten. Da aber unter C in-Programm Variablen erzeugt werden dürfen, die dann oft Probleme machen, ziehe ich eben Pascal vor, welches in dieser Hinsicht zur Ordnung zwingt.​


Für einen Anfänger ist meines Erachtens Pascal einfacher, da der Befehlssatz bedeutend kleiner ist als bei C. Dem gegenüber muss bei Pascal manchmal eben ein Umweg in Kauf genommen werden.
Ich denke, in erster Linie ist entscheidend, wie viel Zeit ein Lernender bereit ist zu investieren. Denn, alle Möglichkeiten auszuschöpfen ist aus meiner Erfahrung nur nach Jahren des Zuglernens möglich...

Gruss ms
 
Oben