Angewandte Informatik - Welche Programmiersprache?
-
Hallo,
ich bin jetzt in der 13. Klasse und habe nach meinem sozialen Jahr vor, Angewandte Informatik zu studieren. Wo und ob BA oder Bachleor/Master weiß ich noch nicht genau, allerdings schwirrt mir schon seit längerem eine Frage im Kopf:
Auch wenn mir gesagt worden ist, dass Vorkenntnisse im Bereich Programmiersprachen nicht unbedingt notwenidg sind, denke ich, dass es trotzdem sinnvoll ist schon das ein oder andere im Vorfeld kennenzulernen. Diesbezüglich habe ich vor, mir eine Programmiersprache (nicht Turbo Pascal, da bereits in der Schule) anzueignen. C++ und Java wurden wir hier empfohlen. Doch welche macht sich für den Einstieg ins Studium besser? (habe gelesen, man wird irgendwann auch die 2. lernen müssen)Danke schon im Vorraus,
Matze!
-
wir haben damals java und c benutzen müssen
-
tenchou schrieb:
wir haben damals java und c benutzen müssen
dito, dabei Schwerpunkt Java
-
Und wenn ihr von den beiden eine wählen müsstet?
-
Dann auf jeden Fall Java
Wenn du dir mal Stellenausschreibungen anguckst, wird dort oft Java gefordert, damit kannst du definitiv nix falsch machen, Java ist eine sehr aktuelle Sprache
C zu können kann sicherlich nicht schaden, wird aber fast nur noch in Bereichen Treiberprogrammierung, Betriebssystemprogrammierung, Mikrocontrollerprogrammierung oder ähnlichem benutzt. Dagegen halt Java, was eher in Richtung Desktop-Programme oder Web-Entwicklung abzielt.Ganz davon abgesehen kann man von Java meiner Meinung nach sehr leicht auf andere aktuelle Sprachen wie C# (sehr sehr große Ähnlichkeit) oder C++ umspringen.
-
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.