Last week, I had the pleasure to present at DevConTLV for the 3rd time. It a great conferance that bring to Tel Aviv some rock-stars from companies like: Github, CouchDB, Amazon and many others. The location (Ozen Bar) is a cool place where you can hear live music during the nights and drink good coffee during the mornings. So it is a natural location to such an event. Ahh… and yep, the opening of the day was done with a live rock band! (just like JSConf).
Few thoughts I’ve wrote down out of @damienkatz (great) talk about new languages and why developers choose a language for a new project.
- Productivity – how can we make it productive (who said erlang?) Or how can I mimik the effect to taking my ‘old’ Java code and move much faster with a smaller code size? How can you make it better to specific tasks? As we know we can’t have one tool/lang to role them all. It’s important to choose the right tool for the job. Easy to say hard to do.
- Performance – We know not to focus/worry about it at the start of the process. However, there are projects that are based on the fact that they must work fast (e.g. Chrome, web servers, DBs etc’).
In #DartLang case:
1. Dart2js – it should do things faster and better then the current status of JS.
2. In a world where Dart VM is ‘standard’ (or at least in Chrome) we are in a good place where things will run faster but the need for #1 will stay.
- Reliability – How debugable is the language? I don’t mean here to focus on the debugger… but more on how ‘perdictabile’ the language is… or in other words, Do we have many ‘Java puzzels‘?
I know lots of people don’t like PHP but in that aspect, this language is a good choice. It is running on a certain task and then shut down and let the OS recover. Unlike, many threads that keep running in the background of the JVM.
- Portability – How many platforms can language X support? Remember the 90′ and Java… Well, we live today in different world. It seems that the web won and the one platform that role on that aspect is the web and HTML5 as its API.
- Community – We want to gain developers from the front-end world (JS) and the backend world (JAVA). In many cases, this is the real power of a platform. Frameworks, libraries, components, widgets, tools are all coming from the community. The open source community showed its power again and again (e.g JS, Ruby, Linux etc’)
- What you already know… This is not the best reason, but lots of developers go with this first. How can we make them test a new/better tool? (who said Scala?)
Btw, My talk was about HTML5 APIs and Google Cloud Endpoints (that came out of the trusted-tester mode). The main topics that I covered:
- Mobile App Engine Backends using Google Cloud Endpoints
- Defining the modern web app
- HTML5 Power tools/APIs: Offline, MV* frameworks, CSS3 grids, Web Workers, File APIs etc’.
- DevTools Tips
Here is the video of the talk: