PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Welche Sprache?


Morale
2013-03-14, 22:38:24
Servus,

zum WS geht mein Inf. Studium los.
Im Studium wird wohl ausschließlich Java gelehrt, was ja so schlecht nicht ist ;)

Da ich vorher dank Schulferien und Co. noch recht viel Freizeit habe will ich mir noch eine andere Sprache beibringen.

Welche wäre da empfehlenswert?

Ich hatte an C/C++ gedacht (da ist auch noch ein bischen Wissen von der ITSE Ausbidung da), da dies ja eine sehr HW nahe Programmierung ist. Da ich auch schon (halbwegs) einen Plan habe wie es Praktika-technisch im Studium und Job-technisch nach dem Studium weitergehn soll, und da oft diese Sprache gefordert wird.

Eine andere Sprache wäre Phyton, diese soll wohl recht easy zu lernen sein, und kommt vereinzelt auch oft vor (in Stellenanzeigen).

Die dritte wäre dann noch Matlab.

Was könnte man nun einem Anfänger empfehlen?

airbag
2013-03-14, 22:48:44
Javascript eventuell, weil man schnell sichtbare Ergebnisse erzielen kann und es relativ viel Literatur/Tutorials dazu gibt.

Godmode
2013-03-14, 22:48:45
C/C++ auch wenn es hart ist. C/C++ sind einfach grundlegend und bringen IMO viel für das Verständnis, was Programmierung, Compiler, etc. angeht. Natürlich muss man sich auf sowas einlassen, gute Literatur haben und vor allem viel Programmieren, nur so wird man gut.

Morale
2013-03-14, 22:54:38
Javascript eventuell, weil man schnell sichtbare Ergebnisse erzielen kann und es relativ viel Literatur/Tutorials dazu gibt.

Mh eher nicht, wenn schon eins der 3 da oben.

C/C++ auch wenn es hart ist. C/C++ sind einfach grundlegend und bringen IMO viel für das Verständnis, was Programmierung, Compiler, etc. angeht. Natürlich muss man sich auf sowas einlassen, gute Literatur haben und vor allem viel Programmieren, nur so wird man gut.

Ist auch mein Favorit, wobei natürlich C/C++ schon ein Brocken ist.
Ist das buch hier zum empfehlen?
http://openbook.galileocomputing.de/c_von_a_bis_z/
Hat zumindest im Netz gute Kritiken.

RLZ
2013-03-14, 22:58:31
Javascript eventuell, weil man schnell sichtbare Ergebnisse erzielen kann und es relativ viel Literatur/Tutorials dazu gibt.
Javascript ist imo das schlimmste Vermächtnis was wir der kommenden Entwickler Generation vermachen. :freak:

Ich finde ja funktionale Sprachen immer gut für den Einstieg. SML kann man heute nicht mehr empfehlen, aber OCaml ist bestimmt kein Fehler.

airbag
2013-03-14, 22:59:30
Mh eher nicht, wenn schon eins der 3 da oben.


Man sollte aber auch sagen, dass JS wenn man in Zukunft vor hat arbeitstechnisch Applikationen für MS Produkte(Win 8, Win 8 Phone, Officeprodukte, Sharepoint) zu entwickeln sogar relativ praktisch ist, weil MS damit mehr Entwickler erreichen will.


Ansonsten ist es studientechnisch und von der generellen Verbreitung her C/C++/C# zu empfehlen.

Godmode
2013-03-14, 23:00:25
Mh eher nicht, wenn schon eins der 3 da oben.



Ist auch mein Favorit, wobei natürlich C/C++ schon ein Brocken ist.
Ist das buch hier zum empfehlen?
http://openbook.galileocomputing.de/c_von_a_bis_z/
Hat zumindest im Netz gute Kritiken.

Kenne ich nicht aber ich kann dir aber "Die Bibel" nur wärmstens empfehlen: C++ Primer Plus von Stephen Prata.

Fairy
2013-03-14, 23:01:31
Ansonsten ist es studientechnisch und von der generellen Verbreitung her C/C++/C# zu empfehlen.
Würde auch eher zu C# raten.

Coda
2013-03-14, 23:02:32
Ansonsten ist es studientechnisch und von der generellen Verbreitung her C/C++/C# zu empfehlen.
FH ja, für die Uni wäre auch was funktionales nicht verkehrt.

airbag
2013-03-14, 23:05:52
FH ja, für die Uni wäre auch was funktionales nicht verkehrt.


Mhh ja das hab ich ja ganz vergessen. Wir mussten uns damals nen halbes Semester lang mit Scheme beschäftigen.

Exxtreme
2013-03-14, 23:11:19
Würde auch eher zu C# raten.
Wenn er schon Java lernt dann kann er sich C# sparen und vice versa. Beide Sprachen klonen sich irgendwie gegenseitig. :freak:


Ansonsten würde ich auch C/C++ nehmen. Wobei man aufpassen muss. C und C++ sind verschiedene Sprachen. Beides so flockig unter einem Hut nehmen wird vielleicht katastrophal enden.

Godmode
2013-03-14, 23:28:30
Mhh ja das hab ich ja ganz vergessen. Wir mussten uns damals nen halbes Semester lang mit Scheme beschäftigen.

Wir auch auf der FH, war lustig ;)

Der Nutzen dieser LV, hat sich mir aber erst im Nachhinein erschlossen.

