C verwandte Programmiersprachen

Hallo Community,

ich bin gerade aktiv dabei "C" zu lernen bzw. gelehrt zu bekommen ;)
Als Vorbereitung auf mein Informatikstudium will ich noch weitere Programmiersprachen lernen.
Frage: Welche Programmiersprache ist "C" vom Aufbau her am ähnlichsten?

MfG

PS.: Forensuche hat keine brauchbare Antwort auf meine Frage ausgespuckt
 
Programmiersprachen mit dem selben Funktionsumfang/ABI wie C (insb. GCC) wären:
-FreeBasic
-Pascal
-Delphi
-PHP
-...
 
Hallo,
also im Informatik-Studium wirst du sehr wahrscheinlich im ersten Jahr mit Java gequält. Sich das mal anzu gucken kann nicht schaden.
FreeBasic, Pascal, Delphi und Perl sind nach meiner Meinung Sprachen, die man nicht unbedingt beherschen muss und eher ne kleine Verbreitung haben.

Aber ansonsten ist es wichtig, das Programmieren zu lernen, statt Programmiersprachen zu lernen. Wenn man erstmal (echt) Programmieren kann, dann ist es sehr einfach auch eine neue Sprache innerhalb kurzer Zeit zu lernen, da die Konzepte i.d.R. gleich sind.

Also statt viele verschiedene Sprachen auszuprobieren, sollte man eine Sprache finden die man mag und in der dann mal ein etwas anspruchsvolleres Projekt realisieren.
Obs C, PHP, Java oder C# ist, ist dann relativ egal.

(Persönlich würde ich aber von C für soetwas eher abraten, da man in C doch seeeeehr viel Kleinkram selber machen muss)
 
@csde_rats: Ich hab mich mal für Perl interessiert, jedoch kenne ich die Befehle nicht etc. deshalb die Frage ob da Perl auch zu den "verwandten" gehört :)

Wenn man erstmal (echt) Programmieren kann, dann ist es sehr einfach auch eine neue Sprache innerhalb kurzer Zeit zu lernen, da die Konzepte i.d.R. gleich sind.

Also statt viele verschiedene Sprachen auszuprobieren, sollte man eine Sprache finden die man mag und in der dann mal ein etwas anspruchsvolleres Projekt realisieren.
Obs C, PHP, Java oder C# ist, ist dann relativ egal.

Danke, das ist das was ich wissen wollte :)

(Persönlich würde ich aber von C für soetwas eher abraten, da man in C doch seeeeehr viel Kleinkram selber machen muss)

Ich bin auf einem Gymnasium für Informations- und Kommunikationstechnologie dort werd ich "gezwungen" C zu lernen ;)
 
Programmiersprachen mit dem selben Funktionsumfang/ABI wie C (insb. GCC) wären:
-FreeBasic
-Pascal
-Delphi
-PHP
-...

Naja, der Funktionsumfang von C und PHP ist wirklich nicht zu vergleichen. Und Delphi ist ja Pascal. Aber Pascal mit Delphi oder Free Pascal mit Lazarus ist m.E.n. ne schöne Sprache zum Einstieg, wenn man keine WebApps machen will.

Was die Syntax angeht @TE, möchte ich Wikipedia zitieren:
Einflüsse: B (BCPL,CPL), ALGOL 68, Assembler
Beeinflusste: awk, C++, C#, Objective-C, D, Java, JavaScript, Perl, PHP
 
Ich bin auf einem Gymnasium für Informations- und Kommunikationstechnologie dort werd ich "gezwungen" C zu lernen ;)
Glückskeeks. Ich bin auf einem Fachgym für Informationstechnik und wir lernen hauptsächlich PHP in Verbindung mit MySQL, Netzwerktechnik und SPS (also FUP) für Maschienensteuerungen.
Das ist nicht schlecht, vor Allem ersteres, aber ich liebe mein C++... :rolleyes:

Da komme ich auch mit back2topic:
Die Anfänge habe ich mit Dark Basic gemacht, aber aufgrund des beschränkten Funktionsumfangs bin ich dann zu C++ gewechselt.
C/C++ ist für den Anfang zwar schwierig, aber wenn du da erstmal drinn steckst wird es nur noch einfacher. (Das kam mir anfangs in PHP zu billig vor, das man nicht mehr typecasten muss. ^^)
ALGOL 68, FreeBasic, D usw. würde ich (persönlich) zu den Exoten zählen und nur lernen, wenn man es braucht oder unbedingt will.
Ansonsten kann ich Elderan nur zustimmen. :)
 
Danke für die vielen Antworten und Empfehlungen!
Eine Frage hätte ich noch ... könnt ihr mir erklären warum wir C und nicht C++ lernen? Wo liegt eigentlich der Unterschied?
 
