Neue Sprache Lernen?

Dazu kann ich leider nichts sagen...:)
Achja, beim Beispiel IBM, sollte man sich nur mal Notes anschauen. Notes basiert auf Eclipse(Java), es nutzt die Notes JavaAPI...diese ist aber auch nur ein Wrapper zur Notes CAPI (welches die beste gewartete der Note APIs[gibt noch eine C++ und .NET API] ist und auch am stabilsten) :D
Wie gesagt schlechtes Beispiel :lol:
 
pmkrefeld schrieb:
Noch keiner hat Scala erwähnt ist unter programmierern der letzte Hit sozusagen :)

@edit:
man sollte aber vllt vorerst fragen wozu das ganze gut sein soll, dabei finde ich Kommentare á la A ist schrott B ist besser recht amüsant.
Scala kann ich auch nur empfehlen.
 
nik_ schrieb:
@daaron aus den erfahrungen aus meinem inf studium und der meiner mitstudenten. java und c# sind die OO-Sprachen. Manche firmen programmieren fast nur noch in java (bsp: IBM)
Und? C++ ist ebenfalls objektorientiert, genau wie Objective-C. Nur das pure C selbst ist zu alt, um Objektorientierung zu enthalten. Da C aber auch quasi der Urvater aller modernen Sprachen ist, kann man ihm das nachsehen.

Tja.. und dein IBM-Beispiel... dagegen hab ich einen passenden Konter: Apple entwickeln weitestgehend in Objective-C. OSX, iOS,... alles Objective-C.

Wenn sich Studenten über C so auslassen, dann haben sie C einfach nicht verstanden. Ja, es IST schwerer. Man muss sich plötzlich mit starker Typisierung und vor allem Speichermanagement auseinander setzen. Deshalb ist es aber noch lange nicht Schrott (und schon gar nicht an Java angelehnt, C ist weit älter als Java). Man muss halt verstehen, wie malloc() arbeitet und was es mit Pointern auf sich hat. Wenn man das begriffen hat, kann man verdammt geile Konstrukte schreiben, die in anderen Sprachen schlichtweg unmöglich sind.
An die Performance eines nicht all zu vermurksten C/C++ - Programms kommt Java nicht einmal im Traum heran. Schneller als C ist nur noch handoptimierter Assembler-Code.

Ruheliebhaber schrieb:
@Daaron: Die C/C++ Basis ist traditionell vielleicht riesig, meiner Erfahrung nach aber im Bereich Anwendungsentwicklung immer weniger gefragt. Ich rede jetzt nicht von alten sondern von neuen Projekten. Große Projekte werden im Team entwickelt und da Software immens teuer ist, werden Dinge wie Wartbarkeit des Codes immer wichtiger. Das ist bei C++ nicht ganz so komfortabel wie in Java oder C#.
Was ist denn an C/C++ nicht wartbar? Was ist daran nicht teamfähig? Einige Millionen Entwickler im Open Source - Umfeld hauen dir deine Aussage links und rechts um die Ohren.
Mit guten Header-Informationen sind verteilte Projekte selbst ohne die Fähigkeit zur Objektorientierung in C extrem leicht lösbar. Gib jedem Mitarbeiter die Outline der Funktionen, um die sie sich kümmern müssen. Wie sie die Outline dann erfüllen ist ihr Problem.

Du vergisst mal eben folgendes:
Mit C# bist du, für vollen Funktionsumfang, an Microsoft gebunden. Java benötigt seine Runtime Environment. C läuft auf allem, für das ein C-Compiler existiert.... und auch der erste Java-Compiler wurde ganz sicher nicht in Java geschrieben.
 
antred schrieb:
Eh!!! Das nimmst du sofort zurück!!! :p
Ergänzung ()

Äh .... watt??

Ja, schon richtig verstanden. Als ich in der Schule Informatik hatte haben wir auch mit Java die Basics wie den Integer, Double, Variablen, Verzweigungen und und und gelernt, dann kam es langsam zu C. Eine Programmiersprache baut auf der anderen darauf. Wie z.B. die Assemblersprache früher die dann weiter entwickelt wurde um den Benutzer die Befehle zu vereinfachen und nicht mit 0101010101010101001101 zu programmieren :)
 
