técnicas del c# comparadas con VFP

11/09/2007 - 22:11 por Germán Valdez | Informe spam
hola a todos.

quisiera saber si en C# existen comandos similares a estos de Visual
Foxpro.

Sustitucion de macros & () o EXECSCRIPT;
(Ejecutar un comando dentro de una variable)

armar cadenas para ser enviadas al SQL con los comandos TEXT ENDTEXT
(Evitar la concatenación con comillas que en grandes instrucciones
confunde).

Armar cursores temporales CREATE CURSOR. con ado.net
(Trabajar con datos en recordset distintos a los originales de la
consulta)

Aún no he visto al C# pero quisiera saber si estos comandos que uso mucho
existen en .net

Preguntas similare

Leer las respuestas

#1 principiante
11/09/2007 - 23:40 | Informe spam

Sustitucion de macros & () o EXECSCRIPT;
(Ejecutar un comando dentro de una variable)




Se puede aproximar en la versión actual aproximar con una técnica llamada
'Reflexión'.
También en la próxima versión vienen mejoras adicionales relacionadas al
código dinámico con los tipos 'Expression' (trees).

armar cadenas para ser enviadas al SQL con los comandos TEXT ENDTEXT
(Evitar la concatenación con comillas que en grandes instrucciones
confunde).




En C# no hay que poner continuadores de líneas como en VFP o VB.


Armar cursores temporales CREATE CURSOR. con ado.net
(Trabajar con datos en recordset distintos a los originales de la
consulta)




Se puede en la versión actual pero de una manera más trabajosa y con
limitantes debido a lo fuertemente tipeado que es C#, donde todo es un
objeto. (al menos hasta ahora:) En la próxima versión, sin embargo, vienen
cosas como los tipos anónimos y los tipos implícitos que flexibilizarán
bastante este tema, probablemente porque se dieron cuenta que hay que
flexibilizar!



Aún no he visto al C# pero quisiera saber si estos comandos que uso mucho
existen en .net




Lo primero que debes saber es que es un mundo muy distinto, conviene empezar
desde lo más básico preferiblemente con algún libro o alguno de los muchos
sites que aparecen en la web que poseen artículos sobre cómo hacer la
migración. No te voy a engañar diciéndote que sea fácil el aprendizaje. Es
mucho lo que hay por aprender.


Jose TH
Respuesta Responder a este mensaje
#2 Cholo Lennon
12/09/2007 - 16:51 | Informe spam
Nuevamente... algo ya posteado

Sustitucion de macros & () o EXECSCRIPT;
(Ejecutar un comando dentro de una variable)



http://www.codeproject.com/csharp/evalcscode.asp


Cholo Lennon
Bs.As.
ARG


"Germán Valdez" wrote in message
news:#TRZ$$
hola a todos.

quisiera saber si en C# existen comandos similares a estos de Visual
Foxpro.

Sustitucion de macros & () o EXECSCRIPT;
(Ejecutar un comando dentro de una variable)

armar cadenas para ser enviadas al SQL con los comandos TEXT ENDTEXT
(Evitar la concatenación con comillas que en grandes instrucciones
confunde).

Armar cursores temporales CREATE CURSOR. con ado.net
(Trabajar con datos en recordset distintos a los originales de la
consulta)

Aún no he visto al C# pero quisiera saber si estos comandos que uso mucho
existen en .net




Respuesta Responder a este mensaje
#3 Jose Camacho Vaca
13/09/2007 - 20:30 | Informe spam
Se puede pero es muchisimo mas dificil que en VFP, por ejemplo el Create
Cursor, en C# deben ser como unas 30 líneas de código. La verdad C# esta
todavía en pañales, probablemente en la prox. ver. o hasta dentro de varios
años tenga la madurez que tiene VFP, al menos para el manejo de datos.
Mejor utiliza las cosas simples de C#, para que no pierdas tanto tiempo
buscandole similitudes con el VFP. Pero de todas formas, vas a tener que
trabajar muchisimo y prepararte para la lentitud en el manejo de datos.
Saludo sy suerte.
José Camacho Vaca
Colima, MX


"Germán Valdez" wrote:

hola a todos.

quisiera saber si en C# existen comandos similares a estos de Visual
Foxpro.

Sustitucion de macros & () o EXECSCRIPT;
(Ejecutar un comando dentro de una variable)

armar cadenas para ser enviadas al SQL con los comandos TEXT ENDTEXT
(Evitar la concatenación con comillas que en grandes instrucciones
confunde).

Armar cursores temporales CREATE CURSOR. con ado.net
(Trabajar con datos en recordset distintos a los originales de la
consulta)