Hallo,
persönlich finde ich C noch deutlich leichter als C++, da man in C nur imperative Programmierung hat, während in C++ noch zusätzlich man sich mit objektorientierer Programmierung rumschlagen "darf" (Und C++ hat das im vergleich mit modernen Sprachen wie Java/C# nicht schön gelöst).

Aber ansonsten sind C und C++ sehr ähnlich und C++ ist eher als eine Erweiterung zu C zu verstehen. Darum empfiehlt es sich in meinen Augen, auch erst mit C anzufangen.
 
OOP bringt aber auch diverse Vorteile. Außerdem ist es doch inzwischen quasi "state of the art".

Stroustrup hat gesagt.:
In C++ it's harder to shoot yourself in the foot, but when you do, you blow off your whole leg.
 
ich find zum Lernen auch C (für Grundlagen) und C++ (für OOP) sehr brauchbar.

PHP ist zwar 'ne sehr schöne Sprache (im Moment so meine Lieblings- und Haupt-Sprache), jedoch verleitet sie Anfänger dazu, wirklich dreckig zu programmieren (z.B. das schon angesprochene automatische Type-Casting, teilweise etwas gewöhnungsbedürftige Geltungsbereiche für Variablen, etc.)...

Damit gewöhnt man sich erstens dreckiges Coden an und zweitens überblickt man ohne Grundlagen "Datentypen", "Geltungsbereich" ("wie es in anderen Sprachen normal ist" vs. "wie's in PHP läuft"), und ein wenig praktische Programmier-Erfahrung nur sehr schlecht, was man sich für große Scheunentore an Sicherheitslücken baut...
 
Ich hatte mit QuickBasic 4.5 angefangen, danach 7.1. Dann kam ne Etappe C, danach Freebasic (bei kleineren Sachen bis heute). Momentan hauptsächlich PHP, C++ und FB.
Ich finde auch, dass PHP aufgrund einiger anderer Konzepte nicht so für den Einstieg geeignet ist, obwohl es einfacher ist.
 
Hallo,
hab persönlich mit PHP angefangen und würde nicht sagen, dass mein Programmier-Stile dreckig ist oder ich größere Probleme hatte, andere Sprachen mit Datentypen zu erlernen. Und das Grundschema ist das selbe (if, Schleifen, Funktionen)

Wichtig ist, finde ich, dass man sich vorstellen kann etwas größeres in der Sprache zu programmieren. Ich wollte damals gerne Webprogrammierung erlernen (da mich meine statische Website genervt hat) und hab dementsprechend PHP gelernt.

Deswegen sollte man zuerst überlegen, was für Anwendungen man gerne schreiben würde bzw. man gebrauchen könnte. Webanwendungen (Gästebuch, Mitgliederbereich, Blog etc.), Desktopanwendungen, Spiele oder etwas im Serverbereich? Und dann lieber danach die Sprache aussuchen.
Irgendwie bringt es nix, wenn man sich nur kleine gekünstelte Beispielen stellt. Um es wirklich effektiv zu lernen, muss da irgendein größeres Programm/Applikation rauskommen. Und am einfachsten geht das, wenn man motiviert da man das Programm auch wirklich gebrauchen kann.
 
hab persönlich mit PHP angefangen und würde nicht sagen, dass mein Programmier-Stile dreckig ist oder ich größere Probleme hatte, andere Sprachen mit Datentypen zu erlernen.

Aber zumindestens setzt es mehr Selbst-Disziplin voraus...
Hab leider einfach schon viel zu viele PHP-Scripte gesehen, wo einem die fehlende Programmier-Erfahrung einfach ins Auge gestochen ist... wo einfach die Faulheit, die PHP einem ermöglicht, auch in vollem Maße genutzt wurde...
 
Hallo,
hab persönlich mit PHP angefangen und würde nicht sagen, dass mein Programmier-Stile dreckig ist oder ich größere Probleme hatte, andere Sprachen mit Datentypen zu erlernen. Und das Grundschema ist das selbe (if, Schleifen, Funktionen)

Wichtig ist, finde ich, dass man sich vorstellen kann etwas größeres in der Sprache zu programmieren. Ich wollte damals gerne Webprogrammierung erlernen (da mich meine statische Website genervt hat) und hab dementsprechend PHP gelernt.

Deswegen sollte man zuerst überlegen, was für Anwendungen man gerne schreiben würde bzw. man gebrauchen könnte. Webanwendungen (Gästebuch, Mitgliederbereich, Blog etc.), Desktopanwendungen, Spiele oder etwas im Serverbereich? Und dann lieber danach die Sprache aussuchen.
Irgendwie bringt es nix, wenn man sich nur kleine gekünstelte Beispielen stellt. Um es wirklich effektiv zu lernen, muss da irgendein größeres Programm/Applikation rauskommen. Und am einfachsten geht das, wenn man motiviert da man das Programm auch wirklich gebrauchen kann.

Erstens sehe ich es recht kritisch, wenn man zu Beginn gleich ein größeres Projekt angehen möchte. Das ist zwar meistens der Grund, warum man sich mit der Thematik beschäftigt, aber als Anfang sind "gekünstelte Basteleien" die bessere Wahl. Ansonsten wird man durch die massiven Fehlentscheidungen im Design einfach erschlagen.

Außerdem muss man sich heute bei der Wahl der Sprache nicht einmal mehr so stark dem beabsichtigten Anwendungsgebiet anpassen, siehe .NET und Java (<- mag ich nicht :D)

mfg benediktibk
 
Also ich lernde gerade an der Uni (1. Semster) Java und ich bin nicht wirklich begeistert. Was mich am Meisten stört sind so Sachen wie die Art in der Java Referenzen handhabt.
Außerdem fehlen meiner Meinung nach Dinge wie das Überladen von Operatoren. Wenn man mit den Objekten wie mit richtigen Typen rechnen kann macht das alles viel übersichtlicher und gleich viel mehr Spaß.
Auch das Fehlen von unsigned Typen kann ich nicht verstehen, irgendwie hab ich immer das Gefühl, dass da was fehlt.

Da ich mir ein bischen C++ selbst beigebracht habe, muss ich sagen, dass mir die Sprache an sich besser gefällt, weil man einfach mehr die Kontrolle hat.

Ansonsten kann es auch nicht schaden, wenn man irgendeine Skriptsprache kann. Zumindest ist es manchmal verdammt praktisch.
 
Also ich lernde gerade an der Uni (1. Semster) Java und ich bin nicht wirklich begeistert. Was mich am Meisten stört sind so Sachen wie die Art in der Java Referenzen handhabt.
Außerdem fehlen meiner Meinung nach Dinge wie das Überladen von Operatoren. Wenn man mit den Objekten wie mit richtigen Typen rechnen kann macht das alles viel übersichtlicher und gleich viel mehr Spaß.
Auch das Fehlen von unsigned Typen kann ich nicht verstehen, irgendwie hab ich immer das Gefühl, dass da was fehlt.

Da ich mir ein bischen C++ selbst beigebracht habe, muss ich sagen, dass mir die Sprache an sich besser gefällt, weil man einfach mehr die Kontrolle hat.

Ansonsten kann es auch nicht schaden, wenn man irgendeine Skriptsprache kann. Zumindest ist es manchmal verdammt praktisch.

Und genau so etwas sollte man als Anfänger lieber nicht machen. Das Überladen der Operatoren ist eine der gefährlichsten Dinge in C++, da man nie genau weiss, was in welcher Reihenfolge bearbeitet wird und inwiefern sich das auf eventuelle Ergebnisse auswirkt. Ein schönes Beispiel ist da afaik in dem Video a case against c++. Dies lernt man leider nicht, wenn man sich eine solch schwierige und komplexe Sprache selbst beibringt. Von den Pointern will ich mal gar nicht anfangen, was ich in Java mit nur Referenzen deutlich besser gelöst finde (auch wenn es gewisse Nachteile mit sich bringt) Mich wundert eh, das im ersten Semester schon OO-Sprachen gelehrt werden. Eigentlich sollte man mit strukturierter Programmierung beginnen und erstmal die Anfänge lernen um dann später bestimmte Konstrukte weiter zu vertiefen. Zumal man das ganze OO-Konzept am Anfang gar nicht verstehen kann ohne vorher strukturiert gearbeitet zu haben. Und strukturiert in einer OO-Sprache zu lernen ist irgendwie für die Katz... Wichtig ist für Softwareentwicklung nämlich wie schon von den anderen gesagt, nicht, dass man eine bestimmte Sprache kann, sondern, dass man die Grundlagen der Softwareentwicklung kennt und anwedet. Dann ist auch die Sprache völlig hinfällig.
 
Hallo Community,

ich bin gerade aktiv dabei "C" zu lernen bzw. gelehrt zu bekommen ;)
Als Vorbereitung auf mein Informatikstudium will ich noch weitere Programmiersprachen lernen.
Frage: Welche Programmiersprache ist "C" vom Aufbau her am ähnlichsten?

Wenn du dich gut vorbereiten willst, solltest du nicht versuchen möglichst ähnliche Sprachen zu lernen, da die Unterschiede dann hauptsächlich syntaktischer Natur sind.
Ich würde dir eher empfehlen eine Sprache zu lernen, die möglichst verschieden von C ist, da du somit lernst, Probleme auf verschiedene Weisen anzugehen, nicht nur imperativ oder später objektorientiert.
Es würde meines Erachtens also im Hinblick auf das Studium mehr Sinn machen eine funktionale Sprache(z.b. Haskell oder Erlang) oder eine logikbasierte Sprache(z.B. Prolog) zu lernen.

Das Überladen der Operatoren ist eine der gefährlichsten Dinge in C++, da man nie genau weiss, was in welcher Reihenfolge bearbeitet wird und inwiefern sich das auf eventuelle Ergebnisse auswirkt.
Wer Seiteneffekte z.b. in einen überladenen +-Operator packt, macht ohnehin etwas grundlegend falsch, da dann elementare Eigenschaften der Addition nicht mehr gelten(z.B. Kommutativität).
 
Zuletzt bearbeitet:
Zurück
Oben