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

#11 Cholo Lennon
18/09/2007 - 15:35 | Informe spam
Perdon por la intromisión, pero yo hasta ahora no he visto un mejor manejo de
datos que el que tiene VFP.
Es simple, ya hice la prueba con C# y su datset, C++ y su famoso datareader.
Ninguno de los 2 siquiera se asemeja en velocidad a un cursor de VFP.
También ya hice la prueba con serialización y con XML y nada. Simplemente
son lentos.
Si alguien conoce alguna herramienta que brinde la misma velocidad en datos
(o al menos similar) que VFP, seria bueno que lo comentara por favor.
Saludos.



Deberías aclarar primero que estás comparando: No es lo mismo que VFP acceda a
su base local que C# a un motor relacional como sql server u oracle. Quizás para
ser justos habría que comparar VFP contrar sql server u oracle. Por otro lado
debo decir que si... que VFP es de los más rápidos para el acceso a datos de
manera local. Ojo que C++ no se queda atrás con su biblioteca ATL y sus clases
para manejo de clientes OleDB. A nivel de esta capa de abstracción es lo más
rápido que hay. De hecho proveedores OleDB se hacen con esta biblioteca. Una
comparación que se podría hacer es C++ con ATL accesando una base de VFP
mediante un controlador OleDB. En este caso sospecho que VFP puede salir
ganador, pero no por mucho, porque no tiene la capa de abstracción de OleDB.
Quedaría por probar algo similiar: Accesar desde C++/ATL una base Access y
comparar contra VFP accesando sus datos nativos. Esto podría tener mejores
resultados en cuanto a C++ ya que entre otras cosas el motor Jet usa la misma
tecnología 'rushmore' que VFP. Como punto en contra de C++ ATL es que son clases
de bajo nivel. No es tan sencillo de usar como VFP o como ADO.

Como verás he tratado de no sacar a VFP del acceso a sus datos nativos. Todo
cambia si el mismo debe acceder mediante OleDB a otros datos... aquí se equipara
más la cosa.

Una aclaración sobre VFP y C#: Las comparaciones son odiosas, pero me parece que
quizás es medio a la ligera hacer estas comparaciones: VFP es claramente un
lenguaje orientado a datos, siempre lo fue y ha tenido una evolución constante
desde hace muchos años. C# por el contrario es un lenguaje de propósito general,
su objetivo es más amplio. Además el lenguaje es más rico sintácticamente
hablando. Hay muchos tipos de aplicaciones para las que C# está mejor preparado
que VFP, incluso algunas orientadas a datos. Así y todo no descarto a VFP por
varias razones, algunas históricas :-) (he programado en lenguajes xBase desde
DBase II).

Un última cosa: VFP y C# son 2 lenguajes claramente distintos, con sus propios
idiomas, no hay que basarse en esto para hacer comparaciones: Por ejemplo: Si
VFP permite macro sustituciones con un simple operador esto no hace que C# se
malo... hay muchas maneras de conseguir lo mismo. No hay que trasladar de manera
tan literal formas de programar de un lenguaje a otro. Esto puede ser el punto
de partida para programar realmente mal.


C++ y su famoso datareader




Esto es C++ CLI con Ado.Net... no C++, son 2 lenguajes distintos...



Salu2


Cholo Lennon
Bs.As.
ARG


"Jose Camacho Vaca" wrote in message
news:
Perdon por la intromisión, pero yo hasta ahora no he visto un mejor manejo de
datos que el que tiene VFP.
Es simple, ya hice la prueba con C# y su datset, C++ y su famoso datareader.
Ninguno de los 2 siquiera se asemeja en velocidad a un cursor de VFP.
También ya hice la prueba con serialización y con XML y nada. Simplemente
son lentos.
Si alguien conoce alguna herramienta que brinde la misma velocidad en datos
(o al menos similar) que VFP, seria bueno que lo comentara por favor.
Saludos.
José Camacho Vaca
Colima, MX


"Antonio Rodriguez" wrote:

