WinFuture-Forum.de: Programmieren Lernen Ohne Vorkenntnisse - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
  • 4 Seiten +
  • 1
  • 2
  • 3
  • 4

Programmieren Lernen Ohne Vorkenntnisse

#31 Mitglied ist offline   Der Kenner 

  • Gruppe: aktive Mitglieder
  • Beiträge: 574
  • Beigetreten: 30. Januar 05
  • Reputation: 0

geschrieben 21. Juni 2009 - 15:34

Und C++ findest du nicht verzwickt?
0

Anzeige



#32 Mitglied ist offline   W@yne 

  • Gruppe: aktive Mitglieder
  • Beiträge: 889
  • Beigetreten: 20. Juli 05
  • Reputation: 0

geschrieben 21. Juni 2009 - 15:50

C++ hat ein wesentlich enger gefasstes Regelwerk. Wer sich mit ihm angefreundet hat, kann besser programmieren als jemand, der sich nur mit so luschigen "geht schon irgendwie"-Sprachen befasst.
0

#33 Mitglied ist offline   def 

  • Gruppe: aktive Mitglieder
  • Beiträge: 429
  • Beigetreten: 19. Dezember 06
  • Reputation: 7
  • Geschlecht:Männlich

geschrieben 21. Juni 2009 - 18:40

Beitrag anzeigenZitat (W@yne: 21.06.2009, 16:50)

C++ hat ein wesentlich enger gefasstes Regelwerk. Wer sich mit ihm angefreundet hat, kann besser programmieren als jemand, der sich nur mit so luschigen "geht schon irgendwie"-Sprachen befasst.

So ist's richtig, erstmal pauschal über Programmiersprachen und Programmierer herziehen...! Wer so "luschige Sprachen" wie C# oder Java benutzt, kann ja auch nichts Brauchbares zustande bringen.
Witzigerweise stehst du mit dieser Meinung keineswegs alleine da. Selbst ein Großer wie Linus Torvalds benutzt eine vergleichbare Argumentation. Nur dass er sich gegen C++ richtet (Linus programmiert bekanntlich in C).

(...) C++ is a horrible language. It's made more horrible by the fact that a lot of substandard programmers use it, to the point where it's much much easier to generate total and utter crap with it. (...) [Quelle]

Übrigens ist sein ganzes Posting höchst unterhaltsam zu lesen, auch wenn ich die Argumentation "Programmiersprache X ist schlecht, weil es zu viele unfähige X-Programmierer gibt" immer noch überzogen finde. Aber das macht wohl gute Rhetorik aus. :ph34r:

Viele Grüße
Def
Eingefügtes Bild
0

#34 Mitglied ist offline   W@yne 

  • Gruppe: aktive Mitglieder
  • Beiträge: 889
  • Beigetreten: 20. Juli 05
  • Reputation: 0

geschrieben 21. Juni 2009 - 18:48

Ich habe nichts gegen C#- oder Java-Programmierer. Ich schrieb lediglich, dass C++ eine weitaus konsequentere Sprache ist.
0

#35 Mitglied ist offline   def 

  • Gruppe: aktive Mitglieder
  • Beiträge: 429
  • Beigetreten: 19. Dezember 06
  • Reputation: 7
  • Geschlecht:Männlich

geschrieben 21. Juni 2009 - 18:49

Beitrag anzeigenZitat (W@yne: 21.06.2009, 19:48)

Ich habe nichts gegen C#- oder Java-Programmierer. Ich schrieb lediglich, dass C++ eine weitaus konsequentere Sprache ist.

Darf ich fragen, was du an Java und/oder C# "luschig" findest?
Eingefügtes Bild
0

#36 Mitglied ist offline   W@yne 

  • Gruppe: aktive Mitglieder
  • Beiträge: 889
  • Beigetreten: 20. Juli 05
  • Reputation: 0

geschrieben 21. Juni 2009 - 19:00

Das habe ich oben getan.
0

