Java oder C als Anfänger lernen?

7 Antworten

Java.

Die meisten Logiken, insbes. OOP, wird mit Java verständlich. Weiter hat Java viele sehr gute Bibliotheken für GUI (Windows-Oberfläche oder für sonstige graphische Betriebssysteme), für Algorithmen, für Iterationen, für gängige Datenstrukturen, Container etc.. Das ist einfach das, was heute gefragt ist. Dann Plattform-unabhängig.

C wurde geschrieben, um die Unix-Programmierung zu vereinfachen (Alternative ist Assembler, also push, mov, add, int ... kein Spaß zu Debuggen), damit weitaus hardware-näher, nur wenige, sehr komplizierte Bibliotheken (scanf, fflush, gute Nacht) und unterstützt keine höhere Logik, sehr roh.

C++: Das ist C plus Objekt-Orientierung, aber dennoch sehr schwer (auch wenn iostrem viel abnimmt), für GUI braucht es entweder WIN32API (das ist dann wie in Win-Assembler) oder Bibliotheken + Preprozessoren wie Qt. Deutlich mächtiger als Java, man kann voll in die Hardware gehen, max. performen. Aber keine so gute Unterstützung im Proggen wie bei Java in Eclipse oder NetBeans.

C#: Die Microsoft-Lösung zu Java. Vorteile wie bei Java, nicht so radikal Objekt-orientiert (z.B. Delegates), sehr gutes Konzept, aber eben eine Lösung von Microsoft für Microsoft.

Pyhton: Einfache Sprache ab wer programmiert damit professionell??? Auf mich wirkt es wie Basic, irgendwann Geschichte.

Ich fing mit Basic (als Kind) an, dann Pascal + Assembler, dann C, C++, C#, Java. Ging auch. Aber die Zeit der C/Asm-Heinis ist nicht mehr so aktuell.

Woher ich das weiß:eigene Erfahrung – Hobby und teilweise beruflich

regex9  10.08.2018, 01:17

Professionell wird mit Python durchaus entwickelt, nur wohl nicht so oft in den Größenbereichen von Software, wie du sie dir womöglich vorstellst (?). Python dient öfter dem Scripting oder um Schnittstellen / Subfunktionalitäten zur Verfügung zu stellen. Auf diesen Seiten kann man dazu ja auch einmal etwas stöbern:

Python hat in den letzten Jahren in Bereichen wie der Webentwicklung zugelegt. Die Einfachheit der Sprache wird wohl dafür sorgen, dass sie noch eine längere Lebenszeit vor sich hat.

2
nobytree2  10.08.2018, 01:22
@regex9

Yep, mein Fehler. Ich bekomme nur die Entwicklung in der Finanzbranche mit (Bankensoftware, Datenbanksysteme), da spielt Python keine von mir wahrnehmbare Rolle.

Basic war auch einfach. Komplexe Konzepte ließen sich aber nur schwer integrieren (wie OOP). Würde mich nicht wundern, wenn das irgendwann auch bei Python passiert, kann mich aber auch gewaltig irren. Nur dass Java und C# solche Bib-Monster sind, hat wohl seinen Grund.

0

Java ist objektorientiert und daher ist das Programmieren in Java für viele sehr viel einfacher als mit C. Mit java kommst du sehr viel schneller und einfacher zum Ziel als mit C was für einen Anfänger sehr wichtig ist da man dann mehr Motivation findet. C wird heutzutage nur noch verwendet wenn es nicht anders geht weil das programm sonst zu langsam wäre oder weil die Anwendung sehr hardwarenah ist. Ich zum Beispiel programmiere spiele und kann mir es nicht vorstellen in C Spiele zu programmieren da es viel zu schwer wäre.

Meines Erachtens würde es Sinn machen, erst einmal das zu beenden, womit du bereits angefangen hast. Die Vorteile bei einer Wahl von C gegenüber Java wären:

  • dein bisheriger Kenntnisstand.
  • wie schon von anderen angesprochen die Nutzung von C für Linux-Systeme, obwohl C natürlich auch für andere OS verwendet wird (Windows, Mac OS X, ...).
  • die Tatsache, dass die Sprache nicht objektorientiert ist - öfter stellt dieses Paradigma die erste Hürde für Anfänger. Bei Java wird man von Anfang an in irgendeiner Weise damit konfrontiert, denn die Sprache baut auf diesem Konzept auf. Es würde mehr Dinge geben, die du für den Anfang erst einmal hinnehmen müsstest. C hingegen bietet mit structs einen guten Übergang in Richtung OOP. Du könntest also erst C und danach Java lernen.
  • die Möglichkeit, systemnah programmieren zu können. Ein Bewusstsein für Speichermanagement zu bekommen, ist nicht schlecht und wohl auch prägend für den Stil. Mehr Komfort gibt es später bei Java.

Weitere Tipps zu beiden und anderen Sprachen kannst du in meiner Antwort von hier nachlesen.

C++ würde ich dir empfehlen, ist nicht so schwer.
Wenn du jung bist würde ich auch Python lernen das wird höchstwahrscheinlich die Zukunft.
Google, Uber, Instagram, Spotify, Reddit, IBM, Dropbox, die Nasa, usw... nutzen alle Python


nobytree2  09.08.2018, 23:07
ist nicht so schwer

Dann bist Du wirklich gut, wenn Du C++ nicht so schwer findest. Zugegeben, die letzten Versionen (jetzt C++17) haben klasse Bibliotheken und Konzepte an den Start gebracht, die es mitunter erleichtern.

Aber C++ debuggen (oder meinst Du Visual Studio C++??) ist wenig nett, da hilft Eclipse doch sehr. Aber Java braucht man natürlich lang, bis man die vielen Bibs und Features kennt.

1
WaffelCop  10.08.2018, 13:56

Nicht so schwer zum lernen war damit gemeint, man kann C++ natürlich extrem vertiefen allerdings sind die Grundlagen relativ einfach zu verstehen.

Ich finde C++ gut für den Einstieg

0

Ich würde Java empfehlen (oder Haskell für funktionale). WARUM?

-> überall Tipps

-> Bibliotheken

-> Gut für Schule und Uni

-> kostenlose Bücher

-> funktioniert über JVM