Sé que hay preguntas similares aquí, que he leído, pero recientemente leí esta publicación de Joel Spolsky:
¿Cómo puedo enseñar a una persona brillante, sin experiencia en programación, cómo programar?
Y me hizo pensar en mi forma de aprender y si podría ser perjudicial a largo plazo.
He incursionado en varios lenguajes, pero C # es el primero en serio, he leído "Head First C #" y he creado algunos proyectos. Pero después de leer la publicación anterior, me resulta un poco desalentador que pueda estar haciendo todo mal, obviamente respeto la opinión de Joel, que es lo que me ha sorprendido un poco.
Empecé a leer "Código" como se recomienda en la lista de lectura y me parece bastante difícil, aunque agradable. Siento que se ha quitado el brillo de mi "pirateo novato" en Visual Studio.
¿Entonces ahora no estoy seguro de qué camino debo tomar? ¿Debería dar un paso atrás y seguir los consejos de Joel y comenzar a leer?
Supongo que mi objetivo principal es convertirme en un buen programador, como todos los demás, pero no quiero entrar en malas prácticas aprendiendo un lenguaje .NET cuando alguien cuya opinión respeto respeto piensa que es perjudicial.
Pensamientos?
Respuestas:
También respeto las opiniones de Joel, pero son solo eso: opiniones . No hay absolutamente nada de malo en usar C # como lenguaje de inicio.
El mayor consejo que puedo darle, o cualquier persona que esté haciendo alguna programación (¡incluso si están comenzando en vainilla C!) Es no estar estancado y no ser religioso . No me importa con qué lenguaje de programación empiezas, ni qué tan puro o justo es ese lenguaje: en este día y edad no puedes permitirte sentarte solo en el mundo de la programación.
Por ejemplo, comencé a programar con PHP3 cuando era un adolescente. Construí algunas pequeñas aplicaciones web y algunos sitios web con él; Pensé que era un programador genio y que podía hacer cualquier cosa con PHP3, y fruncí el ceño a las personas que tenían que ver con ASP o BASIC. Chico, estaba equivocado.
No comencé a florecer verdaderamente como desarrollador hasta que comencé a expandir mis horizontes y a estudiar otros lenguajes y conceptos de programación. Durante la escuela secundaria aprendí algo de RealBASIC, y luego Visual Basic. Después de la escuela de negocios, cuando me convertí en desarrollador profesional, comencé a aprender C # y Javascript en serio.
Ahora, no me malinterpreten aquí - Estoy no defendiendo que intenta ser un rey de los tramposos. En el fondo, y en el comercio, sigo siendo un programador de PHP. PHP es mi pan de cada día, y lo sé por dentro y por fuera. Sin embargo, mis habilidades PHP no se convirtieron en lo que estaban haciendo PHP. Aquí hay algunos conceptos muy importantes que no entendí de PHP, a pesar de trabajar profesionalmente.
Podría seguir, y también muchos otros en este sitio, durante días. Aunque soy un programador de PHP, pude traer todos estos otros maravillosos conceptos al trabajo que hago todos los días.
¿Cuál es mi punto? Aprende C #. Conviértete en un maestro de C #: tendrás una carrera larga y exitosa y probablemente lograrás algunas cosas increíbles. Pero no se encasille. Viaje y pruebe otros lenguajes, entornos y conceptos.
fuente
Esto me recuerda una historia que involucra a Richard Feynman. Un estudiante de Caltech le preguntó al eminente cosmólogo Michael Turner cuál era su "sesgo" al favorecer un tipo de partícula como candidato para comprender la materia oscura, y Feynman espetó y dijo: "¿Por qué quieres saber su sesgo? ¡Forma el tuyo! ... No prestes atención a las autoridades, piensa por ti mismo ".
Los programadores provienen de todos los ámbitos de la vida. En la actualidad, Java se enseña en muchas escuelas secundarias y universidades, pero ni siquiera se había inventado cuando Joel Spolsky estaba en la escuela. No hay un "camino verdadero" cuando se trata de convertirse en un buen programador. Ciertamente, hay algunos clásicos como SICP con los que la mayoría de los programadores se topan en algún momento, pero no hay un estándar duro y rápido. Lo principal es comenzar en alguna parte y enfocarse en construir conceptos. Un gran programador dijo una vez algo como:
Creo que C # es un buen lenguaje para empezar, pero te advierto que tengas cuidado con Visual Studio. Es un IDE tremendo, pero si arrastra
DropDownList
y une aGridView
aObjectDataSource
y usa unButton
control para hacer unaDropDownList
búsqueda basada, entonces el IDE hace la mayor parte del trabajo y realmente no está programando. Aproveche las herramientas IDEs, pero siempre trate de construir conceptos y desarrollar conocimientos.fuente
Solo soy un junior, pero con toda humildad y respeto por aquellos infinitamente más experimentados, debo confesar que tampoco entiendo esta actitud.
Un programador comentó a continuación la respuesta de Joel: " como alguien que ha tenido que golpearse la cabeza contra el escritorio por" programadores "que fueron altamente recomendados por sus habilidades de C #, pero no pudieron hacer cosas simples como implementar una clase base muy bien documentada, encontrar pérdidas de memoria en programas c y c ++ " ...
Pero, ¿por qué encontrar fugas de memoria en aplicaciones C ++ debe ser simple para alguien que nunca afirmó saber C ++? :) No entiendo. Es como criticar a un psicólogo por la falta de habilidades de dentista. Seguramente no soy un buen programador, pero siento que esto no se debe a que no conozco C ++, sino a que no conozco suficientemente el marco y los lenguajes que estoy usando.
"no podía hacer cosas simples como implementar una clase base muy bien documentada (...) o simplemente resolver un problema por su cuenta o aprender una nueva idea incluso a un ritmo moderado"
Bien, pero la correlación no significa causalidad, y ¿qué nos hace suponer que su falta de habilidades generales de programación, lo cual no dudo, es el resultado de su elección de idioma?
¿O un efecto de C # siendo su primer lenguaje de elección, para el caso?
Puedo ver otras explicaciones plausibles (tal vez C # es sólo de moda, y por lo tanto atrae a una gran cantidad de novatos ... la mayoría de las personas para las que C # es el primer idioma no han sido programación muy largo en absoluto , y que es más de un impedimento, en por derecho propio que nunca programe en otro idioma ... etc., etc.).
fuente
free
mirándolo directamente a la cara, ¿cómo lo va a reconocer en un programa escrito en un lenguaje que no proporciona tales pistas?using
,IDisposable
, controladores de eventos hace referencia a sus oyentes etc.), pero no pude intentar siquiera serio para diagnosticar una memoria filtrarse en una aplicación C ++, porque ni siquiera estoy familiarizado con la sintaxis. No sé qué significa asterisco.Diría que aprender un idioma y seguirlo es más un error que decidir con qué idioma debes comenzar. Hay algunos idiomas que puede aprender que son más fáciles, por supuesto, pero es mejor intentar comenzar a aprender uno que usará mucho (en un entorno escolar, la escuela ya elige el idioma). Después de que haya aprendido un idioma correctamente y lo haya usado activamente después de algunos meses, debe incursionar en otro lenguaje de programación y comparar.
En .NET es fácil para usted usar dos (más o menos ) lenguajes de programación diferentes, ya que puede cambiar entre Visual Basic y C #. Para que pueda aprender Visual Basic y ver cuáles son las diferencias. En este nivel, debe ser competente con la codificación básica de procedimiento con las tres estructuras básicas de programación, si puede ser creativo con todas ellas (y saber cómo usar variables), entonces está en camino de convertirse en un gran programador:
No importa si su lenguaje de programación secundario será el más activo o no, solo saber que los lenguajes de programación (especialmente si siguen el mismo paradigma) son muy similares entre sí y hay pequeños matices que en realidad ayudan mucho para que comprenda cómo funciona la programación de software.
A partir de eso, al menos una vez al año, intente aprender un nuevo lenguaje de programación que siga otro paradigma de programación . No necesita mantenerse completamente al día con el nuevo lenguaje, pero hay algunos beneficios para conocer otros paradigmas. Hay varios paradigmas, y algunos lenguajes de programación se entremezclan entre muchos (tenga en cuenta que C # en realidad tiene subconjuntos de los siguientes tres):
Lo más importante que debe aprender es que muchos lenguajes de programación siguen su propio conjunto de expresiones idiomáticas y una API básica. Entonces, cuando aprendas un nuevo idioma, trata de aprender bien esos modismos y API y estarás bien cuando construyas cosas. Una buena razón es que te volverás mejor diseñando y resolviendo problemas de programación. Algunas expresiones idiomáticas en un idioma pueden darle una idea de cómo resolver un problema en su idioma principal.
También sepa que también hay otra muy buena razón por la que debería aprender otros lenguajes de programación, además del idioma principal que usará más: sus posibilidades de empleo son mucho mayores.
fuente
El foco de su pregunta y muchas de las respuestas aquí están en C #. De Wikipedia :
Basándonos solo en eso, parece seguro decir que podrías aprender C # como primer idioma sin dañar tu cerebro a largo plazo. Sin embargo, no creo que Joel estuviera condenando todo el idioma cuando escribió :
El problema no es el idioma, está tomando atajos. Con demasiada frecuencia, las personas intentan tomar una ruta rápida hacia su objetivo final siguiendo tutoriales paso a paso o libros de "aprender todo en 24 horas". No tiene que pasar demasiado tiempo en Stack Overflow antes de comenzar a notar que hay muchas preguntas en el sentido de: "Nunca he escrito una línea de código en mi vida, pero me estoy metiendo en el iPhone programación! ¿Puede alguien darme instrucciones paso a paso para hacer exactamente lo que quiero hacer? ¡Gracias! " No digo que estés adoptando ese enfoque, pero es algo de lo que debes protegerte.
Si desea desarrollar habilidades sólidas de programación, debe comenzar aprendiendo habilidades fundamentales. Si intenta saltar directamente a las aplicaciones OOP y GUI y tal, probablemente se perderá esos fundamentos. Los libros que Joel señaló son realmente buenos. Solo he hojeado el Libro amarillo de C # (PDF), pero parece que probablemente sea una mejor introducción a la programación que la mayoría de los libros de C # que veo en las tiendas.
fuente
Para mí, esas cosas en ese otro artículo sonaron un poco como una tontería elitista. Sí, con frecuencia recomiendo SICP a los desarrolladores serios que realmente quieren mejorar, pero solo a aquellos que quieren ir más allá de la "norma" y aprender la magia profunda. De hecho, durante años el SICP fue el texto estándar de programación de primer año del MIT; pero, muchos programadores que trabajan solidos nunca tuvieron la oportunidad de asistir a esa institución fina pero costosa y altamente selectiva.
Entonces, ¿ qué recomiendo en respuesta a su pregunta? Comience con lo que tiene y aprenda a pensar como un programador, en lugar de simplemente aprender un lenguaje específico.
Si tiene una implementación de C # disponible, bueno, puedo decirle que es un lenguaje perfectamente bueno para un trabajo rígido como yo, como lo son Java, JavaScript, Python, Ruby, Scala, Scheme y los muchos otros lenguajes que tengo. aprendido a lo largo de los años. Al final, trato de seleccionar los idiomas y herramientas adecuados para el trabajo específico en cuestión, y eso significa cambiar idiomas como sombreros.
No hay nada de malo en usar formas divertidas de aprender, como acercarse a Ruby a través de la Guía y zapatos conmovedores de Why (como recomendé en otra publicación reciente ). Hay caminos arcanos y místicos, como golpearse la cabeza contra The Little Schemer y The Seasoned Schemer de camino al SICP . Muchos pensadores modernos quieren que omita todas esas cosas académicas y "empresariales" más antiguas y que se sumerja directamente en JavaScript, JQuery y HTML5. Hay muchas maneras de comenzar, así que no pierdas mucho más tiempo. ¡Solo elige uno y obtén la codificación!
Siendo realistas, creo que pocos profesionales que trabajan en estos días lo enviarían hacia atrás para aprender Assembler o C / C ++ primero. Francamente, si lo hicieran, no creo que le estén prestando un gran servicio.
Entonces, para embellecer un poco "comienza con lo que tienes", tengo tres consejos más:
¡Comencé con FORTRAN IV y QBASIC y si eso no me arruina, C # tampoco te hará daño! ¡Buena suerte y asegúrate de divertirte mientras aprendes!
fuente
Creo que el mejor consejo que he visto cuando se trata de personas que preguntan "¿Qué idioma debo aprender?" es simplemente: un buen programador puede trabajar en cualquier idioma.
Hay argumentos en contra de esa afirmación, estoy seguro, pero el punto es: primero aprende a ser un buen programador, en lugar de un experto en lenguaje. Los constructores no se especializan en construir exactamente en una parcela de tierra, aprenden las habilidades de su oficio y las aplican en cualquier parcela de tierra en la que se les requiere.
fuente
A veces sospecho que los idiomas de elección tienen mucho más que ver con nuestras personalidades y de la forma en que estamos conectados y mucho menos que ver con consideraciones prácticas o académicas de lo que nos gustaría admitir.
Dicho esto, aprender cosas nuevas nunca es dañino. Sabrás el día que has cruzado el umbral hacia un cerebro evolucionado o quizás roto (supongo que todo es cuestión de perspectiva) cuando comiences a darte cuenta de que todo tiene un manual. En última instancia, puedes hacer lo que quieras si tienes algo de talento y estás realmente interesado en hacer algo en lugar de ser el aspecto de un programador.
Al menos juega con Python y JavaScript. Es una clara ventaja de aprendizaje poder realmente escribir código y verlo ejecutar inmediatamente en un entorno de consola accesible de E / S de archivo como IDLE o un entorno de sandbox como un navegador. Lo que no me gusta de C # y Java es que quieren que todo se limite a las clases, incluso si realmente solo está escribiendo una función simple con envoltorios inútiles para mantener contentos a sus compañeros o un compilador demasiado restrictivo. La otra cosa que me gusta de JS y Python es que realmente te permiten establecer tu propio paradigma. Un poco demasiado flexible por muchas preferencias de desarrolladores. Todavía no estoy seguro de qué pensar sobre la sabiduría de sobrecargar los operadores básicos, pero estoy bastante seguro de que me encanta Python por permitir la opción.
Tampoco caiga en la cruel mentira de elegir el idioma principal con la mayor cantidad de ofertas de trabajo. Es mejor ser un gran pez en aguas medianas haciendo lo que te gusta que un miembro de una horda de peces insufribles en su mayoría que convierten cada búsqueda de trabajo en más una lotería que un proceso de correspondencia.
fuente
C # no es tan malo como Java en un tramo considerable. Tienen un mejor soporte para muchos conceptos como programación funcional, programación genérica, destrucción determinista y tipos de valor, sobrecarga del operador, etc. Su soporte para estas características aún podría requerir mucho trabajo, por supuesto, pero es mucho mejor que Java, incluso si No es C ++.
En segundo lugar, creo que estás leyendo mal lo que dijo Joel. Si puede dominar los punteros y la recursividad, entonces no importa qué idioma esté usando ahora. Lo más importante sería usar un pequeño
unsafe
código, familiarizarse conunsafe quicksort
algo o algo así y luego volver al resto de C # normal.Ah, y empieza a leer :)
fuente
El primer lenguaje productivo para mí fue C #. Aunque había jugado con Foxpro en el horario escolar y un poco de C en la universidad. C # es bastante bueno y muy buen punto de partida para cualquiera. Sigue los fundamentos generales de la programación como mecanografía fuerte, encapsulación, herencia, etc., que creo que siempre se debe aprender, sin importar si los usan o no. Más tarde, siempre puede pasar a otros lenguajes como Python que no sigue la estandarización de la programación fundamental.
El otro factor adicional que la gente realmente no agrega al aspecto de aprendizaje de C # es la disponibilidad del mejor IDE para cualquier lenguaje que haya visto. Eclipse IDE también es bueno, pero una vez que haya usado Visual Studio, agradecerá a Microsoft.
C # se mejora sobre C, asegura que no necesita aprender otros idiomas de antemano. Todos los lenguajes durante más de una década han evolucionado a partir de la naturaleza de C, incluso el JAVA.
Entonces, el veredicto es que C # es un excelente punto de partida que le brinda la capacidad de aprender otros idiomas rápidamente en el futuro
fuente
Aprender C # como primer idioma no es un error, siempre y cuando tarde o temprano avance y comience a aprender un segundo idioma. Eso es mucho más importante. Aún mejor si ese segundo lenguaje es algo diferente de C # (javascript o ruby en ese sentido sería mejor que java). Cada idioma tiene sus pros y sus contras, y son las diferencias las que te harán un mejor programador a largo plazo.
fuente
Por mucho que te aconseje que aprendas muchos idiomas (como sugieren los demás), asegúrate de conocer un par de idiomas que aprendas muy bien.
El riesgo de conocer muchos idiomas es que es posible que nunca aprendas un idioma por completo, causando frustración cuando realmente quieres resolver un problema.
Conocer la construcción del bucle for es muchos idiomas es divertido pero inútil si no sabes cómo manejar los errores en ninguno de ellos.
fuente
No se preocupe por saber que aprendió C # primero. Es similar a preocuparse de que su primer paso se haya dado con su pie izquierdo o derecho. La única diferencia entre aprender primero un idioma administrado es que solo se está demorando cuando tiene que aprender punteros y administrar la memoria detallada. En realidad, esto puede funcionar a su favor, ya que cuando llegue el momento de aprender C, lo único que le preocupará es la gestión de la memoria: no estará haciendo malabarismos tratando de aprender las estructuras de control, el concepto de funciones, etc. ser capaz de concentrarse completamente en punteros y administración de memoria.
El estereotipo existe porque hay programadores de lenguaje administrado que nunca hicieron esa segunda parte y aprendieron C y C ++, y luego aplicaron a los trabajos de C y C ++.
Es como aprender un instrumento musical: el primero es difícil porque estás tratando de aprender la mecánica de leer música escrita Y la mecánica física de articular un instrumento para hacer lo que quieres. Para el segundo y posteriores instrumentos que aprenda, puede concentrarse únicamente en lo que hace que ese instrumento sea diferente de lo que ya sabe.
fuente
Es duro para el novato, sin duda. He hecho vb, javascript, PL / SQL, T-SQL, Uniface y un poco de C # por nombrar algunos.
Alguien mencionó anteriormente Visual Basic como donde aprendieron sobre programación orientada a objetos, y para ser honesto, VB.NET tiene la sintaxis más fácil de entender de cualquier lenguaje que haya visto. La mejor característica es que las palabras clave coinciden con los conceptos que se describen detalladamente.
Por ejemplo, la función myHandler () maneja myButton.click
o Class Human Extiende los implementos de mamíferos intelligentLifeform
En serio, para facilitar la lectura cuando eres un novato, ¿a qué más te gustaría que se viera la sintaxis?
Cuando busca propiedades y métodos (y distribuye entre subs y funciones) es mucho más fácil de leer en VB.
Del mismo modo al declarar variables
Dim myString As string - obvio cuál es el tipo y cuál es la instancia
La distinción entre mayúsculas y minúsculas de C # alienta lo que para mí es un mal hábito grave: tener el mismo nombre para la clase y la instancia, siendo una mayúscula y otra inferior.
p.ej
Humano humano
si llama a human.think, sería fácil confundir una instancia con una clase y pensar que estaba llamando a un método estático de un vistazo. Y mirar a menudo es cómo percibimos el código, no tenemos tiempo para pasar el mouse sobre cada elemento para que el editor nos diga qué está pasando.
C # puede tener algunas ventajas, pero es mucho más difícil comenzar, incluso si ahorra escribir. Es por eso que definitivamente debería haber un lugar para ambos idiomas.
fuente
Dim myHuman as Human
es mucho mejor? : DEl mayor inconveniente que puedo ver es que Visual Studio y las herramientas asociadas son muy, muy agradables: cosas como la inteligencia y la finalización del código pueden convertirse fácilmente en muletas. En general, diría que el entorno puede ser tan agradable y favorable que tiende a sentirse un poco perdido cuando necesita, por ejemplo, piratear el código ruby en un editor de texto. Ah, y por lo general también extrañarás cosas como linq.
fuente
C # está perfectamente bien para comenzar a programar.
Es lo que me dijeron que comenzara, sin siquiera tener la oportunidad de incursionar en otra cosa (aparte del Hello World en Java, algunas cosas básicas de LOGO y algunas cosas en Scratch, pero nada "serio").
En general, puede ser difícil: hay muchas cosas que no parecen intuitivas, y tiene sus limitaciones, pero creo que fomenta una buena codificación y es excelente una vez que lo dominas. Quiero decir, te da más poder y es un poco más profesional que Python (que generalmente se sugiere), y eso marcaría una gran diferencia: probar C ++ después de C # no fue demasiado doloroso, pero si hubiera comenzado con Python, entonces sería un gran obstáculo, incluso solo en el nivel de sintaxis.
Además, tiene un buen soporte multiplataforma en forma de Mono (para aquellos de ustedes que piensan que Mono no es un gran problema: Unity Game Engine les permite codificar en una versión de él). También es bastante útil para la mayoría de las cosas, ya sean secuencias de comandos de juegos, diseño web o aplicaciones de Windows. Por supuesto, algunos idiomas serán mejores para ciertas líneas, por lo que dependerá de la dirección general en la que planee ir, por ejemplo, si va en la dirección web, entonces C # (ASP.NET) definitivamente sería un buena idea. Si planeas entrar en juegos, entonces deberías pensar en C ++.
Al final, vale la pena aprenderlo, incluso si no terminas usándolo en favor de la simplicidad de Python o la naturaleza arcaica de Java (ya que el ciclo de lanzamiento para Java es REALMENTE lento): aprendes una buena codificación prácticas, aunque no es demasiado complicado para que un novato aprenda.
fuente
Para ser un programador necesitas tener pasión. Los programadores que conozco son los que se esfuerzan por aprender y notar cambios en la industria. Comencé mi programación con basic en un Commodore Vic 20 (sí, ese viejo) y seguí avanzando a otros idiomas nuevos. Parte de mis años de programación incluso incluyó COBOL. También comencé a notar que algunos idiomas funcionaban mejor en ciertos procesos frente a otros. Mi consejo para usted es aprender cualquier idioma y comprender conceptos básicos de programación como bucles, métodos, comparaciones. La mayoría de los idiomas admiten esos tres conceptos. Nunca debe decir "Esta es la mejor manera", sino "¿Cómo puedo mejorar esto?". Lo peor de esa última oración es que podrías encontrarte con la ingeniería. ¡La programación es divertida, hazla divertida! Internet abrió una forma completamente nueva de experimentar la programación porque el nivel de acceso que tenemos hoy a la información es asombroso. Para mí, antes de internet, tenía que ir al estante y bajar los libros de programación GRIS de IBM y aprender. Hoy puedes escribir una cosa en google y whammo.
fuente
Wow muchas respuestas. Aquí está mi punto de vista:
C # no es un lugar para aprender informática. Lo veo como una idea extremadamente mala. Voy a enumerar algunas de mis preocupaciones a continuación.
Demasiado cansado para continuar, elige rápidamente otro idioma.
fuente
Recomendaría C # o cualquier lenguaje que ofrezca estas tres cosas en su núcleo:
Completamente tipeado Compilado y totalmente orientado a objetos.
Un primer lenguaje que ofrezca estos tres núcleos enseñará mucho sobre el flujo del programa, la sintaxis y cómo resolver problemas de una manera más estructurada. Vivo y respiro dentro de un montón de excelentes idiomas que no tienen estos atributos, pero si le estuviera enseñando un idioma a alguien, elegiría uno que tuviera estos tres requisitos.
fuente
No, esa respuesta es terrible. ¿Por qué? Bueno, él prescribe algunos buenos libros que definitivamente deberías leer, pero sin el trabajo en el aula y el trabajo de laboratorio (laboratorio de computación), estarás perdido y frustrado. Debes estar con un grupo de otros programadores nuevos experimentando porque hay muchísimo que aprender aparte de lo que hay en esos libros. No estoy diciendo que tenga que optar por un BSCS, pero también necesita acceso a un instructor experto cuando un montón de cosas pueden salir mal en cualquier instante, como problemas de compilación, entornos de compilación ... lo que sea. No serás un gran programador trabajando en el vacío. Cualquier libro que requieran tus cursos será lo suficientemente bueno siempre que elijas una escuela decente a mitad de camino.
Por lo tanto, inscríbase en algunas clases y será MUCHO más divertido. Además, si planea obtener un trabajo como programador, necesita conexiones y escuchará todo el rumor sobre las empresas que reclutan en el campus, etc.
Finalmente, la educación formal es muy importante ya que la programación requiere una gran cantidad de conocimientos teóricos para comprender cómo se supone que funcionan las cosas en todos los niveles (hw / sw) para que pueda descubrir cómo solucionarlas. Casi todo es un recuadro negro, por lo que debes ser capaz de descubrir por qué algo se comporta de la manera en que lo haces para poder tomar la siguiente puñalada lógica en la oscuridad. Sin al menos un título de programación de 2 años (como lo llames) estarás en desventaja.
PD: No iría cerca de .Net o C # hasta que haya experimentado Java. C # no es agradable a la vista. Es un código desordenado y desordenado. El .Net IDE apesta más allá de lo creíble. Está en la edad oscura de los estándares IDE. Java: C # ~ Datos: Lore
fuente