#37 Mitglied ist offline   def 

  • Gruppe: aktive Mitglieder
  • Beiträge: 429
  • Beigetreten: 19. Dezember 06
  • Reputation: 7
  • Geschlecht:Männlich

geschrieben 21. Juni 2009 - 19:56

Beitrag anzeigenZitat (def: 21.06.2009, 19:49)

Darf ich fragen, was du an Java und/oder C# "luschig" findest?

Beitrag anzeigenZitat (W@yne: 21.06.2009, 20:00)

Das habe ich oben getan.

Okay, ich habe jetzt Folgendes gefunden:

Beitrag anzeigenZitat (W@yne: 21.06.2009, 04:23)

Sowohl C# als auch Java sind denkbar bekloppte Sprachen, ineffizient, Ressourcen fressend und hochgradig verzwickt, was diverse Eigenheiten betrifft. (...)

Beitrag anzeigenZitat (W@yne: 21.06.2009, 16:50)

C++ hat ein wesentlich enger gefasstes Regelwerk. Wer sich mit ihm angefreundet hat, kann besser programmieren als jemand, der sich nur mit so luschigen "geht schon irgendwie"-Sprachen befasst.

Zur Erklärung: Ich habe zumindest in Bezug auf Java schon viel (berechtigte und unberechtigte) Kritik gelesen, u.a. das, was du oben schreibst (langsam, verbraucht viel RAM). Ich habe aber noch nie vor dir gelesen oder gehört, dass Java "verzwickt" sei (jedenfalls nicht im Vergleich mit C++) und auch nicht, dass C++ ein "wesentlich enger gefasstes Regelwerk" als Java habe. Eher das Gegenteil.
Deshalb nahm ich an, das würde wieder auf das Argument "Java-Programmierern fehlt die 'bare metal'-Erfahrung, ergo erzieht Java zu schlechter Programmierpraxis" hinauslaufen, daher vorhin meine etwas unangemessene Unterstellung, du würdest über Programmierer herziehen. Als du das verneint hast, war also klar, dass du etwas anderes meinst.
Hat mich halt interessiert, weil es immer heißt, Java würde zumindest die Objektorientierung konsequenter durchziehen als C++ und sei auch sonst einfacher als C++. Das steht eben im krassen Gegensatz zu deinen bisherigen Aussagen hier im Thread. Aber wir müssen jetzt auch keine Grundsatzdiskussion anfangen.

Viele Grüße
Def
Eingefügtes Bild
0

#38 Mitglied ist offline   W@yne 

  • Gruppe: aktive Mitglieder
  • Beiträge: 889
  • Beigetreten: 20. Juli 05
  • Reputation: 0

geschrieben 21. Juni 2009 - 19:58

Konsequente Objektorientierung führt gerade in kleineren Projekten zu unnötig kompliziertem Code, wie ich finde.
0

#39 Mitglied ist offline   Talla 

  • Gruppe: aktive Mitglieder
  • Beiträge: 225
  • Beigetreten: 24. Februar 04
  • Reputation: 0
  • Wohnort:Esslingen

geschrieben 21. Juni 2009 - 21:33

Also C++ als geeigneter für den Programmiereinsteiger zu bezeichnen als Java oder .Net halte ich für bissle arg Wunschdenken. C++ ist im Prinzip alles andere als einsteigerfreundlich.

Ich würde ebenfalls wie schon andere C# oder Java empfehlen, wobei ich stark zu C# tendiere da man damit auf der Windowsplattform nen wirklich umfangreiches Framework bekommt das sich gut ins OS integriert, mit VS auch ne gute IDE und vor allem Zugriff auf moderne Technologien wie LINQ oder wenns mal Richtung GUI geht, dann WPF.

Man darf nicht das Ziel "programmieren lernen" vergessen. Da hat man es mit .Net bzw. Java einfacher weil man erstmal auf ein Programmierparadigma festgelegt ist (objektorientiert), sich z.B. nicht um die Speicherverwaltung kümmern muss. Klassenbibliotheken bekommt die um einiges umfangreicher sind als die Standardbibliothek von C++, usw. Das führt dazu, dass man schneller zu ersten Ergebnissen kommt als Anfänger.

C++ ist ohne Frage eine sehr fähige Sprache. Dadurch das man in C++ aber ohne weiteres prozedual, objektorientiert oder gar funktional programmieren kann, haut man am Anfang gerne alles durcheinander und blickt am Ende gar nichts mehr. Manuelle Speicherverwaltung ist für den erfahrenden Programmierer was tolles, er hat viele Freiheitsgrade, aber nen Anfänger kann man schnell frusten mit Segmentation Faults am laufenden Band weil mal wieder Zeiger ins Nirvana zeigen. Und so gehts weiter, für den Einsteiger ist C++ alles andere als einfach zu erlernen.

Auch wenn das wenig mit der eigentlichen Frage zum Programmieren lernen zu tun hat, aber hier

Zitat

...zum Beispiel C++. Von dort ist der Umstieg auf eine Sprache mit grauenvoller Syntax recht leicht, jedenfalls leichter als wieder zurück.
musste ich echt laut lachen. Zu sagen dass man von C++ auf Sprachen mit grauenvoller Syntax umsteigen kann ist lustig, da C++ an sich schon ne Sprache ist, die mit eine der grauenvollsten Syntax hat die mir je untergekommen ist. Damit meine ich nicht das oberflächliche Erscheinungsbild mit den geschweiften Klammern etc. was ja viele Sprachen haben, sondern die kleinen Details.
Als Beispiel mal nen paar Dinge aus dem kommenden Standard der echt zeigt das die Weiterentwicklung von C++ meiner Meinung nach in die vollkommen falsche Richtung geht.

template <class T, class ...Args> 
T* make_new (Args&& ...args) 
{ 
   return new T( *new Args(static_cast<Args&&>(args)) ...); 
}

Na, wer kann sofort sagen was der Code macht, ohne groß nachzudenken? Der Codeausschnitt zeigt gut wie mächtig die Sprache ist, Variadic Templates und RValue Referenzen die hier verwendet werden sind sicherlich nette Features, aber da blickt doch kein Mensch mehr durch. Bei einzelnen Funktionen macht man das gerne, mal grübeln was der Code macht, aber doch net wenn der ganze Quelltext so aussieht.

Oder was unterscheidet folgende Lambda Ausdrücke formal gesehen?
[&]() { ... } 
[=]() { ... }


Die Funktionalität Funktionen nachträglich löschen und verbieten zu können in der Form
void foo(long) = delete;
ist ja wohl auch alles andere als sofort intuitiv erfasst.

Wenn jemand C++ als geeignete Anfängersprache empfiehlt kann ich das echt nicht nachvollziehen.
Heimat ist nicht immer dort, wo wir zur Welt kamen - Heimat ist wo wir lieben. *Ehm Welk
0

#40 Mitglied ist offline   W@yne 

  • Gruppe: aktive Mitglieder
  • Beiträge: 889
  • Beigetreten: 20. Juli 05
  • Reputation: 0

geschrieben 21. Juni 2009 - 21:43

Das Problem an C# ist aber, dass man sich damit an diverse Microsoft-eigene Techniken bindet und man das Gelernte nicht auf andere Sprachen oder gar Plattformen anwenden kann, wenn man nicht gerade mit Mono umgehen kann.
0

#41 Mitglied ist offline   LoD14 

  • Gruppe: aktive Mitglieder
  • Beiträge: 5.931
  • Beigetreten: 04. Mai 03
  • Reputation: 45
  • Wohnort:Hennef bei Köln

geschrieben 21. Juni 2009 - 22:03

ich will ja echt nix sagen, aber ihr redet hier vielleicht teilweise einen käse. ihr schlagt euch die köppe ein, ob C++, C#, Java und konsorten für einen einsteiger geeignet sind. leute, schaut mal in fachliteratur: im großen und ganzen alles mist.

