lohnt es sich noch, 32bit anwendungen zu schreiben



  • vistauser schrieb:

    hallo an alle, ich habe folgende Frage: Wenn ich jetzt mit einem Projekt beginne, welches über 2 bis 4 Jahre dauern könnte, macht es dann noch Sinn, wenn ich mit einer 32-Version beginne? Es handelt sich um private Software, welche ausschließlich auf einem PC von mir laufen soll.

    Aber was ist, wenn ich in 3 Jahren die Software auf dem Vistanachfolger haben will? Muß ich dann alles neu schreiben, falls es dann nur noch 64bit Versionen gibt? Ich will das Projekt entweder in c++ mit WXwidgets starten oder mit c# und .net3.5. Bin gespannt auf eure Antworten

    Programmiere deine Software am besten in D.

    D ist von Haus aus 64 Bit und 32 Bit sicher, d.h. das Programm läuft auf beiden Systemen ohne Neucompilierung.



  • D Fanatiker schrieb:

    D ist von Haus aus 64 Bit und 32 Bit sicher, d.h. das Programm läuft auf beiden Systemen ohne Neucompilierung.

    sofern du natürlich einen Compiler findest



  • Der Schlaue schrieb:

    Firmen die als Compiler nicht den GCC einsetzen sind IMO selber schuld.

    Der GCC ist zwar nicht der schnellste und langsammer als der Intel Compiler,
    aber wenigstens wird er fortwährend weiterentwickelt und wächst auch mit den neuen Sprachfeatures mit.

    Es geht nicht ausschließlich um Compiler, sondern auch um Entwicklungsumgebungen und Bibliotheken. Ich glaube kaum das der GCC seine Vorteile in einem reinen Windowsumfeld ausspielen kann, zudem nicht in einer Firma wo alles schnell gehen soll (Stichwort: RAD-Umgebung).



  • D Fanatiker schrieb:

    Programmiere deine Software am besten in D.

    D ist von Haus aus 64 Bit und 32 Bit sicher, d.h. das Programm läuft auf beiden Systemen ohne Neucompilierung.

    D hat derzeit die Verbreitung und Unterstützung knapp oberhalb eines toten Frosches. Sorry, D mag für einige Interessant sein, aber wohl nicht in dem Umfang das es die nächsten 2-3 Jahre irgendeine wirkliche Bedeutung erhält (ohne schwarzmalen zu wollen gehe ich eher von einer Totgeburt beziehungsweise reinen Nischenprodukt aus - und das teilweise ByDesign(TM)).

    cu André



  • Ich halte 4 Jahre für extrem übertrieben für die Entwicklung einer solchen KI. Was willst du da machen? Ein neuronales Netz programmieren und die Daten aufbereiten und es dann 3.8 Jahre lang trainieren? Oder willst du 4 Jahre lang if sowas then das if wasanderes then bla... Bedingungen schreiben? Oder willst du eine KI schreiben die Wirtschaftsnachrichten lesen kann, die globale Wirtschaft besser versteht als alle Experten und anhand der Verfügbarkeit von Ressourcen, politischen Machtverhältnissen und durchschnittsnoten der Schulabgänger die zukünftigen Aktienkurse vorhersagen kann? OK, letzteres wirst du nicht in 4 Jahren und auch nicht in viel längerer Zeit hin bekommen, wenn du schon bei 64 und 32 bit Problemen hast.



  • Hallo,

    mal ne ganz blöde Frage für zwischen durch 😃 Ich habe bis jetzt fast nur ausschließlich in Java geschrieben und arbeite mich gerade in C++ ein.

    Worin besteht der Unterschied von 32bit und 64bit im Quellcode? Bzw. worauf muss ich achten?



  • Siassei schrieb:

    Worin besteht der Unterschied von 32bit und 64bit im Quellcode? Bzw. worauf muss ich achten?

    Das betrifft unter anderem die Größen der verschiedenen Datentypen (int...), die können unterschiedlich groß sein.



  • pumuckl schrieb:

    Blue-Tiger schrieb:

    JustAnotherNoob schrieb:

    (auch wenn man über den Begriff KI streiten kann, denn ein Programm was nach bestimmten Algorithmen arbeitet würd ich nicht als intelligent bezeichnen, und die Lernfähigkeit eines PCs ist denk ich doch sehr begrenzt)

    Das muss so aber nicht sein, im Prinzip ist das Gehirn auch nur eine komplexe Maschiene, die sich mit genügend Rechenleistung auch simulieren lassen sollte.

    So so. Da weisst du jetzt aber mehr als die Neurologen 😉

    Nein, die neurologen wissen das auch. Sie wissen nur nicht genau, wie diese Maschine funktioniert. Zur Simulation der Maschine braucht man eben nicht nur die Rechenleistung sondern auch ein hinreichend genaues Modell der Maschine.

    Ich bezweifel, dass man das Gehirn so einfach sinnvoll simulieren kann. Wenn man beispielsweise die Physik als Grundlage aller anderen Naturwissenschaften betrachtet, dann stellt man fest, dass Idealisierungen und Näherungen zur zentralen Arbeitsweise der Physik gehören. Und für andere Naturwissenschaften gilt das genauso, falls komplexe Systeme betrachtet werden.

    Man hat natürlich Modellvorstellungen von "Künstlichen Neuronalen Netzen" und simuliert die auch gerne. Das ist definitiv ein wichtiges Arbeitsmittel der Künstlichen Intelligenz. Aber es ist in keiner Weise klar, dass sich größere KNNs äquivalent zum entsprechenden Vorbild in der Natur verhalten.

    Wenn man ganz genau hinguckt, ist es sogar schon bei den einfachsten Systemen in der Natur nicht klar, ob Du sie durch eine Formel oder ähnliches überhaupt exakt beschreiben kannst. Wie schon gesagt: Idealisierungen und Näherungen sind zentrales Arbeitsmittel der Naturwissenschaften. Die Physik ist zum Beispiel schon auf Näherungen angewiesen, um so einfache Systeme wie das Wasserstoffatom zu beschreiben. Wenn man aber eine derartige Arbeitsweise benötigt, um die fundamentalen Elemente eines Systems zu beschreiben, dann ist es alles andere als klar, dass bei der Simulation eines komplexen, zusammengesetzten System etwas sinnvolles herauskommt. Ein menschliches Gehirn ist komplex: Da hast Du 10^10 bis 10^12 Neuronen und jeweils 10.000 bis 100.000 Verbindungen pro Neuron.



  • niemand sagt ja, dass es einfach wäre, oder dass es heutzutage irgendjemand schaffen könnte.
    Aber im Prinzip wäre es möglich(sofern die Rechenleistung vorhanden wäre) und das ist erstmal alles worauf ich hinaus wollte.



  • JustAnotherNoob schrieb:

    niemand sagt ja, dass es einfach wäre, oder dass es heutzutage irgendjemand schaffen könnte.
    Aber im Prinzip wäre es möglich(sofern die Rechenleistung vorhanden wäre) und das ist erstmal alles worauf ich hinaus wollte.

    Naja, ich bezweifel halt, dass es prinzipiell möglich ist. Die Wissenschaft ist in ihren Formulierungen begrenzt. Und insofern ist es alles andere als klar, ob man ein exaktes Modell für ein derart komplexes System wie das menschliche Gehirn angeben kann.



  • Jetzt zieht euch nicht an dem Begriff der KI hoch, der OP schreibt ja selbst

    "[...] auch wenn man über den Begriff KI streiten kann, denn ein Programm was nach bestimmten Algorithmen arbeitet würd ich nicht als intelligent bezeichnen[...]"

    Der OP möchte ein vollautomatisches Handelssystem entwerfen auf Basis der Methoden des Softcomputings, am Ende läuft das auf ein Entscheidungssunterstützendes System heraus und das ist umsetzbar.

    Und um der Frage es OP gerecht zu werden, klar lohnt sich die Entwicklung von 32-Bit noch und wenn man es etwas geschickt umsetzt ist der Umstieg auf 64-Bit auch kein großes Problem



  • TheTester schrieb:

    Und um der Frage es OP gerecht zu werden, klar lohnt sich die Entwicklung von 32-Bit noch und wenn man es etwas geschickt umsetzt ist der Umstieg auf 64-Bit auch kein großes Problem

    Man entwickelt sowas nicht für 32 Bit oder 64 Bit. Für so ein Programm braucht man keine hardwarenahen Bitoperationen. Man programmiert ganz normal und baut nicht irgendwelche wilden casts von pointern zu int zu size_t usw. ein. Dann kann man einfach die Compilereinstellungen umstellen und fertig. Ich entwickel immer für 32 und 64 Bit und kann da ganz normal programmieren.



  • Der Schlaue schrieb:

    asc schrieb:

    Da hast du recht schrieb:

    Ich bin mir allerdings nicht sicher ob die 16Bit-Anwendungen noch unter Vista (32Bit) laufen und ich glaube sogar, dass sie unter Vista 64Bit und XP 64Bit nicht mehr laufen.

    Die wenigsten 64Bit Systeme haben noch eine 16Bit-Unterstützung. Und auch Firmen die mit alten Compilern arbeiten merken teilweise schon das ihre Programme nicht mehr so kompatibel sind, wie sie sich das vorstellen (Aber nein, man denkt ja frühestens 10 Jahre nach Einstellung des Compilersupportes darüber nach zu migrieren)...

    Firmen die als Compiler nicht den GCC einsetzen sind IMO selber schuld.

    Der GCC ist zwar nicht der schnellste und langsammer als der Intel Compiler,
    aber wenigstens wird er fortwährend weiterentwickelt und wächst auch mit den neuen Sprachfeatures mit.

    Ja genau, dann kompilier mal Code, der fuer den GCC 1.x oder GCC 2.95 entwickelt worden ist, mit dem GCC 4.3. 🙄



  • asc schrieb:

    Siassei schrieb:

    Worin besteht der Unterschied von 32bit und 64bit im Quellcode? Bzw. worauf muss ich achten?

    Das betrifft unter anderem die Größen der verschiedenen Datentypen (int...), die können unterschiedlich groß sein.

    Danke. Wo finde ich hierzu mehr Informationen (z.B. für gcc)? Und ist das ganze genormt oder hat jeder Compiler eine andere Interpretation?



  • Siassei schrieb:

    Danke. Wo finde ich hierzu mehr Informationen (z.B. für gcc)? Und ist das ganze genormt oder hat jeder Compiler eine andere Interpretation?

    Es ist nicht genormt, und kann im extremfall auch Compilerspezifisch sein. Je nach Sprache kann es auch immer fixe Längendefinitionen geben, aber z.B. in C++ sind nur Regeln wie short<=int<=long... definiert.

    cu André



  • asc schrieb:

    Siassei schrieb:

    Danke. Wo finde ich hierzu mehr Informationen (z.B. für gcc)? Und ist das ganze genormt oder hat jeder Compiler eine andere Interpretation?

    Es ist nicht genormt, und kann im extremfall auch Compilerspezifisch sein. Je nach Sprache kann es auch immer fixe Längendefinitionen geben, aber z.B. in C++ sind nur Regeln wie short<=int<=long... definiert.

    cu André

    Gut, aber in meinen Post waren noch mehr Fragen 😉

    Wie bekomme ic die Defination?



  • Siassei schrieb:

    Wie bekomme ic die Defination?

    Beispielsweise indem du nach "c++ standard draft" googelst. Der C++ Standard kostet etwas, der Draft ist quasi die Vorstufe davon und frei erhältlich.



  • Blue-Tiger schrieb:

    Der Schlaue schrieb:

    Firmen die als Compiler nicht den GCC einsetzen sind IMO selber schuld.

    Der GCC ist zwar nicht der schnellste und langsammer als der Intel Compiler,
    aber wenigstens wird er fortwährend weiterentwickelt und wächst auch mit den neuen Sprachfeatures mit.

    Ja genau, dann kompilier mal Code, der fuer den GCC 1.x oder GCC 2.95 entwickelt worden ist, mit dem GCC 4.3. 🙄

    Sag mal, bist du eigentlich ein bischen doof?

    Ich sagte das der GCC weiterentwickelt wird und das neue Sprachfeatures unterstützt werden und selbstverständlich paßt ein Softwareunternehmen, daß etwas taugt, seinen Code an den neuen Standard an.

    Wenn es dir darum geht, ewig den gleichen Code zu compilieren dann kannst du auch gleich eine alte Version des GCC einsetzen oder nie den Compiler wechseln.



  • Der Schlaue schrieb:

    Sag mal, bist du eigentlich ein bischen doof?

    Ein Schlauer würde solche fragen unterlassen, und vielleicht etwas über seinen eigenen Tellerrand schauen.

    Der Schlaue schrieb:

    Ich sagte das der GCC weiterentwickelt wird und das neue Sprachfeatures unterstützt werden und selbstverständlich paßt ein Softwareunternehmen, daß etwas taugt, seinen Code an den neuen Standard an.

    Dir ist hoffentlich bewusst das es da drausen auch einen gewissen Leistungsdruck gibt, die wenigsten Firmen wirklich Bereitschaft zeigen, den Code ab und zu an den Standard anzupassen oder gar den Aufwand normaler Codepflege zu betreiben.

    Und selbst wenn, ist je nach Projektgröße eine Anpassung vielleicht nicht immer das Mittel der Wahl - vor allem nicht bei jeder neuen Compilerversion. Klar gibt es dann auch den Fall das man mal eine Migration machen muss, aber nicht in kurzen sondern teilweise sehr langen Abständen.

    Es gibt drausen auch Firmen, wo Produkte teilweise über 15 Jahre lang weiterentwickelt werden, und nicht bloss zeitlich sehr begrenzte Entwicklungen laufen.

    Sicher Codepflege und Anpassungen sind sinnvoll, aber erkläre dies mal einen Manager 😉 - Für den ist Codepflege unnützt da ja keinerlei sichtbare Programmänderung damit einher geht.

    cu André



  • Also ich find es relativ interessant, was für eine tolle diskussion sich daraus entwickelt hat. Mein Ziel ist in der Tat nur ein entscheidungsunterstützendes System, welches Aktien kauft, hält, verkauft, etc. und immer versucht das Maximum rauszuholen, also auch Dividenden und so berücksichtigt. Ich beabsichtige verschiedene statistische Funktionen einzuarbeiten, welches die Dinge in einem mathematischen Spektrum zeigen soll.

    Wenn man sich intensiv mit Börse, Aktien, Anleihen, etc. beschäftigt, stellt man fest, dass es sich in fast allen Fällen um einen Herdentrieb handelt, wie folgt:" Stromanbieter x hat präsentiert heute schlechte Zahlen, also fallen die Kurse von Stromanbieter x heute um 5 Prozent. Auch die Zahlen von Stromanbieter y fallen am selben Tag, obwohl dieser seinen Bericht erst am darauffolgenden Tag präsentiert, und satte Gewinne aufweist."

    Ich habe mich selbst mal dabei ertappt, wie ich meinen Regeln untreu wurde, weil eine Aktie um 10 Prozent gefallen ist. Es ist erwiesen, dass man auf Verluste emotionaler reagiert als auf Gewinne. Sprich, wenn man nen 100er gewinnt, freut man sich, wenn man einen verliert tuts doppelt weh.

    Und genau deswegen will ich testen, ob so ein System funktioniert. Es kennt keine Emotionen,welche fast alle Entscheidungsprozesse beim Menschen bestimmen oder beeinflußen, keine Freude, keine Trauer, nur seine Algorithmen und seine Aufgabe.


Anmelden zum Antworten