Zum Inhalt springen

welche Programmiersprache?


oli_

Empfohlene Beiträge

Hallo an alle,

ich habe die letzten 2 Jahre eine Umschulung zum Fachinformatiker - Anwendungsentwicklung gemacht und ende Januar 2006 mit erfolg bestanden.

Leider muß ich zugeben das diese Umschulung so gut wie für den A.... war.

Das einzige was ich wirklich gelernt habe war PHP, etwas Smarty und MySql im halbjährigen Praktikum, sonst von der Schule her gar nix. Und das nicht weil ich lernfaul war.

Nun, da ich aber das Programmieren lernen will, fällt es mir schwer mich für eine Programmiersprache zu entscheiden und wenn ich Stellenprofile lese kenne ich oftmals über die Hälfte nicht was da drin steht.

Ich weiß das C++ eine Plattformunabhängige Sprache ist, und das wenn man diese kann es einem nicht schwer fallen soll auf andere umzusteigen.

Andererseits wenn ich mich in den Stellenprofilen umsehe, wird immer mehr nach C#, .ASP , JAVA und so gefragt, also mehr die Internetsachen.

Nun meine Frage, mit welcher Programmiersprache fange ich denn jetzt am besten an? Ich kann ja nicht alle lernen, denn von der Hand im Mund kann ich ja auf dauer auch nicht leben.

Ging es vielleicht jemanden von euch auch so?

Gruß Oli

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Oli,

wichtig ist, dass du Prinzipien verstehst - dann kannst du die div. ProgSprachen locker lernen. MySQL ist eine annehmbare Basis, da sollte man auch mit Oracle oder DB2 zurecht kommen. Java ist heute ein Basic, wobei dahinter das grundlegende OO-Verständnis stecken sollte. Dazu das Wissen, wie ein Projekt läuft und was du gerade tust...

Also: Augen und Ohren auf, deinen Lernwillen zeigen und munter drauf los bewerben.

LiGrü

Michael

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Michael,

ich denke schon das ich die Prinzipien der OO-Programmierung verstanden habe, nur bei den Klassen fehlt mir gewaltig die Übung, und ich weiß auch nicht unbedingt wie ich die üben kann. Es ist immer schwer selber Beispiele zum üben zu entwerfen.

Wie ein Projekt läuft denke ich auch das ich da etwas Ahnung davon habe, nur brauche ich immer endlos viel Papier um umzusetzten was ich möchte sonst verliere ich die Übersicht.

Ich werde es einfach weiter probieren.

Vielen Dank für die Motivation!

Gruß Oli

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Olli !

Die Frage läßt sich nicht einfach beantworten.

In der Windowswelt sollte man auf .Net mit C# und SQL setzen für Anwendungsprogramme.

Bei Internetprogrammierung ist XSLT in Verbindung mit CSS zu empfehlen.

In der Unixwelt wird man wohl nicht um C und Oracle herumkommen.

MfG

peschi

Link zu diesem Kommentar
Auf anderen Seiten teilen

C++ ist mittlerweile ziemlich out, was heute gebraucht wird ist .net und java.

Rein oberflächlich betrachtet sind sich .net (c#) und java sehr ähnlich, nur dass .net nur für windows ist (gibt aber auch mono für linux) und java plattformunabhängig ist. Im moment werden zwar glaube ich mehr java experten gesucht, aber .net wird in nächster zeit mit Windows Vista noch einen kräftigen schub bekommen.

Ich persönlich würde .net bevorzugen (aber man sollte eh beides mal ausprobiert haben)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Lasst uns dochmal ein wenig die Begriffe in ihrem eigentlich Kontext verwenden und unterscheiden, was denn nun eine Programmiersprache ist, und was nicht. CSS und XML/XSLT sind keine Programmiersprachen. Oracle ist an sich auch keine Programmiersprache (höchstens PL/SQL und der Einsatz dürfte was Komplexität angeht eher begrenzt sein).

C++ ist mittlerweile ziemlich out, was heute gebraucht wird ist .net und java.
Als pauschale Aussage ist das schlicht und ergreifend quatsch.

Was die Verwendung angeht, so kommt es sehr stark auf den genauen Einsatzbereich an. Wenn es um serverseitige Programmierung von Businessprozessen geht so ist der Platzhirsch hier immer noch J2EE. Microsoft kommt mir .net hier langsam in einen Bereich wo der ein oder andere Marktanteil abgegriffen werden kann aber gerade durch die starke Bindung an Windows wird das wohl auf längere Zeit hinaus eher nicht wirklich stark vertreten sein - daran wird auch (meiner Meinung nach) Mono nicht viel ändern können.

Bei der Programmierung von Rich Clients, also "klassischen" Applikationen sieht das wiederrum genau umgekehrt aus: Da fristet Java (momentan) eher ein Nischendasein und VB, Delphi und (V)C++ sind die meist eingesetzten Sprachen. Und aus der Systemprogrammierung ist C++ sowieso nicht wegzudenken.

Wenn es darum geht Programmierung wirklich zu lernen wird mich manch einer vielleicht seltsam ansehen, aber da halte ich Pascal verwandte Sprachen immer noch für sehr geeignet. Wer aber einmal wirklich verstanden hat, was ADTs/Objekte bzw. Funktionen/Methoden sind, wie man einen Kontrollfluss vernünftig modelliert und Komplexität sauber aufspaltet, für den ist das Erlenen einer bestimmten Sprache eher eine Kleinigkeit.

Bei einem Golf ist der Schalter für's Fernlicht auch woanders als bei einem Twingo und trotzdem kommt man mit beiden Modellen (meistens) an sein Ziel, wenn man einmal verstanden und gelernt hat, wie Autofahren funktioniert. Sehr viel anders ist es beim Programmieren auch nicht.

wenn ich mich in den Stellenprofilen umsehe, wird immer mehr nach C#, .ASP , JAVA und so gefragt, also mehr die Internetsachen.
Vorsicht: Gerade Java und C# sind deutlich mehr als nur irgendwelche "Internetsachen". Nur weil man damit auch Webanwendungen programmieren kann heisst das noch lange nicht, dass eben das der einzige Anwendungsbereich ist.
Link zu diesem Kommentar
Auf anderen Seiten teilen

*LOL*

Es gibt viele Bereiche in denen Java und C# (noch) keine Rolle spielen.

hehe, schon klar. Ich wusste ja das sowas kommt ;)

Mit out meine ich nicht, dass niemand mehr c++ benutzt. Es gibt eben Bereiche in denen man nicht an C++ vorbeikommt. Es ist eben nur nicht mehr so, hmm wie soll ichs sagen, "in mode", (deswegen, sagte ich out und nicht schlecht oder unbrauchbar). Früher hat man ja so gut wie alles mit c++ realisiert. Doch der hype ist nunmal lange vorbei und man hat eingesehen, dass c++ für nicht-systemnahe anwendungen eben nicht mehr erste wahl ist und sprachen wie java oder C# wesendlich produktiver sind.

Wozu z.B. eine Fenteranwendung mit datenbankanbindung mit c++ realisieren wenn man mit java oder .net 4 mal weniger zeit benötigt.

In der IT-Branche spielen solche hypes eben eine wichtige rolle, da die "Entscheider" sich gerne damit brüsten auf dem neusten stand der Technik zu sein.

Und momentan wird c++ eben nicht gehypt (=>out, aber nicht unnütz) und c# & Java werden gehypt (=>in)

Deshalb sollte man da aus beruflicher sicht immer ein auge drauf haben, um nicht den anschluss zu verlieren.

PS:

Ein guter programmierer lernt eine neue sprache eh in kürzester zeit, von daher ists egal womit man anfängt, solange es objektorientier ist ;)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi,

Doch der hype ist nunmal lange vorbei

ist das dein Empfinden, oder kannst du das auch belegen?

dass c++ für nicht-systemnahe anwendungen eben nicht mehr erste wahl ist und sprachen wie java oder C# wesendlich produktiver sind.

sondern? Ob Java wesentlich produktiver ist, lass ich mal dahingestellt. Ich denke, dass beide Sprache ihre Daseinsberechtigung haben. Wenn ich sehe, in welche Werkzeuge und Technikn man sich einarbeiten muss, um "Java" zu können (z. B. Struts, JSF, EJB etc.), was alles recht komplexe Gebilde sind, bin ich mir mit der "Produktivität" nicht mehr so sicher. Guck dir mal Ruby und "Ruby on Rails" an, das nenn ich sowohl innovativ als auch produktiv.