del_4901
2013-03-15, 00:55:58
Funktional: Scala

Coda
2013-03-15, 00:58:37
Nein, Haskell :udevil:

Laz-Y
2013-03-15, 00:59:46
Öhm, wenn Du schon weißt, dass Du im Studium Java brauchst, warum fängst dann nicht mit Java an? Das bringt doch am meisten.

del_4901
2013-03-15, 01:00:42
Nein, Haskell :udevil:
Recht hast du, nur so lernt er es richtig. Mutable State ist der :udevil:.
Ausserdem kann man sich mit Haskel nicht lange vor Monaden druecken.

Coda
2013-03-15, 01:55:47
Ich finde ja tatsächlich, dass mutable state der Teufel ist im Zeitalter von parallem Code. Vor allem globaler mutable state.

Aber Haskell ist dann doch übertrieben :)

Godmode
2013-03-15, 02:01:59
@Mutable Sate:
Data-Oriented Design FTW

@Haskel und Funktional:
Ein guter Freund betet mir das immer vor und sagt dass das die Zukunft sein wird. Auch wenn es in der Theorie durchaus reizvoll sein kann, sich mit so etwas zu beschäftigen, ist es einfach zu weit weg von jeglichem praktischen Einsatz.

Morale
2013-03-15, 07:04:06
Öhm, wenn Du schon weißt, dass Du im Studium Java brauchst, warum fängst dann nicht mit Java an? Das bringt doch am meisten.
Weil da alle mit 0 anfangen. Bzw. das geht halt bei 0 los.
Klar könnte ich mich jetzt da einarbeiten, aber die Zeit hab ich im Studium eh schon.
Wenn ich also schon der "Crack" bin sitze ich da in den Vorlesungen und Übungen nur gelangweilt rum.
Klar, ich werd mich vorher mal eine Woche damit beschäftigen, aber nicht soviel.
in 1 Woche sind 2 Wochen frei und dann Ende Juni ist Schule aus und im Oktober gehen die Vorlesungen los. Das wäre mMn zuviel Zeit (nur) für Java.

Gast
2013-03-15, 08:04:02
Es mag sein, daß alle bei 0 anfangen, aber das Studium wird vom Stoff sicherlich schnell anziehen. Und mit 1-2 Wochen kommst du nicht weit. Jetzt hast du noch genug Zeit. Jetzt kannst du dich zum Beispiel noch in Ruhe um eine Entwicklungsumgebung kümmern und dich da einarbeiten.

Shink
2013-03-15, 08:45:36
Auch wenn es in der Theorie durchaus reizvoll sein kann, sich mit so etwas zu beschäftigen, ist es einfach zu weit weg von jeglichem praktischen Einsatz.
Wie es zur Zeit aussieht, werden irgendwann C# und Java tatsächlich mit funktionalen und logischen Sprachfeatures angereichert. Ganz abwegig ist es also tatsächlich nicht, etwas wie Haskell oder Prolog zu lernen.

Warum willst du eigentlich _eine_ Sprache lernen?
Ich finde heute eigentlich C# oder Scala ganz informativ "zum Lernen", da die schon relativ viele Konzepte verinnerlichen.
Wobei sich die Frage stellt, ob das gut oder schlecht ist "zum Lernen".

Alternativ ein polyglott-Ansatz: Z.B. ein Spiel in Java mit dem Regelwerk in Drools, siehe z.B. http://www.youtube.com/watch?v=4CvjKqUOEzM%20
und als Kür dann versuchen, von Backward Chaining Gebrauch machen.

del_4901
2013-03-15, 09:37:19
Aber Haskell ist dann doch übertrieben :)
Zum lernen sicherlich nicht.

@Haskel und Funktional:
Ein guter Freund betet mir das immer vor und sagt dass das die Zukunft sein wird. Auch wenn es in der Theorie durchaus reizvoll sein kann, sich mit so etwas zu beschäftigen, ist es einfach zu weit weg von jeglichem praktischen Einsatz. F# (und auch Scala) wird in der Praxis immer haeufiger eingesetzt, vor allen in der Finanzindustrie, wo Verifikation sehr wichtig ist. Das Problem von Haskel ist das es sich um eine Lazy Language handelt. Hast du schon einmal versucht dafuer einen Debugger zu schreiben?... Viel Spass :) F# ist eager und hat einen sehr guten Debugger und allein das ist der ausschlaggebende Punkt fuer den praktischen Einsatz!

@Topic wenn es eine andere Sprace als Java sein soll, dann kommt wirklich nur Scala in frage, so lernt er wenigstens schonmal das Framework kennen, das ist naemlich dasselbe fuer beide Sprachen.

Gast
2013-03-15, 16:06:38
Ich würde mir nur reines C anschauen. Das bringt den größten Verständniseffekt, da es noch relativ nah an Assembler ist (ihr macht bestimmt auch ein wenig technische Informatik und so) und man erfährt grundlegende Sachen wie Zeiger und Speicherverwaltung (das, was Java dann vor einem versteckt).

C++ ist letztendlich nur eine objektorientierte Sprache, würde ich weglassen.

Funktionale Sprache: jo, sicher auch ne Idee.

creave
2013-03-16, 11:01:40
Man sollte aber auch sagen, dass JS wenn man in Zukunft vor hat arbeitstechnisch Applikationen für MS Produkte(Win 8, Win 8 Phone, Officeprodukte, Sharepoint) zu entwickeln sogar relativ praktisch ist, weil MS damit mehr Entwickler erreichen will.


