Apfelmännchen - womit programmieren?

Liebe Leute,
ich (41 Jahre alt) wünsche euch erst einmal ein frohes neues Jahr.
Seit Jahren habe ich den Wunsch, selber Apfelmännchen (Mandelbrotmenge) zu programmieren. Ich habe es schon einmal in Basic probiert, aber kläglich versagt. Nun habe ich nicht einmal einen Basic-Editor.
Ich habe Windows-XP und einen leistungsfähigen Computer. Vom Programmieren habe ich keine Ahnung (noch nicht). Im Internet konnte ich folgende Frage für mich nicht beantworten:
Welche Computersprache wäre für mich die richtige, um Apfelmännchen (und ähnliche Anwendungen)zu programmieren?
Wenn ihr mir antwortet werde ich euch garantieren, dass ich die empfohlene Computersprache erlernen werde bis zu einem fertigen Apfelmännchenprogramm. Weitere Fernziele sind grafische Anwendungen aus der Chaostheorie (man darf ja mal träumen).
Im Voraus vielen Dank für eure Hilfe!

Stefan

Hallo,

ich (41 Jahre alt) wünsche euch erst einmal ein frohes neues
Jahr.

Ein frohes neues Jahr wünsche ich Dir auch. Warum erzählst Du Dein Alter? Das ist doch kein Kriterium beim Programmieren, ich bin 54. :smile:

Seit Jahren habe ich den Wunsch, selber Apfelmännchen
(Mandelbrotmenge) zu programmieren. Ich habe es schon einmal
in Basic probiert, aber kläglich versagt. Nun habe ich nicht
einmal einen Basic-Editor.

VB 2005 Express kannst Du bei Microsoft laden.
http://www.microsoft.com/germany/msdn/vstudio/produc…

Ich habe Windows-XP und einen leistungsfähigen Computer. Vom
Programmieren habe ich keine Ahnung (noch nicht). Im Internet
konnte ich folgende Frage für mich nicht beantworten:
Welche Computersprache wäre für mich die richtige, um
Apfelmännchen (und ähnliche Anwendungen)zu programmieren?

Kein Wunder, das geht mit jeder, wenn man mal von Exoten wie VBS absieht. Am leichtesten zu lernen wird wohl VB sein.

Wenn ihr mir antwortet werde ich euch garantieren, dass ich
die empfohlene Computersprache erlernen werde bis zu einem
fertigen Apfelmännchenprogramm. Weitere Fernziele sind
grafische Anwendungen aus der Chaostheorie (man darf ja mal
träumen).

Wenn Du nicht mehr willst, genügt VB. :smile:

Gruß, Rainer

Hallo Stefan,

ich (41 Jahre alt) wünsche euch erst einmal ein frohes neues
Jahr.

Dir auch ein frohes Neues.

Welche Computersprache wäre für mich die richtige, um
Apfelmännchen (und ähnliche Anwendungen)zu programmieren?

Das dir ja bereits empfohlene VB wäre für eine Hobby-Anwendung sicher nicht schlecht, da man es sehr einfach und schnell lernen kann. Allerdings ist der generierte Code nicht sonderlich schnell, und Apfelmännchen zu erstellen ist sehr rechenintensiv. (Ich weiß ja nicht, was du für einen Rechner benutzt: Bolide oder lahme Krücke?) Besser wäre daher eher C/C++, das z.B. in der Delphi 2005 Personal Edition enthalten ist. Außerdem vielleicht die Sprache Delphi (ehem. Pascal) selbst. Kostenfrei runterzuladen bei Borland.

Du kannst es ja auch erstmal in VB schreiben und dann anschließend in eine der anderen Sprachen übertragen. Keine Angst, wenn du eine Programmiersprache gelernt hast, ist es i.d.R. keine Schwierigkeit, eine weitere deinem Wissen hinzuzufügen.

Nochwas: Delphi liegt ein Apfelmännchen-Programm (C++) als Demo bei. Da kannst du ja evt. ein bißchen abkupfern/dazulernen.

Grüsse,

Tim