> > más rápidamente. Por lo general estos lenguajes utilizan garbage
> > collectors, lo
> > cual reduce muchos errores de programación relacionados con el manejo de
> > recursos. Son más lentos que los lenguajes tipados, aunque con el
> > hardaware de
> > hoy en día no es tan abismal la diferencia como hace unos años atrás.
> >
>
> Yo no conozco muchos lenguajes no tipados, me orienté al que conozco bien
> que es Visual Foxpro. Como ejemplo tipado el que mas cerca tengo que es C#.
> En cuanto a la velocidad te digo que por la experiencia con VFP y ahora con
> C# la diferencia es notoria a favor de VFP.
>
> > en tiempo de compilación. Te imaginas controlar una central nuclear con un
> > lenguaje que delega todo tu control de errores en tiempo de ejecución??
> > Excepción no controlada...ups... otro chernobyl... no es que un lenguaje
> > tipado reduzca a cero la posibilidad de una excepción, pero ayuda. Como
> > muestra
> > de la 'no reducción a cero', tienes la histórica caida de un cohete Ariane
> > 5 por
> > culpa de una excepción no controlada en Ada
>
> Gracias por el dato pero yo uso lenguajes para aplicaciones comerciales
> (gestion, stock, contab, cliente, ...), es decir sistemas corrientes.
>
> >
> >> 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.
> >
> > ¿No notas ventajas de velocidad? Quizás no has programado (o visto)
> > sistemas que
> > manejan miles de transacciones por segundo o que requieren gran poder de
> > cálculo: Sistemas de telecomunicaciones, de registración de pasajes,
> > sistemas
> > CAD, simulaciones en física de partículas, simulaciones de Clima, etc,
> > etc. La
> > mayor parte de las aplicaciones nombradas están hechas en C/C++ (o
> > lenguajes
> > específicos como Fortran). ¿Eso te dice algo?
>
> Fuera bueno saber por que no están en C#, que es sobre lo que hablamos
> siendo estrictamente tipado también.
> Pero sobre si me dice algo, me dice que para quien trabaje con esas
> aplicaciones se justifica uno de esos lenguajes pero los que trabajamos con
> aplicaciones 'normales' como manejar datos de sistemas de gestion no nos
> interesa mucho ese alto nivel de procesamiento. Buscamos fundamentalmente
> herramientas RAD que nos simplifiquen la vida , que ayuden optimizar los
> costos de desarrollo sobre todo cuando se trabaja en equipos de programación
> y también que sean aceptablemente buenas en performance. C#, siendo
> fuertemente tipado, lo han mercadeado para eso, solo que decimos que
> comparandolo con un no tipado como VFP las ventajas en performance no
> existen.
> De eso es que estamos hablando no de todo lo demas donde se que tienes
> razon.
>
> >
>
>
> Saludos
>
> Antonio Rodriguez
>
>
>
Respuesta Responder a este mensaje
#12 principiante
18/09/2007 - 21:37 | Informe spam
En mi caso ni te voy a hablar de la velocidad de las tablas locales de VFP.
Mira, yo uso VFP9 con SQL Server usando ODBC y la tecnica llamada SQL Pass
Through donde uno le pasa las instrucciones al servidor como una cadena con
una simple instrucción: SQLEXEC(). De la velocidad te puedo decir que es lo
más rápido, simple y estable que he visto en mi vida. Tengo sistemas
funcionando asi desde el 2005 y a veces hasta 'me aburre' su estabilidad y
gran rendimiento ;-) Sencillamente los problemas que me ha dado han sido
los pequeños tipicos errores de programación que a todos nos pasan. Algunos
dicen ODBC es obsoleto pero no es que lo sea sino que no tiene nada que
actualizar y siempre seguirá usandose, de hecho se usa en muchas mas cosas
de lo que pensamos.

Pero tambien lo he usado con OleDB y aunque es un poquito mas lento que con
ODBC, en ambos casos la velocidad que he visto es mas rápida (se nota) que
C# y su ADO.NET, con el cual se ha estado comparando aquí. Tambien sobre el
lenguaje mismo en el lado del cliente, VFP aunque es un lenguaje 'dinamico'
es sorprendente rápido. Estoy de acuerdo con quien dice que si me van a
forzar a un lenguaje fuertemente tipeado pues es de esperarse que su
rendimiento lo justifique. En C#, lamentablemente no es el caso ya que en
su velocidad no se nota la ventaja de ser fuertemente tipado. Por supuesto
que no digo que no haya otras ventajas, ya que la hay.

Las razones de porque VFP destaca por su rapidez? nadie las sabe
explicar pero VFP desde hace tiempo siempre ha sido famoso por su
velocidad, no solo con sus bases nativas sino tambien en ambiente de
cliente/servidor como se ha demostrado.

Eso es en cuanto al tema de manejo de datos, el cual siempre ha sido la
especializacion de VFP porque en otros temas C# y .NET son superiores sin
ninguna duda. Pero comparar la sintaxis es algo engorroso por el mismo
hecho de que uno es tipeado y el otro no.

Y si muchos de VFP (y de Delphi tambien como es mi caso) andamos en el mundo
de .NET no es solo porque queramos sino, para quienes no lo saben, porque
VFP va a desaparacer despues de la version actual. Asi lo quiso Microsoft a
pesar de las protestas de la comunidad. En cuanto a Delphi tambien va poco
a poco en declive. De nuevo MicroSoft nos impone el rumbo :(
De algo similar se hablaba en otro hilo.


José TH
Respuesta Responder a este mensaje
#13 Jose Camacho Vaca
19/09/2007 - 00:44 | Informe spam
OK, parece que ya nos vamos entendiendo. Pero y la pregunta que se hizo
parece que no tiene respuesta todavía. Alguien conoce alguna herramienta,
librería o truco que haga que C# maneje sus datasets o datareaders o lo que
sea de una manera rápida y ágil como lo hace VFP con sus cursores?
La verdad eso es lo que realmente me interesa. Gracias a todos por su ayuda
y reciban un saludo.
José Camacho Vaca
Colima, MX


"principiante" wrote:

En mi caso ni te voy a hablar de la velocidad de las tablas locales de VFP.
Mira, yo uso VFP9 con SQL Server usando ODBC y la tecnica llamada SQL Pass
Through donde uno le pasa las instrucciones al servidor como una cadena con
una simple instrucción: SQLEXEC(). De la velocidad te puedo decir que es lo
más rápido, simple y estable que he visto en mi vida. Tengo sistemas
funcionando asi desde el 2005 y a veces hasta 'me aburre' su estabilidad y
gran rendimiento ;-) Sencillamente los problemas que me ha dado han sido
los pequeños tipicos errores de programación que a todos nos pasan. Algunos
dicen ODBC es obsoleto pero no es que lo sea sino que no tiene nada que
actualizar y siempre seguirá usandose, de hecho se usa en muchas mas cosas
de lo que pensamos.

Pero tambien lo he usado con OleDB y aunque es un poquito mas lento que con
ODBC, en ambos casos la velocidad que he visto es mas rápida (se nota) que
C# y su ADO.NET, con el cual se ha estado comparando aquí. Tambien sobre el
lenguaje mismo en el lado del cliente, VFP aunque es un lenguaje 'dinamico'
es sorprendente rápido. Estoy de acuerdo con quien dice que si me van a
forzar a un lenguaje fuertemente tipeado pues es de esperarse que su
rendimiento lo justifique. En C#, lamentablemente no es el caso ya que en
su velocidad no se nota la ventaja de ser fuertemente tipado. Por supuesto
que no digo que no haya otras ventajas, ya que la hay.

Las razones de porque VFP destaca por su rapidez? nadie las sabe
explicar pero VFP desde hace tiempo siempre ha sido famoso por su
velocidad, no solo con sus bases nativas sino tambien en ambiente de
cliente/servidor como se ha demostrado.

Eso es en cuanto al tema de manejo de datos, el cual siempre ha sido la
especializacion de VFP porque en otros temas C# y .NET son superiores sin
ninguna duda. Pero comparar la sintaxis es algo engorroso por el mismo
hecho de que uno es tipeado y el otro no.

Y si muchos de VFP (y de Delphi tambien como es mi caso) andamos en el mundo
de .NET no es solo porque queramos sino, para quienes no lo saben, porque
VFP va a desaparacer despues de la version actual. Asi lo quiso Microsoft a
pesar de las protestas de la comunidad. En cuanto a Delphi tambien va poco
a poco en declive. De nuevo MicroSoft nos impone el rumbo :(
De algo similar se hablaba en otro hilo.


José TH







Respuesta Responder a este mensaje
#14 principiante
19/09/2007 - 01:38 | Informe spam
OK, parece que ya nos vamos entendiendo. Pero y la pregunta que se hizo
parece que no tiene respuesta todavía. Alguien conoce alguna herramienta,
librería o truco que haga que C# maneje sus datasets o datareaders o lo
que
sea de una manera rápida y ágil como lo hace VFP con sus cursores?



Eso es muy dificil porque los datasets (tipados) generan un monton de codigo
auto-generado que generan un algo overhead.
Respuesta Responder a este mensaje
#15 Cholo Lennon
19/09/2007 - 05:12 | Informe spam
No he probado la versión para .Net de esta biblioteca pero siempre he tenido
buenas referencias de la versión nativa para C++

OleDbProNet
http://www.udaparts.com/products.htm

Podrías probarla y contarnos los resultados :-)
Dificilmente supere a VFP ya que este tiene un motor nativo y sin capas
intermedias, pero quizás sea un gran avance en velocidad sobre Ado.Net.

Salu2

Cholo Lennon
Bs.As.
ARG

"Jose Camacho Vaca" escribió en
el mensaje news:
OK, parece que ya nos vamos entendiendo. Pero y la pregunta que se hizo
parece que no tiene respuesta todavía. Alguien conoce alguna herramienta,
librería o truco que haga que C# maneje sus datasets o datareaders o lo
que
sea de una manera rápida y ágil como lo hace VFP con sus cursores?
La verdad eso es lo que realmente me interesa. Gracias a todos por su
ayuda
y reciban un saludo.
José Camacho Vaca
Colima, MX


"principiante" wrote:

En mi caso ni te voy a hablar de la velocidad de las tablas locales de
VFP.
Mira, yo uso VFP9 con SQL Server usando ODBC y la tecnica llamada SQL
Pass
Through donde uno le pasa las instrucciones al servidor como una cadena
con
una simple instrucción: SQLEXEC(). De la velocidad te puedo decir que es
lo
más rápido, simple y estable que he visto en mi vida. Tengo sistemas
funcionando asi desde el 2005 y a veces hasta 'me aburre' su estabilidad
y
gran rendimiento ;-) Sencillamente los problemas que me ha dado han sido
los pequeños tipicos errores de programación que a todos nos pasan.
Algunos
dicen ODBC es obsoleto pero no es que lo sea sino que no tiene nada que
actualizar y siempre seguirá usandose, de hecho se usa en muchas mas
cosas
de lo que pensamos.

Pero tambien lo he usado con OleDB y aunque es un poquito mas lento que
con
ODBC, en ambos casos la velocidad que he visto es mas rápida (se nota)
que
C# y su ADO.NET, con el cual se ha estado comparando aquí. Tambien sobre
el
lenguaje mismo en el lado del cliente, VFP aunque es un lenguaje
'dinamico'
es sorprendente rápido. Estoy de acuerdo con quien dice que si me van a
forzar a un lenguaje fuertemente tipeado pues es de esperarse que su
rendimiento lo justifique. En C#, lamentablemente no es el caso ya que
en
su velocidad no se nota la ventaja de ser fuertemente tipado. Por
supuesto
que no digo que no haya otras ventajas, ya que la hay.

Las razones de porque VFP destaca por su rapidez? nadie las sabe
explicar pero VFP desde hace tiempo siempre ha sido famoso por su
velocidad, no solo con sus bases nativas sino tambien en ambiente de
cliente/servidor como se ha demostrado.

Eso es en cuanto al tema de manejo de datos, el cual siempre ha sido la
especializacion de VFP porque en otros temas C# y .NET son superiores sin
ninguna duda. Pero comparar la sintaxis es algo engorroso por el mismo
hecho de que uno es tipeado y el otro no.

Y si muchos de VFP (y de Delphi tambien como es mi caso) andamos en el
mundo
de .NET no es solo porque queramos sino, para quienes no lo saben, porque
VFP va a desaparacer despues de la version actual. Asi lo quiso
Microsoft a
pesar de las protestas de la comunidad. En cuanto a Delphi tambien va
poco
a poco en declive. De nuevo MicroSoft nos impone el rumbo :(
De algo similar se hablaba en otro hilo.


José TH







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