Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Código "unsafe" (.net)

Iniciado por Lord Trancos 2, 02 de Agosto de 2005, 03:35:24 AM

« anterior - próximo »

Lord Trancos 2

 Tengo curiosidad;... que os parece el uso de codigo unsafe? Es malo maloso como pegarle a un padre? Es bueno y maravilloso ? Solo en contadas ocasiones ? Que consecuencias malignas puede tener ?

Me es dificil vivir en un mundo sin punteros...  :lol:
on los años y mucho esfuerzo he llegado a atesorar una ignorancia total sobre casi todas las cosas.
Gate to Avalon (mi Blog)

Vicente

 Hola,

malo, no lo uses ;) A ver, cuando tu declaras un objeto, eso es un puntero (una referencia). Así que punteros hay ;) Cuando utilizas una aplicación que tiene código unsafe, las directivas de seguridad del framework pueden decidir no ejecutar tu aplicación (o el usuario puede configurarlo para que no se ejecuten aplicaciones unsafe). No me extrañaría que sea la norma común en un futuro... De todas formas, en serio, poco vas a echar de menos un puntero en .NET.

Un saludo!

Vicente

TheAzazel

 Creo q sin punteros...no sabria programar :P

samsaga2

Cita de: "TheAzazel"Creo q sin punteros...no sabria programar :P
Pues cuando un dia te pongas a programar algo en lenguaje funcional (ml, ocaml, haskell, etc...) te preguntaras... ¿y para que necesitaba punteros?

TheAzazel

Cita de: "samsaga2"
Cita de: "TheAzazel"Creo q sin punteros...no sabria programar :P
Pues cuando un dia te pongas a programar algo en lenguaje funcional (ml, ocaml, haskell, etc...) te preguntaras... ¿y para que necesitaba punteros?
Puff...la vida puede dar muchas vueltas y no dire "de este agua no bebere"... pero lo veo dificil. Profesionalmente me dedico a sistemas y a la hora de programas es por hobby (vaya hobby por cierto jajaja) y son cosillas tipo juegos y demas....

no te digo que no, es posible que el mismo C requiera de punteros para ser plenamente capaz y puede que otro lenguaje X sea capaz de no utilizarlos y no perder funcionalidad. Pero esto seria caer en la discusion eterna de que lenguaje es mejor q cual... y ese, no era el objetivo de este thread (cada uno utiliza el lenguaje q mas le gusta/va bien de acuerdo al tipo de programa que quiere crear, esto en teoria jeje).

Ahora ya se a grandes rasgos q es todo esto de .net, C# y managed gracias a vuestros post  (ole)  y ya solo el tiempo dira si terminara con el sistema anterior de programacion o no.
Lo unico que no me gusta es que me obliguen a tener q cambiar de un lenguaje en el que me encuentro comodo y  es completamente funcional, el resto...son opiniones :)

ya veremos como acaba el tema...seguire en paralelo todo esto del .net pero sin bajarme de mi carro en C jeje

gracias a todos por aclarar las dudas y lagunas de conocimiento

Vicente

 Pero si es que no es que no haya punteros: si casi todo son punteros ;) De todas formas, es como todo: cuestión de acostumbrarse. Primero los echarás de menos, y luego cuando te hagas a la nueva forma de trabajar pues como si nada. Pero vamos, que para gustos colores. Un saludo!

Vicente

zupervaca

 bueno a mi en principio el lenguaje de programacion me da igual, mientras se ajuste a lo que quiero para lo que quiero me vale, muchos que hayan trabajado en empresas de programacion, sean o no de juegos, tendran que haber tocado muchos lenguajes y opinaran como yo, no obstante siempre nos decantamos mas por uno y en mi caso como el de la mayoria es el c++ jeje, el c-sharp ... bueno esta bien, te lo dan todo montado, solo tienes que hacer llamadas a un api que tiene de todo y poca cosa mas, es un lenguaje muy sencillo aunque algunas partes de su sintaxis no las veo bien del todo por su gran parecido al basic o pascal y que lian mas que ayudar pero es un lenguaje a tener en cuenta como la mayoria, incluso el cobol sigue siendo usado por muchas empresas (espero que no siga siendo aquel cutre de ms-dos  :P)

saludos

editado: son todo punteros menos las estructuras y los tipos de datos basicos, pero a lo que se refiere la gente es que falta las operaciones logicas de los punteros, es decir, sumarle, restarle, multiplicarle, etc un valor

_Grey

 Y el tipico bucle en el que recorres de forma secuencial un array usando un puntero y la aritmetica de punteros para pasar a la siguiente posicion... como se haria?!?!

Saludos.

fiero

 Lo que yo creo es que las cosas que se hacen con punteros se pueden hacer sin punteros, pero a costa de invertir más tiempo de proceso. Tal como avanza la tecnología, al final se acabará erradicando la programación a bajo nivel (tipo punteros) y se programará en lenguales interpretados cada vez más "inteligentes".

Por ejemplo, para "trocear" y trabajar con segmentos de una cadena de texto, en C++ se podría hacer desplazando un puntero por la cadena. Sin embargo en otros lenguajes que no tienen punteros, se haría por medio de funciones para extraer subcadenas de la cadena principal, cosa más clara, limpia y facil de programar, pero más lenta (aunque esto ya da igual en estos bichos cada vez más rápidos).

un saludo
www.videopanoramas.com Videopanoramas 3D player

zupervaca

 bueno en c++ puedes usar una libreria para hacer eso y no complicarte la vida o incluso hacerla tu si quieres, pero cuando entramos en terminos de productividad y costes se buscan cosas baratas y rapidas y la verdad es que las empresas españolas son maestras en eso  :lol:, por ese motivo los lenguajes que van saliendo ahora estan pensados para las necesidades actuales, dentro de unos años habra otras diferentes necesidades y saldran otros lenguajes que nos tocara aprender a nosotros o a nuestros hijos, siempre pasara y es algo que yo por lo menos estoy acostumbrado

saludos

samsaga2

 Tal como yo lo veo el problema es que teneis una vision demasiado cercana a la forma de trabajar del C. Para un lenguaje ideal seria alguno que le pudiera decir las cosas de la manera mas cercana a mi forma de pensar y en el caso del C (lo pongo como ejemplo) me tengo que poner en su pellejo para desarrollar los programas. Claro que nunca podremos desterrar C porque sigue siendo imprescindible y lo seguira siendo (para un kernel por ejemplo).

Un ejemplo del lenguaje que conozco, Ocaml, (me gusta porque es tan rapido como el C) lo podeis encontrar en la wikipedia. El mas claro es el segundo, para hacer lo mismo en C++ tendriais que tirar de templates lo que complicaria bastante el codigo aparte de que generaria codigo por cada nuevo tipo de dato que useis con el template.

El unico problema es que la mayoria de estos lenguajes no son mas que juguetes, pero tiempo al tiempo :).

Vicente

 Lo que ha dicho zupervaca: aritmética de punteros nada de nada, pero de verdad eso es algo imprescindible para desarrollar??? (tan malo es recorrer un array con un for, un foreach o algo así? ;)) Un saludo!

Vicente

BeRSeRKeR

 Yo la verdad es que en el desarrollo de los MD5 con todo el tema de la animación esquelética para Haddd sí que eché de menos los punteros ya que había que realizar mucho movimiento de bloques de memoria de un sitio a otro, pero seguramente es que no lo orienté bien. Se ve que todavía seguía con el chip C++. :D

Tendré que revisar esa parte algún día. :lol:

Saludos.
¡Si te buscan en nombre de la ley, huye en nombre de la libertad!!






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.