Aún no he visto al C# pero quisiera saber si estos comandos que uso mucho
existen en .net





Respuesta Responder a este mensaje
#4 Antonio Rodriguez
16/09/2007 - 17:14 | Informe spam
buscandole similitudes con el VFP. Pero de todas formas, vas a tener que
trabajar muchisimo y prepararte para la lentitud en el manejo de datos.
Saludo sy suerte.



Y para la lentitud en general, porque yo no veo cual es la tanta ventaja de
tener lenguajes tan estrictamente tipeados con respecto a los flexibles. Hay
que decirle practicamente todo al compilador antes de ejecutar la primera
instruccion.

Alguien que me diga cuales son esas ventajas. Al principio todos los
lenguajes eran asi (estrictamente tipeados) y con el tiempo dejaron de
serlo, por que habra sido? No me digan que es cierto lo que dijo alguien de
que todo es para poder usar el intelisense ?! No sacrifican otras cosas con
eso? Yo creo que si porque las ventajas en velocidad no se ven.

Antonio Rodriguez
Respuesta Responder a este mensaje
#5 RFOG
16/09/2007 - 18:52 | Informe spam
Las ventanas de velocidad no se ven en un lenguaje como C# porque el
compilador es pésimo, y el jitter peor todavía.

Hagamos un paralelismo:

Lenguajes como el XBASE se traducen a PCODE, que no es otra cosa que el
código fuente convertido en una especie de "acelerador" en el que en lugar
de leer una cadena se lee una secuencia de bytes que se corresponden en
línea directa con un comando (aunque no sé realmente cómo funciona, si yo
tuviera que hacer algo con PCODE, haría corresponder el bytecode de cada
instrucción con un índice de un array de punteros a funciones que serían el
comando a ejectuar. De ese modo, en un bucle ultrarrápio se puede ejecutar
el programa entero).

El C# es algo parecido. Se traduce a un pseudoensamblador. Y encima se
traduce bastante linealmente y mal (es decir, apenas se optimiza). Y luego
se pasa a una máquina virtual que coge ese pseudoensamblador, supuestamente
lo optimiza -pero poco-, lo convierte a código máquina y lo ejecuta, muy
posiblemente de la misma forma: cogiendo el bytecode del MSIL y llamando a
la función dentro del array que lo convertirá en código máquna. Y luego lo
ejecutará.

¿Cuál es la diferencia? Apenas ninguna. Y por tanto, en cuanto a
rendimiento, apenas ninguna variación.

Sin embargo, otros lenguajes como C++ (ojo, no C++/CLI, aunque le de 10.000
patadas al C#), Pascal, ADA, etc, funcionan de la forma clásica: el tiempo
se pierde en la fase de compilación. En tiempo de ejecución ya está todo
decidido, simplemente se carga y se ejecuta. Pero evidentemente tiene otras
contrapartidas. No puedes acceder fácilmente a tu propio código ejecutable
de forma dinámica (reflexión) -Ojo, poderse, se puede-, y temas como los
genéricos (léase plantillas), a poco que te entusiasmes conviertes el
ejecutable en un monstruo de tamaño.

Pero volviendo al tema de las bases de datos, si abstraemos el lenguaje de
acceso a ellas, el tiempo de ejecución es básicamente el mismo se use el
lenguaje que se use: es una base de datos y más o menos todas trabajan
igual, así que ahí no hay diferencia de rendimiento. La diferencia debe
estar en el lenguaje de la aplicación.


Visita mi blog principal: http://rfog.blogsome.com
Y este sobre programación: http://geeks.ms/blogs/rfog
Libros, ciencia ficción y programación
Incluso el pasado puede modificarse; los historiadores no paran de
demostrarlo.

"Antonio Rodriguez" wrote in message
news:OQuARRH%
buscandole similitudes con el VFP. Pero de todas formas, vas a tener que
trabajar muchisimo y prepararte para la lentitud en el manejo de datos.
Saludo sy suerte.



Y para la lentitud en general, porque yo no veo cual es la tanta ventaja
de tener lenguajes tan estrictamente tipeados con respecto a los
flexibles. Hay que decirle practicamente todo al compilador antes de
ejecutar la primera instruccion.

Alguien que me diga cuales son esas ventajas. Al principio todos los
lenguajes eran asi (estrictamente tipeados) y con el tiempo dejaron de
serlo, por que habra sido? No me digan que es cierto lo que dijo alguien
de que todo es para poder usar el intelisense ?! No sacrifican otras
cosas con eso? Yo creo que si porque las ventajas en velocidad no se ven.

Antonio Rodriguez





Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida