Not logged in. · Lost password · Register

Page:  previous  1  2  3  next 
poll
Poll: Wie sieht euer derzeitiger Code aus?
(One vote ·   5%) Code? Neee, RandomPlayer wirds richten!
(0 votes ·   0%) Wir haben bisher nur ein Konzept im Kopf...
(14 votes · 74%) Wir verzweifeln an Java + Scala
(One vote ·   5%) Erste Code-Schnipsel in Java sind bereit und getestet
(3 votes · 16%) Wir haben/erwarten keine Probleme, weil wir sowieso Scala benutzen werden
This poll has no time limit · 19 votes
since
Member since Oct 2014
21 posts
In reply to post ID 149216
Ich bin jetzt schon ziemlich frustriert, da ich weder ein Javafrickler und noch weniger ein Scalaversteher bin. :-/

Gibt es Leute die das im CIP zum laufen gebracht haben (addpackage ...)?
Scala 2.12 scheint dort nicht installiert zu sein; kann ich dien .jar Files selber mit scala 2.11 bauen?
Muss meine Klasse in dem selben src-Verzeichnis und package sein?
Gibt es ein Makefile o.ä. was ich übersehe?

Für das nächste Mal ist es evtl. vorteilhaft eine gemeinsame Schnittstelle (z.B. ähnlich wie beim FAU ICPC https://icpc.cs.fau.de/problemset_winter_2015.pdf einfach stdin/stdout?) zu definieren.
So muss niemand mehr in Fremdsprachen programmieren :-)
This post was edited on 2016-12-08, 15:58 by since.
MrDeathly
Member since Nov 2012
101 posts
An dem Typ-Problem hat sich übringens nicht viel geändert. board.getState() gibt zwar ein Iterable<Object> zurück, in dem Iterable stecken aber zwei scala.collection.JavaConversions.SeqWrapper.
Shadow992
Member since Jan 2014
290 posts
In reply to post #16
Quote by since:
So muss niemand mehr in Fremdsprachen programmieren :-)

Tatsächlich habe ich das auch angedacht gehabt, aber dabei gab es besonders den Einwand:
"Python vs. C-Code ist nicht mehr wirklich ein Duell um 'Wer hat den besten Algorithmus', sondern um 'Wer hat die schnellste Sprache' "
Dem kann ich soweit zustimmen, wobei natürlich gute Algorithmen viel Zeit "sparen können", genau so geht es aber auch andersrum, dass manche Sprachen, schlechte Algorithmen gut machen (einfach weil sie mehr Simulationen pro Sekunde schaffen). Jetzt nachdem sowieso schon einige mit Codes in Java angefangen haben, denke ich, lohnt es sich auch nicht mehr ernsthaft über eine gemeinsame Schnittstelle ala Client/Server, STDIN/STDOUT, usw. nachzudenken.

Ich denke Java ist da schon mit der beste gemeinsame Nenner für sowas, weil jeder mindetsens AUD/PFP-Niveau Java kann (oder können sollte).
Die Konvertierung von Scala <-> Java hingegen scheint weiterhin äußerst hart zu sein. :/
Ich weiß aber nicht wie wir das sinnvoll lösen wollen, eine komplette Portierung von Scala nach Java wäre zwar möglich, aber die Scala Leute hätten dann halt genau das Problem, was die Java Leute jetzt haben. :/
Jazzpirate
Member since Oct 2016
803 posts
In reply to post #16
Scala 2.12 scheint dort nicht installiert zu sein; kann ich dien .jar Files selber mit scala 2.11 bauen?
sollte; solltest du aber gar nciht müssen... .jar und .class files sind ja mitgeliefert...
Muss meine Klasse in dem selben src-Verzeichnis und package sein?
Kommt wohl auf deine IDE an und wie sie projekte handlet
Gibt es ein Makefile o.ä. was ich übersehe?
Es gibt ne .sbt datei (scala build tool); die ist sowas wie ein makefile...

aber again: .class und .jar files sind teil des repositories...

in dem Iterable stecken aber zwei scala.collection.JavaConversions.SeqWrapper
what the hell??? Was ist der sinn von JavaConversions wenn sie dann nicht java-converten? >.<

Ich guck mir das nochmal an, aber es ist halt auch nur ne list.asJava, genau wie die äußere liste; also sehr verwirrend, warum es bei den inneren listen nicht funktioniert, aber bei der äußeren schon... 0o
Jazzpirate
Member since Oct 2016
803 posts
In reply to post #17
Was macht denn board.getHouses aus? Gibt das was java-kompatibles zurück?
iridium (Moderator)
Member since May 2011
435 posts
In reply to post #18
Quote by Shadow992:
Dem kann ich soweit zustimmen, wobei natürlich gute Algorithmen viel Zeit "sparen können", genau so geht es aber auch andersrum, dass manche Sprachen, schlechte Algorithmen gut machen (einfach weil sie mehr Simulationen pro Sekunde schaffen). Jetzt nachdem sowieso schon einige mit Codes in Java angefangen haben, denke ich, lohnt es sich auch nicht mehr ernsthaft über

Bei ICPC ist da immer das Argument "kenne deine Sprache, lebe mit den Einschränkungen". Wer Dinge in C++ schreibt, der hat halt den Vorteil, dass es dreimal so schnell ist wie in Java - dafür muss er dann auch damit leben, keine Speichersicherheit und weniger Standardbibliothek zu haben.

Ich fand Aufgaben, bei denen man sich eigenständig was bauen konnte und nicht an Vorlagen wurschteln musste, eigentlich immer am angenehmsten. (Disclaimer: Ich höre momentan kein KI :-) )
Shadow992
Member since Jan 2014
290 posts
Quote by iridium:
Quote by Shadow992:
Dem kann ich soweit zustimmen, wobei natürlich gute Algorithmen viel Zeit "sparen können", genau so geht es aber auch andersrum, dass manche Sprachen, schlechte Algorithmen gut machen (einfach weil sie mehr Simulationen pro Sekunde schaffen). Jetzt nachdem sowieso schon einige mit Codes in Java angefangen haben, denke ich, lohnt es sich auch nicht mehr ernsthaft über

Bei ICPC ist da immer das Argument "kenne deine Sprache, lebe mit den Einschränkungen". Wer Dinge in C++ schreibt, der hat halt den Vorteil, dass es dreimal so schnell ist wie in Java - dafür muss er dann auch damit leben, keine Speichersicherheit und weniger Standardbibliothek zu haben.

Ich fand Aufgaben, bei denen man sich eigenständig was bauen konnte und nicht an Vorlagen wurschteln musste, eigentlich immer am angenehmsten. (Disclaimer: Ich höre momentan kein KI :-) )

Da hast du natürlich Recht, wir werden mal die Köpfe zusammenstecken :D
BreakFast
Avatar
Member since Oct 2012
350 posts
Heyhey, bei mir funktioniert das ganze nicht und ich versteh nicht ganz wieso - ich habe afaik denselben Code wie mein Teamkollege, und bei dem geht's.

Am Ende der Framework.scala-Zeile
val (sc1,sc2) = if (finished contains Player1) (Store1.sum, Store2.get) else (Store1.get, Store2.sum)
bekomme ich die Meldung
value contains is not a member of Option[Game.this.Player]

Weiss jemand woran das liegen koennte?
Jazzpirate
Member since Oct 2016
803 posts
+1 obet
value contains is not a member of Option[Game.this.Player]

Weiss jemand woran das liegen koennte?
Ich hab grad mal gegooglet - Option.contains existiert seit scala 2.11 - was für eine version benutzt du denn?
Jazzpirate
Member since Oct 2016
803 posts
In reply to post #23
Ich hab grad nochmal ne version ohne Option.contains hochgeladen (jetzt beschwert sich der IntelliJ-styleguide, dass ich da doch gefälligst .contains benutzen soll xD ) - wenn ich das richtig verstanden habe müsste das jetzt mit mindestens scala 2.10 kompatibel sein
Eilrah
Member since Mar 2014
4 posts
Ich hab mal eine ganz triviale Frage: Wir würden gerne die Java Seite benutzen und einfach einmal eine sehr simple main-Methode, die ein Spiel mit einem Human-Player und einem Random-Player startet, schreiben. Diese sieht etwa so aus:
import info.kwarc.teaching.AI.Kalah.Agent;
import info.kwarc.teaching.AI.Kalah.Game;
import info.kwarc.teaching.AI.Kalah.HumanPlayer;
import info.kwarc.teaching.AI.Kalah.RandomPlayer;

