Monday, July 26, 2010

Busy week

To all who reads my blog, sorry this few weeks I am abit busy, last week my little daughter (10mths) had an operation on her hand so I might not really have that much time to write much. But I will still keep up the Link of the Week post. I promise to be back soon.

LOTW - 26 Jul

The Future of C# Anders Hejlsberg talks about the future of the C# programming languages, its interesting on how C# 4 is moving to be more dynamic in nature, great integration with other languages, towards the end he showed how C# 4 can be executed in a REPL environment. No dates were set for C# 4.0 but it looks interesting.


UXMyths They collect the most common misconceptions about User Experience and Prove why its not true. I think all developers think about the User Experience when designing their software.



An introduction to Hadoop If you don't know what Hadoop is. check out this intro to it.

30+ HTML 5 techniques and examples 


Tuesday, July 20, 2010

LOTW - 19 JUL

CSS Zen Garden See what the happens when different CSS are applied on a page

The real life of social networks - Insightful research on how people use social networks. If you are building social networking apps, you should take a good look at this.

Google App Inventor -  Write android programs without knowing programming.

Doing some reseach on what are the popular languages, some lists below about language popularity
Transparent Language Popularity Index
Tiobe Community Programming Index
Languages uses in Github

Chron the Time traveling debugger (Java) ! A debugger that records all the steps that your program takes so that you can "go back" in time and playback how your program was executing.

Thats all for this week, till next time

Thursday, July 15, 2010

Popularity of programming languages

There are several programming languages popularity index, the more “famous” is probably the TIOBE Programming Community index which is mostly based on search results, there are also other like langpop.com (also search based) and Github which looks at kind of code is being checked in.

What happens when we put the results of these together. I took the top 10 languages and this is what i get.

Among the Top 10 we can seee that all of the indexes agree that Php, Java, Perl, C, C++, Javascript and python are the ones that still popular. The interesting thing is Ruby, its the most popular language in GitHub accounting for over 19% of all code but in Langpop and TIOBE indexes its not even in the top 10 (TIOBE 12 place, Langpop 12 place). In fact in the TIOBE index for Ruby shows a decline from 2009 to 2010. We can also see that scripting/dynamic languages are slightly ahead compare with the compiled ones (4 scripting/dynamic to 3 compiled/static).


Lets take a look at only the Top 5 from each index. This is what we get. The reason for more entries for GitHub is because for PHP and C they share the same percentage of use.



All the languages that are in the Top 10 all tend have a rich set of libraries and frameworks. The popularity of Java could be tied to the fact that most enterprises used it. PHP is perhaps  the most popular web programming language out there with great frameworks, easy deployment, Wikipedia, Facebook all uses it. Most of the services provided by Google, yahoo all have some form of a PHP library. Well for C and C++, i guess would be games, kernal programming. C# is perhaps the only language that is tied to a specific OS in all the languages featured here, yes I know about Mono but Microsoft .Net provides some much more than what Mono provides for Linux.

The GitHub data is interesting though since I am guessing that most of the projects there are stuff that people do outside of their regular jobs, that’s why we are seeing dynamic languages on that side of the sphere since they have lower overheads in programming, most have a edit and run compare to a edit, compile, build, run kind of programming cycle. So they are great for trying stuff out. I see the data as representative of my own personal work, at work I mainly use Java, C# but in my own personal projects, I use Python and PHP.

What about you guys, Are these languages in your skill set? What do you think of the results? Any other indexes that I should compare?

I am going to do this one year later and see how much the data has changed. Perhaps we will see the rise of functional languages?



Wednesday, July 14, 2010

Lost all my comments !

Something bad happened. I configured my domainname to use blogger's/google's name-servers so that I am not doing a redirect from my domain name.

Next when i looked around my page, the comments from my blogs are gone! They are all 0 now. Wondered what happened. All my posts seems ok, just that all the comments are gone now.

Monday, July 12, 2010

Links of the week - Jul 12

Starting a new Links of the week (LOTW) posts. Everyweek there are so many interesting things out there. These are the few for this week.

"Never Use $_GET Again" http://dzone.com/v5On

Videos from NDC 2010 avaliable on torrent, relive 121 sessions!

From YDN Performance testing with Boomerang

Why Undergraduates Should Learn the Principles of Programming Languages

Monday, July 5, 2010

Thanks Jurgen - NOOP.NL

Thanks to Jurgen I now have nice RSS and Twitter icons that I put at the bottom of my posts. If you are interested in his nicely drawn icons you can get them from here. His blog has lots of interesting stuff on his blog that you should checkout if you are interested in software engineering and management.

Tools i use as a Java EE/Web developer

NetBeans
Okies this is probably not a tool but this is the IDE that I use on a daily basis when I work with Java. Nice integration with the Spring framework which is what I use on a daily basis. Particularly liked the ability to start stop servers, connect and view databases.


SoapUI
Great for testing your SOAP based webservices, have lots of integration to allow you to generate stubs for JAX-WS,AXIS 1,2 and even .NET.


Firebug
Not just great for debugging your javascript, also useful if you want to check out what CSS is being used by which components, you can even change CSS on the fly to see what the changes would look like.


Y!Slow
Analyses your web pages against a set of rules and suggest ways that you can improve your web page’s speed.


Dynatrace Ajax Edition
This has been something that Dynatrace keeps improving and best of all they are giving it for free. Track your web page performance, see where your bottlenecks are, In the new version they even can turn Selenium tests into performance tests.


Selenium
Great Web testing framework, run your tests across many browsers, you can even distribute your tests across many servers. If you haven found a tool for Web UI testing this is it. Look no further.


Paros
Primarily used as a tool for security assessment,  invaluable for actually knowing what data is sent (cookies, http headers, POST/GET data strings) back and forth from your client (either browser or application) to your server. You can also use it for changing the data and see if your application is vulnerable to common attacks. 


If you don’t know things like Sql Injection or Cross site scripting as developer it’s time to start reading OWASP Top 10 list and Building Secure Software.


Notepad++
One of the best and free notepad replacement’s around. Has syntax highlighting, integration with Windows Explorer, indenting and lots of plugins to extend functionality.


Ant and Apache IVY
2 Main tools that I use for writing build scripts and managing dependencies.


VirtualBox
Useful for creating different configurations as well as running linux on my Windows development machine.

Any other useful tool that you use on a regular basis? Post it in the comments below, love to find other useful tools that you guys/gals are using.


Thursday, July 1, 2010

Java 4 Ever Trailer - Java Zone 2010

Brillant trailer for JavaZone 2010, reminds me of the VMWare virtualised hardware hotel video. Hope to see more conferences having such creative promotional videos.Anyway I am more of a Java guy than a .Net guy :)



Below: The Vmware video I was talking about.


What other interesting videos have you seen? Post in the comments

Link:
JavaZone 2010 Trailer page