Welche Programmiersprache ist gut für Anfänger?

ot:


Ok, eine Glaubens-Diskussion. :D
Die bricht immer aus, wenn wir über eine dieser Sprachen philosophieren. ^^



Dass C# gut für Oberflächen geeignet ist, stimmt allerdings.
Anfänger können mit Windows Forms schon sehr früh ansehnliche Oberflächen gestalten und das komplizierteste ist ein Grundverständnis von Events. Natürlich muss man sich vorher genaue Gedanken machen, wie was aufgebaut ist, aber das sollte man ja sowieso immer. Und eine gute Kenntnis der Möglichkeiten ist sinnvoll, da es viele Möglichkeiten gibt, auch wenn es nicht weiter entwickelt wird.
Wer dann aber doch Oberflächen haben will, die vollständig nach den eigenen Vorstellungen gebaut sind, müsste dann WPF benutzen, was allerdings fast schon eine komplett neue Sprache ist, nämlich eine extra für C# geschaffene Designer-Sprache. Allerdings ist WPF als XAML-Abkömmling (Und XAML stammt von XML ab, was ja sehr leicht zu verstehen ist) auch nicht so schwer zu lernen. Hier gilt hauptsächlich wieder nur, dass man eine solide Kenntnis der Möglichkeiten besitzt, damit man auch wirklich anständige Oberflächen gestalten kann.
Soweit ich weiß, gibt es bei C++ auch die Möglichkeit, Windows Forms zu nutzen, nämlich indem man sich einfach die passenden DLLs raus sucht und einbindet. Aber ob C++ auch mit WPF klar kommt, weiß ich nicht.

Dass du kein C++ nutzen willst, verstehe ich, aber für Anfänger ist das doch gut geeignet. ^^
Ich für meinen Teil mag z.B. keine Konsolen-Anwendungen. Die finde ich sogar schwerer, als Anwendungen mit WinForms. WinForms ist zwar aufwendiger, aber durch die Strukturierung mit den Events kann man jede Funktion schön kapseln und behält bei einem guten Stil auch leicht den Überblick.
Wie bei Sprachen wie Pascal die Oberflächen-Gestaltung möglich ist, kann ich nun nicht vergleichen, aber besonders mit WinForms ist sie sehr einfach.
 
Jep Palladino, (gut, dass Du die Helebarde nicht hervorgeholt hast :angel)

Hier sind wir glaub ich beim Kern der Geschichte.
Ich sagte ja schon zu Anfang, das es natürlich entscheidend ist, was man als Ziel erreichen will.

Wenn ich ein Programm machen will, dass für einen systematischen Ablauf dienen soll, der auf bestimmte Aktionen ganze Routinen aufrufen soll, ist eine Sprache wie C oder Pascal sicher optimal. Wenn ich hingegen vor allem auf Oberflächen und Visuelle Funktionen hinarbeite ist C++ oder eben C# sicherlich besser geeignet.

Welche der user nun Nutzen will hängt nun wieder von dem Aufwand ab, den er bereit ist zu leisten.
C++ ist sicherlich aufwendiger als C# und C ist entschieden komplexer als Pascal.
 
Um jetzt mal die Ehre eines Pascal-Nutzers zu wahren :)angel:D)

Mit Pascal kann man auch ganz hervorragend (ich erwähne jetzt mal wieder Delphi und Lazarus) GUIs entwerfen!
Meines Erachtens nach sind die GUIs von Delphi wesentlich dynmaischer sind als die von C# - gut, Delphi kostet auch ein paar tausend Euro, aber die sehen mindestens genauso aus wie die von C#

Aber das ist ja eigentlich egal, denn ob C#, C++, Delphi oder Pascal - im Endeffekt nutzen alle die Win32-Forms.
Vielleicht kann mit mit dem VisualStudio besser GUIs erstellen als mit Pascal oder ähnlichem, aber womit die Forms erstellt wurden, ist dem Anwender ja egal.

Und das VisualStudio kannte ich noch aus meiner VisualBasic-Zeit, ich arbeite lieber mit Lazarus.

Gruß,
bastla :)

Edit: Gerade gefunden: die Produkte und Programme von PhrozenSoft.com sind alle mit Delphi erstellt! Und jetzt sag einer, die sehen nicht gut aus... :D
 
Zuletzt bearbeitet:
Aber das ist ja eigentlich egal, denn ob C#, C++, Delphi oder Pascal - im Endeffekt nutzen alle die Win32-Forms.

