Robotics Developer Studio, or RDS, is an environment made by Microsoft to develop and test projects on robotics. This is a major step by Microsoft indeed, to promote hobbyists as well as professional developers. Using this Windows-based suite, not only can we write code for a robot, but simulate a virtual prototype in a real world scenario using the state-of-the-art simulation engine. Whats looks so unique about this software is the fact that the RDS has not been built with the expert in mind, rather a beginner. Technically speaking, the learning curve is smooth and provides ample opportunities for experimentation.
Programmers can choose between the the familiar Visual studio and Visual Programming Language or VPL. VPL can be called a beginner's programming platform with a simple drag 'n' drop interface through which we can generate C# code. So you can understand how easy it is to code for an application using RDS.
The most important feature in this studio is the simulation. Now all of us must have seen the port-based emulation feature of IDE's like KEIL, etc. RDS goes way beyond testing with its 3-D simulation software. Not that there is a parallel here, but it definitely shows how far Microsoft has taken the concept of simulation. RDS allows us to directly test the behavior of our robot in a physics-based virtual world. Not only our software, but also the feasibility of the concept can be checked by testing it against a variety of environments.
Microsoft has provided several tutorials for getting a good start on their product. Besides this, external help has also been provided by software developers all over the world and their programs are just a few clicks away.
A let-down for the average Indian student is, however the requirements. The RDS does require a decent configuration of a PC in order to work its magic. Well this is mainly due to the Graphics requirements and overall PC specs that people normally don't think about when buying PC's. This problem can be solved easily with some minor and cheap upgrades.
The software in itself is completely free, and easily available from the Microsoft website. However you may be required to download and install additional software or drivers if you do not already have them, which is highly unlikely if you are a developer.
Overall, this amazing software by Microsoft is bound to raise eyebrows and most importantly, raise standards. It will get a thumb's up from all types of users, whether commercial or not, simply because of its quality and easy-to-use features.
Showing posts with label Microsoft. Show all posts
Showing posts with label Microsoft. Show all posts
Friday, August 13, 2010
Saturday, July 17, 2010
Microsoft Programming Languages

When programming was still new to me, I had no knowledge of any sort of languages by Microsoft, but as time progressed and .NET came into the picture, it became evident that you simply cant do without Microsoft's collection.
All programmers will have to one day work directly with the industry and requirements at that scale require .NET support, which means you need Microsoft products if you need quality...which is obviously non negotiable.
In case you are a programmer and want to code an application of any type then Microsoft has got just the right stuff for you. This article covers those commonly used languages that I have come across personally..
1) Languages you may already know or may have heard of are:
- Visual Basic - Event Driven Language for Rapid Application Developement(RAD) for GUI based needs.
- Visual C# - Microsoft's implementation of the C# specification. It has features very similar to Java like Garbage Collection, etc.
- Visual C++ - Microsoft's IDE(Integrated Developement Environment) for C\C++ code
2) .NET Platform programming languages
- Visual Basic .NET
- Visual C# .NET
- Visual C++ .NET
The above languages are evolved versions of Visual Basic, Visual C#, Visual C++ respectively. These languages have been developed to build .NET Applications and hence include much more features, libraries.
- Managed Extensions for C++ - Extensions for C++ that allow programmers use their existing applications in C++ with the .NET framework.
3) Transact-SQL - It works upon Microsoft's Relational Database Systems.
4) Scripting Languages
- Windows Script Host - Scripting environment that works with all scripting languages.
- VBScript
- JScript
- JScript .NET
5) Extensible Markup Language (XML) - Most useful when it comes to marking meta-data. XML and HTML cannot replace each other, in fact they compliment each other. XML is used to move metadata between systems.
6) Visual J++ - Allows migration of Java programmers to .NET, you can do so by either extending your Java code to .NET or you can use automated tools to convert to C# code.
7) X++ - OOP's based language similar to C# and has applications in building accounting and business management software. It hence used SQL along with the familiar "C++ style" of programming.
8) Alternative Languages
Many comapnies have collaborated with Microsoft to harness the growing power and influence of the .NET Framework. Besides these we also have alternate languages like:
- Standard ML
- SmallTalk
- Salford FTN95 (Fortran)
- Python
- Perl
- Pascal
- Oberon
- Mondrian
- Mercury
- Eiffel
- Dyalog APL
- COBOL
Tuesday, July 13, 2010
Garbage Collection

Garbage Collection is the concept of collecting useless "dereferenced" memory, and freeing it for re-use by the system. De-referenced resources are those objects that are no longer in use by the program but are still allocated for use by it.
Languages like C/C++ could allow programmers to directly interact and play with memory, a responsibility that is often so abused that it does more harm than good... Problems arise when people recklessly allocate large system resources and the due to some mis-management the allocated memory is never freed. This leaves large chunks of unreacheable memory locations that ultimately cause "Memory Leaks". In comes the invention by John McCarthy, which shoulders the responsibility of memory management by de-allocating memory that is not in use by the program anymore. While the concept was initially developed for LISP only, now it has spread to a variety of High Level Languages, including updated versions of C\C++ themselves.
C++/CLI (Common Language Infrastructure), which is Microsoft's language specification has provision for both manual and automated memory management.
Garbage collector is the term used to represent automatic memory management by the system. Garbage collector scans the runtime environment for objects that are accessible directly or indirectly via references. Then it proceeds to discard all remaining objects. Typically, an object's memory is reclaimed when the number of references to it reaches zero. These scans are done in cycles, which are started automatically by the Garbage collector or when explicit calls are made to it.
Garbage collection does not guarantee immunity from memory leaks, and obviously requires a considerable percentage of system resources to run, but definitely helps programmers who have to deal with a lot of memory in their projects. Garbage collection is not commonly used in embedded projects due to their already small resource size but are available on certain platforms like .NET Micro Framework and Java-ME.
Labels:
.NET,
C\C++,
CLI,
collection,
dereferenced,
Garbage,
Java,
John McCarthy,
Languages,
Memory Leaks,
Microsoft
Subscribe to:
Posts (Atom)

