Microsoft Roslyn: New Type of Compilers

Microsoft has presented an interesting project named Roslyn. Within the framework of this project, all the concept of compilers and compilable programming languages itself has been reconsidered. Apart from the realization of completely new functions, such as .NET-tools, C#, Visual Basic and the Visual Studio development environment, the Roslyn project offers the completely new concept ‘compiler as a service’, laying a road to the .NET platform to the most promising area – into clouds.

Once Microsoft gave many professional software developers the hope for well-off and predictable future, having moved the development of its own and third party technologies on the .NET development platform. So far, the Visual Studio development environment and the .NET platform are the most popular and convenient development tools, having adopted the best features of java technologies and having made some important steps ahead. When Microsoft presented the new development tools for writing apps with the help of JavaScript and HTML5, many software development companies started to worry that the .Net development had been folded up. However, the reality has exceeded all expectations – the presented project Roslyn has proved that the .NET platform has exciting future.

The Roslyn technology can be described as ‘compilation by request through the providing service’, although this description is a bit complicated. Technically, the new technology is not a service in comparison with such cloud solutions as SaaS (Software-as-a-Service) or PaaS (Platform-as-a-Service). The Roslyn technology is more similar to the Windows system services that offer completely new principles of compiling .NET applications – each phase of compilation is presented in the form of service that can be requested by other applications.

Usual compilers throw away all intermediate data while getting ready-made files and in Roslyn compilers all intermediate data is available via standard .NET API-interfaces. For example, the request to one single API will retrieve the whole syntax tree for the given code fragment in the form of an object. The request to another API can return the number of methods in code.

So far, one can’t predict how soon the Roslyn technology will find its place among standard development tools  – now only the trial version for C# and Visual Basic is available.

Top 10 Most Welcomed IT Professions 2012

Despite the doubts in stability of the American economy in 2012, the research has showed that American companies are going to expand their IT staff. Analytics have found out what IT professions will be called for. The results of the annual research organized by Computerworld showed that 29% out of 353 IT-executive managers are planning to increase the number of their departments by the summer 2012.

‘The demand for IT-specialists in companies of all types and sizes is constantly growing’, says Mike McBrierty, the executive director of one of the biggest recruiting agencies the Eliassen Group. Moreover, according to his own words, the companies are planning to update the infrastructure and restart the realization of the projects postponed for the last 3 years.

As Computerworld claims, in 2012 the directors of IT departments have set teeth for implementing innovations and that’s why the most relevant for future employees will be the following nine main skills.

•    web and mobile application development skills
•    project management skills
•    technical support and maintenance skills
•    network technologies skills
•    business analysis skills
•    Web 2.0 technologies skills – more and more companies are planning to implement these technologies and the demand for php/java/.net software developers won’t decrease in 2012. Also there will be a big demand for Ajax GWT professional web developers as well as the specialists in .Net, PHP, HTML, XML, CSS, Flash and Javascript.

New Java 7 Released

On July 28 Oracle announced the release of the Java Platform Standard Edition 7 (Java SE 7). That’s the first release of the Java platform since the time when the control over the platform development moved from the Sun Corporation to Oracle.

Java SE 7 is the first big Java release for the last five years. The release is the teamwork of Oracle engineers and also the global community of Java developers who participated in the development of the platform within the OpenJDK community. In the process of development 9,494 bugs were fixed, 1,966 updates were introduced, 9,018 package corrections were released, 147 installations were performed and 4 requests for Java (JSR) specification were sent.

Java SE 7 includes the changes aimed at improving the platform efficiency and simplifying routine tasks of a programmer. Some efforts were also undertaken to make standard operations require less code and the language syntax be more transparent, which enables easy listings reading. Also the release presents the improved efficiency of the dynamic programming languages working on JVM, such as Ruby, Groovy, Python and JavaScript. The new interface for developing applications for multinuclear systems enables the breakdown of the tasks for concurrent processing between any numbers of processor’s nucleus.

Now Java developers, interested in the new language version, can start working with Java SE 7. The popular integrated development environments (IDE), such as NetBeans 7.0, IntelliJ IDEA 10.5 or Eclipse Indigo with the Java SE 7 plug-in, already supports new Java features. By the end of the year, the JDK 7 support will have been realized in the Oracle JDeveloper environment.

According to Oracle, there are about nine million java software developers in the world. The number of platform downloads is about one billion a year and the number of devices working with Java exceeds 2 billion.

Attacks on Java become more and more popular

Recently online hackers have been trying to distribute the harmful code through the gaps in the Java security system. Such conclusion has been made by the experts from the security laboratory of the G Data company, having analyzed the Top 10 harmful programs. Earlier the weak points in PDF constituted the highest danger, now they have been replaced by the Java exploits. Among the ten most popular viruses of October 2010, five ones concern the vulnerabilities of Java.

Among the possible reasons of such dominations are the gaps in Java security issues, reported the experts. Moreover, the process of production and distribution of the harmful code has become much simple in comparison with the other forms of infecting.

Experts in the sphere of application security recommend users to install the high productive security solution as well as update regularly the installed operation system, browsers and their components. It’s also necessary to use on your PC only the latest versions of applications.

Web and mobile application developers are concerned about developing secure applications and the issue of security is very acute for software development companies.

The significant increase in productivity for Java-applications development