Tun sie nicht. :p
Mit WPF als Designer-Sprache, die für C# verwendet werden kann, hat man praktisch grenzenlose Möglichkeiten, was das Design angeht.
Natürlich kann man auch einfach vordefinierte Controls setzen und die schön zusammen schieben, oder man baut sich die Controls einfach selber mit einer Optik, die nur von der Fantasie begrenzt wird. Mit Hilfe von C# kann man dann dem ganzen auch tolle Effekte und was weiß ich nicht alles einbauen, oder wer sich gut genug mit WPF auskennt, macht das gleich dort.
Außerdem ist WPF sehr kompakt gehalten. Ein Button mit sämtlichen Einstellungen nimmt im Code eine Zeile ein, zumindest, wenn man will. Nötig ist es nicht, aber man kann das ganze auch beliebig auf splitten.

Und zum Schluss: Ich sagte ja schon einmal, WPF ist sehr leicht zu lernen. ^^ Zeigt mir jemanden, der dieses so simple Prinzip, das auf XML aufbaut, nicht innerhalb kurzer Zeit versteht. :D


Ok, ich schweife ab. ^^



Ich denke mal, dass man als totaler Anfänger und ohne einem festen Ziel nicht genau weiß, welche Sprache besser geeignet ist.
Es steht also immer noch die Frage, welche Sprache hier für den Anfang besser geeignet ist.
Die Vorteile von C# hab ich genannt und die einfachen aber dennoch schönen Möglichkeiten eine GUI zu erstellen, bringen schnell ansehnliche Erfolge.
 
Sagt mal, Bastla und Palladin, rein interessehalber: Arbeitet ihr irgendwie beruflich im Thema Programmierung oder eher Hobby/Privat?
 
Ich bin mit meinen nicht einmal aus der Schule raus, auch wenn es nicht mehr lange dauert ^^
Also ist alles privat, wann ich gerade mal Lust und Laune habe, würde aber gerne später auch in dem Bereich arbeiten, wobei ich da noch einiges für tun muss. ^^
 
@Ancient:
Programmieren ist für mich eher ein Hobby - wenn ich es beruflich machen würde, käme ich nur mit Pascal nicht weit :D
Warum fragst du?

@ElSer:
Ob es dem Threadstrater half, liegt ja immer noch daran, wie genau er eine Antwort auf seine Frage erwatet hat.
Diese ist jetzt sehr genau und sehr detailreich, damit lässt sich bestimmt was anfangen, wenn man wirklich ernsthaftig plant, mit dem Programmieren anzufangen.

Gruß,
bastla
 
@Elser:

Wahrscheinlich haben wir den Armen eher verschreckt, als ihm geholfen. :D
Jeder wünscht sich in so einem Fall wohl eher das Fazit, als die ganze Diskussion, aber da es eben kein absolut sicheres Ergebnis gibt, das man dann überall wiederholt, kann man auch gleich ohne Diskussion das Fazit geben. :/
 
