Quiero ser desarrollador de software. Quiero crear aplicaciones y sitios web para iOS. No voy a la escuela pero tengo una computadora. Nunca he codificado antes. ¿Qué es lo primero que debo aprender para lograr este objetivo?

Lo primero que hay que reconocer es que la programación es difícil . Es tan difícil convertirse en un buen programador profesional (o desarrollador de software) como convertirse en un escultor de madera profesional, un violinista profesional o un matemático profesional. Se tarda unos diez años en aprender programación (pero es posible que pueda escribir algunos programas simples antes; pero no se sentirá orgulloso de eso; del mismo modo, si aprende a tocar el violonchelo, podrá tocar mal algunos música antes de diez años …). Por lo tanto, debe ser paciente y aceptar el aprendizaje durante muchos años (¡e incluso los programadores profesionales están aprendiendo todos los días!). Mantener su motivación (para aprender) e interés durante muchos años es de suma importancia.

La programación no consiste principalmente en conocer algunos lenguajes de programación, sino ser bueno para resolver problemas y traducir algunos requisitos en un software capaz de cumplir con algunos de ellos.

Por supuesto, necesitará aprender un poco de lenguaje de programación (pero estas son solo herramientas y utilizará varias de ellas). No elija que su primer lenguaje de programación sea útil, sino que sea fácil de aprender y que le enseñe mucho.

Mi sugerencia sería leer SICP , una muy buena introducción gratuita a la programación. Entonces leerlo es lo primero que hay que hacer. También necesitará (en algún momento) leer y comprender muchos otros buenos libros, incluida Introducción a los algoritmos (o algo equivalente, y estos son difíciles de encontrar; El arte de la programación de computadoras es muy bueno pero aún más difícil), Sistemas operativos : Tres piezas fáciles, el Libro del dragón, etc. También deberá leer varios libros sobre varios lenguajes de programación. Después de unos años, lea también Pragmática del lenguaje de programación. También tenga en cuenta que algunos problemas son indecidibles, especialmente el problema de detención. Otros son intratables: lea sobre la explosión combinatoria. Y, por supuesto, tendrás que practicar mucho .

También recomiendo instalar alguna distribución de Linux en su computadora (porque es amigable para el desarrollador y está hecha principalmente de software libre, cuyo código fuente puede estudiar y contribuir). Recomiendo estudiar y contribuir a varios proyectos de software libre.

Creo que el aprendizaje de la programación es un viaje muy largo, y que seguir algunos cursos en Ciencias de la Computación es realmente beneficioso (pero, por supuesto, puede adquirir el mismo conocimiento en otro lugar, solo; encontrará muchos MOOC y libros de texto buenos …) .

Por cierto, espero que comprenda que el desarrollo de software no consiste principalmente (o solo) en hacer aplicaciones telefónicas o sitios web. Debe comprender lo antes posible que puede ser mucho más que eso, y aún más divertido.

Lo más importante es ir a por ello. Incluso si no tiene ningún entrenamiento formal, puede aprender a programar en su propio tiempo. Solo tienes que ir a por ello. Comience haciendo un cubo de GitHub o bit.

Antes de continuar permítanme aclarar dos cosas que un principiante debe saber. La programación se clasifica en dos partes, front end y back end. La parte frontal es cómo un usuario verá la aplicación / sitio web / etc. Lo respaldado es la lógica detrás de esto, la funcionalidad real.

Ahora, para la programación basada en web, comience por aprender los conceptos básicos absolutos, HTML / CSS. No se preocupe demasiado por profundizar en CSS, solo obtenga una comprensión básica. Tenga en cuenta que esto no es realmente programación (algunos pueden cuestionar esto, solo diré que no está completo). Una vez que lo haya bajado, pase a JavaScript. Javascript te enseñará las habilidades necesarias para la programación real. Después de todo esto, debería ser capaz de construir algunas páginas web decentes. También puedes hacer una extensión de Chrome usando JavaScript. Para que los sitios web se vean bonitos, use algunos de los marcos que ya existen. Me gusta el front-end de bootstrap.

Para iOS, comience a aprender el lenguaje de programación objetivo C para iOS. También ve a buscar una Mac si aún no tienes una, no es imposible hacer iOS en Windows, pero el proceso de instalación es doloroso.

De todos modos, para reiterar, solo hazlo, hay excelentes tutoriales gratuitos en línea para aprender el desarrollo web. No soy un desarrollador de iOS, pero estoy seguro de que también existen tutoriales para iOS. Una última nota, porque no tiene el recurso de profesores, use el increíble foro llamado stackoverflow cuando tenga una pregunta relacionada con la programación.

Simplemente hágalo. Donde hay voluntad hay un camino. Si tiene confianza en usted, entonces seguramente puede lograrlo. Obtenga ayuda de alguna información en línea. Mire esto también Soporte de Hyperion y Servicios de migración de datos R12 – Parpadeo Consultante

Los fundamentos de la programación. Cavar en la experiencia del usuario. Luego pase al aprendizaje Objetivo-C.

En primer lugar, te saludo! ¡La educación en estos días parece tener que ver con capacitar a las personas para aprobar los exámenes en lugar de enseñar a los estudiantes a pensar! Entonces está en el camino correcto enseñándose a sí mismo a codificar. http://www.lookbeyondresumes.com

More Interesting

Soy estudiante de ingeniería eléctrica, pero no escribiría esto si quisiera continuar con mi carrera. De todos modos, ¿será una buena idea cambiar de carrera a "Experiencia de usuario / Pruebas de usabilidad de software"?

¿Cómo puede uno interesarse en CS como estudiante de CSE de primer año, y cómo practica las cosas para mejorar?

¿Qué necesito para convertirme en administrador de la base de datos?

En el campo de la informática, ¿cuál es mejor especializarse en una determinada pista o adquirir amplias habilidades?

He sido aceptado en el curso de CSE Carnegie Mellon y tengo la opción de ir a IIT Madras o Kanpur para CSE. ¿Merece la pena ir al extranjero para graduarme si quiero establecerme finalmente en la India o debería ir al IIT?

¿Qué habilidades informáticas son más útiles para una carrera en la industria espacial?

¿Qué es mejor, un BTech en informática o un BSC en informática, y por qué?

¿Qué es lo mejor que puede hacer un graduado en informática después de completar la ingeniería?

¿Debo elegir CS como especialidad para un estudiante de primer año si no tengo experiencia previa en programación?

¿Qué hacen los ingenieros de CS?

¿Hay futuro para los desarrolladores web front-end? Mi pregunta es específicamente sobre: ​​1) Aumento de salario basado en la experiencia y 2) Potencial de crecimiento dentro de una empresa.

¿Cómo puede un programador autodidacta entrar en las principales compañías de juegos?

¿Es mejor para un ingeniero de software nuevo adquirir experiencia en un campo o explorar múltiples campos? ¿Qué se debe hacer cuando la organización sigue cambiando los campos de trabajo de acuerdo con sus requisitos, empujándolos de un equipo a otro, y no permitiendo que uno sea un experto?

¿Nunca me convertiré en un informático si no recibo una A en matemáticas discretas?

Elección delicada de la industria de la academia? ¿Cuál sería el tuyo?