public class Test {
    public static void main(String[] args)
    {
        Agent agent_orange = new RandomPlayer("Agent Orange");
        Agent me = new HumanPlayer("Me");
        Game game = new Game(agent_orange, me, 6, 4);
        game.play(true);
    }
}

Mit eingebundenem Scala und Java8 compiliert das ganze auch, nur ergibt sich beim Ausführen eine
Exception in thread "main" java.lang.NoSuchMethodError: scala.Product.$init$(Lscala/Product;)V
    at info.kwarc.teaching.AI.Kalah.Game$Player1$.<init>(Framework.scala:140)
    at info.kwarc.teaching.AI.Kalah.Game.Player1$lzycompute$1(Framework.scala:140)
    at info.kwarc.teaching.AI.Kalah.Game.info$kwarc$teaching$AI$Kalah$Game$$Player1(Framework.scala:140)
    at info.kwarc.teaching.AI.Kalah.Game$$anon$1.<init>(Framework.scala:182)
    at info.kwarc.teaching.AI.Kalah.Game.<init>(Framework.scala:182)
Woran könnte das liegen / was machen wir falsch / wie müssten wir das Spiel richtig starten?
Jazzpirate
Member since Oct 2016
803 posts
Woran könnte das liegen / was machen wir falsch / wie müssten wir das Spiel richtig starten?
Shadow hat euren code ausprobiert und bei ihm funktioniert er einwandfrei. Könnt ihr euer framework updaten (siehe neuer thread zum thema) und es damit nochmal probieren?
Eilrah
Member since Mar 2014
4 posts
Shadow hat euren code ausprobiert und bei ihm funktioniert er einwandfrei. Könnt ihr euer framework updaten (siehe neuer thread zum thema) und es damit nochmal probieren?
Versucht. Es ändert sich leider nichts am Fehler. Zum Updaten langt es ja, wenn ich die neuen .jar Datein im Git statt der alten einbinde?
Shadow992
Member since Jan 2014
290 posts
Quote by Eilrah:
Shadow hat euren code ausprobiert und bei ihm funktioniert er einwandfrei. Könnt ihr euer framework updaten (siehe neuer thread zum thema) und es damit nochmal probieren?
Versucht. Es ändert sich leider nichts am Fehler. Zum Updaten langt es ja, wenn ich die neuen .jar Datein im Git statt der alten einbinde?

Ich habe zum Testen keinerlei class oder jar files verwendet, sondern direkt den Scala-Source-Code. Ich benutze IntelliJ auf Windows mit dem Scala-Plugin. Dort kompiliert es so wie du es probiert hattest einwandfrei. Ich vermute, dass die *.jar Datei irgendwelche Informationen entfernt, die man aber braucht, wenn man die Main ändert. Ich bin leider selbst kein Profi, aber warum versucht ihr überhaupt die Main nach Java zu migrieren? Ich kann auch ungefähr 0 Scala, aber die Scala-Main ist relativ intuitiv zu lesen und erlaubt das Benutzen von Java-Objekten ohne Murren und Verrenkungen.
This post was edited on 2016-12-08, 22:05 by Shadow992.
Jazzpirate
Member since Oct 2016
803 posts
In reply to post #28
Zum Updaten langt es ja, wenn ich die neuen .jar Datein im Git statt der alten einbinde?
Ich update die jar immer mit, ja...

Ich steh grad ein bisschen auf dem Schlauch warum das passiert... die scala-lib ist sicherlich eingebunden?
Close Smaller – Larger + Reply to this post:
Verification code: VeriCode Please enter the word from the image into the text field below. (Type the letters only, lower case is okay.)
Smileys: :-) ;-) :-D :-p :blush: :cool: :rolleyes: :huh: :-/ <_< :-( :'( :#: :scared: 8-( :nuts: :-O
Special characters:
Page:  previous  1  2  3  next 
Go to forum
Datenschutz | Kontakt
Powered by the Unclassified NewsBoard software, 20150713-dev, © 2003-2011 by Yves Goergen