Zuletzt bearbeitet:
Ich wünsche nur dem Threadersteller, er orientiere sich nicht ausschließlich an hier getroffenen Aussagen
weiß ich, dass C# in die Zwischen-Sprache MSIL übersetzt wird und damit so etwas ähnliches wie eine Scriptsprache ist.
(nur eine von vielen, bei denen ich Genickschmerzen vom innerlichen Kopfschütteln bekomme.
 
Es wäre einfach, wenn alles geschriebene wahr wäre.
Ich wollte das jetzt eigentlich nicht vertiefen, aber verdeutliche Dir mal die Unterschiede zwischen Maschinen-, Assembler-, Intermediate-, Interpreter- und Scriptsprachen.
Anschließend vielleicht noch Befehlssatz, Library, Laufzeitbibliothek, Framework und Portabilität.
Aber wie gesagt, ich wollte ja gar nicht...
 
Hallo
ohne jetzt alle 3 Seiten hier gelesen zu haben, möchte ich nur eine bescheidene Frage stellen:
Ich möchte auch das Programmieren - zumindest die Grundkenntnisse - erlernen.
Ich möchte mit C anfangen.
Wenn mir das zu schwer ist, werde ich nach was leichterem suchen. Ich habe mir das Buch: C Programmieren von Anfang an, bestellt.
Ist das auch eine Beginnersoftware dabei, bzw wo kann man diese bekommen (ohne jetzt einige 100.- auszugeben=?
 
@Elser:
Mache ich gerne. Ich geb zu, mein Wissen ist doch noch sehr beschränkt, aber ich bin bereit zu lernen und mach es gerne.

@Kabelmichi:
Das Buch hab ich zwar nur angefangen zu lesen, aber ich finde es bisher ganz gut und es ist kostenlos. ^^ Leider ist keine Software dazu gegeben, aber einen C-Compiler sollte es eigentlich überall für jedes OS geben.

Ob es so schlau ist, mit C anzufangen, weiß ich jedoch nicht. Unabhängig von der Sprache, würde ich eine objektorientierte Sprache als Einstieg wählen.
Außerdem ist C doch ziemlich schwierig, hab ich zumindest gehört, aus eigener Erfahrung kann ich leider noch nicht so gut reden. ^^

Ich würde halt c# für schnelle und auch grafisch einfache Ergebnisse wählen, da die Sprache eben einfach ist und auch die Gestaltung einer Oberfläche sehr einfach ist. Dann ist die Laufzeitbibliothek im .Net-Framework sehr umfangreich, was eine Menge Arbeit erspart und auch komplexere Themen einfacher nutzbar macht. Das einmal die für mich am heraus stechendsten Vorteile von C#.
Außerdem gibt es aber noch hier an gutes und kostenloses Buch. ^^

Was andere Sprachen angeht, kann ich nur von PHP ein bisschen was erzählen und dann doch das Wort an Andere weiter geben.
 
Letztendlich ist es doch wurscht womit ich anfange. Ich würde jedoch vom einfachen zum Umfangreichen gehen z. B. wenn ich PHP lerne, auch mit nacktem PHP anfangen und nicht gleich irgendein Framework nehme auch wenn manche Dinge damit einfacher und bequemer gehen. Um erstmal die Grundlagen zu verinnerlichen. Ist halt auch die Frage, will ich IDE Anwender oder Programmierer werden? :p
 
@Kabelmichi:

Ich für meinen Teil empfinde C# als eher einfach zu erlernende Sprache. Natürlich gibt es auch kompliziertere Dinge, aber die gibt es überall und die lassen sich auch deutlich einfacher verstehen, wenn man das Grundwissen schon hat.
Außerdem ist C# objektorientiert und das sehe ich sowieso als deutlichen Vorteil gegenüber C. Die Objektorientierung muss man zwar erst einmal verstehen, aber danach erleichtert sie einem so Einiges.

Ich kann zwar nicht auf so viel Wissen über C zurückgreifen, wie bei C#, aber das, was ich über die Sprache C gelesen habe und das, was ich bisher kennen gelernt habe, empfinde ich als schwerer.
 
Hallo Kabelmichi,

die Fragen gingen nicht an mich, aber vielleicht darf ich trotzdem kurz...?
Vereinfacht gesagt:
C ist der Vorgänger von C++. C# ist eine (hauptsächlich von Microsoft) vorangetriebene Weiterentwicklung von C++.
Eine einfache for - Schleife in C funktioniert in C++ weiterhin und auch in C#.
In C++ ist die "Objektorientierung" dazugekommen (jedoch mit Abstrichen, wie dir die Verfechter der reinen Lehre bestätigen können).
In C# wurde die Objektorientierung deutlich strenger umgesetzt. Anwendung findet C# häufig als Programmiersprache für das .NET Framework (Windows) bzw. Mono (Linux).
PHP ist eine an C/C++ angelehnte Scriptsprache. Es werden keine ausführbaren Programme erzeugt sondern das Programm muß bei jedem Lauf mit einem Interpretierer abgearbeitet werden.
Mein persönlicher Tip:
Fange mit C an, wie du es ja sowieso vorhattest. Such dir einen C/C++ fähigen Compiler. . Wenn du anfängst, dich mit C zu langweilen, eigne dir die Prinzipien der Objektorientierung mit C++ an. Wenn du dann Programme mit Windows - Oberfläche programmieren willst, nimm C#.

P.S.: Die Lern-Reihenfolge C# -> C++ -> C entspricht in etwa: Ich laufe Marathon -> Ich kann laufen -> Ich kann stehen. Mag im Einzelfall sinnvoll sein...
P.P.S.: Es soll noch andere Programmiersprachen geben (heißt es:))
P.P.P.S.: Alle Empfehlungen sind natürlich nur meine private Meinung!
 
So wie du das darstellst, hast du durchaus recht. Das lernen von allen C-Bestandteilen ist bestimmt leichter, als bei C#, allerdings ist es extrem schwer, oder eben nur aufwendig, umfangreiche Software mit C zu erstellen.
Klar, C ist ja auch nicht für Software wie Spiele gedacht, aber auch mit C++ fällt das schon schwerer, als mit C#, weil bei C# z.B. der Garbage-Collector einiges an Arbeit ab nimmt und die Arbeit mit Pointern und die Speicherbereinigung alles automatisch geschieht.
 
Oben