Fachinformatiker Anwedungsentwicklung! Welche Programmiersprache?

Shakti

Komplett-PC-Aufrüster(in)
Hi ich fange am Sommer bei einem Unternehmen an den Beruf FI AE zu lernen.

Ich werde dort wie man mir sagte mit Microsoft Dynamics NAV arbeiten.

Ich möchte mir daher vorher gerne selber ein paar Dinge aneignen.
Meine Frage wäre was könnte ich tun?
Welche Programmiersprache sollte ich mir anschauen oder schon mal ein paar Basics lernen?
Gibt es gute Literatur dafür?

Ich habe noch nie in meinem Leben so was gemacht deshalb bitte verständlich erklären bzw. beschreiben
Natürlich habe ich schon mal von C++; Java; etc. gehört. Aber halt noch nicht damit gearbeitet.


Danke
 
Frag doch mal bei dem Unternehmen an, die werden dir garantiert nicht den Kopf abreißen weil du gut vorbereitet sein willst. Wenn du weißt was du lernen willst sind die eBooks/openbooks von Galileo Computing ganz gut. Find ich persönlich recht verständlich und ich weiß von meinem Vater das Azubis bei denen in der Firma die auch immer an den Kopf geknallt bekommen :D
 
In der Berufsschule wirst du eine Sprache lernen um die Grundlagen des Programmierens zu erlernen. Es ist im Endeffekt egal mit welcher du anfängst. Wahrscheinlich wird das Java oder C/C++ sein.

Gibt da sehr gute online Turorials für totale Neueinsteiger.

Mit Microsoft Navision werde ich bald auch arbeiten. Ist auf jeden Fall ziemlich cool.
 
Zuletzt bearbeitet:
Danke für die Antworten :-)

Ich werde dann mal bei der Firma nachfragen und mir mal Material besorgen.
Wenn sich hier jemand gut mit NAV und prgrammierung auskennt, darf er sich gerne bei mir melden damit ich evtl einen Ansprechpartner für die Zeit bis zur Ausbildung habe.

Soweit schönen Sonntag euch allen :)
 
In der Wirtschaft sind Java, C#, C++ und C am meisten gefragt, wobei Java auf Platz 1 liegt. Auch wenn ich persönlich Java nicht mag, empfehle ich dir die Sprache zu lernen, weil du dann schnell auf andere viel verwendete Sprachen umsatteln kannst. Wenn du Hintergrundwissen haben willst, "wie ein Computer tickt", solltest du auch C lernen. C hat viele Stolpersteine, aber man lernt einiges über Computer dabei.
 
Die beste Grundlage liefert sicherlich ein Anfang mit C. Das hilft so ziemlich jede andere Sprache zu lernen. So könntest du auch relativ einfach auf C++ und C# umsatteln. Auch der Umstieg auf Java wird nicht schwer sein.

Frag doch am besten mal bei der Firma nach, welche Sprache hauptsächlich verwendet wird. :)
 
"C" für den Anfang ist schwierig, zumal C wenig Fehler verzeiht.

Du würdest nichts verkehrt machen, wenn du mit Java anfängst.
Da mußt du dich anfangs auch nicht um das Speicheraufräumen kümmern. Das erledigt für dich schon die Garbage collection.

Die meisten Berufschulen lehren auch Java. Manchmal auch erst im 2. oder 3. Lehrjahr.

Mit dem Einstieg in Java, kriegst du schon die ersten Grundkenntnisse der Programmierung.
Objektorientierte Programmiersprachen ähneln sich im Aufbau und der Syntax sehr.

In deiner späteren Prüfung wirst du auch nicht auf dein Aufgabenzettel was in einer bestimmten Programmiersprache runterkritzeln, sondern in eine Pseudocode.

Eine gute Alternative die ich dir zu Java noch empfehlen könnte, wäre Delphi.
Java jedoch ist weiter verbreitet und wird ebenso vielfach für Webdesign, Mobile Geräte (wie Smartphones) und Waschmaschinen verwendet. ;) :D
 
Je nachdem wie motiviert und ausdauernd du bist, wäre C++ vielleicht auch ne gute Alternative, denn da wirst du erstmal auf nem normaleren Weg an das klassische Build-Verfahren ran geführt und musst dich nicht gleich mit Sachen wie der Java-Runtime Auseinander setzen. Außerdem empfand ich zu mindestens es einfacher, erstmal nicht alles Klassen und Objekte packen zu müssen. Und die Anzahl der Fälle , in denen man noch selbst den Garbage Collector spielen muss, lassen sich an einer Hand abzählen, weil mittlerweile sich so gut wie alles auch mit Containern machen lässt.
 
Die Anwendungsentwickler die ich kenne haben mit C# gelernt und dabei wohl auch viel mit SQL Server hantiert(Abschlussjahrgang 2011). Soo wichtig ist es aber eigentlich garnicht mit welche C-Dialekt man anfängt.

Was ich bei reinem C (und C++), gerade für Anfänger ohne einen der drüber guckt, unschön finde ist dessen Grundannahme " der Programmierer hat immer recht". Wenn z.B. ein Index aus dem Array läuft wird halt der Speicherbereich darüber gelesen. :klatsch:.
Bei Java, C# etc. merkt solche Fehler schon der Compiler, das kann einem gerade beim Einstieg viel Frust ersparen.
 
Die beste Grundlage liefert sicherlich ein Anfang mit C. Das hilft so ziemlich jede andere Sprache zu lernen. So könntest du auch relativ einfach auf C++ und C# umsatteln. Auch der Umstieg auf Java wird nicht schwer sein.

Also da muss ich Playa recht geben. Mit C anzufangen wäre ein sehr schwierige Angelegenheit. Am besten du fängst mit C# oder Java an um einmal die Logik und Grundlagen zu lernen.

Ich habe in meine Ausbildung mit Java begonnen (bin kein Fan von Java) und nach 2 Jahren auf C# umgesattelt. Vor zwei Jahren habe ich mich erst in die Welt von c++ begeben und habe dabei sehr viel gelernt und muss sagen, dass ich es nicht umbedingt einfach fand. Anders als bei C# und Java, musst du in c/c++ deinen Speicher selbst verwalten (kein garbage collector :(). Ohne meine Vorkenntnisse (5 Jahre Programmieren mit Java und C#, professionell in der Schule, kein Zuhause Hobby programmieren) wäre ich wahrscheinlich verzweifelt.

Also ich würde dir C# oder Java ans Herz legen. Meiner Meinung ist C# am besten um in die Welt der Programmierung einzutauchen. Das riesige .NET Framework mit den 10000 Klassen und Funktionen werden dich auch dabei unterstützen. Außerdem hast du eine große Community und eine (meiner Meinung die beste) Doc wo du immer nach Hilfe suchen kannst.

Am Anfang musst du sowieso einmal die Grundlagen lernen. Am Anfang musst du sowieso die Syntax und Semantik der Sprache kennenlernen und auch die Grundlagen wie Datentypen, Schleifen, etc. erforschen die eigentlich in jeder Sprache gleich sind. (Bezogen auf Java und C#. In C++ wirst du einige davon nicht finden.)

Mit freundlichen Grüßen,
Frezy
 
Also ich würde dir C# oder Java ans Herz legen. Meiner Meinung ist C# am besten um in die Welt der Programmierung einzutauchen. Das riesige .NET Framework mit den 10000 Klassen und Funktionen werden dich auch dabei unterstützen. Außerdem hast du eine große Community und eine (meiner Meinung die beste) Doc wo du immer nach Hilfe suchen kannst.

Am Anfang musst du sowieso einmal die Grundlagen lernen. Am Anfang musst du sowieso die Syntax und Semantik der Sprache kennenlernen und auch die Grundlagen wie Datentypen, Schleifen, etc. erforschen die eigentlich in jeder Sprache gleich sind. (Bezogen auf Java und C#. In C++ wirst du einige davon nicht finden.)

Mit freundlichen Grüßen,
Frezy

Von Java und C# würde ich als erste Sprache eigentlich erstmal abraten. Ich würde erstmal klassisch mit C anfangen und nicht mit Objekt-orientierten Kram wie Java oder C#. Danach würde ich auf C++ ausweiten, allerdings nur wenn nötig, wenn du alleine arbeitest dürfte C ausreichen, wenn du in einem Team arbeitest dürfte C++ besser sein. Und nur mal nebenbei, C# läuft nur auf Windows-systemen. Mann kann zwar mit Mono auch C# code auf Linux zum laufen bringen aber da kommt es oft zu Problemen wenn mann auf externe Programmbibliotheken angewiesen ist.
 
Von Java und C# würde ich als erste Sprache eigentlich erstmal abraten. Ich würde erstmal klassisch mit C anfangen und nicht mit Objekt-orientierten Kram wie Java oder C#.
Lass mich raten. Du hast vor Jahren prozedurale Programmierung gelernt und wurdest irgend wann zur Objektorientierung "gezwungen"?!
Dann lass dir gesagt sein dass Objektorientierung keine unnötige Verkomplizierung vom Programmieren wie du es kennst sondern schlicht ein anderer (modernerer) Ansatz ist.
Beide Ansätze kann man ähnlich schnell lernen, wenn man bei 0 startet.

Und ich sehe mittlerweile keinen Grund mehr nicht beim neueren, sich immer mehr durchsetzenden Ansatz zu beginnen.
 
Lass mich raten. Du hast vor Jahren prozedurale Programmierung gelernt und wurdest irgend wann zur Objektorientierung "gezwungen"?!

Richtig geraten.

Dann lass dir gesagt sein dass Objektorientierung keine unnötige Verkomplizierung vom Programmieren wie du es kennst sondern schlicht ein anderer (modernerer) Ansatz ist.

Das stimmt auch, aber bei den kleinen Programmen die mann als Anfänger schreibt ist Objekt-Orientierung in meinen Augen eine unnötige verkomplizierung. Bei grösseren Programmen vereinfacht Objekt-Orientierung natürlich alles, keine Frage, vorallem wenn mann im Team arbeiten muss.

Beide Ansätze kann man ähnlich schnell lernen, wenn man bei 0 startet.

Ich würde aber erst "klassische" Programmierung lernen und dann auf Objekt-Orientierung ausweiten.

Und ich sehe mittlerweile keinen Grund mehr nicht beim neueren, sich immer mehr durchsetzenden Ansatz zu beginnen.

Nur mal so, prozedurale Programmierung wird bei vielen "modernen" Sachen noch benutzt. Im GPGPU Computing Bereich zum Beispiel wird sehr viel ohne Objekt-Orientierung gemacht. Das gilt auch für Anwendungen im Bereich Verteiltes Rechnen.
 
Ich sehe da kein Problem bei Java oder C#. Man kann als Anfänger auch bei diesen Sprachen ziemlich lange ohne (richtiges) OOP auskommen (EVA-Programme bspw.).

Das es bei GPGPU/HPC wenig bis kein OOP gibt, hat aber eher Performancegründe. Abgesehen davon ist das schon ein sehr spezieller Bereich :ugly:
 
Ich verstehe nicht ganz die Panikmache, dass C/C++ so schwer sein soll.
Was gesagt wird, dass es keine Fehler verzeiht, das kann schon sein, aber ich finde das nicht schlecht. Wir Programmierer arbeiten doch genau so: Wir müssen eine bestimmte Syntax beherschen und unsere Programme in dieser Syntax schreiben. Und das bezieht sich auch auf andere Bereiche der Programmierung, wie Speicherverwaltung und Arrays.
Wenn man einen nicht existierenden Index beim Array angibt, hat man halt verloren, dann muss man es verbessern und dann geht es. Fertig. Wenn ich eine Website schreibe, nutze ich auch XHTML und mache sie XHTML Strict valid und nicht nur HTML Geschmiere.
Ich finde es hat was gutes. Man lernt exakt und genau zu arbeiten. Andere Sprachen fallen einem danach wahrscheinlich sogar einfacher.

Allerdings kann ich nichts über Java oder C# sagen, weil ich mich kaum mit den Sprachen außernander gesetzt habe... Das werde ich aber demnächst tun.

Ich finde die Aussage eines Vorposters schon ganz gut: Bei C lernt man eine Menge über den PC. Und man lernt exakt zu arbeiten.
C# ist für viele Dinge jedoch praktischer dank seiner vielen Bibliotheken.

Mein Tipp: Mit C/C++ anfangen und Grundlagen ordentlich lernen. Und dann kannste nach einiger Zeit auf C# oder Java (falls du Waschmaschinen programmieren willst ;) ) umsteigen.

mfg
Lukas


PS: Einer meinte C++ ist richtig schwer.. Finde ich garnicht, ich habe nur HTML und bat/batch gelernt (was ja keine richtigen Sprachen sind) und danach direkt C++
 
Hey,

Ich würde aber erst "klassische" Programmierung lernen und dann auf Objekt-Orientierung ausweiten.

Erm... wir schreiben das Jahr 2012 ... die Objektorientierte Programmierung ist der heutige Standard. So gut wie jede aktuelle Software setzt auf die oo Programmierung auf.

Das stimmt auch, aber bei den kleinen Programmen die mann als Anfänger schreibt ist Objekt-Orientierung in meinen Augen eine unnötige verkomplizierung. Bei grösseren Programmen vereinfacht Objekt-Orientierung natürlich alles, keine Frage, vorallem wenn mann im Team arbeiten muss.

Also bist du der Meinung ich lerne alles zweimal? Also sry aber besonders in dem Bereich wo er dann arbeitet ist die OO-Programmierung wichtig.

Nur mal so, prozedurale Programmierung wird bei vielen "modernen" Sachen noch benutzt. Im GPGPU Computing Bereich zum Beispiel wird sehr viel ohne Objekt-Orientierung gemacht. Das gilt auch für Anwendungen im Bereich Verteiltes Rechnen.

Dann solltest du mal den Beitrag des Erstellers lesen. Es geht hier nicht um was soll ich lernen sondern wie kann ich mich auf meinen Job vorbereiten. Und wenn dort mit Microsoft Dynamics NAV arbeitet bin ich mir sicher, dass er dort eher mit C# oder VB konfrontiert wird und nicht mit C/C++.

Ich verstehe nicht ganz die Panikmache, dass C/C++ so schwer sein soll.
Weil C/C++ nicht C/C++ ist. (Zumindest im Internet) C/C++ ist ein Standard... das sich jemand daran haltet ist nicht vorrausgesetzt. Im Internet wirst du mit C/C++, C++/CLI und anderen C/C++ Verschnitten konfrontiert. Das ist besonders am Anfang sehr verwirrend. Besonders wenn du gerade erst in die Welt der Programmierung einsteigst.
In C# hast du das MSDN. Dort sind viele Leute die dir helfen, (meiner Meinung) die beste Dokumentation die du finden kannst und das größte Framework das es zurzeit gibt. In C/C++ bist du darauf angewiesen fast alles selber zu machen. In C# hast du weiß nicht wie viele Klassen die dir dabei helfen deine Idee umzusetzten. Wie viele Funktionen/Methoden/Klassen sind im C/C++ Standard definiert? Genau... im Gegensatz zum .NET Framework genau null.

Wenn man einen nicht existierenden Index beim Array angibt, hat man halt verloren, dann muss man es verbessern und dann geht es.
Also das ist ident zu C#. Verstehe nicht was du dadurch sagen willst. Nur das bei C# "Array overflow" und in C++ "Speicherzugriffsfehler im Bereich 0x000AB33FF2" angezeigt wird.

Ich finde es hat was gutes. Man lernt exakt und genau zu arbeiten.QUOTE]
Wenn du denkst du darf in C# unsauberen Code schreiben... dann hast du als Programmierer sowieso verloren.

Ich finde die Aussage eines Vorposters schon ganz gut: Bei C lernt man eine Menge über den PC. Und man lernt exakt zu arbeiten.
Also alles was du in C/C++ über den Computer lernst, ist wie der Stack/Speicher aufgebaut ist. Oder dekompilierst du deine geschrieben Programme und schaust dir den Assemblercode an? (Das kannst du in jeder anderen Programmiersprache auch. Und dann wirst du vor lauter MOVs, JMPs und XORs erst nicht verstehen wie ein Computer funktioniert. Also das ich meiner Meinung eine Aussage die keinen Sinn ergibt.
C ist sowieso eine Schnapsidee. Dann kannst du gleich Microcontroller programmieren gehen... aber ich glaub ihr habt den Beitrag des Erstellers überlesen.

Tut mir leid für den Ersteller, der wahrscheinlich bei unserer Geplänkelei kein Wort mehr versteht. Aber das wirst du früh genug merken, dass Programmierer sich gerne über Vor- und Nachtteile ihrer Sprachen streiten. Da hat jeder seine eigene Meinung.

Mit freundlichen Grüßen,
Frezy

@Crysis nerd: Warst du nicht der lustige Typ der meinte man soll deine Homepage hacken um sie auf Schwachstellen zu überprüfen? Dann versteh ich nicht warum du hier schreibst, dass man sauberen Code schreiben sollte. Das passt für mich irgendwie nicht in eine Kiste. Wenn ich mich irre dann korrigier mich und ich nehm alles zurück.

PS: So ich mach mal Feierabend. Werde am Montag wieder mal hier reinschauen wenn ich am Wochenende nicht mehr dazukomme.
 
Zuletzt bearbeitet:
Worauf ich hinauswollte ist die Meinung die vor meinem Post haufenweise verkündet wurde: C++ verzeiht keine Fehler. Das heißt ja wohl, dass es andere Sprachen, die hier empfohlen werden, also Java und C#, Fehler verzeihen. Ich kann es nicht beurteilen, da ichs selber kaum programmiert habe, aber wie gesagt, das erschließt sich mir aus meinen Vorpostern.
Und darauf beziehe ich mich nur und habe es (eventuell ein bischen vorschnell) mit Xhtml und html verglichen.

Was das mit dem "Lernen über den Computer" angeht, finde ich aber dass man natürlich bei Hardware nahen Sprachen mehr lernt. Klar ASM wäre noch ein Schritt weiter, aber das ist wiederrum zu ineffizient.
Ich finde vorallem interessant, dass C++ beides bietet, die hardwarenahe strukurierte Programmierung UND OOP. klar ist OOP die Zukunft, aber man sollte trotzdem das andere nicht vernachlässigen.

Und ja ich war der "lustige Typ" (warum auch immer du zu dieser Meinung kommst), der nach den Sicherheitslücken meiner Homepage gefragt hatte. Aber ich verstehe wiederrum nicht, wie das für dich nicht zusammen passt? Ich darf doch wohl sauberen Code schreiben und trotzdem fragen, ob jemand Sicherheitslücken findet. Sicherheitslücken auf Homepages haben nichts damit zu tun, wie sauber der Code ist, sondern mit den eingebauten Sicherheitsmechanismen, um bestimmte Sachen zu escapen. Da musst du dich nochmal erklären...


Und sorry habe gerade nicht allzuviel Zeit, sonst hätteste von mir noch ein bischen mehr Text bekommen ;)

Und ja von mir auch ein Tut mir Leid an den TE :D
(Aber das ist hier doch auch immer das gleiche oder? Jemand fragt nur ganz simple nach einer Programmiersprache und nachher hauen sich sofort wieder alle Fachwörter um die Ohren und Streiten sich, als wenns um Leben und tot geht..)

mfg
LUkas
 
Zurück