Simon Willison’s Weblog

79 items tagged “java”

Are traditional web frameworks and languages like RubyOnRail, Spring Boot and PHP dying now when new fast reactive pure JavaScript frameworks and services like Meteor, Node, Angular 2.0 and Firebase are breaking ground?


[... 40 words]

Why doesn’t Google use their resources to improve coding languages?

Google invest vast resources in to language improvements, and have been doing so for over a decade now. Just off the top of my head...

[... 184 words]

Does it still make sense to become a Java developer, or should I migrate to PHP or .NET?

It sounds like you need to expand your horizons a little further. The best programmers I know these days aren’t working solely in Java, PHP or .NET—they may use one those languages, but they’ll also be getting stuck in to dynamic languages such as Python, Ruby, JavaScript or Scala.

[... 222 words]

What is the easiest server-side platform for Android Java developers to learn?

Take a look at the Play framework—last time I looked (a couple of years ago) it seemed to be the most instant productive and sane way of doing server-side Java.

[... 50 words]

Can Scala gain wider usage than Java any time soon?

No, because Scala is harder to master than Java.

[... 54 words]

Where can I find great Java/Scala developers in London?

There are quite a few Scala events in London—here are the ones we know about at the moment:

[... 83 words]

Which web frameworks should I focus on to make myself the most well rounded and to be able to solve the most problems as a web application developer/architect?

Being an expert web developer isn’t about which framework you know, it’s about the fundamentals. It’s important that you know how the tools you are using work, so you can fix things when they break—Joel Spolsky’s law of leaky abstractions is a great essay about this:

[... 260 words]

What are the most practical beneficials for Python, comparing to Java?

For me, the single most productive advantage of Python is the ability to work with it interactively in a REPL—I use ipython but Python also ships with an interactive mode out of the box.

[... 176 words]

There is plenty of evidence in the ecosystem to support the hypothesis that, if given the tools to do so easily, object-oriented programmers are ready to embrace functional techniques (such as immutability) and work them into an object-oriented view of the world, and will write better, less error-prone code as a result. Simply put, we believe the best thing we can do for Java developers is to give them a gentle push towards a more functional style of programming.

Brian Goetz # 19th August 2011, 12:20 pm

Why does Java encourage over-engineering?

I suggest reading “Execution in the Kingdom of Nouns”

[... 22 words]

Why is Java perceived as not cool for startups? We seem to be getting a lot of feedback lately that a startup should be using Ruby on Rails, PHP, Python, etc., if they want to be agile and iterate quickly.

You should re-evaluate your beliefs. Dynamic language programmers spend a great deal of time thinking about code quality and maintainability. TDD (and BDD), which I believe was first popularised within the Ruby community) are extremely widespread, and profiling and debugging tools are widely used and constantly improved. A strong test suite provides far more effective protection against bugs than static typing and an IDE.

[... 152 words]

What are the main weaknesses of Java as a programming language?

A cultural bias towards over-engineering. In my experience Java code often ends up a huge network of Factories and AbstractFactories and Visitors and XML configuration files and every design pattern you care to mention, dozens of classes many of which contain hardly any procedural code at all. A lot of Java projects are essentially impossible to navigate without an IDE.

[... 77 words]

Why don’t more people use Google Web Toolkit for web development as opposed to scripting alternatives like JavaScript?

I’m morally opposed to GWT, because I don’t believe in building sites or applications that are entirely dependent on JavaScript to function. As someone who took the time to learn JavaScript, I’m also not at all convinced that Java is a more productive language.

[... 68 words]

Creating Shazam in Java. Using a Fast Fourier Transformation. # 22nd September 2010, 9:39 pm

We all think of Java as a boring server-side language now, but the initial idea behind Java was that software developers could write applications in Java rather than writing them for Windows, and that those applications would work everywhere, thus defanging Microsoft’s desktop OS monopoly. Microsoft took various steps to prevent that from happening, but they lacked a tool like App Store that would enable them to just ban Java. Apple has that card to play, so they’re playing it.

Rafe Colburn # 10th April 2010, 6:42 pm

ElasticSearch: Your Data, Your Search. A neat example of how ElasticSearch’s schemaless indexes and native JSON support make it ridiculously easy to index different types of data and run queries across them. # 12th February 2010, 3:22 pm

Elastic Search (via) Solr has competition! Like Solr, Elastic Search provides a RESTful JSON HTTP interface to Lucene. The focus here is on distribution, auto-sharding and high availability. It’s even easier to get started with than Solr, partly due to the focus on providing a schema-less document store, but it’s currently missing out on a bunch of useful Solr features (a web interface and faceting are the two that stand out). The high availability features look particularly interesting. UPDATE: I was incorrect, basic faceted queries are already supported. # 11th February 2010, 6:33 pm

Glitch is built in an entirely new and different way for a game. The back end (java at the lowest level, with game logic scripted in Javascript) is designed for maximum flexibility and ease of deployment. That means we’ll be able to push new content — new items, new places, new characters — on a daily basis. It also means that we’ll have lots of APIs with which the game can be expanded and extended.

Glitch # 10th February 2010, 11:40 am

twitter-text-conformance (via) This is a neat idea: Twitter have released open source libraries for parsing standard tweet syntax in Ruby and Java, but they’ve also released a set of YAML unit tests aimed at anyone who wants to implement the same parsing logic in other languages. # 6th February 2010, 3:39 pm

Plurk: Instant conversations using Comet (via) Plurk’s comet implementation sounds pretty amazing. They’re using a single quad-core server with 32GB of RAM running 8 Node.js instances to serve long-polled comet to 100,000+ simultaneous users. They switched to Node from Java JBoss/Netty and found the new solution used 10 times less memory. # 1st February 2010, 10:13 am

Frank Wierzbicki: Leaving Sun. Frank performed miracles at Sun and before, helping bring the Jython project out of stasis and turning it in to an active, community maintained modern Python implementation. If you’re looking for an expert Python/Java/Dynamic languages guy you should snap him up. # 4th November 2009, 10:33 pm

Play framework for Java. I’m genuinely impressed by this—it’s a full stack web framework for Java that actually does feel a lot like Django or Rails. Best feature: code changes are automatically detected and reloaded by the development web server, giving you the same save-and-refresh workflow you get in Django (no need to compile and redeploy to try out your latest changes). # 25th October 2009, 11:21 pm

Introducing Cloudera Desktop. It’s a GUI for Hadoop, and under the hood is a whole stack of open source software, including Python, Django, MooTools, Twisted, lxml, CherryPy, Mako, Java and AspectJ. # 21st October 2009, 6:48 pm

And so it goes, around again. Charles Miller on Java, pointing out that if you don’t have closures and first-class functions you end up having to add band-aid solutions and special case syntactic sugar. Python’s lack of multi-line lambdas leads to a similar (though less pronounced) effect. # 3rd September 2009, 9:46 am

Scriptlets—Quick web scripts (via) From the prolific Jeff Lindsay, a pastebin-style tool for short server-side scripts written in Python, JavaScript or PHP that executes them within a Google App Engine powered sandbox. The Java code that implements the service is available on GitHub. # 13th August 2009, 1:51 pm

Jython 2.5.0 Final is out! It’s been a long time coming—congratulations to the team. # 16th June 2009, 11:21 pm

Critical Mac OS X Java Vulnerabilities. There’s a five month old Java arbitrary code execution vulnerability which hasn’t yet been patched by Apple. Disable Java applets in your browser until it’s fixed, or random web pages could execute commands on your machine as your user account. # 19th May 2009, 7:07 pm

oauth-signpost. The Qype API uses OAuth to sign client requests with the developer’s API key, so it’s not surprising to see them release a Java OAuth signing library compatible with Google’s Android mobile platform. # 7th May 2009, 7:33 am

Using Scala with Google App Engine. Scala works, but I haven’t seen confirmation on actors yet (which are likely to break due to their dependency on threads). # 11th April 2009, 3:28 pm

Dynamic languages on Google App Engine—an overview. Ola Bini’s notes on exploring the new Java support for App Engine with the aim of getting JVM dynamic languages such as JRuby running. Restrictions include a complete lack of threads (which will make it hard to get Scala up and running), but JRuby trunk now works without modification. # 8th April 2009, 2:08 pm