diese programmiersprachen sind so tierisch aufgeblasen, damit kriegt man jeden anfänger früher oder später zum schreien, weil er von einem berg von funktionen steht, mit denen er nix anfangen kann und die ihn einfach nur verwirren. schaut mal in didaktische fachliteratur.

im grunde ist für einen anfänger was ganz orthogonales sinnvoll. aber mit wenigen unnützen funktionen. da kommt eher sowas wie pyhton oder prolog (kotz!) in frage oder halt das scratch, was ich schon erwähnte. und einem anfänger direkt objektorientierung an den kopf zu werfen - also mal ehrlich leute. das kriegen pädagogen kaum hin, die da eine ausbildung drinne haben, weil das ausgesprochen kompliziert ist. und dann soll sich jemand sowas selber beibringen. am besten noch in java oder c++/c# und dann am besten mit ner IDE wie eclipse oder visual studio. ihr seid des wahnsinns.

natürlich, im grunde kann jeder anfänger sich irgend ne turingvollständige sprache nehmen - und sei es die makrosprache in excel. das geht alles. aber groß was mitnehmen tut man dann nicht, außer, dass man nen schreck fürs leben davonträgt.
0

#42 Mitglied ist offline   Der Kenner 

  • Gruppe: aktive Mitglieder
  • Beiträge: 574
  • Beigetreten: 30. Januar 05
  • Reputation: 0

geschrieben 22. Juni 2009 - 00:43

@Talla: Ich muss dir schon zustimmen bzgl. der z. T. furchtbaren Syntax (Man denke nur mal an pure virtual functions...). Du hast allerdings nur aus dem TR1 zitiert, der mir dafür eine wahre Goldgrube zu sein scheint.

Ach LoD, zerstör doch nicht unsere kleine schöne Diskussion mit deiner Didaktik :ph34r:
Das ist der ewig währende Sprachenkrieg, in dem jeder die Sprache seiner Überzeugung verteidigt und die irgendwann mal alle Foren-Server an die Kapazitätsgrenzen treiben wird.
0

#43 Mitglied ist offline   Marley 

  • Gruppe: aktive Mitglieder
  • Beiträge: 238
  • Beigetreten: 26. April 09
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:NRW
  • Interessen:Windows,Technik,Garten,Astronomie,Programmieren

geschrieben 24. Juni 2009 - 17:17

Um nicht ein neues Thema aufzumachen stelle ich die Frage mal hier:
Ich habe vor einen Jahr aufgehört zu porgrammieren und wolte nun eine Sprache neu erlernen.
Sie sollte gut auf Windows wie auf ubuntu(Linux) programmierbar sein.
Und später mir dann auch behiflich sein wenn ich mal am Quellcode einer LinuxDisi rumbastle.
Kennt einer eine.
Ich hätte da an c++ oder C# gedacht.
Wieder da im Winfuture Forum!!!
0

#44 Mitglied ist offline   W@yne 

  • Gruppe: aktive Mitglieder
  • Beiträge: 889
  • Beigetreten: 20. Juli 05
  • Reputation: 0

geschrieben 24. Juni 2009 - 17:28

Lass von C# die Finger, das ist Microsoft-Gefummel. Der Kernel ist in C geschrieben, ohne ++-Anhang.

Dieser Beitrag wurde von W@yne bearbeitet: 24. Juni 2009 - 17:28

0

#45 Mitglied ist offline   Marley 

  • Gruppe: aktive Mitglieder
  • Beiträge: 238
  • Beigetreten: 26. April 09
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:NRW
  • Interessen:Windows,Technik,Garten,Astronomie,Programmieren

geschrieben 24. Juni 2009 - 20:01

Also no c++ Quellcode bei Linuxdistris ok
Gibts für C ein gutes Buch , bwz. ein openbook bei Galileo Computing?
Wieder da im Winfuture Forum!!!
0

Thema verteilen:


  • 4 Seiten +
  • 1
  • 2
  • 3
  • 4

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0