Cosas mías

April 23, 2007

Essential C# 2.0 y The C# Programming Language

Filed under: Programación, Lecturas

El primero es de Mark Michaelis, y el Segundo de Anders Hejlsberg, Scott Wiltamuth y Peter Golde, y en conjunto suman unas mil cuatrocientas páginas; estas han sido mis dos últimas lecturas profesionales. Y la verdad es que ambos libros valen el dinero que cuestan (más los portes desde Estados Unidos).

Nadie que quiera aprender C# debería obviar estas dos obras, pero si realmente tiene que elegir entre una de las dos, mi recomendación es que se quede con la de Michaelis.

Mientras que la segunda es muy árida y cubre el lenguaje desde un punto de vista estricto y meramente descriptivo, la primera vive el C#. Y encima trae páginas completamente imprescindibles, esos Advanced Topics no tienen precio para entender de verdad el lenguaje.

A esta pareja les falta CLR via C#, que lo tengo en las listas de Amazon esperando la siguiente compra, que no creo que tarde mucho a hacer, ya que vuelven a tener stock de otros que pensaba comprar…

Quizás el mayor problema de esos libros sea el idioma, inglés, aunque es bastante sencillo y claro de entender, aunque el de Hejlsberg sea un poco más difícil, cualquier programador acostumbrado a leer la documentación del Visual Studio no debería tener problemas en entenderlos (hasta yo lo he hecho).

En ninguna de las dos vas a encontrar mucho .NET Framework, ya que son libros sobre C# (que en teoría es un lenguaje sin relación con ninguna implementación concreta de .NET). Hejlsberg apenas hace mención de clases o elementos .NET, Michaelis no se corta en especificar alguna que otra cosa, justo lo imprescindible para hacer esta obra más entendible y más lógica que la otra, y es por eso que la recomiendo puesto que C# sin .NET (o mono, o dotgnu) no es nada.

Aprendí C# y .NET hace unos años con el libro C# Professional 2.0 de la casa Wrox, y me quedaba el prurito de aprehenderlo de verdad, por lo que pregunté a Octavio Hernández (gracias, master) que me recomendara el mejor libro sobre C# sin .NET que hubiera en el mercado, y él respondió con los dos que nos ocupa.

Porque aprender .NET es una chorrada: tan sólo hay que ir a la documentación y mirar qué clases hay y cuáles son sus métodos, de la misma forma que cuando uno necesita hacer algo en Win32 se acerca a su API y la consulta. Otro tema es que encuentres lo que buscas, o que esté pero no seas capaz de encontrarlo, que me imagino nos pasa a todos con mayor o menor frecuencia.

Pero un programador debe conocer el lenguaje que usa con profundidad, por eso quería verlo desnudo, sin el arropamiento de su biblioteca de clases. Y siendo sincero, no me ha gustado. No estoy diciendo que sea un mal lenguaje, estoy diciendo que no me ha gustado mucho, básicamente por esa dualidad indefinida entre los tipos básicos y los objetos, entre los encajamientos y desencajamientos que creo haber entendido bien, aunque al parecer no cuándo se producen.

Desde luego tiene cosas maravillosas, como los atributos, la reflexión, ciertas construcciones, pero no me gusta mucho. Eso no quiere decir que no vaya a seguir usándolo.

Tengo pendiente una entrada sobre los atributos y la reflexión, aunque no sé si al final la escribiré o no. También se queda en el tintero comprobar de forma práctica cómo funcionan los box/unbox y su rendimiento, por lo menos hasta más adelante que tenga más tiempo libre.

Comments »

The URI to TrackBack this entry is: http://rfog.blogsome.com/2007/04/23/essential-c-20-y-the-c-programming-language/trackback/

No comments yet.

RSS feed for comments on this post.

Leave a comment

Line and paragraph breaks automatic, e-mail address never displayed, HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>



Anti-spam measure: please retype the above text into the box provided.

Get free blog up and running in minutes with Blogsome
Theme designed by Gary Rogers