• Hallo liebe Userinnen und User,

    nach bereits längeren Planungen und Vorbereitungen sind wir nun von vBulletin auf Xenforo umgestiegen. Die Umstellung musste leider aufgrund der Serverprobleme der letzten Tage notgedrungen vorverlegt werden. Das neue Forum ist soweit voll funktionsfähig, allerdings sind noch nicht alle der gewohnten Funktionen vorhanden. Nach Möglichkeit werden wir sie in den nächsten Wochen nachrüsten. Dafür sollte es nun einige der Probleme lösen, die wir in den letzten Tagen, Wochen und Monaten hatten. Auch der Server ist nun potenter als bei unserem alten Hoster, wodurch wir nun langfristig den Tank mit Bytes vollgetankt haben.

    Anfangs mag die neue Boardsoftware etwas ungewohnt sein, aber man findet sich recht schnell ein. Wir wissen, dass ihr alle Gewohnheitstiere seid, aber gebt dem neuen Board eine Chance.
    Sollte etwas der neuen oder auch gewohnten Funktionen unklar sein, könnt ihr den "Wo issn da der Button zu"-Thread im Feedback nutzen. Bugs meldet ihr bitte im Bugtracker, es wird sicher welche geben die uns noch nicht aufgefallen sind. Ich werde das dann versuchen, halbwegs im Startbeitrag übersichtlich zu halten, was an Arbeit noch aussteht.

    Neu ist, dass die Boardsoftware deutlich besser für Mobiltelefone und diverse Endgeräte geeignet ist und nun auch im mobilen Style alle Funktionen verfügbar sind. Am Desktop findet ihr oben rechts sowohl den Umschalter zwischen hellem und dunklem Style. Am Handy ist der Hell-/Dunkelschalter am Ende der Seite. Damit sollte zukünftig jeder sein Board so konfigurieren können, wie es ihm am liebsten ist.


    Die restlichen Funktionen sollten eigentlich soweit wie gewohnt funktionieren. Einfach mal ein wenig damit spielen oder bei Unklarheiten im Thread nachfragen. Viel Spaß im ngb 2.0.

Erste Programmiersprache Empfehlungen

zasto

Neu angemeldet

Registriert
10 Jan. 2018
Beiträge
2
Ort
Zürich
Hallo zusammen

Ich habe mir als Neujahrsvorsatz vorgenommen eine Programmiersprache zu lernen (ja ich weiss Neujahrsvorsätze sind für Deppen). Ich möchte aber Mal meinen Horizont erweitern und was neues machen. Kann mir jemand eine Programmiersprache empfehlen die für Einsteiger geeignet ist? Eventuell vielleicht auch gleich mit einem Tipp wie man sie am besten lernt (Bücher, Programme, Youtubechannels etc.). Ich persönlich habe mich auch ein bischen schlau gemacht. Also die zwei Sprachen die micht am meisten interessieren würden sind Java und C#, aber sind diese auch für Einsteiger geignet oder eher was für fortgeschrittene?

Danke schon mal im voraus für einen Tipp.
 

LadyRavenous

in Schwarz
Teammitglied

Registriert
26 Dez. 2016
Beiträge
16.079
Ort
hello world
Hallo zasto,

ich bin mal so frech und verweise erst einmal auf eine etwas längliche Diskussion auch in Programmierung vor nicht allzu langer Zeit.

Zu Java und C#: Java war meine zweite Programmiersprache, die erste war (vor Ewigkeiten) Delphi. Prinzipiell kann man sowohl mit Java und C# anfangen. Probiers einfach aus, was dir besser gefällt ;)
Neue Programmiersprachen lerne ich gerne, wenn ich mir irgendein Projekt mir vornehme, und dann anhand von Büchern, e-Learning-Sachen, Foren, Tutorien usw. mir die Sachen aneigne.
Wie überall (auch wenn jetzt sicherlich einige Boardler aufstöhnen): es kommt drauf an, was man machen möchte, was einem mehr liegt usw.

Viel Spaß schon einmal :T
 

Pleitgengeier

offizielles GEZ-Haustier