Das gilt (leider?) nicht nur für Microsoft. Auch im Zuge von HTML5 oder plattformübergreifender Entwicklung für mobile Plattformen und so weiter gewinnt JavaScript immer mehr an Bedeutung. Vielleicht stehe ich mit der Meinung auf weiter Flur, aber JavaScript war einfach zur richtigen Zeit am richtigen Ort (nämlich seit Jahrzehnten in unserem Browsern), sonst spricht meiner Meinung nach so gut wie nichts für die Sprache, vor Allem nicht für Anfänger, z.B. wegen sowas hier:

[] + [] = ""
[] + {} = Object
{} + [] = 0
{} + {} = NaN

Was soll das? :freak:

universaL
2013-03-16, 11:16:29
Zum lernen ist sowas vielleicht auch ganz toll: http://pragprog.com/book/btlang/seven-languages-in-seven-weeks Da sieht man mal eine Vielzahl von Sprachen, und es schadet nie mehr Sprachen zu kennen ;)

Hab es zwar noch nicht selber gelesen, steht aber auf meiner Liste. Bisher waren die pragprog-Bücher eigentlich alle gut. :-)

tomvos
2013-03-16, 12:33:04
Ich würde dir ja Common Lisp nahelegen. Hier ist ein gutes englisches Tutorial:

http://www.gigamonkeys.com/book/

Der Nachteil: Die Kenntnis von Lisp lässt dich bezüglich anderer Programmiersprachen zu einem sarkastischen alten Stinkstiefel werden. :biggrin:

Frucht-Tiger
2013-03-16, 13:01:43
Zum lernen ist sowas vielleicht auch ganz toll: http://pragprog.com/book/btlang/seven-languages-in-seven-weeks Da sieht man mal eine Vielzahl von Sprachen, und es schadet nie mehr Sprachen zu kennen ;)

Hab es zwar noch nicht selber gelesen, steht aber auf meiner Liste. Bisher waren die pragprog-Bücher eigentlich alle gut. :-)

Gutes Buch, aber für eher was für Fortgeschrittene, die sich für die verschiedenen Sprachkonzepte interessieren.

@TS
Eigentlich ist die Sprache egal, wähle ein praktisches Anwendungsfeld das dich motivieren würde und dann lerne die entsprechende Sprache dazu. Z.B. C++ wenn dich sowas wie Mikrokontroller interessieren oder Java wenn du was für dein Android Handy entwickeln möchtest etc.

Ein Beinbruch ist es übrigens nicht wenn du jetzt schon mit Java anfängst, die Herangehensweise in der Uni und von dem was du zuhause machst, wird sich eh unterscheiden. Du wirst bei den Kursen in der Uni sicherlich noch einiges lernen können, auch wenn du schon die Grundlagen der Sprache beherrschst.

PatkIllA
2013-03-16, 14:13:36
für die Uni wäre auch was funktionales nicht verkehrt.Da kommt man doch auch durch ohne überhaupt nennenswert zu programmieren.

Ich würde mir auch Java anschauen. Im Studium geht alles ein wenig schneller als du das von Schule vielleicht gewohnt bist. Und wenn du dir jetzt eine Sprache anschaust hast du da am Ende des Studiums auch nicht mehr wirklich was von.

del_4901
2013-03-16, 15:40:49
Da kommt man doch auch durch ohne überhaupt nennenswert zu programmieren.
Im Studium vielleicht schon, aber nicht wenn sie bei mir mit im Vorstellungsgespraech sitzen und Grafikprogrammierer werden wollen. :udevil:

Morale
2013-03-16, 15:54:54
Danke erstmal an alle für die Beiträge.


Da kommt man doch auch durch ohne überhaupt nennenswert zu programmieren.

Ich würde mir auch Java anschauen. Im Studium geht alles ein wenig schneller als du das von Schule vielleicht gewohnt bist. Und wenn du dir jetzt eine Sprache anschaust hast du da am Ende des Studiums auch nicht mehr wirklich was von.

Mein Plan ist ja ab dem 2ten Semester Praktika zu machen. Die die ich im Sinn habe fordern alle schon 1-2 Sprachen.
Nach dem Studium wäre eine Option in der HW-nahen Programmierung zu arbeiten.

Ich werde mir wohl C++ und Java primär anschauen und wenn noch Zeit ist eine dritte.

Fairy
2013-03-16, 15:56:38
Ich werde mir wohl C++ und Java primär anschauen und wenn noch Zeit ist eine dritte.
:freak:

PatkIllA
2013-03-16, 16:00:04
Im Studium vielleicht schon, aber nicht wenn sie bei mir mit im Vorstellungsgespraech sitzen und Grafikprogrammierer werden wollen. :udevil:
Und du hast schon Studenten frisch von der Uni gehabt, die nur mit Uniprogrammierkenntnissen brauchbar waren?

Morale
2013-03-16, 16:03:27
:freak:
Also damit meinte ich Grundkenntnisse und nicht der totale Programmierfreak werden ;)
Deute ich deinen Smiley da richtig :D

Fairy
2013-03-16, 16:07:13
Also damit meinte ich Grundkenntnisse und nicht der totale Programmierfreak werden ;)
Deute ich deinen Smiley da richtig :D
Ja, schon. :)
Mit Java und C++ wirst du erst mal gut beschäftigt sein. ;)

Morale
2013-03-16, 16:20:47
An der Uni hing letztens auch ein Gesuch für eine HiWi Stelle, ziemlich lustig geschrieben, da wohl (fast) alle Inf. Studenten nur Java können und meinen was nicht in Java geschrieben werden kann nicht existiert. Die suchten einen der auch C++ kann :)

del_4901
2013-03-16, 17:16:47
Und du hast schon Studenten frisch von der Uni gehabt, die nur mit Uniprogrammierkenntnissen brauchbar waren?
Aus Deutschland... nee... aber es soll tatsaechlich internationalle Unis geben, wo die Leute frisch von der Uni brauchbar sind.

Godmode
2013-03-16, 17:36:15
Aus Deutschland... nee... aber es soll tatsaechlich internationalle Unis geben, wo die Leute frisch von der Uni brauchbar sind.

Das ist aber jetzt schon mehr als Bullshit oder? Bei uns sind die Besten dann meistens bei Microsoft, Amazon, Google, etc gelandet (Österreich). Wie definierst du brauchbar? Jeder wird eine gewisse Eingewöhnungszeit benötigen und klar werden die Leute dann erst im Beruf wirklich gut, aber das ich jemanden als nicht brauchbar bezeichne?

Bei mir lief es meistens so:
- Semester an der FH (Haufen Coding)
- Sommer in ner Firma (Haufen Coding)
- Freizeit Hobby Projekt (Haufen Coding)

Wenn du mit "frisch von der Uni" einen meinst, der nur das Pflichtprogramm absolviert hat, gebe ich dir recht.

PatkIllA
2013-03-16, 18:47:40
Aus Deutschland... nee... aber es soll tatsaechlich internationalle Unis geben, wo die Leute frisch von der Uni brauchbar sind.
Und das nur von der Uni.
als ich studiert habe war ein recht hoher Anteil schon nebenbei am arbeiten (bzw. Nebenbei am studieren) und hat da schon Erfahrung gesammelt und auch ganz brauchbare Nettostundenlöhne erzielt. Und den Unterschied hat man auch sehr deutlich gemerkt, wenn man mit anderen Studenten zusammengearbeit hat.

hadez16
2013-03-16, 18:51:30
Programmieren lernen mit C# ist doch wie Kochen lernen mit den Anleitung auf den Maggi-Fix Tüten.

C/(C++), so weh und "unnütz" es zunächst erscheinen mag.

Coda
2013-03-16, 19:42:03
:freak:
Realsatire :D

http://norvig.com/21-days.html

Im Studium vielleicht schon, aber nicht wenn sie bei mir mit im Vorstellungsgespraech sitzen und Grafikprogrammierer werden wollen. :udevil:
Gegenfrage: Warum kommen so Leute überhaupt bis zum Onsite-Interview :tongue:

Nasenbaer
2013-03-16, 22:15:07
Programmieren lernen mit C# ist doch wie Kochen lernen mit den Anleitung auf den Maggi-Fix Tüten.
Ich hab ne neue Sig. ;D

Also ich habs damals mit TurboPascal gelernt und dann weiter mit Delphi. ^^
Die Sprache ist heute scheintot (oder nutzt die noch eine beachtbare Mehrheit?) aber aufgrund die simplen Syntax konnte man sich gut auf die Programmierprinzipien konzentrieren ohne von Schnickschnack wie Mehrfachvererbung, Templates, etc. abgelenkt zu werden.

Ein Dozent meinte damals auch noch, dass man mit Smalltalk sehr gut OOP erlernen könnte. Ich bin mit der Sprache nicht so recht warm geworden. ;D

Godmode
2013-03-16, 22:27:27
Programmieren lernen mit C# ist doch wie Kochen lernen mit den Anleitung auf den Maggi-Fix Tüten.

C/(C++), so weh und "unnütz" es zunächst erscheinen mag.

In C# bzw. .net sind mittlerweile so viele Konzepte untergebracht, dass es schon wieder verdammt kompliziert werden kann, wenn mal alles ausnützt. Das war ja IMO auch einer der Hauptkritikpunkte an C++, dass es zu komplex geworden ist.

Mit C/C++ anzufangen stimme ich aber zu.

hadez16
2013-03-17, 09:52:32
Ich hab ne neue Sig. ;D

Also ich habs damals mit TurboPascal gelernt und dann weiter mit Delphi. ^^
Die Sprache ist heute scheintot (oder nutzt die noch eine beachtbare Mehrheit?) aber aufgrund die simplen Syntax konnte man sich gut auf die Programmierprinzipien konzentrieren ohne von Schnickschnack wie Mehrfachvererbung, Templates, etc. abgelenkt zu werden.

Ein Dozent meinte damals auch noch, dass man mit Smalltalk sehr gut OOP erlernen könnte. Ich bin mit der Sprache nicht so recht warm geworden. ;D

lol :D genehmigt.

Bzgl. TurboPascal/Delphi...ich bin kein Programmierprofi und auch kein Historiker oder so aber mitte der 90er etwa hatte Delphi mit seiner Visual Component Library (VCL) einen großen entscheidenden Vorteil gegenüber allen anderen. Microsoft hat sich für .NET/C# sehr viel dabei abgeschaut meines Wissens nach. Zu dieser Zeit schaute Microsoft nur in die Röhre wenn es um komfortable GUI-Programmierung ging, da man sich vor MFC/C++ irgendwie scheute...und vor der Win32-API sowieso.

