Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

11

21.11.2012, 19:04

Die Frage ist was ihr erreichen wollt. Geht es euch einfach darum das Programm fertig zu stellen, dann nehmt doch ruhig VB wenn ihr das schon könnt. Wenn ihr euch dabei mal eine andere Sprache angucken wollt, dann wurden ja schon ein paar genannt. Wenn ihr mal was ganz neues sehen wollt könnt ihr euch Haskell angucken. Eigentlich ist das eine schöne Aufgabe um sie mit Haskell zu lösen.
Ansonsten ist das Programm von der Logik eigentlich so minimal, dass es egal ist.
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

12

21.11.2012, 20:26

Nehmt das, was ihr könnt. Das ist wohl die logische Entscheidung in diesem Fall.

Absolut, außer natürlich der ganze Grund des Unterfangens ist, was Neues zu lernen. Von C++ würde ich für diese Anwendung auf jeden Fall abraten. Wenn ihr VB bereits könnt, nehmt VB. Aber wenn ihr VB erst lernen müsstet, dann würde ich stattdessen zu C# raten. VB.NET ist am Ende des Tages nichts anderes als eine alternative Syntax für C#...

Evrey

Treue Seele

Beiträge: 245

Beruf: Weltherrscher

  • Private Nachricht senden

13

21.11.2012, 21:25

Oder du nutzt Ruby. Zahlensysteme umrechnen tut es von Haus aus zu theoretisch gesehen jeder beliebigen Basis. Hier ein Beispiel für die Umwandlung einer Hexa-Zahl in eine ternäre Zahl:

Quellcode

1
2
3
irb(main):001:0> "FFFF".to_i(16).to_s(3)
=> "10022220020"
irb(main):002:0>

C-/C++-Quelltext

1
2
3
4
int main(int _argc, char** _argv) noexcept {
  asm volatile("lock cmpxchg8b %eax");
  return 0;
} // ::main
(Dieses kleine Biest vermochte einst x86-Prozessoren lahm zu legen.)

=> Und er blogt unter Hackish.Codes D:

Sacaldur

Community-Fossil

Beiträge: 2 301

Wohnort: Berlin

Beruf: FIAE

  • Private Nachricht senden

14

22.11.2012, 14:24

De Sprache sollte in Abhängigkeit von den Gegebenheiten gewählt werden
dazu gehören die Anforderungen an das Programm und die vorhandenen Kenntnisse
wenn ihr bereits mit Visual Basic gearbeitet habt, wäre dies zu empfehlen

ich für meinen Teil mag Python, allerdings habe ich bisher nur in Verbindung mit Pygame gearbeitet, kann also nicht sagen, wie gut sich Oberflächen damit erstellen lassen

bei der Sprachwahl sollte aber auch darauf geachtet werden, ob und wie gut sich das gewünschte Programm umsetzen lässt
wichtig ist auch, wer das Programm benutzen soll und was an Ausführungsumgebungen bereits vorhanden sind

C++, sollte man es nicht bereits könnn, wäre für ein solches Programm wohl die falsche Wahl, da es scheinbar nicht sehr ngenehm in Verbindung mit Oberflächen sein soll...


@check:
mir sind ein paar Dinge auf der Seite aufgefallen:
es _gibt_ Wahrheitswerte ("True" und "False") und dort wurde lediglich die Umwandlung anderer Typen in Wahrheitswerte geschrieben (bspw. bei "if None:")
dennoch ist dies unvollständig, da man für eigene Klasse selbst, mittels eines Magic Members, bestimmen kann, wann es True oder False ergibt

außerdm wurde C# nicht ein einziges Mal erwähnt (grafische Oberfläche, Operatorenüberladung)

und das Ducktyping wurde sehr merkwürdig umschrieben... =/

(und es wird kine Aussage darüber getroffen, ob Python eine Programmiersprache ist oder nicht)
Spieleentwickler in Berlin? (Thema in diesem Forum)
---
Es ist ja keine Schande etwas falsch zu machen, als Programmierer tu ich das täglich, [...].

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

15

22.11.2012, 16:55

In python gibts das TK (Tkinter). Ist zwar uralt, tut aber seinen Dienst und ist eigentlich ganz eingängig. Sieht halt nicht unbedingt schön aus.
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