Registriert
14 Juli 2013
Beiträge
7.369
Ort
127.0.0.1
Die Frage ist was du damit machen möchtest. Jede Sprache hat ihre Möglichkeiten und Eigenheiten.


Ich finde C++ super weil es unglaublich mächtig ist und dir wenig Vorschriften macht. Da gibt es Bibliotheken die mehr können als ganze andere Sprachen, QT wäre so ein Beispiel.
Dazu kann ich dir dieses Buch empfehlen:
Arnold Willemer - Einstieg in C++ (gibt es sicher über alternative Quellen auch)

Andere werden dir besonders strenge Sprachen zum lernen Empfehlen - Delphi wurde soviel ich weiß sogar extra zu diesem Zweck entwickelt aber dann von Java als "Schulsprache" abgelöst, diese Diskussion ist so alt wie die Informatik selbst

Ich mag Java nicht weil es einen arg einschränkt.
C# ist fast so mächtig wie C++, wurde aber von M$ als Teil ihrer Monopolpolitik entwickelt (nachdem sie wegen assozialen Verhaltens aus dem Java-Konsortium geflogen sind) - wie auch schon bei OpenGL, so entstand DirectX.
Für Linux und MacOS existiert mit Mono eine offene Implementierung, soviel ich weiß ist diese aber lange noch nicht vollständig.
 

KaPiTN

♪♪♫ wild at heart ♪♫♫♪

Registriert
14 Juli 2013
Beiträge
29.138
Für Linux und MacOS existiert mit Mono eine offene Implementierung, soviel ich weiß ist diese aber lange noch nicht vollständig.

.NET Core Plattform ist mittlerweile auch offen, Mono wird hauptsächlich von einer MS Tochter entwickelt. Die neueste Version enthält afaik alle Features.
 

musv

Bekannter NGBler

Registriert
15 Juli 2013
Beiträge
3.453
Ort
/dev/null
Ich find Python ziemlich schnuckelig. Man kommt schnell zu Ergebnissen, braucht keinen Compiler. Und es ist in jeder Distribution sowieso bereits vorhanden. Außerdem hat Vim eine Autovervollständigung dafür.
 

LadyRavenous

in Schwarz
Teammitglied

Registriert
26 Dez. 2016
Beiträge
16.079
Ort
hello world
@musv: Aktuell gibt es auch Python Bücher im Humblebundle.
Mit Python kann man verschiedenes machen und ist recht performant.

Bei Java habe ich schon ziemlich schrecklichen Code von Programmierern gesehen. Sehr vielseitig durch Frameworks, aber da viel geht, lernt man nicht so leicht richtig zu programmieren.
 

BurnerR

Bot #0384479

Registriert
20 Juli 2013
Beiträge
5.504
Wichtigste ist eigentlich, dass du Bock auf die Sprache hast.
C# habe ich noch nie mit gearbeitet, aber Java ist absolut Ok für den Einstieg. Wenn Java dich also anspricht, dann leg einfach los. Das selbe mag für C# gelten.
 

Brother John

(schein)heilig
Veteran

Registriert
1 Aug. 2013
Beiträge
235
Ein Neujahrsvorsatz … das kann ja nix werden! :p

Programmieren ist zuallererst eine Denkweise, eine Art Probleme zu lösen. In dieses Mindset reinzukommen, halte ich für das Wichtigste. Die Sprache ist nur Mittel zum Zweck. Solange du dir bei der Sprachwahl nicht mutwillig in den Fuß schießt, passt das.

Was ich dir nicht empfehlen kann, ist eine low-levelige Sprache wie Assembler oder C. Das Frustpotential ist dort einfach zu hoch. Mit einer halbwegs mainstreamigen High-Level-Sprache kannst du wenig falsch machen. High-Level hilft, dass du dich aufs Programmieren lernen anstatt aufs Sprache lernen konzentrieren kannst; und mainstreamig stellt sicher, dass du im Netz genug Material findest. Ob das dann konkret auf C++, C#, Java, Python, JavaScript, Ruby, etc. rausläuft, spielt keine allzu entscheidende Rolle. Nimm das, worauf du Bock hast: Wenn das Java oder C# ist, bestens.