The Engine Yard Company has introduced a new version of its platform called JRuby 1.5. The new version empowers extension of Java-based applications using the popular Ruby language. In particular, the JRuby technology allows quick development of new interfaces for Java-applications to work in SOA (Service-Oriented Architecture) and WOA (Web Service Architecture). JRuby is an implementation of the Ruby development platform for Java. The language JRuby allows you to write only 20% of code compared to traditional Java applications development. It has a good integration with the most popular components of Java platform (integration with the core Java libraries, etc.). Moreover the JRuby 1.5 platform provides more efficient use of memory and processor.

During the five last months (the period of JRuby 1.5 development) about 30 volunteers made more than 1000 edits to improve the code. In fact, the main advantage of JRuby is the significant increase in productivity in the development of Java-based applications. In particular, java developers can now deploy Ruby code on the same server, using the same library as for the previous Java-based applications, but Ruby is fully integrated with the already working code and Java-applications using RIA development.

How RIA can give freedom of rapid application development

Professional portal development demands special knowledge of Flash, JavaScript, Java-applets and ActiveX-components. All these technologies are not supposed to complicate your life. But sometimes it’s not so easy to enrich user experience going beyond traditional tasks and at the same time ensure great results in a short space of time. On this point Rich Internet Application and RIA development offers revolutionary possibilities that combined in a single runtime environment.

What does it mean for users? It means “all in one” or integration of content, communications, user interface and a set of custom components and. Of course, all these units work in real time.

What does RIA mean for programmers? First and foremost it opens doors to Rapid Application Development or RAD. Developers use advantages of Ajax GWT programming and in the shortest possible time create new web portals based on reusable program components.

Beyond question, web is a dynamic, vibrant platform, where it is very important to reduce the time from birth of new ideas to their realization. That is why such RIA components as Ajax Toolkit will be in great demand. They allow to make fast and easy changes in new applications, giving developers what they want at this very moment for this very project.

Microsoft adds new features in Eclipse for PHP and Java developers

Eclipse Summit that was organized in Germany brought fresh news: Microsoft together with its partners Tasktop and Soyatec are going to release a range of tools and updates for Eclipse.

  • Eclipse will support Windows 7 and all its new interface functions;
  • Eclipse Standard Widget Toolkit (SWT) will be expanded to work with new features in Windows 7 and Windows Server 2008 R2;
  • The open source tools Windows Azure Tools for Eclipse will be available for PHP developers;
  • The open source Windows Azure Software Developer Kit (SDK) will be available for Java developers;
  • The Eclipse Tools plug-in will be available for Silverlight.

So, Windows Azure SDK for Java allows leveraging Azure storage service while developing Java applications. Its logical architecture is quite simple:
It is reported that according to the voting (see The Open Source Developer Report 2009 based on Eclipse Community Survey), conducted among Eclipse users, more than 64% are using it in Windows OS. It’s obvious that PHP and Java programmers will appreciate this significant commitment from Microsoft.

Top Web Trends in 2009. Structured information on the Internet

This year Tim Berners-Lee said that the Internet is becoming more  informational and now we are using information from the Internet  rather more often than documents and files as it was before. W3C, the  organization, which Tim Berners-Lee heads, supports two major  initiatives that focused on making the Internet more informational:  Semantic Web and the recent Linked Data.

Over the past few years we have seen some interesting examples of how  to structure data and provide the possibility to use it. The best  example of it is Twitter, which API is responsible for 90% of the  service activity, thanks to third-party applications, of course.

The basic principle of the informational Internet formulated by Alex Iskold has not changed: Unstructured information will be structured  and it will open the way to more reasonable use of the Internet. Web
application developers
should remember this rule and provide only  easy-to-use and convenient applications to manage company  documentation, processes, and workflows. Companies, on the other hand,
should choose developers who offer only custom web application  programming services with easy content management.

How to learn any new programming language faster then ever

It’s always difficult to learn something new. Nevertheless, there are some techniques and tricks that can be very helpful for beginners who want to become Java, .Net, php, flash programmers, etc. So using them you can learn any new language easier, faster and more efficiently:

Set your time commitments

Don’t think that you can learn a new language, giving it only half an hour every day. It’s much better (more productive) to read textbooks devoting the whole day to this activity (better 1-2 days a week then 30 min a day).

Use cribs
Cribs may be more valuable than it might seem at the first glance. Writing cribs is one of the most useful methods of learning (they are not only reminders, but also your samples and tips).

Collect all the necessary material
There are many resources for any programming language: Flash and Flex, AJAX, coding for mobile applications and others. Some of them are very good, others are not. Collection of numerous textbooks and internet-sources will allow you to choose the best authors and the easiest approaches. So, use Google and collect guides and manuals for programmers, articles in different media, post in popular blogs and respected forums.
And the last point: make sure that you understand the basis of language, before you will begin to work with examples. You wont be able to built a house without foundation.

The Challenge for Java Programmers. Check Your Skills!

Testing new Java programmers who want to work in Oxagile we use different methods: interviewing, multiple-choice questions etc. We think that “classical” approaches to recruiting should be combined with new breakthrough technologies.

Let’s take certification of Java programmers as an example. It is well known that many tests for certification contain a large number of issues with different variants of answers (so called multiple-choice questions). Such tests are not very effective, because probationers can easily find many answers concerning API reading documentation or source code. In this way we can’t test their ability to program, which largely consists of the ability to think logical and to formulate algorithms in a proper way.

So betterprogramming.com, the company from San Francisco, decided to fix this problem. Its specialists published test that offers to solve several problems instead of answering the list of questions. Java programmers expected to implement some simple algorithms. Source code, written by a developer can be executed on the server, and then user can get his/her results (they depend on submitted code and time).