Sacaldur

Community-Fossil

Beiträge: 2 301

Wohnort: Berlin

Beruf: FIAE

  • Private Nachricht senden

16

22.11.2012, 17:36

Du meinst wohl eher, dass TKinter standardmaßig dabei ist und es weiterhin auch andere Lösungen gibt, die erst installiert werden müssten.

da fällt mir gerade ein: wenn man Jython (Python auf der JRE) verwendet, hat man automatisch auch den Zugriff auf SWING
und bei IronPython (Python für .NET) dürfte das ähnlich aussehen (bzgl. Windows Forms oder sogar WPF)

Für Ruby dürfte es auch entsprechendes geben und ich meine sogar von einer Bibliothek zur Spieleentwicklung gehört zu haben.


allerdings sagt das Vorhandensein nichts über den Komfort in der Verwendung oder die Funktionalität aus... ;)
Spieleentwickler in Berlin? (Thema in diesem Forum)
---
Es ist ja keine Schande etwas falsch zu machen, als Programmierer tu ich das täglich, [...].

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

17

22.11.2012, 18:20

Ich hab mal Python in Verbindung mti Qt benutzt. Das hat mir eigentlich sehr gut gefallen.
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

18

23.11.2012, 15:28

Hallo Lingo,

prinzipell ist es egal welche Programmiersprache du für dein Projekt benutzt. Es lohnt sich sicherlich sich an der Stelle auch mit Rekursionen zu beschäftigen. Dann wäre die gesamte Programmlogik in einer Methode mit max. 10-Zeilen unterzubringen. Geht natürlich auch anders.

Persönlich würde ich hier Java bevorzugen.
Zum einen hat die Java API die Klasse BigInteger , mit der sich beliebig große genaue Zahlen anlegen, berechnen und verwalten lassen (damit fällt das Größenproblem bei den regulären Datentypen weg), zum anderen kannst du relativ bequem eine Betriebssystem unabhängige GUI mit SWING schreiben oder, falls ein Online-Umrechner angeboten werden soll, ein Java-Applet einsetzen.

Lg

19

25.11.2012, 23:56

Das Wichtigste bei diesem Vorhaben ist ja, dass beliebig grosse Zahlen verarbeitet werden können. Entweder nimmt man eine Sprache, welche das von Haus aus schon kann, oder aber man bildet das ganze in Form von Arrays ab. So wurde das auch bei dem angegebenen Link gemacht.

Es spielt grundsätzlich wirklich keine Rolle, welche Sprache für diese Funktionalität benutzt wird. Ich bin Fan von C und C++. GUIs gibts dafür auch zur Genüge. Wenn allerdings ein solches Programm bereits eine Challenge ist, ist möglicherweise eine andere Sprache tatsächlich besser.

Es sei angemerkt, dass von selbiger Seite bereits eine Implementation in PHP existiert (was aber natürlich der Besucher nicht sehen kann):
http://manderc.manderby.com/concepts/oldumrechner/index.php

Grüsse. ;)

Evrey

Treue Seele

Beiträge: 245

Beruf: Weltherrscher

  • Private Nachricht senden

20

26.11.2012, 11:27

Nun... demnach würde sich erneut Ruby mit seiner Bignum-Klasse anbieten. Es kann absurd riesige Zahlen darstellen. Ruby kann z.B. (zumindest als x64-VM) locker einen Googol darstellen. Damit dann zu rechnen ist zwar echt kein Schmaus, aber passt. Strings kann Ruby entsprechend in Größen umrechnen, die ein Bignum darstellen kann.

Quellcode

1
2
3
4
5
6
irb(main):001:0> s='FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'
=> "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
irb(main):002:0> i=s.to_i(16)
=> 356811923176489970264571492362373784095686655
irb(main):003:0> i.class
=> Bignum

C-/C++-Quelltext

1
2
3
4
int main(int _argc, char** _argv) noexcept {
  asm volatile("lock cmpxchg8b %eax");
  return 0;
} // ::main
(Dieses kleine Biest vermochte einst x86-Prozessoren lahm zu legen.)

=> Und er blogt unter Hackish.Codes D:

Werbeanzeige