Wie man am besten lernt, puh, schwierig. Ist halt extrem individuell. Das musst du denke ich selber rausfinden, ob du am besten aus Büchern, Youtube oder Google lernst. Was ich immer wieder bei mir selber und anderen sehe, ist das Problem, längerfristig die Motivation aufzubringen. Da hilfts extrem, sich ein kleines Projekt vorzunehmen, dass man selber benutzen will, und das klein genug ist, um es auch realistisch fertig zu kriegen. Das muss auch nichts außergewöhnlich Tolles sein. Der drölfzigste Tee-/Kaffeetimer oder Tetrisklon ist absolut legitim.

P.S.: Sprachen, was sag ich da eigentlich! Ist doch eindeutig! Aus meinen kalten, toten Händen können sie mir mein C++ rauspuhlen. :D
 

alter_Bekannter

N.A.C.J.A.C.

Registriert
14 Juli 2013
Beiträge
4.823
Ort
Midgard
Warum nicht Assembler?
Damit kann man seine Nase in alles reinstecken wo man nichts zu suchen hat und man kann erheblich intuitiver mit Schmetterlingen Programmieren.

Technisch war das alles korrekt, aber für diese Realität stimme ich eher Brother John zu. Du musst halt was machen was dich interessiert. Allerdings würde ich dringend davon abraten mit "GUIs" oder "C++ unter Windows" anzufangen. C++ unter linux und ohne GUI geht auch. Deswegen der Windowszusatz.
 

zasto

Neu angemeldet

Registriert
10 Jan. 2018
Beiträge
2
Ort
Zürich
  • Thread Starter Thread Starter
  • #11
Vielen Dank für eure Tipps und Empfehlungen. Ich denke ich werde als erstes mit Java beginnen, da ich auch schon einige Videos gesehen habe zu dieser Sprache und ich auch an der App Entwicklung für Android interesse habe. C++ hört sich auch sehr interessant an, aber so wie ich gelesen habe müsste man Java können um Android Apps zu programmieren.
 

alter_Bekannter

N.A.C.J.A.C.

Registriert
14 Juli 2013
Beiträge
4.823
Ort
Midgard
Bei Java fand ich die Einstiegshürde "Entwicklungsumgebung einrichten" recht heftig für Anfänger. Dafür würde ich Hilfe suchen.(nicht bei mir)
 

theSplit

1998
Veteran Barkeeper

Registriert
3 Aug. 2014
Beiträge
28.560
Ich hab mich extra ein wenig aus dem Thema hier mal rausgehalten, weil ich persönlich mal sehen wollte wie andere das bewerten und weil ich selbst keine Empfehlung zu C# oder Java direkt geben kann, noch kann ich in mühseliger Kleinstarbeit sagen, warum Java Java ist und weil ich selbst in einige Sachen programmieren kann, wenn aber auch nicht als Profi in irgendeiner Sprache zu finden bin.

Grundsätzlich sollte man vorher überlegen:
1) Was... will ich machen?
und
2) Wo.... (auf welcher Plattform) soll der Code am Ende laufen?

Will man, wie du jetzt, Android Apps schreiben, oder doch das iPhone (Mobile) oder Windows/Linux/macOS (Desktop Apps) oder doch eher für das Web programmieren (HTML, JS, CSS, PHP, Angular, Backbone, ......... (Frameworks et cetera), Ruby on Rails, und und weiteres), oder will ich Hardware(treiber) programmieren oder mein eigene Programmiersprache entwickeln oder gar nen eigenes Betriebssystem? ;)

Ich glaube die Frage, was ist "performanter" oder "stabiler" oder "sicherer" oder "erweiterbarer", vergleicht man ja eher später.

Meiner Meinung nach hat Brother John nen guten Punkt aufgegriffen:
Wenn du noch gar keine Ahnung hast, beginne mit einer "traditionellen" Programmiersprache, die schon länger entwickelt wurde bzw. am Markt ist und auch eine Community und Foren hat - "Hipstersprachen" die gerade toll aussehen oder gerade "gehyped" werden, aber "Work in Progress" sind und sich von heute auf morgen evtl. ändern, sollte man Reifen lassen.
Damit meine ich nicht, man kann sich keine neuen Sprachen ansehen, aber da wird vermutlich die User-Base kleiner sein, weniger Tutorials für geben oder die veralten schnell weil sich etwas verändert womit keiner rechnet.... also sehr "flukativ" oder "instabil".

Was man noch sagen kann, grundsätzlich ist jede Sprache geeignet die gut dokumentiert ist. Lesen, lesen, lesen, ne Idee haben/bekommen, ausprobieren und lesen. Das ist das wichtigste.
Man kann sich jetzt über Syntax streiten oder ob es sinnvoll ist ein Zeilenende mit ";" oder "!" oder "#" zu beenden, oder gar nicht.

Oder ob eine Sprache interpretiert ist oder kompiliert oder es mehr oder weniger Entwicklungsumgebungen oder Tools gibt. (Fürs erste Lernen ist das relativ uninteressant, Grundlagen!).

Grundlegend sollte jede Sprache gewisse Datenstrukturen mitbringen und erst mal ist es egal ob du einer Zahl den Wert -1 oder 1 Milliarde siebenhundertvierzehn mit auf den Weg gibst oder ob ein Wert eine Zahl gerade ist und später ein Text oder ein Zeichen...., manche Sprachen machen da keinen Unterschied und das ist vielleicht auch ganz gut so, um sich nicht von solchen Details ablenken zu lassen, wenn man wirklich nicht Bits und Bytes auseinanderhalten kann (soll keine Unterstellung sein ;) ). Jedenfalls, langer Satz, Grundlagen/Konzepte jeglicher Programmiersprache(n) sind wichtiger.

Wichtig sind Kontrollstrukturen kennen zu lernen...

Logische Abfragen (if, else, elseif), switch Statement, Schleifen (for, while, do loop until, do until.....), Variablen (evtl. mit/ohne Datentypen), Grundrechnen, und je nach Sprache auch Datenstrukturen/Container (je nach Sprache) - aber zumindest so was wie ein "Array" sollte schon da sein.... da man auch andere Konzepte mit letzterem beschreibt die Grundlegend sind (finde ich, ohne das studiert zu haben! ;) )

Es gibt vermutlich noch viel mehr, aber das sind grundlegende Sachen ohne die es nicht geht und was man ständig braucht. Dazu wird es auch gute Videos geben - aber Bücher müssen auch nicht schlecht sein. Ich bevorzugte lange Zeit etwas gedrucktes, fand ich immer einfacher zu lesen als am Bildschirm und auch zum lernen/nachschlagen von etwas.

Du könntest auch heutzutage noch mit "Basic" anfangen, rein theoretisch. ;)

Einschlägige Lektüre gibt es wohl überall einiges, zu vielem.

Und neben "Lesen, lesen" und immer Lesen und auch schreiben, schreiben(!) + anwenden.
Was ich immer interessant fand, wenn man sich eine Sprache ausgesucht hat und es "CodeGolf"-Seiten gibt die gewisse Aufgaben in den Raum stellen, die es zu lösen gibt und an denen man sein Wissen evtl. testen kann (wobei das eher nach (noch) besserem, weniger ist mehr, Code-Stil geht), am besten noch wenn es Lösungen gibt dazu (je nach Plattform) - aber es geht ja nur um "Aufgaben" und "Learning by doing" - oder eben das sollte auch ein gutes Buch haben, Aufgaben und evtl. auch mindestens eine Beispiellösung wie man es machen könnte, zumindest im ideal, finde ich.
Das nur als Tip, falls du gleich in den Buchhandel rennst und dir das erstbeste Buch schnappst. ;)

Und bevor man sich ein tolles Ebook/Videoreihe kauft, sollte man danach im Internet suchen und sich Rezensionen und oder Kommentare/Meinungen antun, nicht das man sich gleich von Anfang an schlechten Code Stil aneignet, weil ein Autor/Quelle "zu alte" oder "nicht die besten" Informationen rüberbringt. Wenn man online bestellt geht das natürlich auch für aktuelle gebundene Titel ebenfalls.

