<story><title>The myth of using Scala as a better Java</title><url>http://appliedscala.com/blog/2017/myth-of-scala-as-better-java/</url></story><parent_chain><item><author>agentgt</author><text>Please give better examples:&lt;p&gt;&amp;gt; Anyway, after trying to configure stuff like Kafka, Zookeeper and Maven and setting up a SOAP API, I saw that the problem with Java isn&amp;#x27;t the language&lt;p&gt;* Kafka: is written in Scala. It doesn&amp;#x27;t use XML.&lt;p&gt;* Zookeeper: it was the first of its kind. It doesn&amp;#x27;t use XML.&lt;p&gt;* Maven: same complexity as SBT, Gradle, etc... but it is declarative and again pretty much first of its kind (dependency management + build).&lt;p&gt;* SOAP: this is not Java&amp;#x27;s fault (if anything Microsoft was the big pusher)&lt;p&gt;* XML: jesus will people stop the XML is complex and hard thing. YAML is so much more complicated and harder to parse. I know it is easy to read on the eyes but its harder to parse and has more edge cases. XML is still one of the few languages you can parse and manipulate and preserve comments and whitespace.&lt;p&gt;The XML thing is the dumbest thing. Developers write hundreds of lines of XML all the time... its called HTML (pedantically HTML5 is even more complicated since it allows SGML and XML style). But for some reason when people have to write a build or config file that they are rarely going to have to edit their fingers, eyes, and brains revolt at the &lt;i&gt;complexity&lt;/i&gt;.&lt;p&gt;Scala also has some massively complicated libraries like Akka.
Ruby has Rails. When languages&amp;#x2F;libraries get mature they get complicated and the languages warts show more and more.&lt;p&gt;I expect we will see the same thing even with modern languages like Go and Rust.</text></item><item><author>k__</author><text>2009 I sucked it up too.&lt;p&gt;&amp;quot;Hey Java is pretty much shit and here is this new better language called Scala, which you can use with your Java ecosystem!&amp;quot;&lt;p&gt;And I was hyped!&lt;p&gt;But, well then I saw the actual Java ecosystem...&lt;p&gt;Java itself is a pretty clunky language, especially for people like me, who did scripting language programming all the time and are probably not considered Real-Developers-TM to the Java folk. So the ideas of Scala resonated with me pretty much.&lt;p&gt;Anyway, after trying to configure stuff like Kafka, Zookeeper and Maven and setting up a SOAP API, I saw that the problem with Java isn&amp;#x27;t the language. Yes it&amp;#x27;s ugly, but JavaScript is ugly too, well even Python has its ugly parts. The problem also isn&amp;#x27;t performance, like so many C devs cry about daily. The problem seems to be that Java devs like to create things more complex than they need to be. Conglomerates of XML files, layers on layers on layers... I just don&amp;#x27;t know anymore.&lt;p&gt;I didn&amp;#x27;t use Scala for long and it wasn&amp;#x27;t because it failed me, it did, it brought its own complexity with implicit conversions and overloaded operators etc. but that wasn&amp;#x27;t the reason, it was the ecosystem which usage Scala enabled, the ecosystem that felt like it was still stuck in pre 2000. :\</text></item></parent_chain><comment><author>cle</author><text>The problem with Java+XML isn&amp;#x27;t XML itself, it&amp;#x27;s that the Java community for a long time was pushing more and more critical code into XML, because doing non-trivial dynamic things in Java itself can be a huge pain.  And so over time, enterprise Java apps became giant balls of XML+Java that would break at runtime if you missed an XML parameter or had a stray character somewhere.  At that point, what benefit are you getting from Java&amp;#x27;s static typing?  You lose much of the benefits of Java, and suffer twice as much from its drawbacks.&lt;p&gt;This is slightly better with the push away from XML and toward annotations, but it&amp;#x27;s not much better.  Your program&amp;#x27;s behavior still depends on tagging the right language constructs with the right magic tags, which is a horrible way to program IMO.</text></comment>
<story><title>The myth of using Scala as a better Java</title><url>http://appliedscala.com/blog/2017/myth-of-scala-as-better-java/</url></story><parent_chain><item><author>agentgt</author><text>Please give better examples:&lt;p&gt;&amp;gt; Anyway, after trying to configure stuff like Kafka, Zookeeper and Maven and setting up a SOAP API, I saw that the problem with Java isn&amp;#x27;t the language&lt;p&gt;* Kafka: is written in Scala. It doesn&amp;#x27;t use XML.&lt;p&gt;* Zookeeper: it was the first of its kind. It doesn&amp;#x27;t use XML.&lt;p&gt;* Maven: same complexity as SBT, Gradle, etc... but it is declarative and again pretty much first of its kind (dependency management + build).&lt;p&gt;* SOAP: this is not Java&amp;#x27;s fault (if anything Microsoft was the big pusher)&lt;p&gt;* XML: jesus will people stop the XML is complex and hard thing. YAML is so much more complicated and harder to parse. I know it is easy to read on the eyes but its harder to parse and has more edge cases. XML is still one of the few languages you can parse and manipulate and preserve comments and whitespace.&lt;p&gt;The XML thing is the dumbest thing. Developers write hundreds of lines of XML all the time... its called HTML (pedantically HTML5 is even more complicated since it allows SGML and XML style). But for some reason when people have to write a build or config file that they are rarely going to have to edit their fingers, eyes, and brains revolt at the &lt;i&gt;complexity&lt;/i&gt;.&lt;p&gt;Scala also has some massively complicated libraries like Akka.
Ruby has Rails. When languages&amp;#x2F;libraries get mature they get complicated and the languages warts show more and more.&lt;p&gt;I expect we will see the same thing even with modern languages like Go and Rust.</text></item><item><author>k__</author><text>2009 I sucked it up too.&lt;p&gt;&amp;quot;Hey Java is pretty much shit and here is this new better language called Scala, which you can use with your Java ecosystem!&amp;quot;&lt;p&gt;And I was hyped!&lt;p&gt;But, well then I saw the actual Java ecosystem...&lt;p&gt;Java itself is a pretty clunky language, especially for people like me, who did scripting language programming all the time and are probably not considered Real-Developers-TM to the Java folk. So the ideas of Scala resonated with me pretty much.&lt;p&gt;Anyway, after trying to configure stuff like Kafka, Zookeeper and Maven and setting up a SOAP API, I saw that the problem with Java isn&amp;#x27;t the language. Yes it&amp;#x27;s ugly, but JavaScript is ugly too, well even Python has its ugly parts. The problem also isn&amp;#x27;t performance, like so many C devs cry about daily. The problem seems to be that Java devs like to create things more complex than they need to be. Conglomerates of XML files, layers on layers on layers... I just don&amp;#x27;t know anymore.&lt;p&gt;I didn&amp;#x27;t use Scala for long and it wasn&amp;#x27;t because it failed me, it did, it brought its own complexity with implicit conversions and overloaded operators etc. but that wasn&amp;#x27;t the reason, it was the ecosystem which usage Scala enabled, the ecosystem that felt like it was still stuck in pre 2000. :\</text></item></parent_chain><comment><author>rco8786</author><text>Agreed up until the XML bit.  It&amp;#x27;s not &amp;quot;XML vs YAML&amp;quot;, it&amp;#x27;s &amp;quot;Why do you need all this static markup at all?&amp;quot;.</text></comment>