Aber ich glaube heutzutage ist es nur noch eine Sprache für Informatik-Lehrer, die drauf stehen.

Nasenbaer
2013-03-17, 10:17:37
Naja der Vorteil ist halt die wirklich kinderleichte Syntax, die sich wegen des Verzichts auf zu viele Sonderzeichen sehr leicht kesen lässt. Pascal wurde ja auch zu Lehrzwecken erfunden und dafür ist sie, also als absolute Einsteigersprache, auch sehr gut geeignet.
Wenn man andererseits C++ oder noch besser C gemeistert hat, dann kommt man mit jeder imperativen Programmiersprache zurecht. Durch die Verwandschaft von C und C++ kommt viel zu oft aber ein grausiger Mischmasch zwischen beiden Sprachen raus.
Das erste Buch von dem Stefan Zerbst war damals ein gutes Beispiel für solchen Mischcode, wenn ich mich recht entsinne.

Morale
2013-03-17, 13:24:46
Welches Buch kann man für den Einstieg in Java empfehlen?

Fairy
2013-03-17, 13:50:43
http://openbook.galileocomputing.de/javainsel/

Und die Fortsetzung:
http://openbook.galileocomputing.de/java7/

Coda
2013-03-17, 14:55:43
Naja der Vorteil ist halt die wirklich kinderleichte Syntax, die sich wegen des Verzichts auf zu viele Sonderzeichen sehr leicht kesen lässt.
Das ist Ansichtssache.

Ich halte die Semantik für entscheidend ob eine Sprache einfach zu erlernen ist oder nicht. Die Syntax spielt da meiner Meinung nach fast keine Rolle außer vielleicht in den ersten paar Wochen.

Noch ein Vorschlag: Python oder Ruby. Haben beide den großen Vorteil, dass man extrem schnell ausprobieren kann ohne riesig was aufsetzen zu müssen. Ich mach mein ganzes Prototyping generell mit Python.

Nasenbaer
2013-03-17, 16:06:21
Auch die Semantik ist bei Pascal ja recht simpel und restriktiver als bei anderen Sprachen - z.b dass alle Variablen-Deklarationen an den Funktionskopf gehören, gleiches bei Unit-globalen Variablen, usw.

Aber letztlich ist es egal mit welcher Sprache man anfängt - jeder hat unterschiedliche Vor- und Nachteile. Wer pragmatisch handelt nimmt ne Sprache, die er mit hoher Warscheinlichkeit später braucht, wer ungeduldig ist, eher ne Scriptsprache. Wobei Ungeduld bei nem Informatikstudium eh tödlich ist. Wer nicht die nerven hat sich durch Mathe durch zu boxen, der geht schon nach spätestens 2 Semestern.

Coda
2013-03-17, 16:25:16
Pascal hat Pointer und manuelle Speicherverwaltung. Das macht es um einiges komplexer und fehleranfälliger als etwa C# oder Java. Die Semantikunterscheide zu C sind äußerst minimal, ich sehe da keine essentiellen Vorteile.

Diese ganze Diskussion halte ich aber sowieso für mühseelig. Ich bin fest davon überzeugt, dass man sowieso nur ordentlich Programmieren kann, wenn man von Hardware-Level über Betriebssystem, Compiler und Sprache alles verstanden hat. Soll heißen, wer nicht Assembler programmieren kann und nicht weiß wie der Interpreter implementiert ist wird auch niemals ein Experte in Python sein, denn er weiß nicht was im Hintergrund passiert.

Mit irgendwas anfangen und dran bleiben, alles andere ist doch sowieso nur rumgeeiere. Mit genügend Erfahrung in den verschiedenen Paradigmen kann man eine beliebige Sprache sowieso in kurzer Zeit lernen. Schlimmer als C++ und Haskell kann's nicht werden ;)

Was vermieden werden muss ist zum Baukasten-Programmierer zu werden, der am Ende nur mit riesiger Runtime-Library irgendwas zustande bringt (der übliche Visual-Basic-Mensch *hust*)

Yavion
2013-03-17, 16:40:31
Mal angenommen, man kommt an Java nicht vorbei, dann:

Schnappe man sich 2 beliebige aus:
1. C
2. lisp/Scheme
3. Python/Ruby.

Und entscheide sich dann nach einiger Zeit für eine weitere, je nach Interessensschwerpunkt. Mit breiterem theoretischen Background mag man dann auch Dinge wie Scala, Prolog oder Erlang mal ausprobieren.

Oder, wenn einem Java gut gefällt, spricht auch nichts dagegen, sich in einige Frameworks (z.B. Spring) weiter einzuarbeiten.
Allerdings sollte man nicht NUR Java machen. Das führt gerne mal zu einer gewissen Engstirnigkeit, die man als Software-Entwickler nicht gebrauchen kann.

Shink
2013-03-17, 17:26:25
Was vermieden werden muss ist zum Baukasten-Programmierer zu werden, der am Ende nur mit riesiger Runtime-Library irgendwas zustande bringt (der übliche Visual-Basic-Mensch *hust*)
Gibt es die denn noch?

PatkIllA
2013-03-17, 18:29:20
Was vermieden werden muss ist zum Baukasten-Programmierer zu werden, der am Ende nur mit riesiger Runtime-Library irgendwas zustande bringt (der übliche Visual-Basic-Mensch *hust*)Genauso gilt es zu verhindern, dass man die Runtime nicht kennt und sich mit wildestens Workarounds sachen zusammenschustert, die es praktisch schon fertig gibt.
Pascal hat Pointer und manuelle Speicherverwaltung. Das macht es um einiges komplexer und fehleranfälliger als etwa C#...Kann man doch bei Platform Invoke auch alles haben.

Colin MacLaren
2013-03-17, 20:16:47
Du willst Informatik studieren? Schieb Dir mal die ganzen Träumereien aus dem Kopf und lerne das, was wirklich der Knackpunkt des ganzen Studiums ist: Lern Mathe! Wenn Du topfit auf Leistungskurs-Niveau bist, mit komplexen Zahlen, Integralrechnung, Quadriken ect. umgehen kannst und schon Übung im Beweise führen hast, wird Dir das weit mehr nützen als die Programmierkenntnisse.

Wenn schon vorab programmieren, dann lerne auch das, was an der Uni gefordert ist. So sparst Du Dir die Algorithmen-Vorlesung und hast mehr Zeit für Mathe.

Es kommen gerade in den Grundlagen bitterböse furztrockene Aussieb-Klausuren. Technische Informatik, Theoretische Informatik, Lineare Algebra usw. Da wirst Du wahrscheinlich gar keine Zeit für x Praktika haben. Wenn ab dem vierten/fünften Semester die Vertiefungsmodule losgehen wird es entspannter.

Morale
2013-03-17, 20:59:53
Um Mathe mach ich mir keine Sorgen.
Ich werd sicher nicht 4 Monate mit Mathe lernen verbringen. Wenn der Stoff an der Uni drankommt, dann werd ich ihn schon gescheit pauken und die Übungen machen. Ich mag Mathe und versteh es auch, das ist schonmal wichtig.

Und es nützt mir sicher nichts wenn ich das Studium fertig hab, ins Programmiergeschäft einsteigen will und keine Sprache kann.

Sicher, 100% weiß man eh nicht wie das Studium abläuft, aber gibt genug die einen Nebenjob einfach machen müssen, weil es sonst vom Geld nicht langt, und dann noch Jobs die nix mit dem Studium zu tun haben.

Colin MacLaren
2013-03-17, 22:28:34
Sorry für den aggressiven Ton, hatte ganz übwrsehen dass Du es bist. Dachte da kommt ein 18jähriger Hüpfer. Mit Deiner Erfahrung kannst Du das sicherlich besser einschätzen, wieviel Du dir geben kannst (und willst). Aufbauend auf Deiner Berufserfahrung ist eine systemnahe Sprache wie C/C++ wahrscheinlich das sinnvollste.Wobei man in den ersten beiden Semestern sowieso nur die Grundlagen behandelt, da ist die Sprache eigentlich egal. Ich konnte in der Klausurvorbereitung genausogutn Java-Code zu dem Thema lesen und verstehen.

minos5000
2013-03-18, 06:47:18
Das Studium ist lang und Mathevorlesungen gab es zu meiner Zeit in München nur in den ersten 2-3 Semestern.
Von daher bliebe theoretisch auch noch genug Zeit, danach in was Praktisches einzusteigen.

Morale
2013-03-18, 07:00:02
Wie es konkret läuft werd ich eh dann erst im Studium sehen, wie heißt es so schön, kein Plan überlebt den ersten Feindkontakt. Ich will halt nur vor Studiumsbeginn halbwegs 1-2 Sprachen können, damit ich recht viel Praktika machen kann (sofern das Studium das natürlich zulässt).

Colin MacLaren
2013-03-18, 10:53:25
In den meisten technischen Studiengängen ist es so, dass Du die ersten die Semester ordentlich rangezogen wirst und so gut wie jeder auch die ein oder andere Klausur wiederholen muss. Sind die Grundlagen durch kommen die Vertiefungsmodule, da hat man dann mit Referaten, mündlichen Prüfungen, kleinen Klausuren von 60 min (statt 120-180 min Mathe) eine wesentlich entspanntere Zeit.

PatkIllA
2013-03-18, 11:54:21
Das Studium ist lang und Mathevorlesungen gab es zu meiner Zeit in München nur in den ersten 2-3 Semestern.
ich fand es in Dortmund auch nicht so schwer, ärgere mich heute aber noch über die ganzen Stunden für Übungen und Vorlesungen. Da hätte man sich besser direkt einige Woche mit 2 bis 3 Lleuten einschließen sollen und direkt lernen sollen. Am Anfang glaubt man aber noch, dass alle Vorlesungen und Übungen wichtig sind. Das gilt aber eh nur für einen Teil und wenn man zwischendurch abgehängt ist bringt es sowieso kaum was.

minos5000
2013-03-18, 16:05:18
Bei uns diente die Anwesenheit auch mehr dem sozialen Miteinander als der Wissensmehrung ;)

Was ich im nachhinein aber als ausgesprochen hilfreich ansehe war, dass wir jede Woche Übungsaufgaben abliefern mussten und wer das nicht tat wurde nicht zur Klausur zugelassen. Zusätzlich waren die Korrektoren auch äußerst streng in Sachen abschreiben.
Dadurch, dass man gezwungen war sich während dem Semester mit der Materie auseinanderzusetzen gab es bei Mathe wenigstens keinen Lernstress vor den Klausuren.