Dein Alter? Das ist doch kein Kriterium beim Programmieren,
ich bin 54. :smile:

Hallo Rainer,

frag McKinsey, die sind der Meinung, dass du damit zum Arbeiten um 20 und für eine Neuanstellung um 30 Jahre zu alt bist.

Ich bin 58 und ausserdem der Meinung, dass solche Äusserungen verantwortungslos sind - aber ich bin eben nicht McKinsey und Berater der Bundesregierung. Nebenbei bemerkt, der McKinsey-Manager, der das gesagt hat, ist selbst deutlich älter als die 35 Jahre, die er als Grenze für eine Beschäftigung angegeben hat.

Also wursteln wir uns halt weiter durch.

Gruss Reinhard

Hallo Reinhard,

Dein Alter? Das ist doch kein Kriterium beim Programmieren,
ich bin 54. :smile:

frag McKinsey, die sind der Meinung, dass du damit zum
Arbeiten um 20 und für eine Neuanstellung um 30 Jahre zu alt
bist.

hier ging’s ja nicht um einen Job, sondern um programmieren.
Aber ich bin schon froh, daß mein Chef das nicht ganz so eng sieht, jedenfalls im Moment nicht. Ich sollte mich wohl mal um eine Alternative kümmern. :smile:

Mckinsey steht aber auch im direkten Widerspruch zur Politik der Bundesregierung, die ja gerade das Renteneintrittsalter auf 67 heraufsetzt. Aber sind wir damit nicht im falschen Brett?

Gruß, Rainer

Hallo,

ich (41 Jahre alt) wünsche euch erst einmal ein frohes neues
Jahr.

Dir auch ein frohes Neues.

Ebenfalls :wink:

Welche Computersprache wäre für mich die richtige, um
Apfelmännchen (und ähnliche Anwendungen)zu programmieren?

Das dir ja bereits empfohlene VB wäre für eine Hobby-Anwendung
sicher nicht schlecht, da man es sehr einfach und schnell
lernen kann. Allerdings ist der generierte Code nicht
sonderlich schnell, und Apfelmännchen zu erstellen ist sehr
rechenintensiv.

Dazu sollte man anmerken, dass VB sicher zum berechnen des ersten Bildes mit einem modernen PC vollkommen ausreicht, wenn man weiter reinzoomt wird es aber immer rechenintensiver, dann ist man froh, wenn man auf die Geschwindigkeit von C oder C++ (oder einer anderen kompilierten Sprache) setzen kann.

Grüße,
Moritz

Hallo Stefan,

Ich habe Windows-XP und einen leistungsfähigen Computer.

das ist gut, wirst du auch brauchen.

Vom Programmieren habe ich keine Ahnung (noch nicht). Im Internet
konnte ich folgende Frage für mich nicht beantworten:
Welche Computersprache wäre für mich die richtige, um
Apfelmännchen (und ähnliche Anwendungen)zu programmieren?

Habe ich auch mal eine Zeitlang gemacht (früher zu Atari Zeiten). Meine ersten Versuche mit Basic brauchten dann so ca. 8-12 Std., bis sich ein Bild in 640*400 Punkten auf den Monitor gequält hatte. Bin hinterher auf C und Assembler umgestiegen. Ich habe sogar mal einen Wahnsinnigen kenngelernt, der ein Apfelmännchenprogramm mit PostScript erstellt hat, die Berechnung wurde dann komplett von seinem Drucker übernommen (das war aber auch eine echt kranke Idee).

Im Prinzip reicht jede Sprache, mit der mal einigermassen schnell rechnen kann (Schleifen + float-Arithmetik) und die in der Lage ist, bunte Punkte auf den Bildschirm zu zaubern. Die Auswahl dürfte da einigermaßen groß sein (auf bei OpenSource-Tools).

Wenn ihr mir antwortet werde ich euch garantieren, dass ich
die empfohlene Computersprache erlernen werde bis zu einem
fertigen Apfelmännchenprogramm.