Ich würde dir aber empfehlen, kauf dir ein gebundenes Buch, du wirst damit evtl. etwas mehr Spaß haben und schau auch in Musterkapiteln, wenn du online kaufst, so fern vorhanden, ob Aufgaben dort enthalten sind, würde ich zumindest empfehlen. Mache (guten) Bücher bieten so was. ;)

So, das wars eigentlich auch, mehr Hinweise kann ich auf die schnelle nicht geben bzw. ohne in einen Flame-War der Sprache(n) zu geraten. :coffee:
 

CroneKorkN

★ ☆ ☆ ☆ ☆

Registriert
6 Aug. 2014
Beiträge
289
Ort
0176 323 223 71
@zasto: Falsches Buch, falsche Sprache, falsches Tutorial. Alles vorgeschobene Gründe, nicht anfangen zu müssen.

Du schreibst hier, also hast du alles was du zum programmieren brauchst. Ja, das geht auch mit dem Handy. Alle Sprachen funktionieren ertsmal völlig identisch, dadurch ist die Frage nach der Sprache für den Anfänger völlig irelevant. Variablen, Schleifen, Bedingungen, damit kannst du alles Programmieren, was es schon auf der Welt gibt. Wirds unübersichtlich, packst du es in Funktionen und Klassen.

Mach einfach dein Terminal auf und versuche irgendeine Kleinigkeit zu automatisieren. Dafür reichen BASH und Powershell. Wenn du Spaß daran findest, kaufe zB. einen ESP8266 und irgendeinen Sensor und lass eine LED blinken, wenn was passiert. Das beschert Erfolgsmomente. Und da in der Regel der innere Schweinehund der größte Feind ist, solltest du nicht nach der richtigen Sprache, sondern nach einem coolen Projekt ausschau halten, welches dich zu begeistern vermag.
 

BurnerR

Bot #0384479

Registriert
20 Juli 2013
Beiträge
5.504
Jetzt fangen wir an im Kreis zu drehen.
Er hat doch geschrieben worauf er Bock hat. Wieso jetzt mit LEDs und Bash ankommen? Zumal scripten ja noch was anderes ist als programmieren. Skriptsprache wie ruby oder python ist ja ok, aber unter scripten versteht man dann ja doch noch was anderes umgangssprachlich.
 

Goetz-Expat

Neu angemeldet

Registriert
10 Jan. 2016
Beiträge
1.069
Im Grunde kannst Du jede Programmiersprache lernen - es ist eigentlich nichts anderes als eine Fremdsprache zu lernen !

Es gibt Vokabeln und Grammatik - sprich um den Befehlssatz zu können musst Du ihn pauken wie Vokabeln.
Und was die einzelnen Befehle machen ist eben Grammatik.

Wenn Du Dich wie in der schule ein paar Stunden pro Woche ransetzt und ein gutes Buch hast sowie ein gutes Forum um Fragen zu stellen solltest Du nach ein paar Monaten schon ganz gut sein - und nach 1-2 Jahren fast schon wie ein Einheimischer damit umgehen können.
 

Jupp

Neu angemeldet

Registriert
3 Feb. 2018
Beiträge
15
Oh man, was für ein Portfolio an Sprachen.
Also ich bevorzuge "C" und finde Assembler schnuckelig, aber darum gehts wohl nicht.
Es kommt bei der Wahl der Programmiersprache wohl hauptsächlich auf den Zweck an. Nicht jede dieser Sprach eist auch für Alles geeignet.
Java ist schön zu programmieren, komplex in seiner Anwendung und alles andere als portabel, wenn gleich dies auch immer behauptet wird. Es ist langsam, braucht viel Speicher und ist interpretierbarer Code. Ich mag Java nicht, ist aber kein Kriterium.

C++ ist in seinen Grundelementen einfach zu handhaben, wird bald auf jeder Plattform angeboten und ist ohne "interpreter" direkt ausführbar. Wenn es dann um tiefergehende Techniken geht, wirds auch gleich komplex.

Delphi ist Pascal in der OOP Variante. Nett gemacht aber propritär. Eingeschränkt in seiner Plattformverfügbarkeit. Also ein IoT-Projekt auf einem Mikrocontroller dürfte damit nicht möglich sein. Ob's unter MacOS verfügbar ist, kann ich nicht sagen. Was "Larzarus" unter LInux macht, weiss ich nicht genau - ist lange her dass ich was darüber gehört habe.

Python und andere Skriptsprachen sind zu rudimentär und schlecht zu Debuggen. Sie ist eine Interpretersprache und arschlangsam wenn sie Datenmengen verarbeiten müssen. Für viele Anwendungen deren Datenmengen geringer sind, kann man Python verwenden. Es ist unter Unix zuhause und allen anderen Plattformen muss man sie auch zur Ausführung beibringen.

Nun kommen wir noch zu C# und VB.Net - Microsofts Sprachen wenn es um die Plattformen mit Fenstern geht. Linux, Android, iOS und natürlich jede Windows-Version kann damit umgehen. Es ist aber eben Microsoft und die haben immer so ihre Eigenarten. Die Sprachen sind tief im OS verankert und bieten einen sehr komfortablen Entwicklungsworkflow.
Dafür sind sie sehr komplex und klein sind sie ganz bestimmt nicht.

Und zum Schluß käme noch "C", also ohne ++ und damit ohne Objektorientierung. Es ist kompakt und sehr schnell. Es biete viel Freiheiten und genau da liegt auch das Kernproblem. Man kann viel erzwingen und das kann, unsachgemäß gemacht, zu Problemen führen die man lange suchen kann.
Es lebt von seinen Typen und einer davon ist sowohl berühmt als auch berüchtigt und nennt sich "Pointer". Wenn man Hardware-Nah programmieren will, ist es nach Assembler wohl die beste Sprache überhaupt. Der Pointer ist ein sehr universeller Typ aber eben auch sehr komplex und ihm werden viele Mythen angedichtet. Ich schmunzel immer wenn ich mal wieder eine Neue finde. Keine Angst vor Pointern - es sind doch auch nur Typen. Wenn man "C" erlernt, ist der Weg zu C++ nicht soweit. Viele der Elemente sind gleich. C++ hat ein paar veränderungen Erfahren die nicht nur dem OOP Ansatz geschuldet waren, sondern schlichtweg wegen der Unfähigkeit mancher Programmierer.
Ich schreibe fast alles in "C" und manchmal greife ich auch zu "C++", jedoch schreibe ich kaum noch ein Programm für Windows. Ich mag lieber Mikrocontroller programmieren und da fallen mir gleich die Themen "Arduino" oder "Raspi" oder "Cortex-M" ein, die gern mal für IoT oder kleinen Steuerungen für Lichterketten, Gartenpumpen oder der Modelleisenbahn verwendet werden. Es gibt unzählig viele Anwendungen und da ist man mit C /C++ gut aufgehoben.

Die Auswahl einer Programmiersprache ist Anwendungsabhängig. Wenn Du also ein Programm für die Buchhaltung machen möchtest, oder grundsätzlich mal eben ein Programm für Windows auf die Schiene bringen willst, wähle "VB.Net" oder "C#"- es ist als Visual-Studio kostenlos verfügbar und sehr mächtig.
"C oder C++" ist schon ehr war für Bitschieber. C++ kann alles, aber ist ehr was für Profies denn die Zeit zum Einarbeiten ist nicht zu unterschätzen.
Die meisten Betriebssystem sind in C/C++ programmiert - warum nicht in Java, C#, VB.net oder Delphi? Weil sie zu Abstrakt sind und eine Laufzeitumgebung brauchen, die es bei einem startenden System nicht gibt.

Delphi und Skriptsprachen sind ehr Nieschenprodukte. Man benutzt sie für spezielle Anwendungen. Unter Unix sind Script shcon weit verbreitet.