hadez16
2013-03-18, 16:55:58
In C# bzw. .net sind mittlerweile so viele Konzepte untergebracht, dass es schon wieder verdammt kompliziert werden kann, wenn mal alles ausnützt.

Ich räume ein, dass man mit C# sehr einfach und unkompliziert die OOP mit all ihren Facetten beigebracht bekommt bzw. man die Prinzipien mit dieser Sprache sehr einfach umsetzen/testen/verstehen kann.
Geometrische Figur....usw usw wir kennen das ja :D

Gast
2013-03-19, 22:30:21
Ich weiß jetzt nicht ob du Uni oder FH besuchen wirst. Falls es aber ne Uni sein wird, dann unterschätze mal ja nicht die Mathevorlesungen. Die sind für sich genommen schon ein starkes Stück und sehr wichtig für den üblichen Chef-Aussortierer Theoretische Informatik. Und glaube mir Analysis, die man noch aus dem Abi kennt, ist nur ein kleiner Teil der Mathegrundlagen, die man im Studium vorgesetzt bekommt.
Lineare Algebra und diie ganze Beweisführung hat nichts mit Schulmathe zu tun.

Andererseits glaube ich aber kaum, dass man sich mal so eben allein darauf vorbereiten kann. Könnte dazu jedenfalls kein Buch empfehlen.


Also wenn du irgend eine Sprache lernen willst, dann schau einfach wo du später arbeiten willst und da du das nach eigener Aussage ja schon einigermaßen weißt, lern die Sprache die in diesem Gebiet am häufigsten verlangt wird. Niemand muss etliche Sprachen können. Es wird einach erwartet, dass du dich ggf. schnell in eine neue Sprache einarbeitest.
Ich hab nur absolute Anfängerkenntnis in C# und das .NET Framework noch nicht wirklich genutzt, dennoch arbeitet ih jetzt in einen reinem C# Projekt. Also von daher keine Panik. ;)

Gauron Kampeck
2013-03-30, 17:09:54
Nach dem Studium wäre eine Option in der HW-nahen Programmierung zu arbeiten.
Dann nimm C. Die wesentlichen Philosophien von C++ bekommt du auch durch Java vermittelt. Die auf C++ zu übertragen, wenn man schon C kennt, fällt dann relativ leicht.

johla
2013-03-30, 19:20:31
Wieso nicht mit C++11 anfangen?

Marscel
2013-03-30, 20:21:17
Das Studium ist lang und Mathevorlesungen gab es zu meiner Zeit in München nur in den ersten 2-3 Semestern.

Da würde ich keine falschen Hoffnungen aufkommen lassen, wir haben in allen 6 Plansemestern des Bachelors Mathevorlesungen gehabt.

Wieso nicht mit C++11 anfangen?

Halte ich für keine gute Idee. Kenntnisse in C und idealerweise Rechnerarchitekturen sollten vorhanden sein. Ich hab damals als erstes mit einem älteren C++-Standard anfangen - und hab, wie ich dann später festgestellt habe, eigentlich überhaupt nichts gelernt. Bzw. erst dann war überhaupt klar, warum C++ so ist wie es ist. Oder viel mehr, warum alles nicht so geklappt hat, wie ich dachte.

Für Herumspielen mit OOP sind die anderen Kandidaten hier deutlich freundlicher.

Gast
2013-03-31, 05:48:17
Servus,

zum WS geht mein Inf. Studium los.
Im Studium wird wohl ausschließlich Java gelehrt, was ja so schlecht nicht ist ;)

Da ich vorher dank Schulferien und Co. noch recht viel Freizeit habe will ich mir noch eine andere Sprache beibringen.

Welche wäre da empfehlenswert?


Also Java solltest du auf alle Fälle vertiefen.

Empfehlen würde ich dir C, weil sehr viele Fächer auf C aufbauen und C in der Zeit recht gut zu lernen ist.
In "Embedded Systems", "Systemprogrammierung" oder "Computergrafik" wirst du vorraussichtlich mit aller Wahrscheinlichkeit nicht um C herum kommen. Die Fächer können an deiner Hochschule natürlich geringfügig anders lauten, aber das ändert daran nichts.

C++ ist zu umfangreich, das haut zeitlich nicht hin.
Um C++ zu beherrschen braucht man etwa 10 Jahre.


JavaScript kann hilfreich sein, wenn es um Webdesign geht, da JavaScript durch HTML 5 stark zunimmt und die Hochschulen ihre Fächer daran anpassen. Allerdings ist JS halt auch nur für Webzeugs gedacht und dafür gibt's nicht viele Fächer.
Mit C hast du da wesentlich mehr Auswahl.
Nichstdesto trotz spricht ja nichts dagegen, wenn du dir neben Java, C und dazu noch JavaScript ansiehst.

Das sind dann zwar schon drei Sprachen, aber das wird dir für die Hochschule mehr bringen als nur Java und C++.


Eine Scriptsprache solltet du ebenfalls dazu lernen.
Auch wenn PHP oftmals verschrien ist, so wird es an Hochschulen doch häufig benutzt. Insbesondere auch für Webzeugs.

Insofern würde ich dir folgendes Vorschlagen:

- Java (intensiv)
- C (ausgiebig)
- Javascript (reinschnuppern und auch mal 10 Sachen mit jeweils mind. 500 Zeilen Code programmieren)
und
- PHP (grundlagen sollten reichen)




Ich hatte an C/C++ gedacht (da ist auch noch ein bischen Wissen von der ITSE Ausbidung da), da dies ja eine sehr HW nahe Programmierung ist. Da ich auch schon (halbwegs) einen Plan habe wie es Praktika-technisch im Studium und Job-technisch nach dem Studium weitergehn soll, und da oft diese Sprache gefordert wird.


Bezüglich HW nahe Programmierung schadet es übrigens nicht, sich mal x86 Assembler anzusehen, das muss nicht umfangreich sein, ein kleiner Minimaleinstieg reicht.



Eine andere Sprache wäre Phyton, diese soll wohl recht easy zu lernen sein, und kommt vereinzelt auch oft vor (in Stellenanzeigen).

Ja, aber PHP kommt noch häufiger vor, insbesondere auch an den Hochschulen.



Die dritte wäre dann noch Matlab.

Das habe ich in keinem einzigen Kurs gebraucht, allerdings kann es für die Mathekurse hilfreich zum Lernen und Üben von Mathe sein.
In der Matheklausur bringt dir das allerdings nichts, weil du dort kein Matlab haben wirst.

Später kann dir Matlab zwar im Beruf helfen, wenn du mathematische Ausdrücke vereinfachen und testweise durchchecken mußt, aber solche Jobs in denen das notwendig ist, sind im Vergleich zum Rest eher in der Minderheit.
Schaden tuts nicht, aber ich würde mich an deiner Stelle lieber auf die anderen Dinge konzentrieren.

Zum eigentlichen Programmieren lernen lohnt es sich auch mal Algorithmen und Datenstrukturen zu lernen, das ist ein wichtiges Rüstzüg für das es auch ein Fach geben wird.




Was könnte man nun einem Anfänger empfehlen?

Siehe oben, wenn du dich bei der Auswahl nicht entscheiden kannst, dann lerne C.

Um C wirst du nicht herumkommen, eine Programmiersprache die für die Systemprogrammierung geeignet ist, wirst du lernen müssen und das ist eben C.

Wenn du noch 3 Jahre bis zum Studium Zeit hättest, dann hätte ich dir C++ empfohlen.

Gast
2013-03-31, 05:51:01
Ist auch mein Favorit, wobei natürlich C/C++ schon ein Brocken ist.
Ist das buch hier zum empfehlen?
http://openbook.galileocomputing.de/c_von_a_bis_z/
Hat zumindest im Netz gute Kritiken.

Nein, bloß nicht, FINGER WEG!

LIES hier weiter:
http://www.c-plusplus.de/forum/272350



Nimm, wenn du C++ lernen willst, stattdessen das hier:
http://www.amazon.de/Der--Programmierer-Professionell-anwenden-Lösungen/dp/3446426914/

Das lehrt guten und vor allem auch aktuellen C++ Stil.

Gast
2013-03-31, 05:53:03
Javascript ist imo das schlimmste Vermächtnis was wir der kommenden Entwickler Generation vermachen. :freak:

He, he, da gebe ich dir voll und ganz recht, aber weil man das heutzutage für jeden HTML 5 Webzeugs Müll braucht, wird man nicht darum herumkommen.

Es sei denn, man läßt komplett die Finger vom Webzeugs.

Gast
2013-03-31, 06:01:53
@TS
Eigentlich ist die Sprache egal, wähle ein praktisches Anwendungsfeld das dich motivieren würde und dann lerne die entsprechende Sprache dazu. Z.B. C++ wenn dich sowas wie Mikrokontroller interessieren


Bei Mikrocontrollern sollte er besser C lernen.

C ist schlanker und es gibt für mehr Mikrocontroller mehr gute Compiler.
C++ bei Mikocontrollern ist erst so langsam auf dem Vormarsch und
für die ganz kleinen Progrämmchen, die man für Mikrocontroller in der Regel entwickelt, reicht C locker, was auch einer der Gründe ist, warum es dafür immer noch hauptsächlich verwendet wird.


C++ ist eine OO Programmiersprache, OOP ist für Mikrocontroller meist unnötiger overhread.




oder Java wenn du was für dein Android Handy entwickeln möchtest etc.

Ein Beinbruch ist es übrigens nicht wenn du jetzt schon mit Java anfängst, die Herangehensweise in der Uni und von dem was du zuhause machst, wird sich eh unterscheiden. Du wirst bei den Kursen in der Uni sicherlich noch einiges lernen können, auch wenn du schon die Grundlagen der Sprache beherrschst.

Man sollte sich auf alle Fälle nicht überschätzen und den Kursen nicht fernbleiben, nur weil man glaubt, man könne eh schon alles, was da dran kommt.
Also gilt:
Auch wenn du dich in den ersten Stunden langweilst, besuch auf alle Fälle die Kurse zu Java.

Gast
2013-03-31, 06:03:20
Nach dem Studium wäre eine Option in der HW-nahen Programmierung zu arbeiten.

Ich werde mir wohl C++ und Java primär anschauen und wenn noch Zeit ist eine dritte.


Oh je, dann nimm bitte C und nicht C++.