Angewandte Informatik - Welche Programmiersprache?



  • dann mach java. das wird immer gern benutzt weil sich die leute da im ggs. zu c ned selbst um speicher verwaltung kümmern müssen, wenn sie sortieralgorithmen und irgendwelchen kram aus den vorlesungen umsetzen sollen



  • Ja, nimm Java. Oder sowas wie Eiffel, wenn du richtig OOP machen willst.



  • Nimm C++.... wenn das im Griff hast, ist java ,C#, etc. nur noch Kinderkacke!



  • Stansfield schrieb:

    Und wenn ihr von den beiden eine wählen müsstet?

    Kauf dir ein Buch zur Softwaretechnik, damit wirst du mehr anfangen können. Du wirst in deinem Studium und Leben sicher noch mehr als 1 oder 2 Programmiersprachen sehen, wichtig ist es die Konzepte dahinter zu verstehen. Zu verstehen wie man gute Software entwickelt, welche Methoden etc. es da so gibt. Dann fällt dir eine Einarbeitung in eine Sprache leichter und auch die Implementation von Software in verschiedenen Sprachen.

    Um auf deine ursprüngliche Frage zurückzukommen, C bietet den Vorteil das wirklich eine unüberschaubare Anzahl an Librarys existiert, viele APIs C Schnittstellen bieten und die Sprache recht "hardwarenah" ausgelegt ist. Wenn es nicht C sein soll dann irgendeine prozedurale Sprache die dir gefällt.

    Als OO Sprache möchte ich dir Eiffel ans Herz legen und dazu die entsprechende Literatur, die Sprache erlaubt dir viele Dinge aus der Softwaretechnik umzusetzen und fördert IMHO einen guten Stil was OO Programmierung angeht. Der Schwenk zu C++ oder Java ist auch nicht sehr kompliziert, jedenfalls erweitert man damit seinen Horizont. Der einzige wirkliche Nachteil es gibt nicht wirklich viele gute, ständig gewartete Librarys, aber das Nötigste ist mit dabei.

    Java hab ich nicht arg viel programmiert, ist so gesehen ganz nett und bietet auch eine umfassende Bibliothek an Standardfunktionen.

    C++ würde ich "zuletzt" anfassen, da es mehr oder minder eine "Multiparadigmensprache" ist und sie für Anfänger doch recht schwer zu handhaben ist, da sie einen zu "nichts" zwingt und man als Anfänger noch nicht die Erfahrung über gutes Design und eine gewisse Selbstdisziplin mitbringt.

    Was man sich noch anschauen sollte sind Prolog und Haskell.

    tt



  • BorisDieKlinge schrieb:

    Nimm C++.... wenn das im Griff hast, ist java ,C#, etc. nur noch Kinderkacke!

    seh ich genau andersrum. eine sprache wie java ist wesentlich besser geeignet, um high level themen abzuarbeiten, die die angewandte informatik aufwirft. mit einer sprache wie c++ liegt die verlockung, sich mit low level gerümpel herumzuschlagen, viel zu nahe.



  • wenns ums lernen von oop geht, dann würde ich auch Java empfehlen. bei C++ besteht einfach die gefahr, dass es eine C/C++ Mischung wird (alte Libraries...) und bis man richitg gut C++ kann braucht es auch viel länger, als für gute Java Programme.



  • Auch wenn ich selbst zu C++ und C tendiere, empfehle ich dir
    C# oder Java schon weil du Angewandte Informatik machst und in
    diesem Studiengang geht es um die!



  • BorisDieKlinge schrieb:

    Nimm C++.... wenn das im Griff hast, ist java ,C#, etc. nur noch Kinderkacke!

    Na das ist doch mal ne schlaue Antwort! Kannst du mir auch verraten, wie man die Fricklermethodik wieder los wird, die man sich durch jahrelanges C++-Gewurschtel angeeignet hat? IMHO sollte man C++ nur benutzen, wenn man muß.



  • Eiffel wär auch gut schrieb:

    BorisDieKlinge schrieb:

    Nimm C++.... wenn das im Griff hast, ist java ,C#, etc. nur noch Kinderkacke!

    Na das ist doch mal ne schlaue Antwort! Kannst du mir auch verraten, wie man die Fricklermethodik wieder los wird, die man sich durch jahrelanges C++-Gewurschtel angeeignet hat? IMHO sollte man C++ nur benutzen, wenn man muß.

    Auf gleichem Niveau gekontert...



  • BorisDieKlinge schrieb:

    Nimm C++.... wenn das im Griff hast, ist java ,C#, etc. nur noch Kinderkacke!

    😃

    Eigentlich habe ich das auch erst gedacht (geschrieben hätte ich es aber wohl nicht), aber wenn ich mir meinen eigenen Werdegang ansehe (chronologisch: Basic, Pascal, "Turtle Graphics", ein wenig ASM, C(++), Java, ...), muss ich das schon revidieren: Es war schon gut, Variablen, Schleifen, Bedingungen, Funktionen, ... zu kennen, bevor ich mit der gesamten C++-Breite konfrontiert wurde.
    Ein "High-level"-iger Ansatz (von dem man dann ja nach belieben vertiefen kann) kann da schon hilfreich sein.

    Mein Tipp deswegen auch hier: Java.
    (C#, Ruby, Eiffel, ... kenne ich nicht)

    Gruß,

    Simon2.



  • Auch bei Angewandter Informatik gilt... die Programmiersprache ist pups egal. Du studiert nicht Java und auch nicht C++.
    Nimm die Programmiersprache mit der du am schnellsten das machen kanst, was du dir als Ziel gesetzt hast.



  • Lern vielleicht eine Sprache mit der du nicht zwangsläufig im Studium konfrontiert wirst (also _nicht_ Java, C#, C++ oder C. Was halt so "in" ist). Es bringt einfach nichts, wenn man sich nur mit einer Programmiersprache oder nur mit Programmiersprachen, die einem Konzept folgen befasst. Dann versucht man Probleme einfach nur in eine Form zu pressen. Als Handwerker würdest du ja auch nicht nur "Hammer" lernen 🙂

    (Und es ist wohl auch relativ leicht bei einem Job-Interview solche Leute zu entlarven: http://steve.yegge.googlepages.com/five-essential-phone-screen-questions)



  • Ich habe so das Gefühl, dass ein paar hier Angewandte Informatik und Pragmatische Informatik durcheinander bringen.

    Wie wäre es mit einem Grundlagenbuch, wenn du schon Vorkenntnisse haben willst und du scheinbar auch motiviert bist etwas neues zu lernen, dann würde ich dir das Buch "Structure and Interpretation of Computer Programs" empfehlen, das gibts gratis als Online-Buch und auch eine deutsche Übersetzung (die müsstest du dann aber kaufen).



  • rüdiger schrieb:

    Lern vielleicht eine Sprache mit der du nicht zwangsläufig im Studium konfrontiert wirst (also _nicht_ Java, C#, C++ oder C. Was halt so "in" ist). Es bringt einfach nichts, wenn man sich nur mit einer Programmiersprache oder nur mit Programmiersprachen, die einem Konzept folgen befasst. Dann versucht man Probleme einfach nur in eine Form zu pressen. Als Handwerker würdest du ja auch nicht nur "Hammer" lernen 🙂

    Der Vergleich hinkt, man lern ja nicht nur die whileschleife kennen.

    Studierst du eigentlich noch oder hast du schon nen Job? Ich frag mich was es einem bring soviele "exotische" Sprachen zu kennen. Meistens suchen die Firmen doch Spezialisten die ein Gebiet gut können und nicht Leute die viele Sprachen können.



  • nbnbnb schrieb:

    rüdiger schrieb:

    Lern vielleicht eine Sprache mit der du nicht zwangsläufig im Studium konfrontiert wirst (also _nicht_ Java, C#, C++ oder C. Was halt so "in" ist). Es bringt einfach nichts, wenn man sich nur mit einer Programmiersprache oder nur mit Programmiersprachen, die einem Konzept folgen befasst. Dann versucht man Probleme einfach nur in eine Form zu pressen. Als Handwerker würdest du ja auch nicht nur "Hammer" lernen 🙂

    Der Vergleich hinkt, man lern ja nicht nur die whileschleife kennen.

    Der Vergleich ist eine Vereinfachung, trifft aber zu. Es geht hier ja nicht drum Schleifen-Arten oä aufzuzählen. In dem von mir verlinkten Text schildert der Autor ja, wie viele Leute mit einem Java, C++ (oä) Hintergrund einfach nicht auf die Idee kommen RegEx zu nutzen, wenn es darum geht Telefonnummern aus tausenden Dokumenten zu suchen.

    nbnbnb schrieb:

    Studierst du eigentlich noch oder hast du schon nen Job?

    Ich studiere noch (aber kein Inf) (Habe aber auch Jobs 🙄)

    nbnbnb schrieb:

    Ich frag mich was es einem bring soviele "exotische" Sprachen zu kennen. Meistens suchen die Firmen doch Spezialisten die ein Gebiet gut können und nicht Leute die viele Sprachen können.

    Meistens suchen Firmen doch jemanden der den Job zur vollen Zufriedenheit erledigt.

    Mehrere Sprachen/Technologien zu kennen bedeutet auch, dass man mehrere Herangehensweisen kennt. Man lernt eben Probleme von anderen Richtungen aus zu betrachten und lernt andere Lösungen kennen. So etwas schult einem und ermöglicht einem Probleme sicher besser zu lösen. Ganz zu schweigen davon, dass es eh schwachsinnig ist, sich an eine Sprache/Technologie zu klammern. So etwas ändert sich.



  • rüdiger schrieb:

    Der Vergleich ist eine Vereinfachung, trifft aber zu. Es geht hier ja nicht drum Schleifen-Arten oä aufzuzählen. In dem von mir verlinkten Text schildert der Autor ja, wie viele Leute mit einem Java, C++ (oä) Hintergrund einfach nicht auf die Idee kommen RegEx zu nutzen, wenn es darum geht Telefonnummern aus tausenden Dokumenten zu suchen.

    Java hat doch RegEx. Geht die Lösung von dort auch auf nem Windowsrechner?

    nbnbnb schrieb:

    Ich frag mich was es einem bring soviele "exotische" Sprachen zu kennen. Meistens suchen die Firmen doch Spezialisten die ein Gebiet gut können und nicht Leute die viele Sprachen können.

    Meistens suchen Firmen doch jemanden der den Job zur vollen Zufriedenheit erledigt.

    Mehrere Sprachen/Technologien zu kennen bedeutet auch, dass man mehrere Herangehensweisen kennt. Man lernt eben Probleme von anderen Richtungen aus zu betrachten und lernt andere Lösungen kennen. So etwas schult einem und ermöglicht einem Probleme sicher besser zu lösen. Ganz zu schweigen davon, dass es eh schwachsinnig ist, sich an eine Sprache/Technologie zu klammern. So etwas ändert sich.

    Ich sag ja nicht, dass ich das toll finde, aber viele suchen halt einen J2EE-Spring-XML-...-Entwickler und wenn sie einen solchen bekommen, dann nehmen die wahrscheinlich den und nicht den der viel anderes kann. Aber du studiert ja nicht Inf.



  • nbnbnb schrieb:

    Java hat doch RegEx. Geht die Lösung von dort auch auf nem Windowsrechner?

    Jop. C++ (C# vermutlich) auch und für C gibt es auch zahlreiche RegEx-Engines. Aber nach den Erfahrungen von dem Interviewer scheinen dies viele "Java-only" (bzw. C#, C oder C++-Leute) nicht zu kennen.

    Welche Lösung meinst du?

    Ich sag ja nicht, dass ich das toll finde, aber viele suchen halt einen J2EE-Spring-XML-...-Entwickler und wenn sie einen solchen bekommen, dann nehmen die wahrscheinlich den und nicht den der viel anderes kann. Aber du studiert ja nicht Inf.

    Wenn man einen J2EE-Experten sucht, wird man natürlich einen J2EE-Experten nehmen. Ist ja kein Widerspruch dazu, dass man trotzdem sich mit mehr als einer Sache befassen sollte.


Anmelden zum Antworten