Noticias

¡RECUERDA QUE SI ERES UN NUEVO USUARIO, DEBES PRESENTARTE PARA PODER PUBLICAR MENSAJES! | TENEMOS CANAL OFICIAL DE TELEGRAM: t.me/unity3dspain

Duda sobre c#

Iniciado por Pwylll, Abril 11, 2018, 01:01:57 PM

Tema anterior - Siguiente tema
Intentando aprender a programar he visto varios tutoriales sobre el lenguaje c# (sin tener, en principio, relación con Unity). El caso es que una de las primeras cosas que enseñan es a sacar por consola los resultados usando el comando "Console.". Cuando lo introduzco en el Visual que acompaña al programa de Unity no me lo reconoce como una instrucción válida. Tengo entendido que para hacer eso mismo en Unity se usa Debug.Log. 
 
Mi duda es: ¿no me sirve aprender c#  independiente de Unity?¿Voy devolviendo el dinero de estos cursos?¿Hay más comandos que no me van a ser útiles al aprender ese lenguaje? 
 
 
 
Siento que mi primer mensaje "serio" en este foro sea para preguntar y ni siquiera sé si esta duda está bien en el subforo de scripting de Unity.

aprender c#, o cualquier otro programa, independientemente de si usas unity o no, es una cosa que te vendra bien si quieres dedicarte a los videojuegos....
 
yo aprendi con "basic" hace un monron de años... de ahi me pase a Java, y hace solamente un año, a unity, con C#.
 
entender bien un lenguaje de programacion te ayuda a comprender como funciona la programacion... ...independientemente del lenguaje que uses (o que acabes usando)... si aprendes bien, luego te resultaran todos los lenguajes parecidos...
 
unity usa C#... aunque es cierto que tiene muchas funciones propias, como lo que has dicho del Debug.Log...
 
mi consejo es que sigas con el C#

Cita de: Pwylll date=1523444517Mi duda es: ¿no me sirve aprender c#  independiente de Unity?¿Voy devolviendo el dinero de estos cursos?¿Hay más comandos que no me van a ser útiles al aprender ese lenguaje? 
   


No, una cosa es saber programar, la otra es saber usar la API de un motor, varias veces ha  salido el tema de "qué aprendo primero? Unity o C# ?" el saber C# a full no hace que te metas en Unity y "sepas todo", en cambio puede ser que yendo por el otro camino termines zafando en muchas situaciones (ya que no es necesario saber programar al 100%), pero sin los conocimientos básicos que te da el lenguaje, haciendo todo por repetición y sin posibilidad de extenderte. Por eso lo mejor es atacar la página oficial de Microsoft con C# (está genial) + atacar el manual de Unity(también excelente).
 
Cita de: Pwylll date=1523444517El caso es que una de las primeras cosas que enseñan es a sacar por consola los resultados usando el comando "Console.". Cuando lo introduzco en el Visual que acompaña al programa de Unity no me lo reconoce como una instrucción válida. Tengo entendido que para hacer eso mismo en Unity se usa Debug.Log. 
   


Console no funciona (nunca probé si estaba la clase esa pero tengo entendido que es parte de System (?) ) ya que la aplicación en un Editor, no una aplicación de consola, probá de hacer un printf o cout en Unreal Engine y fijate que aunque tengas <iostream> o <stdio.h> no va a salir nada, por lo mismo. Esto no quiere decir que te están estafando, la consola no hace nada, es una forma básica (y muy efectiva) de reflejar resultados en un terminal (la app de consola, una consola de Linux, etc) que de no ser así tendrías que ir pos de memoria por pos de memoria viendolos (usando un debugger). El resto de los "features" de C# están ahí, clases, herencia, interfaces, polimorfismo, etc etc, todo lo mismo se aplica a Unity. Pero tenés que saber "las reglas de la casa", osea conocer dos o tres cositas que se hacen en Unity (más relacionadas a la API de Unity que otra cosa), el resto es C#. También acordate que C# viene gracias a "Mono", que es una implementación de .NET (para plataformas de Microsoft), por eso podés usar C# en multiples plataformas :) .

Cita de: lightbug date=1523448702No, una cosa es saber programar, la otra es saber usar la API de un motor,
   


Esta frase, grabada en sangre en la frente de cada uno, ¿ok? A ver si así conseguimos tener grandes programadores en la Comunidad...

usar la api (unity) es facil... 
 
programar es complejo...

Cita de: Igor date=1523617550usar la api (unity) es facil... 
   
   
      programar es complejo...
   


La programación es "ARTE" vas a ver personas que recién empiezan haciendo cosas espectaculares (dentro de sus limitaciones técnicas), pero más allá de eso, el programador nato busca siempre nuevos desafíos y pasa el 90% del día pensando que hacer para mejorar cierto algoritmo, luego están programadores técnicos. no voy a quitarles el mérito, pero si estudias canto y no lo sientes, la gente no lo siente, si programas algo para que funcione, pero sin el cariño por lo que haces la gente no lo siente << Algo loco.... Pero me gusta pensar que los recursos técnicos son solo un forma diferente de hacer las cosas ....
 
Pero fuera del delirio mental ... aprender a programar cualquier lenguaje es importante, luego cuando vas aprendiendo las diferentes API, Linq, Entity Framework, UnityEngine, Unit***itor, UnityEngine Internal, WinForm, Sockets ... etc.. Luego con cada una vamos aprendiendo diferentes implementaciones, Callback, Eventos, Delegados, Func, pero todo esto lleva años perfeccionarlo para lograr algo decente, lo importante es meterle muchas ganas y nunca desilusionarte, hasta los mas "Genios" pasan horas buscando errores, que en el 99.9% de las veces son tan tontos que da verguensa reportarlos.

Cita de: francoe1 date=1523619912hasta los mas "Genios" pasan horas buscando errores, que en el 99.9% de las veces son tan tontos que da verguensa reportarlos.
   


@francoe1 tiene razon... contra mas aprendo de programacion... mas tontos son mis "errores"...
 
...y la cantidad de ellos no se si va en aumento... pero reducirse tampoco... siempre la "lio" en algun lado... 
 
pero contra mas aprendes mas facil es encontrarlos y solucionarlos... 
 
lo que llamo "errores" talvez no sean errores en si... sino tal vez funcionamientos no deseados, o cosas "inesperadas" que no habias tenido en cuenta cuando estas escribiendo el codigo... pero que una vez que lo ejecutas no da el resultado deseado... aunque no de error en si...
 
XD

Cita de: Igor date=1523623721@francoe1 tiene razon... contra mas aprendo de programacion... mas tontos son mis "errores"...
   
   
      ...y la cantidad de ellos no se si va en aumento... pero reducirse tampoco... siempre la "lio" en algun lado... 
   
   
      pero contra mas aprendes mas facil es encontrarlos y solucionarlos... 
   
   
      lo que llamo "errores" talvez no sean errores en si... sino tal vez funcionamientos no deseados, o cosas "inesperadas" que no habias tenido en cuenta cuando estas escribiendo el codigo... pero que una vez que lo ejecutas no da el resultado deseado... aunque no de error en si...
   
   
      XD
   


Lo que llamo error es cuando estas armando algo, ejmplo, un Servidor dedicado, y va todo bien, pero por x razón cuando un jugador muere es server crashea.. y te pasas dias diciendo .. "L**!!+2+2+2@@#3€@#€" y al final era un error de conversión de un string a int... y cuando lo encuentras luego de estar dias comentando,... modificando .... y debugeando.. te sientes tan tonto..
 
Tuve errores que tarde hasta meses en resolver... << Este se trataba de una librería para montar un server HTTP con respuestas asincronizas para crear Push de Score.. u otras acciones dentro de un Juego, la cosa, es que la codificación de envío estaba en UTF8 y la de recepción en ASCII lo que generaba algunos errores de caracteres como la Ñ y otro miles más... la razón era que enviaba un JSON y el Parseador de JSON me daba errores, el serializar y deserializar de JSON lo arme yo desde cero, por lo que creía que el error estaba en esa librería, hice miles de cambios.. y nada... Luego, un día, me di cuenta de que si mandaba un mensaje vacío todo funcionaba...y así fue como descubrir el error de codificación. 
 
 
 
De estas miles de historias.. jajajaja

Cita de: Igor date=1523623721@francoe1 tiene razon... contra mas aprendo de programacion... mas tontos son mis "errores"...
   
   
      ...y la cantidad de ellos no se si va en aumento... pero reducirse tampoco... siempre la "lio" en algun lado... 
   
   
      pero contra mas aprendes mas facil es encontrarlos y solucionarlos... 
   
   
      lo que llamo "errores" talvez no sean errores en si... sino tal vez funcionamientos no deseados, o cosas "inesperadas" que no habias tenido en cuenta cuando estas escribiendo el codigo... pero que una vez que lo ejecutas no da el resultado deseado... aunque no de error en si...
   
   
      XD
   


Si es que es una verdad universal: "El índice de innovaciones introducidas es inversamente proporcional al de errores subsanados" :D :D :D 

Cita de: FNP date=1523636278El índice de innovaciones introducidas es inversamente proporcional al de errores subsanados
   


jejeje, asi es, parece que nunca se acaban las cosas a corregir... 
 
y a veces añades algo nuevo, una cosa, y te pueden surgir varias docenas de cosas no deseadas, XD
 
Cita de: francoe1 date=1523632082... y te pasas dias diciendo .. "L**!!+2+2+2@@#3€@#€" y al final era un error de conversión de un string a int... 
   


asi es, o has puesto la variable que no es en un calculo, y parece que va bien pero de repente se vuelve todo loco... #*π~!!! ***???
 
y venga a revisar y a revisar....
 
incluso igual intentas "inventar" un cacho de codigo para intentar corregir el error... que no sabes de donde leches sale... 
 
hasta que al tiempo ves que en uno de los sirios en vez de "aux.z" has usado "aux.x"... (incorrectamente)... o alguna cagada parecida
 
 

Etiquetas: