myGully.com Boerse.SH - BOERSE.AM - BOERSE.IO - BOERSE.IM Boerse.BZ .TO Nachfolger
Zurück   myGully.com > Computer & Technik > Programmierung
Seite neu laden

Möchte wirklich Sehr Gern c lernen

Antwort
 
Themen-Optionen Ansicht
Ungelesen 04.05.10, 20:01   #1
Nava001
Anfänger
 
Registriert seit: Jul 2009
Beiträge: 15
Bedankt: 2
Nava001 ist noch neu hier! | 0 Respekt Punkte
Standard

Zitat:
Zitat von kramido Beitrag anzeigen
[Ironie]Für einen absoluten Neuling ist es sicher einfacher, Dinge wie Objektorientierung, Vererbung, Delegates neben dem Tagesgeschäft wie beispielsweise Programmablaufsteuerung oder das Konzept von Variablen zu begreifen. Ein grundsätzliches Verständnis für die Prozesse, die in einem Programm vor sich gehen und die dahintersteckende Komplexität von einfachen Operationen in modernen Hochsprachen (z.B. Garbage Collection) ist sicher fehl am Platz.[/Ironie]

Ja das sind alles Sachen die das OOP ausmachen, aber für den Anfang muss man die nicht nutzen. Mann kann C# genauso sequenziell nutzen wie C. Aber schon mal versucht etwas grafisches mit c/c++ unter Windows mit der WinApi hinzubiegen.

Fenster unter C
Code:
#include <windows.h>

const char g_szClassName[] = "myWindowClass";

// Step 4: the Window Procedure
LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
    switch(msg)
    {
        case WM_CLOSE:
            DestroyWindow(hwnd);
        break;
        case WM_DESTROY:
            PostQuitMessage(0);
        break;
        default:
            return DefWindowProc(hwnd, msg, wParam, lParam);
    }
    return 0;
}

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
    LPSTR lpCmdLine, int nCmdShow)
{
    WNDCLASSEX wc;
    HWND hwnd;
    MSG Msg;

    //Step 1: Registering the Window Class
    wc.cbSize        = sizeof(WNDCLASSEX);
    wc.style         = 0;
    wc.lpfnWndProc   = WndProc;
    wc.cbClsExtra    = 0;
    wc.cbWndExtra    = 0;
    wc.hInstance     = hInstance;
    wc.hIcon         = LoadIcon(NULL, IDI_APPLICATION);
    wc.hCursor       = LoadCursor(NULL, IDC_ARROW);
    wc.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
    wc.lpszMenuName  = NULL;
    wc.lpszClassName = g_szClassName;
    wc.hIconSm       = LoadIcon(NULL, IDI_APPLICATION);

    if(!RegisterClassEx(&wc))
    {
        MessageBox(NULL, "Window Registration Failed!", "Error!",
            MB_ICONEXCLAMATION | MB_OK);
        return 0;
    }

    // Step 2: Creating the Window
    hwnd = CreateWindowEx(
        WS_EX_CLIENTEDGE,
        g_szClassName,
        "The title of my window",
        WS_OVERLAPPEDWINDOW,
        CW_USEDEFAULT, CW_USEDEFAULT, 240, 120,
        NULL, NULL, hInstance, NULL);

    if(hwnd == NULL)
    {
        MessageBox(NULL, "Window Creation Failed!", "Error!",
            MB_ICONEXCLAMATION | MB_OK);
        return 0;
    }

    ShowWindow(hwnd, nCmdShow);
    UpdateWindow(hwnd);

    // Step 3: The Message Loop
    while(GetMessage(&Msg, NULL, 0, 0) > 0)
    {
        TranslateMessage(&Msg);
        DispatchMessage(&Msg);
    }
    return Msg.wParam;
}
Fenster mit C#
Code:
Form fenster = new Form();
Application.Run(fenster);
Man kann doch schon deutlich den Unterschied sehen. Mit C muss man sich einfach extrem viel Hintergrundwissen aufbauen bevor es mal richtig losgeht.
Nava001 ist offline   Mit Zitat antworten
Ungelesen 04.05.10, 23:48   #2
kramido
Erfahrener Newbie
 
Registriert seit: Apr 2010
Beiträge: 172
Bedankt: 31
kramido ist noch neu hier! | 0 Respekt Punkte
Standard