Ein guter programmierer lernt eine neue sprache eh in kürzester zeit, von daher ists egal womit man anfängt, solange es objektorientier ist

Hört sich ja an, als wüsstest du wovon du sprichst.

Apropos Plattformunabhängigkeit: Für C++ gibts auch genügend Grafiklibs, mit denen man auf plattformunabhängig programmieren kann.

Link zu diesem Kommentar
Auf anderen Seiten teilen

ist das dein Empfinden, oder kannst du das auch belegen?

Mein Empfinden. Ich stütze mich da hauptsächlich auf die Menge der Stellenangebote in jobbörsen etc. hab aber keine konkreten studien darüber gelesen. Ist also eine eher Subjektive Meinung.

Aber obwohl in vielen Projekten/Jobangeboten C++ nicht direkt angewendet wird, wird es dennoch meist im "gern gesehen" Bereich erwähnt und bringt auf jedenfall vorteile bei einer Bewerbung.

...Produktivität..

Da stütze ich mich auf einen Bericht aus der ix von vor 2 oder 3 Monaten

@Ruby on Rails

jap, arbeite mich gerade ein und bin begeistert :D

Wer in der Webentwicklung arbeitet und eindruck schinden will sollte RoR unbedingt mal seinem chef vorführen ;)

Der Trend wurde (achtung wieder subjektive meinung ;)) von vielen Web-Agenturen noch nicht erkannt und ich hab noch keine jobangebote dafür gefunden. Hier sehe ich eine besonders gute chance für selbstständige, die mit RoR einen echten Wettbewerbsvorteil haben können.

Link zu diesem Kommentar
Auf anderen Seiten teilen

solange es objektorientier ist
Das ist genauso ein Trugschluss. Objektorientierte Programmierung hat in vielen Bereichen nicht zu unterschätzende Vorteile, aber jetzt alles objektorientiert zu machen, nur der Objektorientierung wegen ist auch Blödsinn. Es gibt genügend Beispiele für Anwendungsfälle, wo Objektorientierung einfach nur fehl am Platze ist und ein anderer Ansatz (ein funktionaler z.B.) viel besser auf das jeweilige Problem passt. Ohne den genauen Einsatzbereich zu kennen kann man nicht sagen, dass Sprach(famili)e X besser ist als Sprach(famili)e Y.

Doch der hype ist nunmal lange vorbei
Bitte was für ein Hype? Das was man nach aussen hin über Artikel, Präsentation oder ähnliches mitbekommt muss nicht zwangsläufig mit dem übereinstimmen, was tatsächlich auch am Markt angewendet wird. Generell kenne ich im Programmierbereich nicht wirklich etwas, das ich als Hype bezeichnen würde. Weder was die Benutzung einer konkreten Sprache, noch von bestimmten Features angeht. Präferenzen gibt es immer, bestimmte Firmen versuchen bestimmte (teilweise auch durchaus gute) Produkte aggressiv zu vermarkten und damit die Entwicklergemeinde in eine bestimmte Richtung zu schieben, aber das, was man landläufig unter einem Hype versteht ist mir noch nicht untergekommen.

da die "Entscheider" sich gerne damit brüsten auf dem neusten stand der Technik zu sein.
Das ist in bestimmten Bereichen der Fall, allerdings erkennen hier auch immer mehr Entscheider langsam, dass es nicht darum geht dem Kunden zu vermitteln welch tolle Produkte man einsetzt sondern ihn (den Kunden) in den allermeisten Fällen nur interessiert, was am Ende für ein Produkt und dadurch Mehrwert für ihn dabei herauskommt.

Um mal provokant zu sprechen: Als Kunde wäre es mit komplett egal, ob die Anwendung nun in C++, Java, COBOL oder FORTRAN geschrieben ist, solange ich meine Geschäftsprozesse dadurch komfortabel, schnell und preiswert abgebildet bekomme. Inzwischen hat sich das in vielen Köpfen festgesetzt, was so manch einer eBusiness Agentur, deren Werbung jahrelang darin bestand in die Welt zu posaunen "Wir implementierung unser Produkt in ${Sprache}, weil sie supertoll ist" und deren Qualität eher mittelmäßig war ernste Probleme beschert - weil der Kunde plötzlich Qualität sehen möchte.

und sprachen wie java oder C# wesendlich produktiver sind.
Ein Großteil des Produktivitätsvorsprungs von Java gegenüber anderen Programmiersprachen kommt nicht von der Sprache an sich sondern viel mehr durch die komplexe und sehr gut durchdachte Klassenbibliothek.
Link zu diesem Kommentar
Auf anderen Seiten teilen

Dann wundert es mich eigentlich, dass Du COBOL nicht einmal erwähnenswert findest.

Finde ich auch nicht, da ich nicht glaube, dass man einen berufsanfänger gleich auf Großrechner loslassen würde, wenn er noch keine erfahrung damit hat. (bevors wieder anmerkungen gibt: ja ich weiß, dass großrechner nicht die einzige anwendungsmöglichkeit für COBOL ist :P)

Das gilt zwar in einem gewissen rahmen auch für alles andere, aber ich glaube (ACHTUNG: wieder nur ne meinung :hells: ) dass man in anderen bereichen bessere chancen als berufsanfänger hat.

Programmiersprachen im Wandel der Mode - oder wie? :D

Ich bin der Meinung, dass es durchaus paralellen und "trends" in der IT gibt.

btw. ist mir klar, dass "mode", "trend", und "hype" nicht die korekten ausdrücke dafür sind, allerdings in einer gewissen abstraktion durchaus zutreffen. Ich könnte meine texte auch etwas "wissenschaftlicher" verfassen, doch ich finde es so verständlicher, sorry :P

Link zu diesem Kommentar
Auf anderen Seiten teilen

Finde ich auch nicht, da ich nicht glaube, dass man einen berufsanfänger gleich auf Großrechner loslassen würde, wenn er noch keine erfahrung damit hat.

Es geht doch um das Entwickeln von Anwendungen (daher die Berufsbezeichnung) - und nicht um den Rechner dahinter. Falls Du bei einer Bank oder Versicherung anfangen solltest (da arbeiten üblicherweise Hunderte von Programmierern), dann ist COBOL ein Standard.

Wieso sollte C(xx), Java oder dergl. für Berufsafänger passender sein? Merkwürdige Logik ...

gruss timmi (verständnislos)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Finde ich auch nicht, da ich nicht glaube, dass man einen berufsanfänger gleich auf Großrechner loslassen würde, wenn er noch keine erfahrung damit hat.
Ein ehemaliger Berufsschulkollege von mir hat seine Ausbildung in einer Bank gemacht und ist dort bereits während der Ausbildung, also als blutiger Anfänger, bereits an eine COBOL/Großrechner Kombination gesetzt worden. Nicht ohne dazugehörige Schulung und Einweisung, aber dennoch war das für ein kein wirklich anderer Einstieg, als jemand der an ein bestehendes eCommerce System in PHP, Java, oder was auch immer gesetzt wird.
Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo alle zusammen !

Ich denke, es geht nicht so sehr darum welche Programmiersprache man lernt, sondern daß man die grundlegenden Prinzipien verstanden hat.

Habe selber eine Umschulung zum FiAe gemacht, und VB,C,C++ gelernt.

Im Praktikum wars dann Delphi.

Delphi ist mir bis heute am liebsten. :)

Wenn ich mal was in einer anderen Sprache mache ,muß ich mir die Syntax immer wieder neu antrainieren.

Grüße

Dieter

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

bei Programmiersprachen ist es wie bei einer Religion. Alle sind sie irgendwie richtig und doch wieder nicht. :D Und keine Programmiersprache ist besser oder schlechter.

Für den Anfang sollte man sich mit den Paradigmen vertraut machen und da bietet sich C++ an, da es das prozedurale und das objektorientierte Paradigma in sich vereinigt.

Ich persönlich finde für Windowsumgebung VB ganz nett. Für den Webbereich bevorzuge ich php. Man kommt einfach relativ schnell zu einem Ergebnis. Allerdings muss man sauber arbeiten (was ich von einem guten Programmierer eh erwarte).

Cheers

Lothy

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo, bei Programmiersprachen ist es wie bei einer Religion. Alle sind sie irgendwie richtig und doch wieder nicht. :D Und keine Programmiersprache ist besser oder schlechter.

Genau so sehe ich das auch, es kommt immer nur darauf an was man machen will.

Gut wäre von c auf c++ umzusteigen. Ich muss aber BadFisch recht geben das Java und dotNet immer mächtiger werden. Aber eine Sprache wird nie richtig out sein, denn es ist, wie gesagt, immer wichtig vorher zu wissen wo man hin will. War doch z.B. noch vor 5 Jahren asm ein Horror für den durchschitts Programmierer lasst sich heute mit InlineRoutinen vieles mehr machen als mit funktionaler WinAPI programmierung. Auch finde ich das (m)asm32 in den nächsten Jahren das neue 1x1 der Semiprofessionellen programmierung wird.

Also wie gesagt der beste weg ist meiner Meinung nach :

Basic/Pascal -> Delphi/VB -> c -> c++ und Java -> dotNet -> asm <-> asm32

MfG

Daverz

Link zu diesem Kommentar
Auf anderen Seiten teilen

C/C++ wird auch in Zukunft relevant bleiben, da die gängigen Betriebssysteme in C geschrieben sind.

Ich habe da mal eine Lernfrage:

Kannst Du mir, bitte, mal erklären, welches Junctim es gibt zwischen der Sprache, in der ein BS geschrieben wurde und der Programmiersprache, die man auf diesem System benutzt?

gruss timmi

Link zu diesem Kommentar
Auf anderen Seiten teilen

Kannst Du mir, bitte, mal erklären, welches Junctim es gibt zwischen der Sprache, in der ein BS geschrieben wurde und der Programmiersprache, die man auf diesem System benutzt?

Dafür gibt es eine Reihe praktischer Gründe:

Verfügbarkeit der Sprache und Kompatibilität mit den Systemschnittstellen, Verbesserung vom Betriebssystem selbst, Implementierung von systemnahen Erweiterungen über eine systemnah angelegte Schnittstelle (Treiber-Ebene), bis hin zur Nutzung der "normalen" API-Schnittstellen des Betriebssystems (User-Ebene).

Meist werden Schittstellen einfach in der Sprache einfach verfügbar gemacht (z.B. durch Bereitstellen von Include-Files), in der die zugehörigen Funktionen geschrieben wurden. Die gleiche Sprache wie die API/das OS zu nutzen ist auch meist performanter, da keine Umwandlungen von Typen usw. durchgeführt werden müssen. Auch müsste man sehen wie man damit umgeht, wenn einzelne Sprachen für bestimmte Konstrukte kein 1:1 Äquivalent haben. Für die Entwicklung von Gerätetreibern gibt es (aus Kompatibilitätsgründen) teils eigene Compiler, dem den Entwicklungskits beigelegt sind. Manche OS kompilieren Treiber auch direkt in ihren Kernel hinein (z.B. Linux), hier wäre mindestens eine Linker-Ebenen-Kompatibilität erforderlich, eine einheitliche Programmiersprache ist jedoch übersichtlicher.

Natürlich ist es grundsätzlich möglich, eine für C vorgesehene API auch von anderen Sprachen aus zu nutzen, allerdings muss die Sprache u.a. die geforderten Aufrufkonventionen beherrschen und es ist i.d.R. Handarbeit nötig, wenn nur C-Header vom API verfügbar sind. (Dies kann teils sehr viel Handarbeit ausmachen.)

Umgebungen wie Java und .NET sind noch eine Ebene höher angesiedelt (im Grunde werden die Runtimes auf der gleichen Ebene wie andere Programme ausgeführt). Ihre Laufzeitumgebungen und umfangreiche Klassenbibliotheken ermöglichen einem Programm eine Unabhängigkeit von einer OS-API, letztlich greifen sie intern jedoch wieder darauf zurück. Möchte man Funktionen des OS nutzen, die nicht über die Klassenbibliothek bereitgestellt werden, müsste man wieder auf die OS-Schnittstelle direkt zugreifen. Gerätetreiber kann man in diesen Sprachen heute nicht entwickeln.

Wer aus gängigen in C geschriebenen Betriebssystemen alles herausholen will, kommt derzeit nicht um C herum. Ich glaube nicht, das sich dies rasch ändern wird.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Verfügbarkeit der Sprache und Kompatibilität mit den Systemschnittstellen, Verbesserung vom Betriebssystem selbst, Implementierung von systemnahen Erweiterungen über eine systemnah angelegte Schnittstelle (...), bis hin zur Nutzung der "normalen" API-Schnittstellen des Betriebssystems (...).

Aha. Also sind das MVS und seine Derivate wahrscheinlich in COBOL geschrieben.

gruss timmi (erstaunt)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...