1. Foren
  2. Kommentare
  3. Security
  4. Alle Kommentare zum Artikel
  5. › Firefox: Mozilla rechtfertigt sich…

Programmieren für Anfänger?

  1. Thema

Neues Thema Ansicht wechseln


  1. Programmieren für Anfänger?

    Autor: Anonymer Nutzer 08.04.12 - 18:42

    Also ich habe jetzt vor kurzem den Schritt gewagt, mich etwas mehr mit Programmierung zu befassen. Angefangen mit PHP soll es nun auch Ausführbar sein. Was hat man da an Möglichkeiten? Adobes Air, Java, C#.... All sowas. Und das tolle ist, die Programmierung wird extrem vereinfacht, in dem vieles, was man benötigt gleich mitgeliefert wird.

    .NET-Framework usw. usf.

    Was mich an der ganzen Sache stört ist genau das, was mit Dritt-Anbieter-Software so passiert. Bestes Beispiel: PHP 6. Zahlreiche der Befehle, die bis Version 5.x funktionierten, werden in PHP 6 einfach ersatzlos gestrichen. Bis man also ein umfangreiches PHP-Projekt auf eine neue Version gebracht hat, vergeht schon einmal unglaublich viel Zeit.

    Wenn ich ein Programm als eigenständig und unabhängig von Bibliotheken usw. anderer Hersteller entwickle, kann so etwas nicht passieren. Die einzige Möglichkeit etwas von Grund auf zu entwickeln bietet einem jedoch nur C oder C++.

    Vorteil ist, dass auch mit wenig Aufwand die Programme für andere Betriebssysteme kompiliert werden können, so stehts in der Einleitung meines C++-Handbuchs. Ob das wirklich so problemlos möglich sein wird, kann ich Euch in ein paar Monaten sagen.

    Auf jeden Fall gefällt mir persönlich diese Nutzung von Software, um Software benutzen zu können, überhaupt nicht.

  2. Re: Programmieren für Anfänger?

    Autor: flowers 08.04.12 - 19:32

    sunnymarx schrieb:
    --------------------------------------------------------------------------------
    > Vorteil ist, dass auch mit wenig Aufwand die Programme für andere
    > Betriebssysteme kompiliert werden können, so stehts in der Einleitung
    > meines C++-Handbuchs. Ob das wirklich so problemlos möglich sein wird, kann
    > ich Euch in ein paar Monaten sagen.

    Ich denke das hängt auch sehr stark davon ab, welche Bibliotheken/Frameworks benutzt.

    Wenn Du ein Tool mit GTK oder QT als Umgebung schreibst, lässt es sich leicht auf andere Plattformen übertragen (Win/Mac/Linux) weil die Bibliotheken dafür vorhanden sind. Wenn Du eine Anwendung unter Windows mit DirectX-Befehlen ausstattest, wirds schwieriger, dafür sollte man einen "Wrapper" bauen, also eine Pseudo-Abstraktionsschicht, die die systemnahen Befehle in ihren Methoden weitergeben und dann z. B. bei die .net-Anweisungen (Win) am Mac gegen die Cocoa-Anweisung auszutauschen. Nachteil: Frist CPU-Zyklen wie jeder Layer zwischen Anwendungsbefehlen und System.



    1 mal bearbeitet, zuletzt am 08.04.12 19:37 durch flowers.

  3. Re: Programmieren für Anfänger?

    Autor: bstea 08.04.12 - 19:35

    Nur ein paar Beispiele: Jedes C/C++ benötigt Bibliotheken, diese sind weder portabel noch stabil bis noch Nimmerleinstag. PHP produziert wohl keine ausführbaren Programme? Wieso ist PHP ein Drittanbieter?

    --
    Erst wenn der letzte Baum gefällt, der letzte Fluss gestaut und der letzte Fisch gefangen ist, werdet ihr feststellen, dass man Biber nicht essen kann!



    1 mal bearbeitet, zuletzt am 08.04.12 20:25 durch sha (Golem.de).

  4. Re: Programmieren für Anfänger?

    Autor: elgooG 08.04.12 - 20:27

    sunnymarx schrieb:
    --------------------------------------------------------------------------------
    > Also ich habe jetzt vor kurzem den Schritt gewagt, mich etwas mehr mit
    > Programmierung zu befassen. Angefangen mit PHP soll es nun auch Ausführbar
    > sein. Was hat man da an Möglichkeiten? Adobes Air, Java, C#.... All sowas.
    > Und das tolle ist, die Programmierung wird extrem vereinfacht, in dem
    > vieles, was man benötigt gleich mitgeliefert wird.

    Frameworks gibt es überall, völlig unabhängig von der Sprache. Der Grund ist allerdings NICHT, die Verwendung zu vereinfachen. Eigentlich wird eine Sprache sogar komplexer, weil man ohne Wissen über das Framework erst gar nichts damit anfangen kann. Es geht mehr darum, das Rad nicht zum 1000. Mal neu zu erfinden und dem Entwickler ständig wiederkehrende Arbeit abzunehmen. Schließlich soll man sich bei einem Projekt auf die schwierigen Teile konzentrieren und nicht erst von 0 das Haus zum Abermalsten neu aufziehen. Unternehmen/Entwickler bauen zwar sowieso ihre eigenen Frameworks, aber die sind meist untereinander völlig inkompatibel, was die Einarbeitung von externen Mitarbeitern sehr erschwert.

    Der einzige Unterschied zu Frameworks in C/C++/... ist, das Java/C# und Air speziell auf ein spezielles Framework ausgerichtet sind und ohne dieses sogar nicht einmal funktionieren würden, da Sprachfeatures fest mit dem Framework verwurzelt sind. (Beispiel: Common Type Library unter .NET)

    KEIN intelligenter C/C++-Entwickler programmiert alles von 0 weg. Es gibt unzählige Bibliotheken/Frameworks/... die das Leben genauso erleichtern.

    > Was mich an der ganzen Sache stört ist genau das, was mit
    > Dritt-Anbieter-Software so passiert. Bestes Beispiel: PHP 6. Zahlreiche der
    > Befehle, die bis Version 5.x funktionierten, werden in PHP 6 einfach
    > ersatzlos gestrichen. Bis man also ein umfangreiches PHP-Projekt auf eine
    > neue Version gebracht hat, vergeht schon einmal unglaublich viel Zeit.

    PHP ist auch eine völlig besch***ene Sprache was dessen Design angeht. Es war einfach nötig, dass einiges endlich über Bord geworfen wird. Das ist von Zeit zu Zeit aber nun mal nötig, besonders bei Sprachen bei denen sich die Hersteller nicht genug Gedanken um das Design gemacht haben.

    Bei Java / .NET werden genauso einige wenige Sprachelemente ab und zu als veraltet markiert, allerdings ist das nur sehr selten notwendig, da das Sprachdesign sehr viel besser ausgeklügelt ist.

    > Wenn ich ein Programm als eigenständig und unabhängig von Bibliotheken usw.
    > anderer Hersteller entwickle, kann so etwas nicht passieren. Die einzige
    > Möglichkeit etwas von Grund auf zu entwickeln bietet einem jedoch nur C
    > oder C++.

    Wieso willst du so etwas machen? Ganz ohne Bibliotheken wirst du sowieso nicht auskommen. Spätestens wenn du auf Betriebssystemfunktionen zugreifst, hast du in der Hinsicht auch unter C/C++ Abhängigkeiten.

    > Vorteil ist, dass auch mit wenig Aufwand die Programme für andere
    > Betriebssysteme kompiliert werden können, so stehts in der Einleitung
    > meines C++-Handbuchs. Ob das wirklich so problemlos möglich sein wird, kann
    > ich Euch in ein paar Monaten sagen.

    Wenig Aufwand? Muhahahaha....naja, wenn du meinst. :p ...wenn der Autor deines Buches so etwas schreibt, dann solltest du das Buch wieder zurückschicken. ;D

    C/C++ einzusetzen heißt nicht automatisch, dass du plattformunabhängig bist. Hier bekommt man bei Java deutlich weniger graue Haare.

    > Auf jeden Fall gefällt mir persönlich diese Nutzung von Software, um
    > Software benutzen zu können, überhaupt nicht.

    Die Systeme werden immer komplexer und Software muss immer mehr leisten. Entwickler müssen sich in kürzester Zeit in bestimmte Projekte einarbeiten können. Es mag dir nicht gefallen, aber es ist gut so und es hat dafür gesorgt, dass Software in der Qualität deutlich über dem Niveau der 90er liegt.

    Kann Spuren von persönlichen Meinungen, Sarkasmus und Erdnüssen enthalten. Ausdrucke nicht für den Verzehr geeignet. Ungelesen mindestens haltbar bis: siehe Rückseite

  5. Re: Programmieren für Anfänger?

    Autor: mars96 09.04.12 - 03:08

    sunnymarx schrieb:
    --------------------------------------------------------------------------------
    > [..] Wenn ich ein Programm als eigenständig und unabhängig von Bibliotheken usw.
    > anderer Hersteller entwickle, kann so etwas nicht passieren. Die einzige
    > Möglichkeit etwas von Grund auf zu entwickeln bietet einem jedoch nur C
    > oder C++.
    >
    > Vorteil ist, dass auch mit wenig Aufwand die Programme für andere
    > Betriebssysteme kompiliert werden können, so stehts in der Einleitung
    > meines C++-Handbuchs. Ob das wirklich so problemlos möglich sein wird, kann
    > ich Euch in ein paar Monaten sagen.

    Das mit dem einfachen neu kompilieren geht nur bei command line tools und auch nur dann wenn man die Standard Library verwendet.
    Nutzt man eine größere Zahl an weiteren Libs wachsen einem schnell graue Haare. Zum einen findet man sich quasi mit den ersten größeren Projekten in der Makefile-Hölle und zum anderen in der Versions-Hölle wieder (bei Java mit vielen 3rd Party Libs auch problematisch aber dank Maven und die generelle Plattformunabhängigkeit erträglich). Wieso...weil man u.a. einen anderen C/Cpp Compiler und ggf weiteres Toolset drum herum benötigt und dies in der Regel nicht mit den alten Makefiles funktioniert (für dein eigenes Projekt noch ok/händelbar). Durch verwendete Libs stehst Du dann aber vor dem Problem das die von Dir verwendeten Libs weitere Libs benötigen und Du diese auch noch selber compilieren darfst. Durch diese Verkettung von Abhängigkeiten fächert sich das immer weiter auf.
    Good luck!

    Das ist wohlgemerkt bei Command Line Tools teilweise schon so geht es Richtung GUI potenziert sich das noch. GTK und Qt wurden schon genannt. Es gibt auch noch wxWindows ach ne Microsoft hatte vor Jahren ja etwas gegen den Namen ich meine wxWidgets.
    Qt dürfte die größte Verbreitung haben (es gibt auch einen aktuellen eComstation aka OS/2 Port in den ich investiert habe: http://qt.netlabs.org/en/site/index.xml ).
    Man kann aber auch einfach eine Java GUI für in C/Cpp geschriebene portable Command Line Anwendungen erstellen (Beispiel: Streamtastic als Java GUI für StreamRipper). Leider wird in diesen Fällen häufig eine GUI Anwendung in C/Cpp geschrieben, die trotz Qt,.. immer noch mal neu für ein anderes System übersetzt werden muss. Bei einer Java GUI entfällt das vollständig, wenn man auf 2-3 Details achtet (z.B. keine hardcoded Zeilenumbrüche, Slashes/Backslashes...diese Details kann man direkt bei der Java Runtime zur Laufzeit abfragen... wobei es Sinn macht diese Abfrage in einer eigenen Methode seiner Tool-Klasse für weitere Projekte zu hinterlegen).

    > Auf jeden Fall gefällt mir persönlich diese Nutzung von Software, um
    > Software benutzen zu können, überhaupt nicht.

    Es geht bei der Java Runtime Edition/beim .NET Framework nur darum Basisfunktionen bereit zu stellen. Das ist soweit sinnvoll.
    Java hat sicherlich eine größere Verbreitung über die verfügbaren Betriebssysteme als das .NET Framework u.a. weil Mono (.NET für Linux/MacOS X) nicht den vollen Funktionsumfang hat (muss aber kein Problem sein) und hinkt generell hinter her. Was man nutzen will sollte man selber entscheiden. In einzelnen Fällen kann es Sinn machen z.B. auch mal Delphi (nicht die .NET Fassung) einzusetzen, beispielsweise wenn man nur eine kleine ausführbare Datei (2MB) ohne ein extra benötigtes Framework (30 bis 60 oder mehr MB) verteilen muss/will.

    Ich habe schon diverse Sprachen durch und bin mehr oder weniger bei Java hängen geblieben. C# und das normale Delphi (ohne .NET) verwende ich aber auch noch.

    Persönliches:
    Der Grund pro Java sind neben der besseren Plattforumunabhängigkeit u. a. die verfügbaren Entwicklungsumgebungen. Visual Studio finde ich wirklich grausam auch wenn es mit jeder Version besser wird. Dennoch ist es ohne Addons wie ReSharper einfach eine Qual damit zu arbeiten. Eclipse ist ein Traum nicht nur für Java Entwickler. Bei Java Webanwendungen gefällt mir Eclipse eigentlich nicht so gut (in der Regel zu kompliziert für das was ich vor habe...zum Glück gibt es das Plugin RunJettyRun [http://code.google.com/p/run-jetty-run/] das man leicht konfigurieren und statt einem überdimensionierten Tomcat einsetzen kann - die Anlehnung an den Film Forrest Gump bemerkt?). Ansonsten finde ich NetBeans für Webanwendungen als auch für Desktop Anwendungen sehr gelungen. Dann gibt es noch IntelliJ IDEA. Man hat somit schon die Qual der Wahl. ;)

  6. Re: Programmieren für Anfänger?

    Autor: motzerator 09.04.12 - 03:59

    Was würdet ihr eigentlich empfehlen, wenn man unter C (ohne ++) wieder ein wenig unter Windows herumprogrammieren will?

    Geht das nur noch mit .NET oder gibts da auch was schlankeres? Am liebsten währen mir so #Inludes, die dann nicht als eigene dll rumfliegen sondern komplett in der EXE landen.

  7. Re: Programmieren für Anfänger?

    Autor: Thaodan 09.04.12 - 04:27

    Wenn du c programmieren willst und gcc nutzt kannst du mit --static eine statisch
    gebundenes Programm erzeugen also mit alles Librarys(dll, so) eingebunden.

  8. wieso? java-programme sind doch kein stück plattformunabhängig?!

    Autor: fratze123 10.04.12 - 09:55

    die laufen ausschliesslich in einer java-vm.

  9. .net bringt rein gar nix, wenn man c will.

    Autor: fratze123 10.04.12 - 09:58

    einfach mingw nutzen und fertig.

  1. Thema

Neues Thema Ansicht wechseln


Um zu kommentieren, loggen Sie sich bitte ein oder registrieren Sie sich. Sie müssen ausserdem in Ihrem Account-Profil unter Forum einen Nutzernamen vergeben haben. Zum Login

Stellenmarkt
  1. IT-Anwendungsbetreuer (m/w/d), Schwerpunkt ERP-System
    Polymer-Technik Elbe, Wittenberg
  2. Product Manager Cloud / PaaS / IaaS (m/w/d)
    iWelt GmbH + Co. KG, Eibelstadt
  3. Koordinator (m/w/d) Digitalisierungsprozesse
    Vereinigte Papierwarenfabriken GmbH, Feuchtwangen
  4. IT-Projektmanagement (m/w/d)
    Göhrum Fahrzeugteile GmbH, Sindelfingen-Maichingen

Detailsuche


Golem pur
  • Golem.de ohne Werbung nutzen

Anzeige
Spiele-Angebote
  1. (u. a. Nintendo Switch Lite für 174,99€, Miitopia für 37,99€, Roccat Kone Aimo für 47,50€,
  2. 17,49€
  3. (u. a. Gears 5 für 9,99€, Forza Horizon 4 für 29,99€)


Haben wir etwas übersehen?

E-Mail an news@golem.de