Versprochen? Dann könnte ich dir ja Lisp, COBOL oder Brainfuck (http://de.wikipedia.org/wiki/Brainfuck) vorschlagen :smile:)). Okay jetzt mal im Ernst: VB wäre wahrscheinlich ausreichend (leider nur unter Windoof); wenn du dir aber was Gutes antun willst, solltest du vielleicht mal Java ausprobieren, dann eignest du dir Wissen an, das du vielleicht auch mal auf anderen Systemen verwenden kannst.

Viel Spass beim Lernen, und gib nicht auf.

Gruss
bernhard

Hallo,

Dazu sollte man anmerken, dass VB sicher zum berechnen des
ersten Bildes mit einem modernen PC vollkommen ausreicht, wenn
man weiter reinzoomt wird es aber immer rechenintensiver, dann
ist man froh, wenn man auf die Geschwindigkeit von C oder C++
(oder einer anderen kompilierten Sprache) setzen kann.

VB wird seit der Version 5 kompiliert. :smile: Das ist schon lange keine Interpretersprache mehr.

Gruß, Rainer

Euch allen vielen lieben Dank!!!
Hallo noch einmal,
ich möchte mich ganz herzlich für die unten stehenden Tipps bedanken. Da sieht man mal wieder, wie wertvoll „werweisswas“ ist.
Nun bin ich halt ein blutiger Anfänger und halte es für besser, mit einer leicht zu erlernenden Sprache anzufangen. Ich habe mich daher für VB Express entschieden. Ich habe mir das kostenlose Programm gedownloadet und werde jetzt die ersten zarten Schritte mit Anfängerprogrammen machen.
Ihr glaubt gar nicht, wie glücklich ich bin! Es geht mir beim Programmieren nicht nur um die fixe Idee mit dem Apfelmännchenprogramm, sondern um das Erlernen einer Programierplattform, wo ich selber kreativ werden kann… wo man bestimmt von selber auf ganz tolle Ideen kommt, was man programmieren kann. Dabei will ich die erstellten Programme nicht zur Schau stellen zur Pflege meines Egos, sondern mir selber damit kleine Alltagsgeschenke machen. Ich denke, das wird ein neues schönes Hobby von mir (sonstige Hobbys sind Boule und Onlinepoker).
Noch ein paar Worte zur Altersangabe: Die habe ich bewußt gemacht, denn ich erkenne u. a. auch beruflich, dass ich nicht mehr die Leistungsfähigkeit eines 20jährigen besitze. Allerdings ist meine Neugier auf Neues nach wie vor groß und man sagt mir eine gewisse Beharlichkeit bei der Verfolgung meiner Ziele nach. Das wird mir sicherlich helfen. Evtl. reicht es auch dafür, dass ich vielleicht nach einem Jahr VB doch noch mal umsteige auf die anspruchsvollere Sprache „C“.
Noch mal vielen Dank euch allen.

Stefan

Hallo Rainer,

VB wird seit der Version 5 kompiliert. :smile: Das ist schon lange
keine Interpretersprache mehr.

Gilt das auch für VB 2005 Express? Meine VBs ( 5 & 6, Vollversionen) sind beides, Interpreter plus optional Compiler. Der compilierte Code ist aber IMO auch nicht gerade der Heuler.

Gruß,

Tim

Hallo Bernhard,

Ich habe sogar mal einen Wahnsinnigen
kenngelernt, der ein Apfelmännchenprogramm mit PostScript
erstellt hat, die Berechnung wurde dann komplett von seinem
Drucker übernommen (das war aber auch eine echt kranke Idee).

Hey, weißt du noch, wie das Dope hieß, das der Typ eingefahren hatte? Würde ich mir auch gerne mal reinpfeifen…

Gruss,

Tim

Hallo Tim,

VB wird seit der Version 5 kompiliert. :smile: Das ist schon lange
keine Interpretersprache mehr.

Gilt das auch für VB 2005 Express?

VB 2005 Express kenne ich nicht so genau. Ich verwende VB6.0 und das wird auch noch länger so bleiben. :smile:

Meine VBs ( 5 & 6, Vollversionen) sind beides, Interpreter

??? Du meinst in der Entwicklungsumgebung? Das ist doch nur der Debugger.

plus optional
Compiler. Der compilierte Code ist aber IMO auch nicht gerade
der Heuler.

Hast Du Vergleiche? Das würde mich mal interessieren. Manche Funktionen sind sehr langsam, beim Apfelmännchen könnte man z.B. die Pixel mit PSet setzen, muß man aber nicht. :smile: Man kann ja mit GetBitmapBits das Bild in ein Array lesen, dort bearbeiten und mit SetBitmapBits wieder zurück schreiben. Das ist schnell genug.

Gruß, Rainer

Hallo bernhard,

Wenn ihr mir antwortet werde ich euch garantieren, dass ich
die empfohlene Computersprache erlernen werde bis zu einem
fertigen Apfelmännchenprogramm.

Versprochen? Dann könnte ich dir ja Lisp, COBOL oder Brainfuck
(http://de.wikipedia.org/wiki/Brainfuck) vorschlagen :smile:)).

Ich würde da eher APL empfehlen, das ist ja gerade für Matrizen-Operationen optimiert …

MfG Peter(TOO)

Anmerkung
Auch hallo.

Ich habe mich daher für VB Express entschieden.
(…) vielleicht nach einem Jahr VB
doch noch mal umsteige auf die anspruchsvollere Sprache „C“.

Also „Visual Basic“ ist doch etwas anderes als „Visual Basic.NET:wink:
VB.NET und die Variante mit VB Express basieren auf dem .NET Framework und damit -irgendwie- auf wesentlich älteren C.

mfg M.L.

Hallo Stefan,

Ihr glaubt gar nicht, wie glücklich ich bin! Es geht mir beim
Programmieren nicht nur um die fixe Idee mit dem
Apfelmännchenprogramm, sondern um das Erlernen einer
Programierplattform, wo ich selber kreativ werden kann… wo
man bestimmt von selber auf ganz tolle Ideen kommt, was man
programmieren kann. Dabei will ich die erstellten Programme
nicht zur Schau stellen zur Pflege meines Egos, sondern mir
selber damit kleine Alltagsgeschenke machen.

Da bist du sicher mit VB am besten bedient.
Besonders wenn du noch mit Word, Excell usw. arbeitest. Die Macrosprache, also VBA, der MS-Officeprogramme ist sehr eng mit VB verwandt.

Die Apfelmännchengeschichte ist halt ein spezielles Problem.
Die Hauptrechenarbeit besteht im millionenfachen Aufruf einer einzigen Funktion. Hier macht dann jede gesparte ms bei einem Aufruf gleich etwa 16 Minuten bei der Laufzeit aus, wenn man von einer Million Aufrufe ausgeht.

MfG Peter(TOO)

Hallo Rainer,

Meine VBs ( 5 & 6, Vollversionen) sind beides, Interpreter

??? Du meinst in der Entwicklungsumgebung? Das ist doch nur
der Debugger.

Nö. Du startest ein Programm mit Run>Start (oder F5) bzw. mit Run>Start with full compile (Strg-F5). Das ist jedenfalls in VB 5 so, VB 6 habe ich gerade nicht installiert.

Ich habe mal ein Add-In in VB geschrieben, das ein Projekt in einer zweiten Instanz von VB manipulierte. Ich konnte das Add-In sowohl interpretiert als auch compiliert laufen lassen.

plus optional
Compiler. Der compilierte Code ist aber IMO auch nicht gerade
der Heuler.

Hast Du Vergleiche? Das würde mich mal interessieren.

Yup. Ich arbeite viel mit der (sehr exotischen) Sprache Clarion (von Soft Velocity). Der liegt die Compilertechnologie von Jensen & Partners International (JPI) zugrunde. Stammen aus dem Entwicklerteam von Borland, haben dann in Eigenregie eine eigene Schiene von Programmiersprachen names „TopSpeed“ herausgegeben. Die Technologie stammt aus den späten Achtzigern/frühen Neunzigern, gilt aber AFAIK immer noch als state-of-the-art. Machen jedenfalls alle mir bekannten Compiler, inkl. denen von MS und Borland, in Sachen Codegröße und Geschwindigkeit einfach nass.

Ich habe noch Vergleichsprogramme; wenn du möchtest, maile ich sie dir zu.

Manche Funktionen sind sehr langsam, beim Apfelmännchen könnte man
z.B. die Pixel mit PSet setzen, muß man aber nicht. :smile: Man
kann ja mit GetBitmapBits das Bild in ein Array lesen, dort
bearbeiten und mit SetBitmapBits wieder zurück schreiben. Das
ist schnell genug.

Zu den Pixeln kann ich nichts sagen, da ich mich da nicht so sehr auskenne. Komme eher aus dem Bereich Datenbanken.

Grüsse,

Tim

Hallo,

Nö. Du startest ein Programm mit Run>Start (oder F5) bzw.
mit Run>Start with full compile (Strg-F5). Das ist
jedenfalls in VB 5 so, VB 6 habe ich gerade nicht installiert.

ja, klar. Wenn das Programm fertig ist, wird es doch aber zur .exe kompiliert, dann ist nix mehr mit interpretieren. Aus der Entwicklungsumgebung startet man die Programme doch nur zum Test. Sonst müßte ja auf jedem Rechner die IDE installiert sein.

Ich habe mal ein Add-In in VB geschrieben, das ein Projekt in
einer zweiten Instanz von VB manipulierte. Ich konnte das
Add-In sowohl interpretiert als auch compiliert laufen lassen.

Klingt interessant. An Addins habe ich mich noch nicht versucht.

plus optional
Compiler. Der compilierte Code ist aber IMO auch nicht gerade
der Heuler.

Hast Du Vergleiche? Das würde mich mal interessieren.

Yup. Ich arbeite viel mit der (sehr exotischen) Sprache
Clarion (von Soft Velocity). Der liegt die Compilertechnologie
von Jensen & Partners International (JPI) zugrunde. Stammen
aus dem Entwicklerteam von Borland, haben dann in Eigenregie
eine eigene Schiene von Programmiersprachen names „TopSpeed“
herausgegeben. Die Technologie stammt aus den späten
Achtzigern/frühen Neunzigern, gilt aber AFAIK immer noch als
state-of-the-art. Machen jedenfalls alle mir bekannten
Compiler, inkl. denen von MS und Borland, in Sachen Codegröße
und Geschwindigkeit einfach nass.

Ich habe noch Vergleichsprogramme; wenn du möchtest, maile ich
sie dir zu.

Ja, klar. Das würde ich mir gern ansehen.

Manche Funktionen sind sehr langsam, beim Apfelmännchen könnte man
z.B. die Pixel mit PSet setzen, muß man aber nicht. :smile: Man
kann ja mit GetBitmapBits das Bild in ein Array lesen, dort
bearbeiten und mit SetBitmapBits wieder zurück schreiben. Das
ist schnell genug.

Zu den Pixeln kann ich nichts sagen, da ich mich da nicht so
sehr auskenne. Komme eher aus dem Bereich Datenbanken.

OK, Datenbanken sind wieder ein gaaaanz anderes Thema. Dann spielt aber auch die Rechengeschwindigkeit nicht so die Rolle, das läßt man ja dann die Engine auf dem Server erledigen. Da kenne ich mich aber nicht so sehr gut aus, ich arbeite nur mit Access und SQL-Server, wenn ich mal von einem Versuch mit SAPDB absehe. Mit meinen Datenbankanwendungen bin ich aber eher unzufrieden, da muß ich noch heftig lernen. :smile:

Gruß, Rainer

Hallo rainer,

Nö. Du startest ein Programm mit Run>Start (oder F5) bzw.
mit Run>Start with full compile (Strg-F5). Das ist
jedenfalls in VB 5 so, VB 6 habe ich gerade nicht installiert.

ja, klar. Wenn das Programm fertig ist, wird es doch aber zur
.exe kompiliert, dann ist nix mehr mit interpretieren. Aus der
Entwicklungsumgebung startet man die Programme doch nur zum
Test. Sonst müßte ja auf jedem Rechner die IDE installiert
sein.

Vielleicht haben wir hier ein bißchen aneinander vorbeigeredet. Natürlich, wenn du das Programm weitergibst, tust du das über die EXE. Einen Runtime-Interpreter gibt es glaube ich nicht mehr. Aber wie gesagt, der Interpreter ist noch eingebaut. Bzgl. der Apfelmännchen hatte ich aber sowieso an den Compiler gedacht.

Ich habe mal ein Add-In in VB geschrieben, das ein Projekt in
einer zweiten Instanz von VB manipulierte. Ich konnte das
Add-In sowohl interpretiert als auch compiliert laufen lassen.

Klingt interessant. An Addins habe ich mich noch nicht
versucht.

Kinderleicht. Du sprichst im Prinzip eine zweite Instanz von VB genauso an, wie du z.B. von Word-VBA aus mit Excel rumspielst. Richtig lustig wird es, wenn du vom ersten VB aus im zweiten neue Forms erstellst und quasi verngesteuert Code erzeugst oder manipulierst. Geht alles.

Ich habe noch Vergleichsprogramme; wenn du möchtest, maile ich
sie dir zu.

Ja, klar. Das würde ich mir gern ansehen.

Ich habe schon mal nachgeschaut, nachdem ich meine ursprüngliches Posting geschrieben hatte. Habe aber nichts gefunden. Das Testprogramm muß auf einem anderen Rechner sein; den kann ich morgen ja mal anschließen. Ich melde mich, sowie ich es gefunden habe.

OK, Datenbanken sind wieder ein gaaaanz anderes Thema. Dann
spielt aber auch die Rechengeschwindigkeit nicht so die Rolle,
das läßt man ja dann die Engine auf dem Server erledigen.

Kommt drauf an. Die von mir erwähnte Sprache Clarion verfügt z.B. über ein natives Dateisystem, daß nicht Client/Server-orientiert arbeitet. Außerdem musst du ja manchmal auch auf der Arbeitsstation Auswertungen fahren, z.B. diverse betriebswirtschaftliche Funktionen zwecks Statistik etc. Aber du hast natürlich recht: es gibt einen gigantischen Unterschied zwischen Datenbankverwaltung und Apfelmännchen berechnen.

Da kenne ich mich aber nicht so sehr gut aus, ich arbeite nur mit
Access und SQL-Server, wenn ich mal von einem Versuch mit
SAPDB absehe. Mit meinen Datenbankanwendungen bin ich aber
eher unzufrieden, da muß ich noch heftig lernen. :smile:

Wieso? Acess und SQL, da hast du doch schon fast alles zusammen was ein relationales Datenbanksystem ausmacht. Noch ein bißchen Theorie in Sachen referentieller Integrität und Normalisierung, das war´s dann auch schon. Klingt schwieriger als es ist.

So, und eben ist Schluss, ich gehe jetzt nochmal auf einen Wein ins Bistro gegenüber.

Grüsse und schönes WE,

Tim

Hallo!

VB wird seit der Version 5 kompiliert. :smile: Das ist schon lange
keine Interpretersprache mehr.

Gilt das auch für VB 2005 Express?

Alle Compiler der .NET-Technologie, also auch der VB.NET Compiler, erzeugen CIL[1] (früher MSIL[2]). Dieser Zwischencode wird dann von der CLR[3] („das .NET-Framework“) ausgeführt.

[1]Common Intermediate Language
[2]Microsoft Intermediate Language
[3]Common Language Runtime

mfg
chris

P.S.: Viele Abkürzungen in diesem Posting :wink:

Hi Chris,

Alle Compiler der .NET-Technologie, also auch der VB.NET
Compiler, erzeugen CIL[1] (früher MSIL[2]). Dieser
Zwischencode wird dann von der CLR[3] („das
.NET-Framework“
) ausgeführt.

Wie sieht denn das beim „normalen“ VB aus, also z.B. VB6? Erzeugt das echten Maschinencode oder auch „nur“ den Zwischencode, der dann nochmals interpretiert/ausgeführt werden muß?

Grüsse,

Tim