Java wird immer mehr als "Modern" angeboten und wird in Hochschulen gern verwendet. Warum? Ich weiss es nicht. Modern ist das Konzept jedenfalls nicht. Es liegt wohl im wesentlichen daran, dass es bei der Programmierung an Uni's wohl kaum auf ökonomische Maßstäbe ankommt - die Studis kosten ja nichts und es ist egal wie lange sie an ihrer Arbeit schreiben. In Unternehmen sieht es da schon anders aus. Die setzten auf Platformintegrität und da kommt Java ehr schlecht weg. Unter Windows hat man ein GUI, man muss keines mitbringen. Java macht aber genau dies und genauso sehen die grafischen Elemente auch aus - zum kotzen. Genauso sind sie in ihrer Bedienung.
Es gibt aber auch Vorteile von Java und die liegen im Bereich der Kommunikation zwischen Server und Clients. Da finde ich schon mal so einen ORB der an einem Webserver klebt und XML-Tabellen statt HTML-Webseiten streamt.
Es ist nicht so als dass man dies nicht mit anderen Sprachen machen könnte, ist aber nicht so populär.

--- [2018-02-05 20:44 CET] Automatisch zusammengeführter Beitrag ---

Oh man, was für ein Portfolio an Sprachen.
Also ich bevorzuge "C" und finde Assembler schnuckelig, aber darum gehts wohl nicht.
Es kommt bei der Wahl der Programmiersprache wohl hauptsächlich auf den Zweck an. Nicht jede dieser Sprach eist auch für Alles geeignet.
Java ist schön zu programmieren, komplex in seiner Anwendung und alles andere als portabel, wenn gleich dies auch immer behauptet wird. Es ist langsam, braucht viel Speicher und ist interpretierbarer Code. Ich mag Java nicht, ist aber kein Kriterium.

C++ ist in seinen Grundelementen einfach zu handhaben, wird bald auf jeder Plattform angeboten und ist ohne "interpreter" direkt ausführbar. Wenn es dann um tiefergehende Techniken geht, wirds auch gleich komplex.

Delphi ist Pascal in der OOP Variante. Nett gemacht aber propritär. Eingeschränkt in seiner Plattformverfügbarkeit. Also ein IoT-Projekt auf einem Mikrocontroller dürfte damit nicht möglich sein. Ob's unter MacOS verfügbar ist, kann ich nicht sagen. Was "Larzarus" unter LInux macht, weiss ich nicht genau - ist lange her dass ich was darüber gehört habe.

Python und andere Skriptsprachen sind zu rudimentär und schlecht zu Debuggen. Sie ist eine Interpretersprache und arschlangsam wenn sie Datenmengen verarbeiten müssen. Für viele Anwendungen deren Datenmengen geringer sind, kann man Python verwenden. Es ist unter Unix zuhause und allen anderen Plattformen muss man sie auch zur Ausführung beibringen.

Nun kommen wir noch zu C# und VB.Net - Microsofts Sprachen wenn es um die Plattformen mit Fenstern geht. Linux, Android, iOS und natürlich jede Windows-Version kann damit umgehen. Es ist aber eben Microsoft und die haben immer so ihre Eigenarten. Die Sprachen sind tief im OS verankert und bieten einen sehr komfortablen Entwicklungsworkflow.
Dafür sind sie sehr komplex und klein sind sie ganz bestimmt nicht.

Und zum Schluß käme noch "C", also ohne ++ und damit ohne Objektorientierung. Es ist kompakt und sehr schnell. Es biete viel Freiheiten und genau da liegt auch das Kernproblem. Man kann viel erzwingen und das kann, unsachgemäß gemacht, zu Problemen führen die man lange suchen kann.
Es lebt von seinen Typen und einer davon ist sowohl berühmt als auch berüchtigt und nennt sich "Pointer". Wenn man Hardware-Nah programmieren will, ist es nach Assembler wohl die beste Sprache überhaupt. Der Pointer ist ein sehr universeller Typ aber eben auch sehr komplex und ihm werden viele Mythen angedichtet. Ich schmunzel immer wenn ich mal wieder eine Neue finde. Keine Angst vor Pointern - es sind doch auch nur Typen. Wenn man "C" erlernt, ist der Weg zu C++ nicht soweit. Viele der Elemente sind gleich. C++ hat ein paar veränderungen Erfahren die nicht nur dem OOP Ansatz geschuldet waren, sondern schlichtweg wegen der Unfähigkeit mancher Programmierer.
Ich schreibe fast alles in "C" und manchmal greife ich auch zu "C++", jedoch schreibe ich kaum noch ein Programm für Windows. Ich mag lieber Mikrocontroller programmieren und da fallen mir gleich die Themen "Arduino" oder "Raspi" oder "Cortex-M" ein, die gern mal für IoT oder kleinen Steuerungen für Lichterketten, Gartenpumpen oder der Modelleisenbahn verwendet werden. Es gibt unzählig viele Anwendungen und da ist man mit C /C++ gut aufgehoben.

Die Auswahl einer Programmiersprache ist Anwendungsabhängig. Wenn Du also ein Programm für die Buchhaltung machen möchtest, oder grundsätzlich mal eben ein Programm für Windows auf die Schiene bringen willst, wähle "VB.Net" oder "C#"- es ist als Visual-Studio kostenlos verfügbar und sehr mächtig.
"C oder C++" ist schon ehr war für Bitschieber. C++ kann alles, aber ist ehr was für Profies denn die Zeit zum Einarbeiten ist nicht zu unterschätzen.
Die meisten Betriebssystem sind in C/C++ programmiert - warum nicht in Java, C#, VB.net oder Delphi? Weil sie zu Abstrakt sind und eine Laufzeitumgebung brauchen, die es bei einem startenden System nicht gibt.

Delphi und Skriptsprachen sind ehr Nieschenprodukte. Man benutzt sie für spezielle Anwendungen. Unter Unix sind Script shcon weit verbreitet.

Java wird immer mehr als "Modern" angeboten und wird in Hochschulen gern verwendet. Warum? Ich weiss es nicht. Modern ist das Konzept jedenfalls nicht. Es liegt wohl im wesentlichen daran, dass es bei der Programmierung an Uni's wohl kaum auf ökonomische Maßstäbe ankommt - die Studis kosten ja nichts und es ist egal wie lange sie an ihrer Arbeit schreiben. In Unternehmen sieht es da schon anders aus. Die setzten auf Platformintegrität und da kommt Java ehr schlecht weg. Unter Windows hat man ein GUI, man muss keines mitbringen. Java macht aber genau dies und genauso sehen die grafischen Elemente auch aus - zum kotzen. Genauso sind sie in ihrer Bedienung.
Es gibt aber auch Vorteile von Java und die liegen im Bereich der Kommunikation zwischen Server und Clients. Da finde ich schon mal so einen ORB der an einem Webserver klebt und XML-Tabellen statt HTML-Webseiten streamt.
Es ist nicht so als dass man dies nicht mit anderen Sprachen machen könnte, ist aber nicht so populär.
 

BurnerR

Bot #0384479

Registriert
20 Juli 2013
Beiträge
5.504
Du bist im falschen Thread. Nichts davon hat für einen Anfänger echte Relevanz und davon abgesehen ist die Hälfte davon fragwürdig bis falsch. Das wird aber wenn dann vermutlich jemand anders ausführen, habe ich tendenziell wenig Lust drauf das hier OffTopic auszudiskutieren.

Nächstemal einfach mehr daran denken dem TE zu helfen statt Monologe zu halten.
 
Zuletzt bearbeitet:

exomo

NGBler

Registriert
1 Aug. 2015
Beiträge
129
Danke BurnerR, genau das habe ich mir auch gedacht.

Ich habe mir ja immerhin die Mühe gemacht den ganzen Beitrag zu lesen. Anfangs habe ich auch noch darüber nach gedacht eine Antwort zu schreiben und dem einen oder anderen Punkt zu widersprechen, aber das ist wohl kaum der Mühe wert.
Troll_nicht_fuettern_pink.png
 
Oben