Menú Principal

.net y la madre que lo pario

Iniciado por yonodio, Septiembre 04, 2008, 09:01:55 PM

Tema anterior - Siguiente tema

yonodio

Tengo que aprender por c*j*n*s eso de la programacion en la plataforma .net para windows Vista porque me ha tocado participar en un proyecto de estas caracteristicas. Por donde empiezo? Entorno de trabajo? Alguna lectura para situarme? (empiezo la semana que viene, asi que voy echando ostias).

Nada de bases de datos ni desarrollo web  (mas bien conterol de instrumentacione  interaccion con Labview).

patillotes

Para situarse y que a alguien le pueda servir: lo .net es solo un "target" para los compiladores de microsoft + maquina virtual y tal. Una especie de JVM, por asi decirlo, pero sin estar ligada a ningun lenguaje concreto.

En tu caso, ¿en que lenguaje has de hacer cosas?, ¿c#, c++, visual basic (gñeeee), ASP u otro?, menos con c#, uno se puede apañar con cualquier libro sobre el lenguaje de marras.

Si la cosa va mas en plan gore y has usado el API de windows antes, pues esto igual, pero en vez de llamar a esa API has de usar la de .net y mirar las referencias que toquen y tener en cuenta que tus pogamas dependeran de la maquineja virtual. Si quieres algo aun mas bruto tengo referencias del ensamblador de la maquina (creo).

Sobre entornos para empezar, microsoft da de gratis una version reducida de visual studio c#/c++/vb. Yo creo que para empezar y seguir esta guains. Aparte de eso creo que la ide eclipse, muy de moda y blablabla, tiene cosas para manejar esto.

Quicir y resumiendo, es como programar en otra cosa, si sabes el lenguaje que piden, salvo paranoias igual da escribir c++ contra gcc, que compilarlo en visual studio, que su tia. A menos que el asunto sea pogamar en c#, que parece un primo de java y esta muy ligado a esa plataforma.

Menudo ladrillo, fin del comunicado.

patillotes

Ah, manejo de cacharretes. ¿Por puertos serie/paralelo/gaitas y mierdas?, si es asi yo hacia esas cosas con:

a) Matlab.
b) Cualquier otra cosa llamando al API. En el 98 o asi.

Ahora tendras que mirar que funciones que dé .net te permiten hacer lo que buscas. Un peñazo. En MSDN se puede buscar todo, otra cosa es que el sitio me de agonia masiva.

yonodio

Cita de: Patillotes en Septiembre 04, 2008, 10:06:24 PM
Ah, manejo de cacharretes. ¿Por puertos serie/paralelo/gaitas y mierdas?, si es asi yo hacia esas cosas con:

a) Matlab.
b) Cualquier otra cosa llamando al API. En el 98 o asi.

Ahora tendras que mirar que funciones que dé .net te permiten hacer lo que buscas. Un peñazo. En MSDN se puede buscar todo, otra cosa es que el sitio me de agonia masiva.

Puerto serie y aplicacion en tiempo "real" asi que cagate (bueno, me cago). :(

patillotes

Lo ultimo que hice yo de eso fue una interfaz para unos motorcillos. De mi experiencia los problemas que tuve son:

a) Puñeterias del protocolo. Por ejemplo, ¿que caracter quiere como "terminator" CR, CR+LN, LN? El ultimo cacharro que tuve parecia admitir ambos, pero fallaba con uno de la peor forma, de forma no consistente (cuando le salia del nabo).

b) Mas puñeterias, handshake, paridad y mierdas asi, pero menos que antes.

c) Sincronizacion en general y buffering en particular. Me pase alguna semana intentando hacer la sincronia a mano por un boniato que hacia si le dejaba al cacharro y acabe gilipollas. Con mucho, fue lo peor para mi.

Dejando de lado estas cosas, si es material de laboratorio/taller, se suelen portar muy bien. La idea es facil, tu abres puerto, escribes en el puerto en ASCII y la cacharra haces sus cosas y/o te devuelve datos. Cierras.

Facil. De no ser por las puñetas.

patillotes

Por cierto, si la aplicacion es en tiempo real-real, no me parece buena idea montarlo en windows, pero eso aparte.

Baku

Cita de: Patillotes en Septiembre 04, 2008, 10:19:45 PM
Por cierto, si la aplicacion es en tiempo real-real, no me parece buena idea montarlo en windows, pero eso aparte.

Si es una aplicación en "tiempo real" ya no sólo es problema de Windows, con Linux, excepto con un kernel adecuado, es  peor,  es que . NET o Java son un error.
It's very difficult todo esto.

yonodio

Cita de: Baku en Septiembre 04, 2008, 10:31:11 PM
Cita de: Patillotes en Septiembre 04, 2008, 10:19:45 PM
Por cierto, si la aplicacion es en tiempo real-real, no me parece buena idea montarlo en windows, pero eso aparte.

Si es una aplicación en "tiempo real" ya no sólo es problema de Windows, con Linux, excepto con un kernel adecuado, es  peor,  es que . NET o Java son un error.

Si, me he pasado de la raya. Timepo real-real no, pero sondeo estadistico con relativa frecuencia de un puerto para sacar datos, si.

Baku

Yo no me he puesto (todaví­a) por que me da mucha pereza, pero supongo que, al no estar ligado a un lenguaje en concreto, el meollo de la cosa va a estar en controlar la API correpondiente, lo que todaví­a da más pereza a los viejos como yo que  empezamos con librerí­a standard de c hasta nuestros dí­as para hacer prácticamente lo mismo en un ciclo interminable de aprendizajes y olvidos.

PD. Exige tu licencia de Visual Studio, si se ponen con mierdas por lo menos que las paguen.
It's very difficult todo esto.

JM

Amos a ver.
En Visual Studio .net. versión 2005, es con la que estoy trabajando ahora.

Punto 1: No hace falta usar API. La plataforma de desarrollo lleva ya integradas en sus librerias, las cuales importas al principio del modulo, todas las funciones API que antiguamente debias saber descifrar para poder hacer algo medio decente.

Punto 2 : En esta casa, estamos recogiendo datos, ya sea desde puerto serie o  a traves de tarjetas de adquisición de datos, desde hace ...... años, y incluso con programas en VB, ( no hace falta C++, ni c#, que queda mas "cool" usar esos lenguajes, pero a la hora de la verdad la curva de aprendizaje es muchisimo mejor en VB ), y no tenemos ningun tipo de problema, y estamos capturando datos en procesos en que se hace una lectura del puerto serie cada 500 ms.

Punto 3 : Vale, que Microsoft es una mierda, pero .net no funciona peor que cualquier otro invento parecido.


In God we trust (sometimes, some pictures: http://www.areopago.eu/index.php?topic=888.msg574445#msg574445 )... (C) Extineo