vir0 schrieb:
Ja, schon richtig verstanden. Als ich in der Schule Informatik hatte haben wir auch mit Java die Basics wie den Integer, Double, Variablen, Verzweigungen und und und gelernt, dann kam es langsam zu C. Eine Programmiersprache baut auf der anderen darauf. Wie z.B. die Assemblersprache früher die dann weiter entwickelt wurde um den Benutzer die Befehle zu vereinfachen und nicht mit 0101010101010101001101 zu programmieren :)

Also mit der Definition von "aufeinander aufbauen", die dich zu dem Schluß verleitet hat, dass C auf Java aufbaut, könnte ich auch getrost behaupten, dass Hochseefischerei auf Kaffeekochen aufbaut, weil die haben ja beide was mit Wasser zu tun.
 
antred schrieb:
Also mit der Definition von "aufeinander aufbauen", die dich zu dem Schluß verleitet hat, dass C auf Java aufbaut, könnte ich auch getrost behaupten, dass Hochseefischerei auf Kaffeekochen aufbaut, weil die haben ja beide was mit Wasser zu tun.

Mag sein das es nicht stimmt aber so wurde es uns erklärt :D Ich weiß ja nicht ob ich unseren Prof oder einem unbekannten Jungen Mann aus dem Internet glauben soll aber ohne einen Grund haben wir bestimmt nicht mit Java angefangen sondern konnten auch direkt mit C anfangen. Doch aus wessen Grund auch immer wollte er mir uns erst Java anfangen dann zu C verleiten. Kann ja sein das du richtig liegst das da nicht viel aufeinander aufbaut aber seien wir mal ehrlich. Wenn du die Basics von Java drauf hast, fällt es dir doch leichter mit C anzufangen oder?
 
vir0 schrieb:
Doch aus wessen Grund auch immer wollte er mir uns erst Java anfangen dann zu C verleiten. Kann ja sein das du richtig liegst das da nicht viel aufeinander aufbaut aber seien wir mal ehrlich. Wenn du die Basics von Java drauf hast, fällt es dir doch leichter mit C anzufangen oder?

Ja, dem könnte man schon eher zustimmen ... wobei ich keine Aussage dazu machen möchte, ob man nun zuerst Java und dann C lernen sollte oder anders herum. Die einen schwören auf diesen Ansatz; andere bevorzugen wiederum die andere Richtung. Aber allgemein kann man sagen, wer eine Programmiersprache gelernt hat, der wird sich mit den erworbenen Fähigkeiten in der Regel leichter tun, weitere Sprachen zu erlernen.
 
antred schrieb:
Ja, dem könnte man schon eher zustimmen ... wobei ich keine Aussage dazu machen möchte, ob man nun zuerst Java und dann C lernen sollte oder anders herum. Die einen schwören auf diesen Ansatz; andere bevorzugen wiederum die andere Richtung. Aber allgemein kann man sagen, wer eine Programmiersprache gelernt hat, der wird sich mit den erworbenen Fähigkeiten in der Regel leichter tun, weitere Sprachen zu erlernen.
Ich denke dabei können wir uns einigen!
 
Hättest du die letzten 10 Beiträge gelesen könntest du auch darauf aufbauen, denn:
Die gleiche Behauptung, dass C-Basics auf Java aufbaut wurde nur wenige Beiträge zuvor aufgestellt und ebenso als falsch beschrieben ^^

Ich hoffe das war eine Ausnahme, denn sonst würd ich mir erstmal andere Sorgen machen als die Frage ob man jetzt besser C++ oder Java lernen sollte ;)
 
vir0 schrieb:
Ich weiß ja nicht ob ich unseren Prof oder einem unbekannten Jungen Mann aus dem Internet glauben soll
Glaub einem Geschichtsbuch. C ist älter als Java. Damit ist geklärt, was worauf aufbaut.

aber ohne einen Grund haben wir bestimmt nicht mit Java angefangen sondern konnten auch direkt mit C anfangen.
Java ist einen ganzen Zacken einfacher, weil es keinerlei Speicherplatz-Konzepte vermittelt. Du hast einen Garbage Collector, der sich um allen Scheiß kümmert. Auch Pointer gibt es nicht in der Form.

Wenn du die Basics von Java drauf hast, fällt es dir doch leichter mit C anzufangen oder?
Du musst auch erst einmal deine Muttersprache lernen, bevor du eine Fremdsprache lernen kannst...
Die Unterschiede zwischen C und Java sind aber gewaltig.
- Speicherverwaltung & Garbage Collector sind bei Java trivial
- Java ist objektorientiert, C hingegen nicht

Da kannst du sogar eher Java und PHP in einen Topf werfen...
 
Also Delphi ist natürlich schon eine eigenartige Sprache... nun gut, im Prinzip ist es ja alles der gleich Käse.

Du kannst es natürlich davon abhängig machen, welche IDE du verwenden willst. Eclipse und Java ist natürlich schon ein recht tolles Duo, mit dem man völlig gratis toll entwickeln kann.

Mein Rat: Einfach so "programmieren lernen" ohne konkretes Projekt, das versandet doch nur. Überleg dir etwas, was du wirklich machen willst, und dann mach es. Zum Beispiel ein kleines Buchhaltungsprogramm oder ein kleines Spiel, vlt. Snake oder so. Hast du ja schon gemacht. Es geht nämlich auch darum, dass man einen Einblick in die Standard-Lib der jeweiligen Sprache bekommt, bei Java wäre das die Java Class Library und für das GUI zB AWT oder Swing, für C++ STL und für GUIs könnte man sich Qt anschauen, etc.

Wenn das dann läuft, kannst du es nochmal refactoren für Threading und Unit Tests, dann bist du am Ende schon recht weit. Dann kannst du es noch als Webservice deployen, damit wir es hier auch spielen können und du bis ein Experte :D
 
Zuletzt bearbeitet:
Ich hatte mir überlegt, als erstes dann einige projekte, die ich schon in delphi geschrieben habe nochmal ähnlich in der für mich neuen sprache umzusetzten.
So wie ich das verstehe wäre es aber nicht wirklich schlau, da ich dabei immer an dephi denken würde und so die Eigenheiten der "neuen" sprache nicht richtig verstehen würde?! Ist das richtig?

Desweiteren finde ich hardwarenahe programmierung doch recht interessant, sprich microcontroller etc. interessieren mich schon. Dafür wäre es dann gut, wenn ich eine der C-Sprachen nehmen würde, oder?
 
Mikrocontroller werden zum großen Teil noch immer in C entwickelt, ein wenig auch C++, aber das wars dann. Es mag Exoten geben, wie den Netduino mit C#, aber die haben praktisch keine Relevanz.
 
Frieso schrieb:
So wie ich das verstehe wäre es aber nicht wirklich schlau, da ich dabei immer an dephi denken würde und so die Eigenheiten der "neuen" sprache nicht richtig verstehen würde?! Ist das richtig?
"Programmieren" sind eigentlich 2 Münzen einer Medaille:
Algorithmierung und stures Aufschreiben von Codezeilen.

Wenn du deine Algorithmierung sauber hast, z.B. als Programmablaufplan, kannst du tatsächlich weite Teile deines Delphi-Codes ohne Anstrengung in andere Sprachen übertragen. Der eine schreibt Objekt->Funktion(), der nächste vielleicht Objekt.Funktion(), aber das sind eben nur die Kleinigkeiten.

Die echten Eigenheiten der Sprachen kriegst du so oder so irgendwann mit. Fang einfach an.
Ich hab nacheinander Turbopascal, Delphi, Java, C, C++ und PHP gelernt (und die Hälfte davon wieder vergessen). Wirklich revolutionär neue Konzepte hatte ich dabei nie. Die kamen erst bei Sprachen wie ProLog (oder SQL). Das ist dann echtes Querdenken.
 
Wie wäre es mit der esoterischen Programmiersprache "Brainfuck"? ^^ :P Nee jetzt mal Spaß bei Seite, ich bin zwar nach am Anfang vom programmieren aber ich würde dennoch jetzt schon C/C++ und C# empfehlen.

Relativ einfach zu lesen und zu lernen.
 
Ich persönlich würde C# empfehlen.
Es ist eine OO Sprache, du kannst sie sowohl bei web als auch desktop Anwendungen einsetzen und ich persönlich finde Visual Studio um einiges leichter zu bedienen als Eclipse :freak::freak:
Dafür ist es leichter zu lernen als c/c++ und du hast um einiges schneller fortschritte

Außerdem kannst du ebenfalls wie in c++ mit pointern arbeiten solltest du sowas mal vorhaben :evillol:

PS: Nik_... wieder das perfekte Beispiel das man selbst nach dem Studium noch ****** von sich geben kann... und Vir0 bitte ebenfalls in die Ecke mit dir... :freak::freak::freak:
 
Zuletzt bearbeitet von einem Moderator:
Zurück
Oben