Comparación de Java y C#

Hace algunos años , en un lugar de cuyo nombre no quiero acordarme, se discutía el plan quinquenal del programa académicos en tecnologí­a de información. Los administradores del grupo, siguiendo linea del jefe divisional, decidieron normalizar el uso de Java para toda la curricula departamental. Algunos de los profesores expresamos tibias dudas sobre al asunto, pero no hubo realmente opiniones en contra.

A mi el incidente me recordó la tendencia histórica de los ejércitos del mundo a preparase para la guerra anterior sin comprender que el entorno tecnológico y social hacen inoperantes e irrelevantes enfoques que en el pasado hubieran sido determinativos e innovadores. La linea Magniot de los francés como ejemplo concreto.

Aunque Microsoft es más fiero como monopolio que como motor tecnológico, tiene el suficiente peso económico y social para absorber el mejor talento del mundo y el Sr. Puertas ha mostrado saber a donde va el puck.

Java sigue teniendo su lugar como herramienta de desarrollo inter-plataforma pero hay evidencias de que su mejor momento tal vez ya paso. Microsoft tiró el guante blanco al implementar la aplicación de referencia J2EE, PetShop, en .Net y obtuvo mejores números, tanto en lineas de código como en rendimiento. Cada vez que Java levantaba el guante, la evidencia era más contundente: .Net permite desarrollos en menos tiempo y con mejor rendimiento que J2EE.

En el mismo foro de desarrolladores de Java de Sun el consenso en el tema de manejo de genéricos fue que la implementación de C# es superior a la de Java.

Aunque hay diferencias de implementación, Java y C#, tienen puntos en común. Despues de todo, C# es la respuesta de Microsoft a Java. El articulo C# and Java: Comparing Programming Languages presenta una comparación detallada.

Un punto en común entre Java y C# es que no manejan herencia multiple y promueven el uso de interfaces para propositos equivalentes.

El sitio Desarrollo Profesional de Aplicaciones tiene bastante material didactico sobre .Net en español.

Programación orientada a aspectos

Tal vez sea porque estamos a principios de siglo o simplemente un espejismo pero pareciera que estamos en los albores de un cambio paradigmático en el desarrollo de software post orientación a objetos.



Uno de los ideales del desarrollo de software es la capacidad de modificar el funcionamiento de un sistema sin tocar una línea de código. Algunos enfoques en este sentido es inyección de dependencias y programación orientada a aspectos (AOP).

David Hayden en su bitácora presenta un ejemplo, en el contexto de la librería empresarial del grupo de patrones y practicas de Microsoft, del uso del bloque de aplicación de inyección de políticas para guardar registros de llamadas a métodos y se quejaba de que la librería en realidad no soporta el patrón de inyección de dependencias. Lo cual provoco una demostración de las capacidades de Windsor para soportar AOP.

Referencias:

“In-flght” profiling with AOP
Aspect# Integration Facility
Castle
Windsor AOP – Policy Injection Application Block – Best Way to Use Windsor AOP?
Building the Policy Injection in 40 Minutes with Windsor
Castle Windsor AOP – Dependency Injection and Aspect-Oriented Programming – Policy Injection Application Block
Policy Injection Application Block Example
ObjectBuilder is Getting Some Love for the CodePlex Container
.NET Community Downloads and Sample Code

Herramientas de depuración de Microsoft

Microsoft proporciona de manera gratuita varias herramientas para depuración de aplicaciones, servicos, y núcleo del sistema operativo.

Referencias:

Debugging Tools for Windows – Overview

Debugging Tools and Symbols: Getting Started

Install Debugging Tools for Windows 32-bit Version

How to debug Windows services

DataTips, Visualizers and Viewers Make Debugging .NET Code a Breeze

Dependency Walker

Debugger and Symbols Downloads

Other Download Windows Symbol Packages
Other Install Debugging Tools for Windows 32-bit Version
Other Install Debugging Tools for Windows 64-bit Versions

Depreciación de funciones en Visual Studio C/C++

Uno de los problemas que se presenta al actualizar una aplicación en Visual Studio C/C++ es la depreciación de funciones. La motivación de muchos de estos cambios es hacer el código más seguro.

Existen varias maneras de eliminar las advertencias para las funciones obsoletas o depreciadas. Las más sencilla es definir _CRT_SECURE_NO_WARNINGS o usar el pragma warning. Lo más recomendable es usar la versión segura equivalente.

Referencias:

strcpy_s, wcscpy_s, _mbscpy_s

Security Enhancements in the CRT

Blogging by Email With The Mail-to-Blogger Feature

Guest Author – Diane Cipollo
One of the nice features of BloggerTM is that you can post an entry to your blog just by sending an email message.

The only thing that you need to do in order to use this Mail-to-Blogger feature is to create a secret email address especially for this purpose. It needs to be a secret email address so that only you can post to your blog via email. Once you have done this, emailing a blog entry is as simple as sending any other email message. Log in to your Blogger account and let’s create that secret email address.
From the menu at the top of the page, click on the Settings tab and then click on Email.
BlogSend Address. If you wish to have your blog entry automatically emailed back to you, enter your regular email address in the BlogSend Address box.
Mail-to-Blogger Address. The code for this secret email address is just like the code for any email address. For example, your email address that you use on your website might be made up from your name and the name of your website. You@YourWebSite.comBut for this secret email address, the @YourWebSite.com is replaced with @blogger.com and your name is replaced with the username you created for your Blogger account. username.?????@blogger.comThe missing part of the email address (????) is the only part that you need to add. As mentioned above, you will want this email address to remain a secret. Therefore, you will want to use something that others will not be able to guess. Type your secret code into the box. It must have at least four characters.
You have the choice to publish your emailed blog entry automatically when you send the email message or it can be saved as a draft. If you choose the second, you will need to log in to your account and publish the entry manually. Let’s put a checkmark in the box next to Publish in order to have all emailled entries automatically published to your blog.
Click Save Settings to save the changes to your account.That’s all there is to it. You are now ready to post entries to your blog via email. Just remember a few things when composing the email blog message.
The text in the Subject line of the email message will become the title of your blog entry.
The text in the body of the email message will become the blog entry. If your email program adds extra text or advertisements to the end of your messages, you will not want that to be included in your blog entry. To prevent this, place #end at the end of your blog text.

Blogger seo

How to track your Blogger statistics with Google:

  1. Go to Google Analytics to sign up or log in.
  2. When logged in, choose to create a new account and follow the steps.
  3. When you get to “Add Tracking“, open up a new window and log in to your Blogger account.
  4. Go to your blog’s settings and choose “Template” and then “Page Elements“
  5. Have a look at the footer (it has to be the footer!) of the design and choose to “Add a Page Element“.
  6. Find the “HTML/JavaScript” element and then “Add to blog“.
  7. Don’t write anything in the title column.
  8. Copy and paste the code from Google Analytics in the content box and “Save changes”.
  9. Then continue the steps on Google Analytics and you’re done!

Or if you are familiar with coding:

  1. From dashboard – Settings – Template – Edit HTML
  2. Scroll down to the very bottom in the box and locate the tag.
  3. Copy and past the Google code right BEFORE the tag and then save.
  4. To check your stats you just have to click “View Reports”.
  5. If it says “Tracking Unknown” in the status column, you have done something wrong.

Also, you might want to get your blog Google verified (link to tutorial for Blogger) so your blog gets crawled so your chances to show up on search results increases. Here is a tutorial for you WordPress.com users.

La computadora más poderosa del mundo

Como dice el lema de Sun, la red es la computadora. La computadora más poderosa del mundo es Internet, el problema es como aprovechar la capacidad de computo.


Esta el enfoque mafioso de usar troyanos para capturar maquinas y llenar al mundo de spam y amenazas de ataques de saturación de sitios. A parte de lo negativo esto es una prueba de hecho del potencial de Internet como plataforma de computo distribuido.

Una aplicación más dentro de lo políticamente correcto es la búsqueda de número primos.