Diese Reihe von Interviews ist
ScalaConf gewidmet , der
ersten echten Konferenz in Russland, die am 26. November ausschließlich Scala gewidmet ist. Vor diesem Ereignis habe ich 6 Zeugen und „Apostel“ über den Ursprung der Scala-Bewegung in Russland interviewt. Es wird keine Diskussion über Free, Tagless Final, Monix, IO oder ZIO und den „Kickback“ von Future geben. Mein Ziel ist es, Scala in einem historischen Kontext zu diskutieren. Ich schrieb alle bärtigen Geschichten auf, fuhr vor 10 Jahren zurück und sammelte irrelevante, aber interessante Geschichten über die Sprache.

Die Serie wurde von Parfyonov im Format „The Day Before“ konzipiert - Ereignisse, Menschen, Phänomene. Ich würde diejenigen finden, die jemals Treffen in Russland organisiert hatten, Informationen über alles Wichtige und Interessante von ihnen sammeln, es sortieren und nach Jahr ordnen. Jedes Interview begann mit der Tatsache, dass er darum bat, das Jahr der Geschichte so genau wie möglich zu bestimmen. Aber die Interviews erwiesen sich als nicht das, was ich erwartet hatte, und das Schneiden ihrer Hände im Format „Der andere Tag“ stieg nicht an. Daher wird die Serie Geschichten in Form einer persönlichen Untersuchung erzählen. Wie es war, in welcher Reihenfolge, wie ich zu Leuten ging und was ich vor dem Interview über sie wusste. Unter den Cut-Befragungen und Protokollen die ersten Projekte auf Scala, die ersten Mitaps und die Geburt der Bewegung.
Was ist von der Untersuchung zu erwarten?
Viele Geschichten über ein persönliches Technologieformat, die irgendwie mit Scala zusammenhängen. Die meisten von ihnen beziehen sich auf 2011-2015, aber auch ein bisschen hat es geschafft, das Jahr
2008 2008 eines anderen zurückzugeben. Die ersten Projekte und die Gründe für die Wahl einer Sprache. Auch über erfolglose Projekte! Bibliotheken, Ökosystem, IDE, die ersten Mitaps in Moskau und St. Petersburg und das ist alles. Im Allgemeinen - viele Dinge, auch ohne Kotlin, wären nicht möglich gewesen.
Um ganzheitlichere Erwartungen zu formulieren, listen wir im Folgenden die Personen auf, mit denen wir kommunizieren konnten:
Roman Grebennikov ,
Roman Timushev ,
Alexander Podkhalyuzin ,
Vladimir Uspensky ,
Roman Elizarov ,
Alexey Fomkin und
Nikolai Tatarinov .
Heute werde ich Ihnen erzählen, was sie mit Roman Grebennikov und Roman Timushev gesprochen haben.
Roman Grebennikov - 2011. Voronezh Beau monde und C ++ gegen Erlang gegen Scala

Der erste
Verdächtige, zu dem ich ging, war
Roman . Ich wusste nicht viel über ihn, aber alle Beweise deuteten darauf hin, dass er schon seit einiger Zeit im Scala-Thema war. Als es für mich nicht langweilig war, zu einer Java-Konferenz zu gehen, war ich bei seinem
Vortrag . Es zeigte gleichzeitig sowohl Scala als auch Clojure, jedoch mit ausreichender Vorsicht, um das Publikum nicht zu schockieren. Ich bin auch auf Folien mit Slopokami aus dem Bericht "
Scala-Leistung für Zweifler " gestoßen. Der Bericht ist wahrscheinlich immer noch der einzige in russischer Sprache zu diesem coolen Leistungsthema.
Nachdem ich das Konzept des Artikels ungefähr beschrieben hatte, ging ich zu Roman, um ihm von der alten Scala-Bewegung zu erzählen.
Roman Grebennikov: Um ehrlich zu sein, habe ich nie versucht, der Scala-Bewegung in Russland zu folgen, weil sie im Vergleich zur ausländischen zu klein war. 2014 hatten wir in Woronesch einen Chatraum mit der gesamten Elite - 4 Personen in der ganzen Stadt, die wussten, wie man Scala benutzt. Was in Moskau und anderen Städten passiert ist, weiß ich nicht :)
- Informativ. Nach den Klassikern des Genres sollte ich in einem Interview nach den ersten Projekten und der Bekanntschaft mit der Sprache fragen.Roman Grebennikov: Irgendwann im Jahr 2011 habe ich ein Start-up mit Freunden gesehen, das überraschenderweise immer noch lebendig und profitabel ist. Das Startup befasste sich mit Kreditbewertungen auf der Grundlage öffentlicher Daten aus sozialen Netzwerken. Zuvor schrieb ich eine Dissertation mit C ++ - Code und arbeitete parallel in einem kleinen Hedgefonds - ich habe alle möglichen Strategien und algorithmischen Handel in Bare C ++ durchgeführt. Es überrascht nicht, dass das erste Prototyp-Datenerfassungssystem auch in C ++ geschrieben wurde.
Dann stellte sich heraus, dass C ++ keine ideale Sprache für Aufgaben mit Asynchronität und Verteilung ist. In einem schönen Moment des Debuggens eines 20-GB-Coredumps, nach dem nächsten Fall unserer Webspinne, kam mir die Idee, ein für unsere Aufgabe besser geeignetes Werkzeug auszuwählen und kein totes Pferd zu treten. Wir haben uns drei Ersatzkandidaten angesehen: Erlang, Java und Scala. Wir haben drei Prototypen auf mein Knie geschrieben, um die maximale Anzahl von Zapfen im Voraus zu füllen.
Erlang mochte die sehr kleine Standardbibliothek und das Ökosystem nicht. Für jeden muss eine neue Bibliothek für grundlegende Dinge erstellt werden, die fast überall verfügbar sind. Leistungsprobleme behinderten auch das Leben. In Java 2011 mochte die Verschüttung nicht die gigantische Menge an Boilerplate, die für asynchrone Anwendungen geschrieben werden musste. Aber in Scala war bis auf obskure Monaden und einen außerirdischen Skalaz alles in Ordnung mit allem. Dann wurde Akka 2.0 veröffentlicht, auf dem wir alles neu geschrieben haben. Überraschenderweise funktionieren Teile dieses Codes bis heute, obwohl ich mich 2019 nicht mit der Qualität dieses Codes rühmen würde.
In diesen Jahren war ich nicht der einzige, der in Scala in Woronesch schrieb. Für den Fan haben wir manchmal kleine Treffen arrangiert und uns alle möglichen seltsamen Dinge erzählt. Mitapas waren offen, und normalerweise kamen ein paar Javisten zu ihnen, die beim Anblick einer Art Hölle wie Parser-Kombinatoren stöhnten und stöhnten. Dann gab es einen kleinen Chatraum auf Skype, in dem dringende Probleme besprochen und ein Fan angeschaltet wurde. Jetzt ist er völlig tot, weil Telegram @scala_ru hat.
Roman Timushev - 2012. Die ersten Akka, sbt-Updates und die Geburt der Moskauer Mitaps.

Ich war noch nie in Moskauer Scala-Meetings, aber ich habe in Chatrooms und Podcasts davon gehört. Um sie herum war nur eine Person
aktiv -
Alexey Fomkin . Daher dachte ich nicht einmal, dass jemand anderes sie ausführen könnte. Es war nur ein Zufall, dass ich herausfand, dass es immer noch Leute gab, als ich nach Informationen über den ersten Mitap suchte und die Seite auf meetup.com durchblätterte. Einer von ihnen ist
Roman Timushev , Autor von
sbt-Updates .
Roman Timushev: Komm in Ordnung. Ich komme aus Nischni Nowgorod, habe in Moskau gelebt und bin jetzt nach München gezogen. Ich bin 2012 in die Scala eingetreten, als es noch Version 2.9 gab, und nur die erste Akka. Er arbeitete bei Grid Dynamics, wo wir an verteilten Systemen und Caches arbeiteten, hauptsächlich an der JVM.
Es gab eine Idee, ein neues Produkt zu erstellen. Dies ist ein Startup innerhalb des Unternehmens für die Verwaltung verteilter Systeme, die Bereitstellung und die Aktualisierung - für alles, was jetzt als DevOps bezeichnet wird. Menschen versammelten sich mit einem völlig anderen Hintergrund: JVM, .NET, Python.
Und so saßen wir da und überlegten, was wir für ein neues Produkt schreiben sollten. Wir haben Python, Scala und eine dritte Sprache ausprobiert. Wir haben Prototypen entwickelt, und Scala hat es besser gefallen, besonders nach der statischen Java-Typisierung. Deshalb haben wir uns entschlossen, darüber zu schreiben und so bin ich zu Scala gekommen.
Im Jahr 2012 war Scala mit Bibliotheken kompliziert. Der größte Teil des Ökosystems war jetzt nicht da. Es gab einen Twitter-Stack, der jedoch isoliert war und seine eigenen Merkmale aufwies.
- Es scheint, dass er immer noch so geblieben ist.Roman Timushev : Zu dieser Zeit war alles komplett da und jetzt versuchen sie irgendwie, mehr Teile mit dem Rest des Ökosystems zu vereinen. Dann gab es alle möglichen Bibliotheken für HTTP: ungefiltert, Spray, Scalaz. Es gab überhaupt keine Katzen. In der Gemeinde war alles gut.
- Niemand fluchte?Roman Timushev: Vielleicht haben sie geschworen, aber es ist nicht an die Oberfläche
gekrochen .
Dann gab es dann nur noch das erste Akka and Play. Wir haben nachgesehen und gedacht, dass Akka gut zu unserem zukünftigen System passt. Es scheint cool, keine Sperren, alles wird schnell und zuverlässig sein. Schreiben wir auf Akka und wählen Sie "Spielen".
Für einige Zeit litten wir unter dem ersten Akka - es tat weh. Ich erinnere mich noch an
Future vom ersten Akka, als eine Auszeit fest in sie eingenäht war. Standardmäßig dauerte das Timeout 5 Sekunden. Jeder Kombinator, den Sie aufrufen, schafft mit dieser Zeitüberschreitung eine neue Zukunft. Wenn Sie etwas tun möchten, das länger als 5 Sekunden dauert, dann ist alles Finita la Comedy. Es war schmerzhaft, wir haben lange gekämpft, aber dann haben wir die zweite Akka gestartet, die Zukunft erschien in Scala und das Leben wurde einfacher.
- Hatten Sie einen Händler? Dann war Akka-Cluster nicht?Roman Timushev: Es scheint mir, als wir anfingen, gab es noch keinen Cluster. Aber als er auftauchte, zogen wir ihn weiter und machten Probleme mit allen Arten von Split-Brain. Sie haben ihren Split-Brain-Resolver geschrieben, der sich irgendwie über unsere Datenbank aufgelöst hat.
In jenen Tagen verwendeten viele noch Eclipse. Es scheint, dass Eclipse damals standardmäßig die offizielle Scala-IDE war. Wir haben unser Projekt entwickelt und alle möglichen Fehler von Anfängern aufgefangen, die Akka, Scala zum ersten Mal gesehen haben, und das ist alles. Trotzdem war das Produkt erfolgreich. Von Scala gab es nur positive Eindrücke.
- Gab es eine allgemeine Regel für das Schreiben auf Eclipse?Roman Timushev: Irgendwie war es normal.
- Gab es ein eigenes Plugin?Roman Timushev: Ja, es gab ein offizielles Plugin, das gut funktioniert hat. Ich kann mich nicht erinnern, wie das IDEA-Plugin damals funktioniert hat, bin mir aber nicht sicher, ob es besser war. Eclipse war schon immer irgendwie komisch: entweder lebendig oder nicht wirklich.
Bevor ich zu Scala wechselte, schrieb ich hauptsächlich in Java. Musste mit Maven arbeiten, Gradle. Es gab überall Plugins, um Abhängigkeiten zu aktualisieren oder zumindest zu beobachten. Für Scala war dies nicht der Fall, also musste ich mein eigenes schreiben und es verwenden. Er lebt noch, die Leute benutzen es - alle sind glücklich.
Sbt-Updates können als separates Plugin verwendet werden. Es werden Abhängigkeitsaktualisierungen angezeigt. Frank Thomas fördert jetzt aktiv den
Scala-Steward . Unter der Haube hat er das gleiche Plugin, das ich einmal geschrieben habe. Abgesehen von diesem Plugin gibt es natürlich noch viel Magie, wie man Abhängigkeiten im Zoo von Dateien aktualisiert.
Einerseits verstehe ich nicht, wie Menschen ohne sie leben können. Andererseits, wenn ich in die Firma komme und hier schon auf GitHub, ist die Abhängigkeit von meinem Projekt irgendwie lustig.
- Schön?Roman Timushev: Ja, und es muss übrigens nicht zu Projekten hinzugefügt werden. Sbt-Updates müssen lokal konfiguriert werden, genau wie Abhängigkeitsgraphen usw.
- Und was ist dann mit der Bewegung passiert?Roman Timushev: Anfangs gab es zumindest in Russland wenig Bewegung. In der Firma, in der ich arbeitete, waren Geschäftsreisen in die USA weit verbreitet. Und dort im Tal gab es viel Bewegung: Veranstaltungen, Treffen, Konferenzen und alles andere. Mehrmals pro Woche war ein Scala-Mitap obligatorisch. Dort angekommen passiert dort ständig etwas, die Rückkehr ist leer. Ich überlegte, wie ich das Problem beheben könnte, und startete eine meetup.com-Seite für die Scala Moskau.
Etwa zur gleichen Zeit oder noch früher gründete Vlad Uspensky eine Facebook-Gruppe an der Scala in Moskau. Die ersten Treffen wurden von Vlad organisiert. Irgendwie kamen sie an der gesamten Community vorbei und erschienen nachträglich beim Treffen. Dem Foto nach zu urteilen, waren 25 Personen dort.
Und dann war da noch der nächste, schon echte Mitap im Tinkoff-Büro, der ebenfalls von Vlad organisiert wurde. 50 Personen wurden registriert, es gab einige interessante Berichte.
Später erschien dank Mischa eine zweite Plattform - das Forschungsinstitut „Voskhod“. Ich kann mich nicht erinnern, warum das Voskhod Scientific Research Institute etwas an der Scala unternommen hat, aber sie waren daran interessiert, die Community zu entwickeln und Treffen zu organisieren.
- Und wo fand die gesamte Kommunikation statt? Auf Facebook oder gab es eine Art Chatroom?Roman Timushev: Ja, es gab eine Gruppe auf Facebook. aber nicht sehr aktiv. In regelmäßigen Abständen gab es Post-Informationen über Mitaps, es gab kleine Diskussionen. Es gab auch eine Gruppe über Skype - es gab immer einige Holivars. Telegramm wurde noch nicht.
Die Treffen waren nicht sehr regelmäßig - alle hatten Arbeit, Geschäftsreisen, Geschäft. Dann ging Vlad in die USA, ich nach Deutschland, und alles war fast verbogen. Daher freue ich mich sehr, dass eine neue Bewegung entsteht, dass Sie eine Scala-Konferenz organisieren.
- Wie gefällt es dir in Deutschland?Roman Timushev: Ich bin in München, es gibt eine gute und ziemlich viele Scala. Wir schreiben auch Projekte auf Scala. Ich habe ein Haustierprojekt auf Haskell, aber bei der Arbeit meistens Scala.
- Sie schreiben seit fast 10 Jahren über Scala. Wirst du mit dem Haskalator zum Ende kommen?Roman Timushev: Das eine greift nicht in das andere ein. Ich war einige Zeit in Haskell, aber jetzt mag ich es als Sprache. Es gibt einige Dinge, die ich in Scala allmählich vermisse. Aber Scala hat auch etwas, das in Haskell schwieriger zu tun ist. Es ist gut, wenn es eine Wahl gibt und jeder findet, was für sein Unternehmen am besten geeignet ist.
- Bist du immer noch zufrieden mit der Sprache? Wie siehst du Scala 3 aus, hast du Angst?Roman Timushev: Ich habe gemischte Gefühle. Als ich zu Scala kam, war ich sehr beeindruckt davon, wie eine sehr kleine Anzahl von Konzepten es geschafft hat, so viele verschiedene coole Features zu erstellen. Es schien mir, dass Scala ein gutes Beispiel dafür ist, wie mit drei Grundkonzepten fast die gesamte Vielfalt implementiert werden kann: Typklassen, Erweiterungsmethoden. Es kam mir cool vor und es ist schade, dass es in der dritten Scala geht.
Auf der praktischen Seite wird es einfacher sein, Menschen zu erziehen, und die Eingabe der Sprache wird auch einfacher sein. Vielleicht wird es in Scala eine einheitlichere Schrift geben, und das ist auch ein Plus. Kommt Zeit, kommt Rat. Ich bin sicher, dass die Entwickler von Scala darüber nachgedacht und es aus einem bestimmten Grund verraten haben.
- Ich wollte auch fragen. Gab es damals einen Nudelholz in Tinkoff oder nicht?Roman Timushev: Scala war damals schon in Tinkov. Ich kann nicht für ganz Tinkoff sagen, aber es gab einige Entwickler, die über Scala schreiben. Sprechen Sie mit Vlad darüber - er wird viel mehr erzählen können, da er dort gearbeitet hat.
Dies ist der erste Teil einer „Untersuchung“ über die russische Scala-Bewegung. Die Detektivgeschichte endete nicht dort. In der nächsten Serie: Bekanntschaft mit Vlad und einem neuen unerwarteten Verdächtigen, mit dem ein Interview für den gesamten nächsten Artikel geführt wird. Bleiben Sie dran, damit Sie nichts verpassen.
Wenn Sie der Geschichte der Scala-Bewegung neue Facetten hinzufügen oder Ihre Nutzungserfahrungen mitteilen möchten, reichen Sie Berichte ein . Die Feed-Frist beträgt 29 Tage. 6 Tage vor dem nächsten Termin für Preiserhöhungen - buchen Sie Ihre Tickets .