Zitat:
Zitat von Nava001 Beitrag anzeigen
Ja das sind alles Sachen die das OOP ausmachen, aber für den Anfang muss man die nicht nutzen.
Viel Spaß beim Benutzen eines eingefügten Buttons ohne Delegates. Der wird sicher nicht so viel Spaß machen..

Zitat:
Zitat von Nava001 Beitrag anzeigen
Mann kann C# genauso sequenziell nutzen wie C.
Du meinst prozedural und nicht sequentiell, oder?

Zitat:
Zitat von Nava001 Beitrag anzeigen
Aber schon mal versucht etwas grafisches mit c/c++ unter Windows mit der WinApi hinzubiegen.
Mehr als nur versucht. Ist kompliziert für Anfänger, stimme ich zu. Aber konzeptionell ist sowieso die Frage, wie sinnvoll die Erstellung von Grafikanwendungen zu Beginn seiner 'Programmierlaufbahn' ist.

Zitat:
Zitat von Nava001 Beitrag anzeigen
Mit C muss man sich einfach extrem viel Hintergrundwissen aufbauen bevor es mal richtig losgeht.
Da man keine riesige Bilbiothek im Rücken hat, muss man einige Sachen von Hand erledigen. Man erlangt jedoch so auch ein Gespür, wie kompliziert die einfachsten Problemstellungen sein können, wenn man sich versucht, maschinell zu lösen.

Ich kann grundsätzlich nur jedem empfehlen, mit einer eher konservativen Sprache C oder sogar einer Skriptsprache prozedural anzufangen. Sobald man dann nach und nach erstmal fundamentale Konzepte wie Programmierung mit Schleifen, Auslagerung von Quellcode in Funktionen und das Speichermanagement verstanden hat, kann man sich weiterführenden Problemen wie Objektorientierung, Vererbung, usw. zuwenden. Hierfür kann man dann z.B. C++, Java oder C# benutzen.

Einen Sprung ins Wasser direkt mit C# halte ich für ziemlich gewagt und davon würde ich abraten. Man gewöhnt sich zu schnell an den Luxus, eine starke Bibliothek im Hintergrund zu haben und hat kein Verständnis für Prozesse, die im Hintergrund ablaufen. Sofern das jedoch nicht gewollt ist..
kramido ist offline   Mit Zitat antworten
Ungelesen 07.05.10, 19:59   #3
Rico111
Anfänger
 
Registriert seit: Aug 2009
Beiträge: 8
Bedankt: 3
Rico111 ist noch neu hier! | 0 Respekt Punkte
Standard

So, ich hab jetzt doch mit C angefangen und leicht ist es wirklich nicht(vor allem wenn man erst 15,so wie ich, ist, da schon viele Fachausdrücke verwendet werden(jedenfalls in meinem Buch)). Ich lese und bearbeite jeden Tag ein Kapitel, aber abends lese ich es mir noch ein 2. mal durch, da man einige Dinge nicht sofort versteht.
Es ist zwar schwerer als ich am Anfang dachte, aber wenn man es wirklich lernen will, kann man auch mit C als 1. Programmiersprache nehmen.
Rico111 ist offline   Mit Zitat antworten
Ungelesen 07.05.10, 20:42   #4
Iljaassassin
$Mafia$Assassin§
 
Benutzerbild von Iljaassassin
 
Registriert seit: Apr 2009
Beiträge: 94
Bedankt: 98
Iljaassassin ist noch neu hier! | 0 Respekt Punkte
Standard

Zitat:
Zitat von Rico111 Beitrag anzeigen
So, ich hab jetzt doch mit C angefangen und leicht ist es wirklich nicht(vor allem wenn man erst 15,so wie ich, ist, da schon viele Fachausdrücke verwendet werden(jedenfalls in meinem Buch)). Ich lese und bearbeite jeden Tag ein Kapitel, aber abends lese ich es mir noch ein 2. mal durch, da man einige Dinge nicht sofort versteht.
Es ist zwar schwerer als ich am Anfang dachte, aber wenn man es wirklich lernen will, kann man auch mit C als 1. Programmiersprache nehmen.
Man kann auch schon viel früher anfangen.ich habe z.B. mit 13 angefangen(C++), jedoch muss ich zugeben, dass es mir nicht leicht gefallen ist.

Man muss sehr ehrgeizig sein um solch eine schwere Sprahce zu lernen und gut anwenden zu können.
__________________
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
Iljaassassin ist offline   Mit Zitat antworten
Antwort

Themen-Optionen
Ansicht

Forumregeln
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren

BB code is An
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.

Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:57 Uhr.


Sitemap

().