WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   Programmieranfänger (http://www.wcm.at/forum/showthread.php?t=43114)

Doktor 16.01.2002 02:19

Programmieranfänger
 
Hallo Leute!

Da ich mich schon seit längerem interessiere, eigene Programme zu entwickeln, möchte ich nun eine Prog. Sprache lernen.

Ich weiß... C++ ist wahrscheinlich der Hammer für einen Neueinsteiger!

Ich hätte davor noch eine Frage, da mich einige Homepages auf denen ich war, mich einigermaßen zum Thema C++ verwirrt haben.

Also bitte korrigiert mich wenn ich mit der folgenden Aussage falsch liege...
Der Compiler bei C++ ist ausschlaggebend, unter welchem OS mein Prog. läuft, oder? Die Sprache ist immer die selbe. Ich brauch also nicht darauf Rücksicht nehmen, ob das Prog. zukünftig unter Linux oder WIN laufen wird. (Für mich zwar nicht ganz logisch, aber so habe ich es teilweise gelesen).
Nun, gibt es auch verschiedene Anbieter von C++. Also Borland, MS, etc.?

Könntet Ihr mich ein wenig aufklären, bevor ich damit anfange??

Danke!

Gruß

Dr.

Nightstalker 16.01.2002 02:28

Nun was den Compiler betrifft stimmt das zum teil
allerdings (ich kanns nicht segen) glaub ich nicht
daß es möglich ist ein Win32 programm in Linux
zu konvertieren, überleg mal sonst könntest du alles
decompilen und für linux recompilen und es gäbe keine
Compatibilitätsprobleme mehr *freu*!?

Was die "verschiedenen" C++ Versionen betrifft ist es
so daß der Hauptsächliche Unterschied dabei im Compiler
liegt (Funktionen etc.) Die gängigste und wahrscheinlich
mittlerweile am besten unterstützte version ist wahrscheinlich
MS C++ die anfänge hat allerdings Borland gemacht, sagen wir
so durch borland wurde C++ zur Weltsprache :)

Nun soweit meine Erkenntnisse...
MfG Nighty

Flink 16.01.2002 14:36

Re: Programmieranfänger
 
Zitat:

Original geschrieben von Doktor
Ich brauch also nicht darauf Rücksicht nehmen, ob das Prog. zukünftig unter Linux oder WIN laufen wird.
Genau um das zu ermöglichen, wurde von SUN die Programmiersprache JAVA entwickelt. Ich kann für Programmieranfänger nur empfehlen, besser mit Java als C++ zu beginnen. Java ist wesentlich einfacher zu lernen und programmieren als C++ und noch dazu vom Betriebssystem weitgehend unabhängig, solange SUN eine Java Virtual Machine (JVM) dazuliefert. JVM ist notwendig, um Java-Programme auf einem Rechner ablaufen zu lassen.
Bei C++ hast du sogar unter Windows das Problem, daß du Klassen-Bibliotheken benötigst, die aber bei jedem Compiler-Anbieter wieder anders sind. Du mußt sogar für Windows die Programme umschreiben, wenn du einen anderen C++-Compiler verwenden willst.:heul:
Ausgenommen natürlich, wenn der Compiler Windows-SDK oder MFC ganz unterstützt oder du Geld in eine externe Klassenbibliothek investierst. Aber für LINUX wäre ein Umschreiben unumgänglich ausgenommen, der Fremdanbieter der Klassenbibliothek liefert sie auch für LINUX aus und es gibt keine Kompatibilitätsprobleme.
Java ist billiger, nämlich gratis !

kikakater 16.01.2002 14:51

Egal welche Sprache Dein Begehr in diesem Thread sein möge (könnte ja sein, daß Du plötzlich sagst, COBOL ist jetzt das Thema Deiner Überlegungen):

Also, .., unabhängig von der verwendeten Computersprache gilt folgendes:

Entscheidend für die Überführung von Programmcode von einem Betriebssystem zu einem anderen sind die Schnittstellenfunktionen, gewissermaßen Deine eigenen "Intrinsics", vielleicht halt teuer zugekauft (C-ISAM, Oracle DB, SAP ...), je nach der (geistigen) Kapazität Deiner eigenen Softwarefirma.

Der Bildschirm (das Datei / DB-System, die Peripherie) muß unter den verschiedenen Betriebssystemen unterschiedlich angesprochen werden, deswegen sollte eine 'black box' - Schnittstellenfunktion den eigenen Code portabel - also allgemeingültig - lauffähig machen. Den kleinsten gemeinsamen Nenner erschafft man sich durch die prinzipielle Verwendung von Schnittstellenfunktionen, wie sie in Bibliotheken (APIs) vorhanden sind. Viele APIs sind betriebssystemspezifisch, nur die wenigsten beinhalten wirklich portable Schnittstellenfunktionen, im Sinn von:

TextAusgabe(Fensterhandle,String,Zeichenanzahl)
DateiÖffnen(ZugriffspfadplusDateiname,Zugriffsrech te)

usw.

Pro Betriebssystem und auch pro Zielmaschinentyp (Beispiel Linux unter IBM AS400 bzw. Linux unter x86-Architektur) muß es einen Konkretniederschlag dieser idealen Schnittstellen-API geben, wo die allgemeine Funktion TextAusgabe( ... ) intern MS Windows oder Linux spezifisch umgesetzt implementiert ist.

Diese Schnittstellenfunktionen zu schreiben dauert jahrelang, deswegen werden kommerzielle Libs auch teuer verkauft von den jeweiligen Entwicklerfirmen.

Alles klar ?

Also: C++ portabel ? Nein ! Java ? Schon eher, aber auch - ein klares Nein-Jein !

Deswegen, schön brav Schnittstellenfunktionbau erlernen, und auch andere Dinge wie Datenwortbehandlung auf Assemblerebene nicht außer acht lassen. Stichwort: Little Endian gegenüber Big Endian. Ebenso wie Standard-Datenwortbreite. Sonst sind Programme nicht übertragbar von einem System auf das andere.

Der Compiler selbst muß sowieso ANSI konform sein, sonst sollte man ihn/bzw. seine Erweiterungsmöglichkeiten tunlichst nicht benutzen im Hinblick auf die erwünschte Portabilität.

der Code muß Schnittstellenfunktionen aufrufen und
der Code muß auch - ausschließlich und nur - ANSI konforme Befehle und Vorgehensweisen verwenden

Das portable Programmieren besteht aus:

* Schnittstellenfunktionen schaffen
* Anwendungen, die darauf aufbauen, schreiben
* Reuse-Dividende lukrieren ("das Rad nicht neu erfinden", die Funktion TextAusgabe wurde auf allen Zielcomputersystemen implementiert und ist insofern wiederverwendbar und deshalb eine enorme Erleichterung aufgrund der Zeitersparnis, das ganze nicht im Applikationscode sondern in der API-Schnittstellenfunktion individuell an das Betriebssystem/die Hardware/den Compiler verwirklicht zu haben) und derart als Firma zu gedeihen

mfg

Kikakater

Doktor 16.01.2002 16:42

Danke für Eure Auskünfte!!!

Ich werd mich mal mit JAVA auseinandersetzen aber auch ein wenig mit C++. Ich möchts sowieso eher "sachte" angehen.

Aber eine Frage hätt ich noch...
Ich habe das Visual Studio 6.0.
Für die Kontexthilfe brauche ich aber die MSDN Libary CD.
Wo bekommt man die eigentlich her? Bzw. kostet das etwas? Vielleicht eine blöde Frage, aber ich habe gehört, dass es nicht unbedingt die MSDN Lib. CD sein muss, sondern es gibt auch noch andere Möglichkeiten, (im Internet solls da was zum downloaden geben).

Gruß

Dr.

citizen428 17.01.2002 13:26

Re: Re: Programmieranfänger
 
Zitat:

Original geschrieben von Flink

Ich kann für Programmieranfänger nur empfehlen, besser mit Java als C++ zu beginnen.

man holy-war

Prinzipiell würde ich einem Programmieranfänger ja generell nicht dazu raten mit einer OO Sprache zu beginnen, aber das ist wohl Geschmackssache.

Flink 17.01.2002 18:38

ist ja ein Widerspruch in sich
 
Zitat:

Original geschrieben von Doktor
Ich möchts sowieso eher "sachte" angehen.
Ich habe das Visual Studio 6.0.

:o
Wenn du das "sachte" angehen willst, dürftest du wohl die falsche Entwicklungsumgebung gekauft haben. Das Visual Studio kommt schnell "zur Sache"!

RaistlinMajere 19.01.2002 11:53

Re: Re: Re: Programmieranfänger
 
Zitat:

Original geschrieben von citizen428
prinzipiell würde ich einem Programmieranfänger ja generell nicht dazu raten mit einer OO Sprache zu beginnen, aber das ist wohl Geschmackssache.
ich stimme zu, ich hab aufbauend auf den minimalen c-grundkenntnissen (bei der OOP bin ich dann ausgestiegen, habs auch nicht weiterverfolgt, weils mich nicht interessiert hat) aus der schule (html, aber das ist nicht erwähnenswert, ist ja keine programmiersprache) javascript und php gelernt, danach war der einstieg in java und die OOP zwar bissl ungewohnt und es hat eine weile gedauert, bis ichs so halb gecheckt hab, aber jetzt gehts.

für jemanden, der sich nicht schon am anfang mit OOP rumschlagen will, rate ich, mal mit webprogrammierung (html & javascript, php am besten) zu beginnen, dort hat man schnell ein paar ergebnisse (schön bunt und in farbe :lol: )und lernt aber gleich das programmtechnische denken abseits der OOP kennen. ist zwar dann ein gehöriger umdenkvorgang, wenn man mit der OOP beginnt, aber man muß sowieso immer auf das vorherige wissen zurückgreifen.

Flink 19.01.2002 12:23

OO-Programmierung
 
Zitat:

Original geschrieben von RaistlinMajere
für jemanden, der sich nicht schon am anfang mit OOP rumschlagen will, rate ich, mal mit webprogrammierung (html & javascript, php am besten) zu beginnen, dort hat man schnell ein paar ergebnisse (schön bunt und in farbe :lol: )und lernt aber gleich das programmtechnische denken abseits der OOP kennen. ist zwar dann ein gehöriger umdenkvorgang, wenn man mit der OOP beginnt, aber man muß sowieso immer auf das vorherige wissen zurückgreifen.
Wer am schnellsten zu Ergebnissen kommen möchte, der möge doch ein visuelles Tool wie IBMs Visual Age z.B. für Java einsetzen. Auch hier gibt es Versionen, die nur in der Klassenanzahl beschränkt sind, zum Herunterladen .
OO ist meiner Ansicht nach einfacher, da sich die Problembeschreibung einfacher in den Programm-Code abbilden läßt als in der herkömmlichen Programmierung.

RaistlinMajere 19.01.2002 12:37

visual age
 
habs mir mal angesesehen und bin dann reumütig zu forte zurückgegangen, weil mir visual age einfach von der bedienung her zu komplex vorkam. kann zwar sicher einiges, aber ich bin mit forte zufrieden.


Alle Zeitangaben in WEZ +2. Es ist jetzt 19:27 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag