Zweite Programmiersprache... Empfehlungen?

  • Allgemein

Es gibt 68 Antworten in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    Zweite Programmiersprache... Empfehlungen?

    Hi Leute,

    da ich in letzter Zeit etwas mehr Zeit habe dachte ich mir, dass ich mir doch eine zweite Programmiersprache aneignen könnte. Da ich aber nicht auf dem neuesten Stand bin, wollte ich hier einfach euch mal fragen, welche Sprache ihr mir empfehlen könntet. Im Moment schreibe ich nur in VB.Net(12). Ich habe vor kurzem ein Java sowie ein Android-Buch bei mir gefunden(ja die waren im Keller....), aber ich fand damals Java irgendwie "hässlich". Also was habt ihr so gelernt und fandet es ganz angenehm? Ich hoffe es kommen ein paar Beiträge von euch zusammen. LG

    *Topic verschoben*

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Marcus Gräfe“ ()

    Ich würde mir WPF in C# ansehen. Schnell gut, sehr breit aufgestellte Möglichkeiten. Wobei ist nicht zu empfehlen, wenn du was mit Microkontrollern manchen willst.

    Aber kann man echt eine Sprache bis zum letzen Schluss wirklich kennen??? Ich entdecke jeden Tag was neues...
    Hi,

    kommt auch bissl drauf an wo du hin willst.
    Wenn du VB.NET schon kannst, wär -wie hier schon vorgeschlagen- C# eine gute Wahl. C# ist vor allem -finde ich- zum Schreiben schöner (und logischer). Wirklichen Unterschied gibt's halt außer der Syntax nicht.

    Was interessiert dich? Hast du was bestimmtes vor? Gibt es ein "Ziel"?

    Falls dich Web-Entwicklung interessiert, wäre PHP gut. PHP kann man immer gut brauchen, wenn man gern mit Webseiten zu tun hat. HTML und CSS lernst du dabei auch ein Stück weit (irgendwann fällt dir ein dass du deine Ausgaben besser formatiert und nach Layout angezeigt haben willst). PHP ist vom "reinkommen" sag ich mal relativ einfach. Außerdem kannst du ja bereits eine Programmiersprache. Für dich ändert sich ja vor allem die Syntax. Objektorientiert arbeiten kannst du mit PHP auch.

    Interessierst du dich ggf. für Spieleentwicklung? Dann könntest du dir ja auch JavaScript (Unity3D) oder Python (Blender) mal ansehen. Auf Python schwören viele, ich selber kann dir dazu aber nix sagen.

    Du sagst du bist Java-technisch schon ein bisschen unterwegs? Kennst du Processing (processing.org)? Ich finde Processing super, aber ich hab rausgefunden dass das Geschmackssache ist. Wird aber immer beliebter. Ein paar Stunden damit beschäftigen lohnt aber in jedem Fall.


    Link :thumbup:
    Hello World

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Link“ ()

    in meinen Augen ist c# keine andere Sprache.
    Also gut, kannste dich eine Weile mit beschäftigen, mw. das eine oder annere Projekt hin- und her-übersetzen, aber das ist bald abgelatscht.
    Ich weiß auch nicht, ob du wirklich eine neue Sprache bräuchtest. Also klar - zunächstmal die Austauschbarkeit von c# <-> vb.net erlernen.
    Aber dann vlt. einfach nur in einen anneren Bereich eintreten.
    Was ist mit typisiertem Dataset, mit Datenbanken, mit Entity-Framework, Wpf, App-Programmierung, Asp.Net/Web-Entwicklung?
    Hast du diese Bereiche schon sowas von abgegrast, dass sie dir zum Hals raushängen?
    C# ist da aber schon detaillierter und hat andere Schlüsselwörter als VB.
    Statt AddHandler in VB muss man jetzt ne einfache Zuweisung += verwenden um z.B. ein Event zu initialisieren. Also es ist durchaus eine andere Sprache nur eben basierend auf .NET wie VB auch.
    Ja, die Wörter sind anners. Aber es gibt nur 2 äusserst spezielle Sprach-Features, die unterschiedlich sind. Alles annere:
    Klassen, Vererbung rauf und runter, Enums, Interfaces, Generica, Delegaten, anonyme Methoden, Extensions, Linq, Events,..., sowie das gesamte Framework ist in beiden Sprachen dasselbe.

    Eine annere Sprache im Sinne von anders sollte auch wirklich anners ticken, wie Python, Ruby, F#, Php, Pearl, C++, Java, Objective C, ...

    Aber auch das Xaml in Wpf ist eine deutlich annere Sprache als c# und vb - wie gesagt: ich glaube kaum, dass der TE die Bandbreite von .Net auch nur ansatzweise ausgeschöpft hat.
    Hi,
    ich hätte ebenso argumentiert. Der Unterschied zwischen VB.Net und C# ist so insignifikant klein, dass du zwar eine neue Sprache, aber quasi identische Inhalte verwendest. Das WPF-Fw sehe ich als Bestandteil von .Net, Xaml ist ja in dem Sinne auch keine neue Sprache.
    Ich hätte ebenfalls C und C++, Java und bspw. Sml oder Haskell vorgeschlagen, es kommt aber immer darauf an, was du tun willst. Funktionale Programme kann man halt relativ gut beweisen, aber ich bezweifle, dass dich das besonders interessiert. ;)

    Gruß
    ~blaze~
    C# hat aber kleinere Nachteile, die einem erst später auffallen: Alles was mit Threading, Invoking etc. zu tun hat lässt sich oft nicht direkt mit Lambdas lösen: Der angeforderte Delegate kann implizit in eine Action & zurück konvertiert werden, gleiches gilt für Lambda und Action. Allerdings wird der Lambda nicht implizit in den Delegate konvertiert, was aus meiner Sicht kleinen Sinn macht. Ein paar Stellen gab es noch, wo VB.NET Vorteile hatte, an diesen Stellen wird mit Roslyn aber bei C# nachgebessert wie zum Beispiel, dass man in C# bisher keine Auto-Properties mit einem Standardwert initalisieren konnte. Zusätzlich kriegt C# jetzt ein paar richtig coole Features, unter anderem den null propagating operator.

    Ein Problem sehe ich allerdings, wenn du Java hässlich fandest (ich gehe mal davon aus, dass sich das auf die Syntax bezog). Dann wären nämlich die meisten Vorschläge hier nicht passend - probiers aber auch wenns dir nicht gefällt einfach mal aus - man gewöhnt sich sehr schnell daran und es wird viel angenehmer als die VB-Syntax.
    C# zu lernen ist aufgrund der starken Ähnlichkeit zu VB.Net sehr schnell getan (bzw. war zumindest bei mir damals so). Genau genommen kannst du in C# einfach mal anfangen drauf los zu programmieren, du musst dich lediglich an die Syntax gewöhnen und das ist schnell geschehen, wenn dus einfach benutzt. Du wirst dann sehr schnell ebenso produktiv sein wie in VB, ohne einen größeren Aufwand.
    Ich muss ErfinderDesRades insofern Recht geben, du lernst dabei nicht wirklich was neues was Denkweisen angeht (es sei denn natürlich du hast VB noch nicht zur Gänze durchblickt). Aber die C-Syntax wird dir dann für weitere Sprachen sehr zu gute kommen, Java oder C++ wird dir auf einmal nicht mehr als unverständliches Gekrakel vorkommen. Und mmn ist das den relativ geringen Aufwand durchaus wert (mal ganz abgesehen davon, dass du dann eh nur noch in C# programmieren werden willst, weils einfach so viel angenehmer ist als VB ^^ ).
    Ich nicht!
    (aber lasst uns das jetzt bitte nicht ins Bodenlose vertiefen ;) )

    Also ich würde des TEs Fragestellung einfach ganz frech abgewandelt verstehen wollen: Er will seinen Horizont erweitern

    Und mmn ist da selbst wenner in vb.net bleibt noch jede Menge Spielraum, ganz egal, ob man c# nun als annere Sprache definiert oder als dieselbe, und ob man Xaml als eigene Sprache auffasst oder nicht.
    Und wie gesagt: Wpf, Asp.Net, Webservices, Modern UI, Datenbanken, Remoting, Multimedia - bestimmt kanner seinen Horizont auch gewaltig erweitern, ohne vb.net ühaupt zu verlassen.
    Und ich glaub "nur" vb.net zu können, dafür aber inklusive ordentlicher Web-Anwendungen, ist u.U. mehr wert als mw. zusätzlich zu den vb.net-basics auch ein php-"Hello-World" fabrizieren zu können.

    Also gewissermaßen die Frage, ob man lieber in die Breite oder lieber in die Tiefe gehen will - masse ich mir übrigens nicht an, zu entscheiden, was davon vorzuziehen ist.

    Dieser Beitrag wurde bereits 7 mal editiert, zuletzt von „ErfinderDesRades“ ()

    So, Jetzt habe ich endlich Zeit, euch endlich zu antworten^^
    Also erstmal danke an euch, ihr habt mir ja schöne Sachen geschrieben^^ Aber zu allererst will ich mal zwei Fragen beantworten:
    1. Warum überhaupt eine zweite Programmiersprache?
    Einfach weil ich die Möglichkeit haben möchte zu entscheiden, ob ich jetzt eine Anwendung in VB oder in Sprache XY schreibe. Außerdem will ich auch ein paar Sachen auf Linux veröffentlichen, event. auch auf den diversen Raspi-Systemen. VB ist halt auf Windows fokussiert und das stört mich manchmal etwas.

    2.Was will ich machen bzw. wo will ich hin?
    Ich will, wie schon erwähnt, ein paar Sachen sowohl auf Linux als auch auf Windows laufen lassen. Die Programme sind sowohl ganz normale Tools als auch aufwendigere Spiele(unter aufwendig verstehe ich jetzt kein Spiel mit super toller 3D-Grafik sonder eher ein 2D-Adventure was ich zur Zeit zum Beispiel in VB programmiere).

    Ich finde ebenfalls, dass sich C# nicht sonderlich von VB unterscheidet. Es ist halt eine andere Syntax, aber ich denke nicht so schwer zu erlernen, wenn man VB kann. Allerdings habe ich bereits etwas in C# programmiert und da fand ich VB übersichtlicher, vielleicht liegt es an Gewohnheit und ich muss mich nur eingewöhnen.

    Allerdings will ich eine Sprache lernen, welche sich deutlicher von VB unterscheidet. Ich hatte grob an sowas wie Java oder Python gedacht. Aber wie gesagt kenne ich mich nicht so gut aus, als das ich sagen könnte was in mein Interessensgebiet fällt. Deshalb dieses Topic.
    Um dem EDR gerecht zu werden: Ich will erstmal noch mit VB arbeiten, sofern mein Vorhaben darin machbar und sinnvoll ist. Allerdings für Dinge wie einen Chat oder ein Programm welches sich Daten von Servern holt bzw. mit anderen Computern(sprich Raspi) kommuniziert will ich dann auf die zweite Sprache aufspringen.

    Ich hoffe ich habe euch jetzt weitaus mehr Infos gegeben.

    LG

    Edit: Grad ist mir noch eine Aussage von mir ins Auge gefallen:

    nafets schrieb:

    Ein Problem sehe ich allerdings, wenn du Java hässlich fandest (ich gehe mal davon aus, dass sich das auf die Syntax bezog).

    Also um das auch gesagt zu haben, ich habe das Buch vor vllt. 2 Jahren gekauft und damals war ich noch nicht sehr erfahren in Sachen Programmierung(sprich ich konnte HTML und etwas Batch) und deshalb habe ich es als "hässlich" in Erinnerung. Somit habe ich nicht wirklich was gegen Java oder die Syntax von Java. LG

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „ChOoSeMyNaMe“ ()

    Phyton oder C(pures C ohne '++' oder '#'), wenn du mal ein Betriebsystem schreiben möchtest oder es als Beruf machen möchtest.
    Wenn Du in Richtung Linux (Rpi) gehen willst, dann lern C (oder C++) oder Python. Für alle drei Sprachen bringt z.B. Raspian bereits Compiler / Interpreter mit. Ich persönlich mag Python nicht besonders, und habe deswegen C/C++ gelernt. Damit programmiere ich meinen Rpi und Arduino, für Windows bin ich immer noch mit C# dabei.

    //OT: Jo, bauen wir ein Betriebssystem auf Python-Basis :O ^^
    SᴛᴀʀGᴀᴛᴇ01