¿Cuáles son algunos lenguajes de programación que debería aprender, más allá de SQL, C ++, Java y C? ¿Cuáles son algunos libros o fuentes en línea que podrían ayudar?

Mis dos centavos estarían en Python , definitivamente.

Aunque empecé con C ++ (un lenguaje con el que no he trabajado desde hace mucho tiempo; actualmente trabajo con Java, PHP y Python), lo mejor que encuentro sobre Python es lo cerca que está escrito. pseudocódigo, la forma en que aumenta la legibilidad del código, la forma en que se asegura de que la lógica compleja se escriba en el menor número de líneas posible, y muchas más.

El hecho de que parezca simple (léase, ‘simple a la vista’), no implica de ninguna manera que sea un lenguaje de programación débil o mal equipado. Se jacta de una biblioteca de herramientas muy poderosa y extensa que permite la extracción de datos, el análisis, el procesamiento de imágenes, por nombrar algunos, y una creciente comunidad de desarrolladores.

También es un lenguaje orientado a objetos, en caso de que se lo esté preguntando, y también es compatible con el paradigma de programación funcional.

Podría seguir, pero en cambio, dejaré que este muy famoso cómic xkcd hable:

Para poner las cosas en perspectiva, el código de Python 2 mencionado anteriormente:

imprimir “¡Hola, mundo!”;

Salidas de lo siguiente:

¡Hola Mundo!

¡Eso es!

Y sobre el muy curioso módulo de antigravity que se habla en el último fotograma: es un huevo de pascua agregado en Python 3, e importarlo conduce a que su navegador predeterminado abra este enlace (aunque no lo he probado).

____________________________________________________________

Esto no quiere decir que debas ir por Python. También haga una investigación al respecto, hable con sus compañeros, personas mayores a quienes conoce, para obtener más perspectiva sobre esto. Ningún idioma es un idioma difícil, si comienzas bien.

Pero, por otro lado, al igual que cualquier otro lenguaje de programación, Python también tiene su propia cantidad de deméritos, pero no necesitamos pasar por eso para los fines de esta discusión. Puede consultar aquí para obtener algunas opiniones subjetivas sobre este tema, si está interesado. Porque oye! ¡No todo son arco iris y unicornios!

Pero una cosa es cierta, te gustará mucho Python. Aquí hay un curso de introducción a Python de Codecademy, que puede ayudar a acelerar el proceso de aprendizaje.

Espero que haya ayudado.

La mayoría de los lenguajes de programación “principales”, como C, Java, C #, Perl, Ruby y Python, pueden hacer las mismas tareas, o casi las mismas, que las demás. Java, por ejemplo, funciona multiplataforma y se usa para aplicaciones web y applets, pero Ruby también puede hacer aplicaciones web grandes y aplicaciones Python que también se ejecutan en Linux y Windows. SOA World señala que debido a que muchos idiomas se modelan entre sí, la sintaxis o la estructura de trabajo en ellos es a menudo casi idéntica, por lo que aprender uno a menudo ayuda a aprender los demás. Por ejemplo, para imprimir “Hola mundo”, Java y C # son sintácticamente similares, al igual que Perl y Python:

Sin embargo, difieren en la facilidad con la que se instalan y se meten. El mundo de SOA continúa:

Oye, por cierto, si observas atentamente esos ejemplos, notarás que algunos son simples, otros son complejos y otros requieren punto y coma al final de las líneas, mientras que otros no. Si recién está comenzando con la programación, a veces es mejor elegir idiomas sin muchas reglas sintácticas (o lógicas) porque permite que el lenguaje se “salga de su propio camino”. Si has probado un idioma y realmente has luchado con él, ¡prueba uno más sencillo!

Aquí hay una comparación rápida de los lenguajes de programación más populares:

C: Te entrena para escribir código eficiente

C es uno de los lenguajes de programación más utilizados, si no el más utilizado. Hay algunas razones para esto. Como señaló el programador y escritor Joel Spolskysays, C es para la programación, ya que el aprendizaje de la anatomía básica es para un médico. C es un lenguaje de “nivel de máquina”, por lo que aprenderá cómo un programa interactúa con el hardware y aprenderá los fundamentos de la programación en el nivel más bajo de hardware (C es la base de Linux / GNU). Aprende cosas como la depuración de programas, la administración de memoria y cómo funcionan las computadoras que no obtiene de lenguajes de nivel superior como Java, al mismo tiempo que le prepara el código de manera eficiente para otros idiomas. C es el “abuelo” de muchos otros lenguajes de nivel superior, incluidos Java, C # y JavaScript.

Dicho esto, la codificación en C es más estricta y tiene una curva de aprendizaje más pronunciada que en otros idiomas, y si no planea trabajar en programas que interactúan con el hardware (toque los controladores de dispositivos, por ejemplo, o las extensiones del sistema operativo), el aprendizaje C se agregará a su tiempo de educación, tal vez innecesariamente. Stack Overflow tiene una buena discusión sobre C versus Java como primer lenguaje, con la mayoría de las personas apuntando hacia C. Sin embargo, personalmente, aunque estoy contento de haber estado expuesto a C, no creo que sea un lenguaje muy adecuado para principiantes. Te enseñará disciplina, pero tendrás que aprender mucho antes de poder hacer algo útil. Además, como es tan estricto, podrías terminar frustrado así:

Java: uno de los lenguajes más prácticos para aprender

Java es el segundo lenguaje de programación más popular, y es el lenguaje que se enseña en el renombrado (y gratuito) curso de programación Intro to CS de Stanford. Java aplica principios orientados a objetos (OOP) sólidos que se utilizan en lenguajes modernos, incluidos C ++, Perl, Python y PHP. Una vez que haya aprendido Java, puede aprender otros lenguajes OOP con bastante facilidad.

Java tiene la ventaja de una larga historia de uso. Hay muchos ejemplos “repetitivos”, se ha enseñado durante décadas y se usa ampliamente para muchos propósitos (incluido el desarrollo de aplicaciones para Android), por lo que es un lenguaje muy práctico para aprender. No obtendrá control a nivel de máquina, como lo haría con C, pero podrá acceder / manipular las partes más importantes de la computadora como el sistema de archivos, gráficos y sonido para cualquier programa bastante sofisticado y moderno, que pueda ejecutarse En cualquier sistema operativo.

Python: divertido y fácil de aprender

Mucha gente recomienda Python como el mejor lenguaje para principiantes debido a su simplicidad y sus excelentes capacidades. El código es fácil de leer y aplica un buen estilo de programación (como la sangría), sin ser demasiado estricto con la sintaxis (cosas como recordar agregar un punto y coma al final de cada línea). Patrick Jordan en Ariel Computing comparó el tiempo que lleva escribir un guión simple en varios idiomas (BÁSICO, C, J, Java y Python) y determinó que mientras que los otros idiomas no deberían ignorarse, Python:

requiere menos tiempo, menos líneas de código y menos conceptos que se deben enseñar para alcanzar una meta determinada. […] ¡Finalmente la programación en Python es divertida! El éxito divertido y frecuente genera confianza e interés en el estudiante, que se encuentra en una mejor posición para continuar aprendiendo a programar.

SOA dice que Python es una necesidad absoluta para los principiantes que quieran tener los pies mojados con Linux (o que ya estén familiarizados con Linux). La popularidad de Python también está aumentando rápidamente hoy gracias a la amplia adopción en sitios web populares como Pinterest e Instagram.

JavaScript: para saltar a la derecha y construir sitios web

JavaScript (de poca relación con Java) requiere la menor cantidad de configuración para comenzar, ya que ya está integrado en los navegadores web. O’Reilly Mediar recomienda que comiences con JavaScript porque tiene una sintaxis relativamente indulgente (puedes codificar libremente en JavaScript), ves resultados inmediatos de tu código y no necesitas muchas herramientas. En nuestra propia escuela nocturna Aprende a codificar, usamos JavaScript para mostrarte los conceptos básicos, como cómo funcionan las variables y las funciones. Si quieres hacer cosas interactivas geniales para la web, JavaScript es una habilidad imprescindible.

Aprende a codificar: la guía completa para principiantes

Si ha estado buscando aprender a codificar, podemos ayudarlo a comenzar. Aquí hay 4.5 lecciones… Leer más

Escogiendo tu camino

Una última consideración es si quieres o no pasar de la codificación como un pasatiempo a hacerlo como una carrera. Dev / Code / Hack desglosa los diferentes roles de trabajo y las habilidades que debes adquirir para ellos:

Programador de back-end / servidor: generalmente utiliza uno de los siguientes: Python, Ruby, PHP, Java o .Net. Tiene conocimientos de base de datos. Posiblemente tenga algún conocimiento de administrador de sistemas.

Programador de cliente / cliente: HTML, CSS, JavaScript. Posiblemente tiene habilidad de diseño.

Programador móvil: Objective-C o Java (para Android). HTML / CSS para sitios web móviles. Potencialmente tiene conocimiento del lado del servidor.

Programador 3D / Programador de juegos: C / C ++, OpenGL, Animación. Posiblemente tenga buena habilidad artística.

Programador de alto rendimiento: C / C ++, Java. Puede tener formación en matemáticas o análisis cuantitativo.

Sin embargo, al final, no hay una sola manera de comenzar a aprender a codificar. Lo más importante es aprender lo básico a través de “rascarse la picazón”, por así decirlo, al trabajar en los problemas que quiere resolver o algo que quiere construir. Como la programación es terrible blog dice:

El primer lenguaje de programación que aprendas probablemente será el más difícil de aprender. Elegir algo pequeño y divertido hace que esto sea un desafío y una aventura. Realmente no importa dónde comience, siempre y cuando continúe: siga escribiendo códigos, siga leyendo códigos. No te olvides de probarlo tampoco. Una vez que tenga un idioma con el que esté contento, elegir un nuevo idioma no será tan fácil, y adquirirá nuevas habilidades en el camino.

La programación es una de las habilidades más buscadas en estos días en la industria para la contratación. Es esencial tener habilidades técnicas y conocimientos prácticos adecuados.

.NET, Java, PHP ha existido por mucho tiempo. Esto significa que hay muchos proyectos escritos en estas tecnologías y muchos desarrolladores de .NET, Java y PHP. Es fácil obtener ayuda para un problema difícil, probablemente ya se haya resuelto. Node.js es relativamente nuevo en el juego, por lo que mucho tiempo irás abriendo nuevos caminos con él. Sin embargo, no es algo malo, Node.js aprendió de los errores de otros idiomas (incluidos .NET, PHP o Java) y tuvo poca crudeza heredada. Node.js probablemente tendrá un poco de ventaja donde tienes muchas conexiones pequeñas. Si está utilizando una gran cantidad de Ajax en sus páginas y haciendo muchas llamadas asíncronas por página, o utilizando sockets web o conexiones largas similares, Node.js funcionará mejor.

Así que sugiero optar por NodeJS. Node.js es un entorno construido sobre JavaScript. .NET es un lenguaje propio.

Si bien ambos están destinados a la programación del lado del servidor y están destinados a lograr las mismas cosas, Node.js es el camino a seguir.

Este es el por qué:

  1. El nodo es más rápido.
  2. El gestor de paquetes de Node (npm) es más extenso.
  3. El uso del nodo no se limita a un servidor web. Ver Meteor.
  4. El nodo hace que la E / S sin bloqueo no parezca. Lo prometo.
  5. Nodo + Reaccionar = Hermoso.

Node.js es una tecnología revolucionaria, lo que la convierte en una excelente habilidad para el futuro inmediato y cercano del desarrollo de aplicaciones web modernas. Node.js garantiza un alto rendimiento y mejores funciones de respuesta para el sitio web desde el lado del servidor hasta el front-end. Esto ha llevado a que los desarrolladores de Node.js tengan una gran demanda por parte de la industria, que ha superado todos los principales marcos de desarrollo web presentes en el mercado como PHP, .NET, etc. Este aumento y tendencia se pueden ver en el gráfico a continuación y aquí.

Cualquier persona que quiera comenzar su carrera en desarrollo web avanzado o desarrollo backend y tenga interés en trabajar con grandes tecnologías como la comunicación en tiempo real, la transmisión en vivo, la computación en la nube y el equilibrio de carga en su cartera puede comenzar esta capacitación.

NodeJS y MongoDB son altamente escalables, por lo que es una plataforma perfecta para compañías / sitios web que esperan millones de usuarios o millones de transacciones y es la mejor tecnología si su sitio tiene mucha comunicación en tiempo real (como Facebook) o gran cantidad de mensajes en vivo (como WhatsApp).

El salario promedio de un desarrollador de MEAN stack en INDIA es de 6 LPA y el salario promedio de un desarrollador de MEAN stack en EE. UU. Es $ 142000. como Paytm y Flipkart . Por lo tanto, esta es la mejor pila de tecnología de los años presentes y venideros.

edWisor es una de esas plataformas que ofrece una combinación de capacitación en vivo y en línea en la trayectoria profesional de su elección en el sector de TI de profesionales con experiencia en la industria. Existe una gamificación del proceso de aprendizaje en la que puede aprender a su propio ritmo y adquirir las habilidades de los profesionales que exige la industria. Expertos del mentor de la industria y ayudarles a aprender los trucos involucrados con los roles de trabajo.

También hay más de 100 empresas que están contratando candidatos entrenados en edWisor como pasantes / rol de tiempo completo .

Yo diría que para un principiante completo, lo mejor es no enfocarse solo en un solo lenguaje de programación. Mi sugerencia personal es seguir adelante y explorar algunas otras cosas. Muchos conceptos de programación se repiten de una manera u otra en diferentes idiomas, por lo que no es una molestia cambiar a uno nuevo. Al mismo tiempo, diferentes idiomas le introducirán nuevas formas de decirle a una computadora qué hacer, lo que puede ser muy esclarecedor.

El punto es que desea comprender y llegar a un acuerdo lo más pronto posible al hecho de que los lenguajes de programación son solo conjuntos de herramientas para que una máquina haga cosas. La programación es mucho más grande que eso. En mi opinión, la habilidad más importante que puedes desarrollar como principiante es una habilidad para configurar diferentes conjuntos de herramientas y hacer uso de ellas. La sintaxis y la lógica particulares seguirán naturalmente con el uso y la práctica.

Dicho todo esto, mis recomendaciones serían las siguientes:

  • Python: un lenguaje de programación más conocido por su simplicidad y facilidad de uso. Hay muchas características y bibliotecas interesantes para que puedas ir rápido y hacer cosas geniales. Es bastante fácil configurar un entorno en tu computadora para comenzar a hacer cosas, así que es bastante bueno para un principiante.
  • C: C es un lenguaje que parece ser muy simple pero que puede volverse muy complejo muy rápido. Es un lenguaje de bajo nivel, lo que significa que te acercas mucho a cómo funcionan las cosas bajo el capó de tu computadora. Es muy divertido si está dispuesto a agacharse y ensuciarse las manos a costa de algunos dolores de cabeza. El gran inconveniente para mí es que configurar un entorno para programar cosas en C es un gran problema si no tienes Linux o al menos una Mac.
  • Haskell: Esta es una bestia muy diferente. Le presentará una forma de programación muy diferente a lo que aprendería en un curso de introducción a C ++. Tiene la reputación de ser difícil de comprender, pero en mi opinión, ese es el caso solo si está realmente acostumbrado a que la programación funcione de cierta manera, y como principiante realmente no tendrá ese problema. Este tiene la ventaja de ser relativamente fácil de configurar para cosas simples.

Mi consejo para un principiante sería dejar que C ++ permanezca allí por un tiempo. Es un lenguaje tan grande que puede ser fácil encontrarte ahogado por la cantidad de cosas que puedes hacer con él antes de que realmente haga algo. Por otra parte, también se puede decir acerca de algunos otros lenguajes de programación.

Espero que esto ayude, diviértete.

Si bien este es probablemente un buen indicador de mi edad, sigo creyendo que C es el lenguaje de codificación más importante para aprender, asumiendo que su intención es estudiar ciencias informáticas o ingeniería informática. Los elementos sintácticos introducidos por C hace más de cuatro décadas todavía están en uso hoy en día por los muchos idiomas que heredaron su estilo. C ++, PHP, Java, ECMAscript: todos estos lenguajes se parecen a C. Los principios de diseño detrás de la sintaxis de C siguen siendo tan válidos hoy como lo fueron en 1970. C es conciso y preciso a la vez que es eminentemente legible (asumiendo que el codificador sigue el sonido prácticas de estilo de codificación). Al igual que aprender latín como base para las lenguas románticas de hoy, aprender C te enseña lo esencial de cualquier otro idioma que tome prestada la sintaxis de C.

Y mientras C es el progenitor de todos estos idiomas, también está libre de las capas adicionales de pelusa que ofrecen estos idiomas. Por lo tanto, se mantiene bastante cerca del funcionamiento interno de bajo nivel de una computadora. Puede pasar un año jugando con Java sin comprender nunca cómo las computadoras administran la memoria. Estarías protegido de estos detalles. Y aunque esto tiene la ventaja de permitir que los programadores novatos se centren en la codificación de algoritmos, no les enseña a optimizar el código para utilizar mejor el hardware subyacente. Tampoco les proporciona una idea de cómo y por qué el hardware informático funciona de la manera en que lo hace. Ni siquiera

A2A

  1. Sugiero mirar las diferentes entradas de Wikipedia para ver cómo se comparan los diferentes idiomas. Simplemente hay demasiada información para poner en una publicación aquí, ya que cada idioma fue inventado para abordar un problema particular y tiene características diferentes. *
  2. Ver respuesta 1.
  3. Recomendaría Python, porque ese es el primer idioma que realmente hizo clic para mí, pero las alternativas incluyen Java (porque se enseña comúnmente en las escuelas), C (porque fue el lenguaje de nivel superior más popular durante mucho tiempo, y sigue siendo útil para muchas tareas) o JavaScript (es fácil de aprender y muy común en los sitios web).
  4. Hay muchos videos y libros disponibles (mi libro de Python es uno de ellos ), pero probablemente deberías visitar http://Codecademy.com para ver tutoriales interactivos para que te mojes los pies.
  5. Puedes aprender a programar a cualquier edad. A diferencia de los idiomas extranjeros, los lenguajes de programación son generalmente más fáciles de aprender debido a las reglas limitadas de sintaxis y estructura. La única advertencia es que debes tener una habilidad especial para ello; solo hay algunas personas que no entienden cómo codificar de manera efectiva, así que no se frustren si no funciona para usted. Dicho esto, no me sentí cómodo hasta que probé Python; eso fue después de aprender C, C ++ y Java.

* Comparación extremadamente breve: Python es fácil de aprender y puede usarse para casi cualquier tarea, aparte de la programación básica, JavaScript es principalmente para interacciones basadas en el navegador, Java es para aplicaciones empresariales, C es para la programación básica y ” “sistema grande”, y C ++ es C con paradigmas orientados a objetos. Esto obviamente no es exhaustivo, pero da una idea general de sus posibilidades.

No te preocupes por eso. No vas a tener una década de experiencia antes de que incluso comiences a codificar.

Aprende una pila simple y popular y trabaja en esa pila tanto como puedas. Encontrarás otros marcos a medida que avanzas. Ser bueno en un conjunto de cosas primero.

Por ejemplo, si tiene una inclinación estética o le gusta trabajar con diseñadores , sea bueno en todo lo relacionado con Twitter Bootstrap. Ese seria un muy buen comienzo. Aprenderías HTML5, CSS, LESS, Javascript y JQuery. Esa es una gran parte para aprender para alguien nuevo.

O podrías aprender HTML, CSS y ASP.NET.

Si te gustan los datos o el análisis. Aprende Python, luego pasa a MongoDB, JQuery y Javascript.

O aprenda el tipo de Microsoft de SQL y MDX y aprenda cómo representar los datos a través de informes, vistas y tablas dinámicas.

Hasta que no hayas trabajado durante un tiempo en un lenguaje interpretado y tipificado dinámicamente como Python o Javascript, es realmente difícil aprender un lenguaje fuertemente tipado y compilado como C, Objective C, C ++, Java o C #. Lo sabrás cuando estés listo para ir allí.

Aunque, diré que esto para Objective C – Apple (a través del IDE de XCode) tiene la mejor documentación que pueda encontrar . Si su objetivo es escribir para el iPhone / iPad o Mac, es posible que pueda bucear directamente y potenciarse en función de la calidad de sus documentos.

Lo más importante es escoger una pila y familiarizarse con esa pila. No vas a valer $ 100 por hora durante la noche. Póngase bueno.

A2A. Eso depende de lo que quieras hacer. De las preguntas que hizo antes, veo que está interesado en la neurociencia. No sé casi nada de eso. Sin embargo, tengo un amigo que trabaja en software para escáneres médicos, por lo que asumo que desea aprender programación para poder controlar / programar uno de esos.

C, C ++ y Java están en el mismo continuo. La principal diferencia es que C es un paso atrás hacia la programación imperativa en lugar de la programación orientada a objetos.

Si estuviera desarrollando un escáner, el código C y C ++ normalmente se ubicaría internamente en el escáner, lidiando con el proceso de escaneo real. Una gran cantidad de datos sale del escáner y el principal problema, además de hacer que el escaneo funcione y almacenar todos los datos, es cómo presentar visualmente los datos al espectador.

Objective-C / C # se sentaría en el lado de la visualización.

El otro lado del software está probando. Especialmente para equipos médicos, tiene que funcionar bien. Hubo un caso en la década de los 70 en el que un error de programación en una computadora utilizada para la radioterapia equivocó en el nivel de intensidad. La gente murió.

La solución a esto es una prueba extensa. La palabra de moda es “Test Driven Development”. Básicamente su código tiene requisitos. Primero, escribe un script de prueba, que probaría que una parte del código cumple con un requisito. A continuación, escribe el código que pasa esa prueba. Luego agrega pruebas nuevas y más estrictas hasta que el código falla, y corrige el código, y así sucesivamente, hasta que tenga un marco de prueba muy estricto. En la vida real, las pruebas serían escritas por una persona diferente a la que escribe el código.

Un lenguaje que se usa para esto es Python. Python viene con muchos tutoriales en la web.

Otro es LabView (LabVIEW System Design Software), una bestia curiosa en que es un lenguaje de programación “visual”, pero muy interesante para este tipo de cosas.

Espero que esto ayude.

La respuesta a esto sería Python hace un par de años, pero hoy, recomendaría JavaScript.

JavaScript es un lenguaje muy amigable para los principiantes. Pasará menos tiempo frustrándose o tratando de envolver su mente en torno a conceptos boggling en comparación con un lenguaje como, por ejemplo, C ++. Esto se traduce en una mayor motivación para el aprendizaje y más diversión.

JavaScript también es, IMO, el mejor lenguaje porque está literalmente en todas partes, gracias a Node.js. Tradicionalmente, JavaScript está asociado con el lado del cliente de las cosas: vive en su navegador y permanece allí. Node.js cambia eso. Con Node, puede ejecutar JavaScript en cualquier lugar: en un servidor o incluso en un robot.

Luego hay cosas asombrosas como Meteor: marcos emocionantes que son super-futuristas y que sin duda harán volar tu mente. Sin embargo, es probable que no sea lo suficientemente bueno con el lenguaje para aprender esto: tomará un par de meses, pero cuando llegue a aprender Meteor, no se arrepentirá de la decisión de aprender JavaScript.

Dado que los lenguajes de programación siguen paradigmas diferentes, será beneficioso aprender uno de cada uno.

  • Lenguajes procesales : uno que sigue una ejecución simple. El mejor lenguaje que puedes aprender aquí es C. C puede ser desalentador como el lenguaje de un principiante, pero una vez que lo conquistas, será beneficioso a largo plazo.
  • Lenguaje orientado a objetos: Java o C ++, aunque me inclino más hacia C ++. Este lenguaje surgió como una evolución de los procesales y lo ayuda a administrar programas grandes de manera efectiva.
  • Uno de los lenguajes de scripting: Entre Ruby, Python y JavaScript. Los lenguajes de script son geniales para crear programas rápidamente, lo que de otra forma tomará mucho tiempo en otros lenguajes compatibles.
  • Lenguajes funcionales: a menudo conocidos como los idiomas del futuro. Estos idiomas te obligarán a pensar de una manera diferente, y luego podrás aplicar esas habilidades también en otros idiomas.

Pero recuerda, los idiomas son solo medios para un fin. Si su algoritmo, las estructuras de datos son fuertes, el idioma que elija apenas importará. Aunque para ciertas tareas específicas, algunos idiomas son definitivamente mejores que otros. No intentes usar un canon para matar a un mosquito.

Segundo los comentarios a continuación acerca de que esta es una excelente manera de comenzar una guerra de fuego. Sin embargo, es una pregunta legítima. Sería útil contar con más contexto para su pregunta, pero supongo que usted tiene un interés general en aprender a programar en lugar de un objetivo específico en mente para crear la solución / producto “x”. En relación con esto, asumo además que su interés está en cómo programar, a diferencia de cómo construir software, que es una distinción sutil pero real. Supongo además que usted sabe muy poco en la actualidad sobre el software y la programación, así que voy a mantenerlo simple. Por último, asumo que usted tiene la intención de aprender a través del autoestudio en lugar de un instructor.

Dicho esto, los factores en los que me baso mi sugerencia son:

  • Disponibilidad de recursos de aprendizaje en la web.
  • Esfuerzo limitado para configurar un entorno de desarrollo (lo que descartaría algunos lenguajes de nicho interesantes desde el punto de vista pedagógico que podrían requerirle, de hecho, aprender mucho más sobre la creación de software).
  • Un ciclo corto entre escribir código y ejecutarlo, para que pueda experimentar fácilmente.
  • Similitud con otros idiomas que usted podría estar usando. De la misma manera que aprender francés, español o italiano le da una ventaja sobre los otros dos (y aprender latín ayudaría con los tres), los lenguajes de programación comparten semejanzas familiares con otros idiomas.
  • La capacidad de crear algo interesante y útil en un período de tiempo modesto, lo que se espera que mantenga el entusiasmo por el aprendizaje continuo.

Basado en estos factores, mi sugerencia sería en realidad Javascript. Mi razonamiento.

  • Recursos de aprendizaje: abundantes si de calidad mixta. Al ser el idioma del navegador y su creciente popularidad (si se admite que es cuestionable) en el servidor significa que hay muchos recursos disponibles. Lamentablemente, hay muchos programadores de JavaScript malos por ahí, así que no asumas que la primera respuesta que encuentras es buena. También hay una enorme cantidad de código de producción sólido con el que se puede desglosar y experimentar.
  • Facilidad de configuración del entorno de desarrollo. Si tiene un navegador, tiene algo que puede ejecutar javascript. Del mismo modo, puede instalar fácilmente Node.js.
  • Ciclo corto entre escritura y ejecución: siendo un lenguaje interpretado, en lugar de uno que requiere que el código “fuente” que escribes se compile en el código “objeto” que se ejecuta realmente, Javascript cumple con este criterio. La sugerencia de Ben Morrow de algo con un REPL (que significa Read-Evaluate-Print Loop) sería útil, ya que le permite escribir una línea de código y evaluar y mostrar los resultados inmediatamente. La mayoría de las herramientas de desarrollo de los navegadores proporcionan algún tipo de JavaScript REPL.
  • Similitud con otros idiomas: este es probablemente el área donde JS es dudoso o excelente, dependiendo de cómo se quiera discutir, sin embargo, todavía le doy marcas razonables. Si aprendes Javascript, podrás leer y razonar a través de casi cualquier lenguaje basado en C (que es una gran cantidad de código, incluido Java). Si bien es sintácticamente similar a C, sin embargo, es un lenguaje funcional, es decir, las funciones son objetos de primera clase en el lenguaje de la misma manera que una cadena de caracteres o un número. Lisp y Scheme, dos lenguajes populares, particularmente para la pedagogía, también son funcionales y es útil comprender el concepto de lenguaje funcional. Por lo tanto, Javascript le da algo así como una doble ventaja en este sentido, exponiendo una o dos categorías diferentes de lenguaje. La advertencia aquí es que esta combinación lo hace un tanto idiosincrásico.
  • Capacidad para crear fácilmente algo útil. Esta es realmente la razón por la que la calificaría como la mejor opción. Ya que casi todos los navegadores web admiten Javascript, puede crear fácilmente pequeñas aplicaciones de páginas web que podrían hacer algo. Si bien no está muy bien soportado, puede escribir archivos “.hta” en Windows y hacer que se ejecuten como programas de línea independiente. Puede escribir archivos por lotes o shell scripts con él. Puede escribir programas del lado del servidor con él, así como servidores web completos. Hay muy pocos idiomas que proporcionan una facilidad agradable tanto para escribir código del lado del cliente como del lado del servidor.

Ciertamente no tengo la pista eterna sobre este asunto, pero al menos tú tienes la base para mi respuesta. Buena suerte con tu aprendizaje.

No tardará mucho en poder leer y comprender el flujo de programación, probablemente de unas pocas semanas a unos pocos meses, dependiendo de su aptitud natural. Hay algunos idiomas que se anuncian como buenos “idiomas iniciales”, cada uno tiene sus pros y sus contras. Enumeraré algunas con sus principales ventajas y sus principales inconvenientes, espero que le interesen:

  • C ++, personalmente no sugeriría comenzar con C ++. Hay que esperar un poco por lo que tienes que cuidarte, y si bien hay muchos buenos hábitos que podrías aplicar al comenzar con C ++, es muy probable que aprendas algunos muy malos. La gestión de la memoria es algo de lo que tienes que estar consciente y diría que elegir un idioma con la recolección de basura es una mejor opción.
  • C #, sintácticamente pesado C # da mucho control que Java (para ser discutido) no se da naturalmente, y es una especie de puente entre Java y C ++. Hay un aspecto funcional decente para C # que no es tan intuitivo o, en general, no existe con Java. C # y Java comparten mucho en común, ya que es fácil tomar las habilidades que adquieras y traducirlas a casi cualquier otro idioma.
  • Java, también sintácticamente pesado, es una muy buena opción como idioma de inicio. La gran diferencia entre Java y Python es la escritura y la sintaxis. Java y C # comparten una sintaxis muy similar (inspirada en C ++), y esa sintaxis te hace muy consciente del flujo de programas y las variables disponibles en ciertos puntos. Eclipse es un IDE maravilloso, y funciona sorprendentemente bien con Java.
  • Python, si tuviera que elegir entre dos idiomas para sugerirle a un novato que serían Java o Python. Python es muy intuitivo y le brinda mucha flexibilidad que otros lenguajes de programación no permiten. Hay una sintaxis mínima, y ​​la sintaxis requerida se basa en la sangría y el espacio en blanco, que puede imponer buenos hábitos para otros lenguajes de programación. Un inconveniente importante es la falta de una tipificación fuerte, o en otras palabras, la capacidad de decir una variable es de un tipo específico. En Java, por ejemplo, declararía una variable diciendo “int shoe = 7;”, lo que significa que tiene una variable llamada “shoe” de tipo ‘int’ con un valor ‘7’. En Python solo dirías “shoe = 7” para inicializar la variable.

En general, mi sugerencia sería comenzar con Java y desarrollar tus habilidades. Tomará mucho tiempo para ser “competente”, pero tienes que comenzar en alguna parte.

Muy a menudo las personas equiparan las buenas habilidades de codificación con el número de idiomas de programación conocidos. Eso es maldito falso. Aunque saber mucho lenguaje de programación es bueno y, a veces, incluso, esencial; Es más importante que conozca muy bien uno o dos idiomas. Lo ‘sé’ y he usado más de una docena de lenguajes de programación y, sin embargo, C y Java son aquellos en los que estoy realmente cómodo. Eso es triste por supuesto. También quería ser bueno en Assembly y Lisp. Nunca tuve el tiempo o la oportunidad de desarrollar esas habilidades. Ser bueno en un idioma lleva años (al menos 2 años). Ser bueno en un idioma significa que entiendes dónde se usa mejor y dónde usar ese idioma no tiene ningún sentido. Por otro lado, saber un idioma toma de 3 días a una semana. Si eres un principiante, aprende C primero. No compres Yashawant Kanetkar. Compre el libro “The C Programming Language” de Brian W Kernighan y Dennis M Ritchie (si no sabe quiénes son, haga esto 1. Bátase a sí mismo 2. Busque sus nombres en Google). Este libro no es el más fácil pero es el mejor. Es un libro pequeño pero es el más poderoso. Generaciones de programadores han sido criados en él. Y si cree que este libro es difícil para usted, no albergue ningún deseo equivocado de ser un buen programador y no pierda su tiempo leyendo este post. La programación es un arte (no una ciencia. Sí, lo lees correctamente), y como cualquier arte requiere un esfuerzo minucioso.

Algunas personas sugieren Python como el primer idioma para aprender. Python es ciertamente un buen lenguaje y también es fácil. Pero tendrá que depender principalmente de Internet para obtener ayuda, ya que no hay muchos a su alrededor que conozcan Python. También C tiene el uso más amplio entre todos los lenguajes de programación. También, por favor, NO use Turbo C. Está muy anticuado. Utilice GCC. Si estás en Windows descarga Dev C ++. Tiene gcc

Python es el lenguaje más limpio y hermoso de los dos. También tiene una gran comunidad, herramientas fantásticas y muchos tutoriales geniales. Más o menos, si tuvieras que alinear a todos los programadores y decir: “Tienes que elegir un idioma para programar para siempre y solo ese idioma”, Python estaría en la parte superior o superior. Es maravilloso.

Ahora aquí está la parte mala. Python es un lenguaje interpretado, lo que significa que usted le asigna un código fuente y lo interpreta en un código de máquina.

Esto significa que se ejecuta más lento que el código de máquina compilado en toda regla. Normalmente no es un problema si estás tratando con una computadora. Pero cuando tratas con robots, normalmente estás programando sistemas embebidos. Dos cosas importan mucho, la velocidad y el tamaño.

El rey de todos los códigos compilados para la velocidad es C. Es por eso que a pesar de haber sido inventado hace mucho, mucho tiempo, todavía existe, lo que no se puede decir de otros lenguajes de programación importantes que se extinguieron con el tiempo.

C también es increíblemente escaso con lo que ofrece en comparación con casi cualquier otro lenguaje de programación que existe. Creo que la biblioteca central de C tiene algo más o menos una docena de funciones nativas:

Listado de funciones de la biblioteca C y C ++

Aquí está Java:

Plataforma Java SE 8

Mire en la parte inferior izquierda y obtendrá todas las clases, cada clase puede tener varios métodos y hereda el comportamiento de cada superclase.

Tampoco tiene un mecanismo fácil para usar otras bibliotecas de código de la manera en que Python tiene la declaración de importación o JavaScript tiene Nodo. Esto significa que tiene que hacer manualmente muchas cosas que Python manejará por usted o que puede importar una biblioteca para que lo haga por usted. La mayoría de los programadores de C tienen sus propias bibliotecas de código que tienden a portar entre proyectos.

Si estás empezando, quieres aprender un gran lenguaje de programación y quieres comenzar a crear aplicaciones geniales ahora mismo, Python es tu elección. Cuando quieres la velocidad máxima, el tamaño mínimo y el control máximo, entonces quieres que C. Python esté integrado en C, de modo que te diga algo sobre lo poderoso que es.

Para cualquier persona completamente nueva en programación, honestamente no podría recomendar C sobre Python, aunque si te metes en la robótica, entras en lenguajes como C y Ensamblaje.

¿Por dónde empezar?

  • Entendiendo la lógica de programación. C ++ sería la mejor opción si me preguntas. Le enseñará los conceptos básicos utilizados en todos los demás idiomas.
  • Aprendiendo los conceptos básicos (Hello World) >> cin / cout >> if statement >> loops >> switch >> bool, etc.

Sin embargo, en mi opinión, la programación no es algo que se pueda aprender, sino que se puede entender. Lo que pasa con la programación es que siempre, y cuando digo que siempre lo digo en serio, tienes espacio para mejorar tus habilidades. Puede aprender los conceptos básicos y la lógica detrás del código, pero nunca puede “saber todo”. La mejor manera de aprender a programar es comenzar a programar.

¿Que estas esperando?

¡Mejor empezar de inmediato!

  • Hay muchos sitios que pueden ayudarlo, pero honestamente, cuando comencé a programar, literalmente me lancé a nadar con los tiburones. Acepté una oferta que me dio mi amigo y comencé a trabajar en un proyecto de $ 600. Incluso si no quería aprender codificación, en el momento en que finalmente firmé un contrato, tenía que hacerlo. Adivina qué, era un sitio web.

El dinero y la fuerza de voluntad me alentaban incluso cuando todo parecía imposible.

También hay muchas escuelas de codificación que pueden ayudarte.

Mientras trabajo con Holberton School, ofrecemos una codificación intensiva de 2 años para aquellos que deseen aprender. También tenemos la opción de un pago diferido, por lo que tal vez debería contactarnos y encontrar más información.

Hay dos tipos de desarrollo, desarrollo de software y desarrollo web, y ambos son igualmente emocionantes y fascinantes.

En Desarrollo de software, básicamente desarrolla un tipo específico de software según sus necesidades. Hay muchos lenguajes de programación para eso, pero siempre es mejor comenzar con C porque actúa como el componente básico de muchos otros lenguajes. Learning C cumpliría con todos sus requisitos básicos para el desarrollo y es un lenguaje muy poderoso, pero carece de programación orientada a objetos y es muy difícil implementar gráficos en ella. La programación orientada a objetos agrega otra dimensión a sus programas. Luego viene el C ++, que tiene una programación orientada a objetos, pero nuevamente, como C, carece de gráficos. Java es una herramienta perfecta porque incluye gráficos y programación orientada a objetos. Muchos de los programas de desarrollo importantes, incluyendo Arduino y Android, usan Java. El siguiente paso después de Java podría ser BigData o Hadoop, que se utiliza para manejar y procesar una gran cantidad de datos a la vez. En una pista completamente diferente, también puedes usar Python, ya que también incluye ambos, gráficos y programación orientada a objetos, y personalmente sentí que era más fácil que Java.

En Desarrollo web, desarrollará sitios web interactivos, tanto estáticos como dinámicos. El requisito básico en el desarrollo web es aprender HTML. Puede utilizarse para crear cualquier sitio web simple con todas las funcionalidades, excepto las interacciones del lado del servidor. Los sitios web desarrollados con HTML son un tanto aburridos en gráficos y, para mejorar, puedes usar javascript (esto no tiene nada que ver con java). Si quieres interacciones del lado del servidor en tu sitio web, necesitarás usar php o ajax o herramientas similares.

PD: También soy una hormiga principiante, lo que escribí es lo mejor de mi conocimiento.

¡Feliz codificación!

¿Graduado fresco – o – profesional de TI? – 7 razones para aprender Python AHORA!

El último par de años, zekeLabs me dio una oportunidad única para evaluar la demanda de tecnología en la industria y también para evaluar el grupo de talentos disponible para la demanda.

Nuestras tareas de consultoría y capacitación tecnológica para nuestros socios corporativos nos informaron sobre la habilidad tecnológica en demanda. Descubrimos: qué, dónde y qué tecnologías son cada vez más adoptadas por la industria.

Nuestra interacción con los graduados en ingeniería y los profesionales de TI durante los talleres de tecnología, los seminarios y nuestras iniciativas de capacitación tecnológica . Descubrimos los conjuntos de habilidades tecnológicas actuales de la generación del milenio y la brecha de habilidades.

Hemos interactuado con cientos y miles de graduados de ingeniería, todos en busca de trabajos rápidos. En todas nuestras interacciones, una pregunta que se ha mantenido constante fue:

“Hay varios de ellos (sic. Tecnologías), uno de los cuales debería aprender a conseguir un trabajo lo antes posible”.

E invariablemente, y muy a menudo, mi respuesta ha sido:

“Si eres nuevo en la programación, comienza por aprender la programación de PYTHON. No te puedes equivocar con eso. Explora otras posibilidades basadas en tu interés. ”

Este es un intento de desmitificar la respuesta sobre por qué recomiendo una ruta de aprendizaje que comience con Python y cómo aprender Python puede brindar a los graduados de ingeniería y profesionales de TI una base sólida para una carrera exitosa.

¡Encontremos las 7 razones por las que deberías aprender Python!

# 1. El lenguaje de programación más fácil de aprender: para graduados de cualquier origen.

El lenguaje de programación Python es increíblemente simple y fácil de aprender . El código de Python es legible, en la medida en que tenga ganas de leer en inglés cuando vea el código por primera vez. Aunque es compatible con las funciones de otros lenguajes de programación como la programación orientada a objetos, pero nunca empuja a los aprendices por primera vez a los extremos en que se encuentran perdidos entre el código. Además, en Python, no tienes que lidiar con una sintaxis compleja,

Código Python vs Java para el mismo trabajo!

¿Lees el llano – imprime “¡Hola mundo!”

Si eres nuevo en la programación, ¿qué crees que hará? No puede haber ninguna respuesta aparte de la impresión contextual.

Qué simple puede ser.

Incluso con su naturaleza ultra simple, no hay nada que no puedas hacer usando Python.

Para aquellos que deseen tener JAVA o cualquier otro lenguaje de programación en su kitty learning, Python será un punto de partida perfecto para simplificar y facilitar la curva de aprendizaje.

# 2. Oportunidades increíbles en tecnologías emergentes de vanguardia que utilizan PYTHON – AI, Cloud, IOT y más.

El lenguaje Python se usa cada vez más en diversas aplicaciones y es el idioma preferido para las tecnologías de la nueva era que incluyen Aprendizaje automático e Inteligencia artificial, Nube, Big Data, IOT, Automatización y otros.

  • Inteligencia Artificial y Aprendizaje Automático

Python es el lenguaje que impulsa la inteligencia artificial y el aprendizaje automático. Durante años, académicos e investigadores privados utilizaron el lenguaje MATLAB o R para la investigación científica. Todo esto comenzó a cambiar con el lanzamiento de los motores de cálculo numérico de Python, como NumPy y SciPy, que permiten realizar cálculos complejos mediante una única declaración de “importación” y una llamada a función.

Dada la flexibilidad del idioma, su velocidad y la funcionalidad de aprendizaje automático que ofrecen las bibliotecas como scikit-learn, Keras y TensorFlow de Google, seguiremos viendo cómo Python domina el panorama del aprendizaje automático.

No tengo dudas en mi mente, si incluso estás interesado remotamente en la Inteligencia Artificial y el Aprendizaje Automático, deberías aprender Python.

  • Tecnologías Cloud & DevOps

Amazon Web Services (AWS), el proveedor de nube pública más exitoso, tiene la biblioteca Python Boto para automatizar la infraestructura.

Google ha elegido Python como el idioma de elección para su solución en la nube, el GAE (Google App Engine). GAE se basa en Python y tiene buena documentación y soporte para Python.

Si revisa los foros de empleo en Indeed o Naukri, el conocimiento de las secuencias de comandos de Python es una necesidad para la mayoría de las oportunidades de trabajo en los requisitos de trabajo de DevOps y Cloud.

  • Big Data – Hadoop & Spark

Las tecnologías de Big Data ofrecen muchas oportunidades de carrera. Python proporciona una gran cantidad de bibliotecas para trabajar en Big Data. El desarrollo de código usando Python es mucho más rápido que cualquier otro idioma.

Además, PySpark, es decir, Spark que utiliza Python tiene una gran demanda en la industria.

  • Internet de las Cosas

La mayoría de los microcontroladores populares utilizan Python, incluso hay versiones más pequeñas como la placa MicroPython (solo unas pocas pulgadas cuadradas) y el paquete de software.

Con Raspberry Pi, que es un microordenador del tamaño de una tarjeta, el desarrollo de Python escalará nuevas alturas. Abre nuevas posibilidades para los desarrolladores y se puede utilizar para construir cámaras, radios y juegos con facilidad.

Si quieres desarrollar algo bueno para Amazon Alexa, mejor repasa tus habilidades de programación en Python.

  • Desarrollo web

Python tiene una variedad de marcos para desarrollar sitios web. Los marcos populares son Django, Flask, Pylons, Pyramid, Bottle, etc. Lo que una vez tardó horas en PHP o JAVA se pudo hacer en minutos.

Del mismo modo, puede acelerar el desarrollo de aplicaciones GUI de escritorio utilizando los frameworks y kits de herramientas GUI de Python como PyQT, PyJs, PyGUI, Kivy, PyGTK y WxPython.

  • Pruebas y automatización

Python se está utilizando en la automatización de pruebas en toda la industria. Existen muchas herramientas y módulos para facilitar las cosas, como Selenium y Splinter.

Admite pruebas con plataformas cruzadas y navegadores cruzados con marcos como PyTest y Robot Framework.

Y mucho más.

Jacqueline Kazil, directora de la fundación de Python Software Foundation (PSF) ha citado recientemente: “Parece que Python se usa en todos los dominios: operaciones del sistema, desarrollo web, implementación, modelado científico, etc. No hay otro lenguaje que sea tan Versátil, “y creo que bastante.

# 3. Creciente demanda en la industria de Python.

Python es el lenguaje de programación de más rápido crecimiento , y para 2019 superará significativamente a otros lenguajes en términos de desarrolladores activos. Esa es la predicción de la programación de preguntas y respuestas en el concentrador de desbordamiento de la pila, según la cantidad de desarrolladores que ven preguntas sobre Python en su sitio.

# 4. Escasez de habilidad para Python especialmente en INDIA

El lenguaje de programación que se enseña en la mayoría de las universidades de la India es JAVA o C / C ++. Entonces, si eres un profesional en Python, debes pelear una batalla más pequeña por la misma atención de los reclutadores.

Recientemente un HR mencionó sobre esto.

“Tuve que reclutar a 10 programadores de Java y 10 programadores de Python para pocos proyectos. Obtuvimos más de 100 buenos currículos para programadores de Java y hemos pasado por un largo proceso para filtrar a los buenos candidatos. Pero solo tenemos 8 buenos currículos para Python, no tuvimos más remedio que tomarlos “.

# 5. Oportunidades de trabajo para los especialistas de Python

Si bien esta es una opinión estrictamente anecdótica, creo que Python abre más puertas que cualquier otro lenguaje de programación, especialmente desde el punto de vista de la tecnología emergente.

Creo que dado el auge de Python no solo como un lenguaje de programación de propósito general, sino también como un lenguaje de “Aprendizaje automático y desarrollo web + + creación de secuencias de comandos” , pronto veremos que Python se hará cargo de otros contemporáneos en términos de salarios más altos.

# 6. Grandes empresas que utilizan Python

Las grandes organizaciones en el mundo han adoptado Python como su lenguaje de programación principal. De estas, muchas compañías populares en línea como YouTube, Instagram, Pinterest, Reddit, Quora, SlideShare y SurveyMonkey tienen la mayoría de sus nuevos códigos escritos en Python. Incluso Mozilla, Google, Facebook, Disqus y muchos más están usando activamente Python dentro de su infraestructura.

En EdYoda, también estamos utilizando Python principalmente para la mayor parte del desarrollo de nuestros productos.

Es un secreto a voces en el mundo de los desarrolladores que Google ahora ha adoptado Python como su lenguaje de codificación secundario, y se ha comprometido a usarlo más en sus nuevas ofertas de productos.

# 7. En el mundo de las startups

Pasar de la idea a la implementación rápidamente es fundamental en el mundo de las startups, por lo que si está interesado en trabajar con compañías emergentes, le sugiero que aprenda Python.

El lenguaje le permite codificar rápidamente, creando aplicaciones complejas con líneas de código mínimas (5 veces menos que Java y 10 veces menos que C ++ aprox.)

Si bien las organizaciones pueden sacrificar cierta velocidad de ejecución, ganan más flexibilidad, facilidad para escribir código y, lo mejor de todo, la capacidad de experimentar más rápido.

Python es, de hecho, perfecto para principiantes y el tiempo dedicado a aprender Python es una inversión en tu carrera.

Una vez que te sientas cómodo con los conceptos de python, puedes cambiar a cualquier otro lenguaje orientado a objetos y lo único que tendrás que aprender es la sintaxis del lenguaje. No solo eso, el aprendizaje de Python abre las puertas a una gran cantidad de oportunidades en las tecnologías de la nueva era, entre ellas, Machine Learning, AI, Cloud, Big Data, IOT y otras similares.

Mi amigo @Kunal ha presentado un buen caso para Python en uno de sus videos introductorios en EdYoda, estoy seguro de que se beneficiará al verlo.

URL del video – https://goo.gl/sHjfRm

Entonces, si estás listo para aprender Python, ¿pero cómo empiezas?

Aprender la programación de Python es probablemente similar a aprender alfabetos cuando eras un niño. Aunque tengo algunos consejos, no hay condiciones como tales.

  • Comience por aprender lo básico si es nuevo en la programación: aprenda sobre la sintaxis básica, las variables y los operadores básicos, seguidos de los bucles y los tipos de datos. Una vez que tenga confianza en lo básico, aprenda sobre el uso de funciones, clases y objetos y expresiones regulares.
  • Haga muchas declaraciones de problemas simples: esto lo preparará para los problemas más difíciles del mundo real. Recuerda, hacer es 1000 veces más importante que solo aprender. Si tiene problemas o está atascado, publíquelo aquí en el foro de discusión. Estoy seguro de que a @ Kunal le encantará ayudarte.
  • Después del conocimiento básico, aprenda sobre conceptos avanzados, como el procesamiento XML / JSON, la programación funcional, Lambda, Filter, Map & Reduce. Además, aprenda sobre Itertools, generadores, decoradores, hilos, etc. Una vez que se sienta cómodo en lo anterior, definitivamente puede profundizar mucho más con otras cosas.
  • Lo más importante: resuelve problemas de la vida real con tus habilidades recién aprendidas. Ensuciarse las manos haciéndolo. Esto puede ser tan simple como obtener parámetros del sistema como la utilización de la CPU, la utilización de la memoria, etc. mediante la biblioteca del sistema operativo python o puede ser tan complicado como crear una aplicación de extremo a extremo. Una vez más, @kunal definitivamente estará más que dispuesto a ayudar.

FYI @ Kunal también está creando una serie de tutoriales de Python para principiantes absolutos. Esto está disponible de forma GRATUITA en http://www.edyoda.com

Puede inscribirse en la serie aquí: https://goo.gl/VVyPiV

Estaré realmente feliz si pudiera animarte a aprender Python (házmelo saber) y te recomiendo que sigas su serie en Python.

La mejor manera de aprender realmente es ENSEÑAR: de esta manera, serás responsable ante el mundo a quien estás enseñando. Tu conocimiento se convierte en sabiduría. Visitará escenarios que tal vez no haya pensado como un aprendiz. Así que una vez que aprendas, comparte tu conocimiento.

Puede estar enseñando a tu amigo o publicándolo en un blog. También puede considerar crear videos en las tecnologías o los módulos en los que es realmente bueno y compartir en http://www.edyoda.com

Al construir EdYoda , hemos imaginado un mundo donde los títulos universitarios y los trabajos corporativos no importan para compartir conocimientos. El conocimiento correcto y la experiencia es todo lo que importa. Si crees que eres bueno en cualquier tecnología, dame un grito. Estaré más que feliz de compartir sus conocimientos sobre la plataforma para que juntos podamos :

“Habilitar un millón de vidas,

Chispea un billón de sueños “.

Si encuentra esto útil o alguien puede beneficiarse de esto, no olvide compartir. Déjame saber tus puntos de vista también.

Yo mismo “sé” varios lenguajes como Java, C, C ++, C #, R, Python, JavaScript. Pero en la práctica, solo he dedicado mucho tiempo a Python y tecnologías web y marcos como HTML, CSS, JavaScript, JQuery, Django y bases de datos como MySQL, MongoDB y SQL Server.

Soy un estudiante de sistemas de información de gestión, no un CS importante. Pero me encanta la programación, así que poco a poco amplié mi repertorio y encontré algo que realmente me gusta (Python), que se ha convertido en mi navaja suiza.

La orientación adecuada es esencial cuando se trata del desarrollo de software. No se limite a elegir un idioma solo porque lo enseña X Institute o es el más popular. Obtenga un mentor experto que tenga tanto amplitud como profundidad en su experiencia y lo guiará en la selección de la herramienta adecuada para el trabajo. No dudes en experimentar. Aprenda los principios básicos de los lenguajes de programación tales como bucles, condicionales, estructuras de datos y algoritmos que siguen siendo comunes (aunque se implementan en una sintaxis diferente) en todos los idiomas.

Encuentra un área de ingeniería de software que te parezca fascinante. Puede ser web, móvil, aplicaciones de escritorio, juegos, ciencia de datos, sistemas integrados, etc. Manténgase informado sobre las últimas tendencias y noticias en su área / subcampo elegido. Actualice constantemente su conjunto de habilidades.

Y si parece que hay muchas opciones que hacer, también hay toneladas de recursos para aprender. Desde cursos en línea (Udemy, Udacity, Coursera, Edx, Simplilearn, Lynda, Treehouse, Learnable, etc.) hasta libros, bootcamps, hackathons y proyectos de código abierto para contribuir, no hay escasez de recursos de aprendizaje. Una vez que se sienta cómodo con una herramienta, lenguaje o marco particular utilizando uno o más de los anteriores, la documentación y un poco de googlear y StackOverflow deberían ser suficientes para ser lo suficientemente competentes como para obtener un trabajo o crear sus propias aplicaciones.

Por último, pero no menos importante, orienta tu proyecto de aprendizaje. No solo aprendas idiomas, construye cosas que te apasionen. Y no habrá nada que te impida tener éxito.

Yo diría que los lenguajes de programación más populares son:

  • DO#
  • Java
  • Pitón
  • Rubí
  • JavaScript
  • C ++
  • PHP

DO#

C # (“C Sharp”) está desarrollado para usarse en el marco .NET de Microsoft, que se ejecuta principalmente en Microsoft Windows.

C # se usa para desarrollo web, desarrollo de juegos y desarrollo general de Microsoft. Aunque Microsoft no ha sido conocido por ser compatible con múltiples plataformas en el pasado, Xamarin ha estado trabajando en un proyecto de código abierto llamado Mono, que apunta a portar C # a otras plataformas y brindar mejores herramientas de desarrollo a los desarrolladores de Linux.

Java:

Android ha sido un gran impulso para mantener a Java como el lenguaje de programación más popular, y la mayoría de las empresas también adoran a Java por su relativa estabilidad y escalabilidad. Con el aumento de Spark (que usa el lenguaje Scala) y Cassandra (que admite otros idiomas), es Es difícil decir cuánto tiempo Hadoop continuará reinando como el marco de big data más popular. Dicho esto, dado el comportamiento de las grandes empresas cuando se trata de un cambio, Hadoop no se irá. Lo mismo se puede decir sobre el lenguaje de programación Java en general, ya que Java tiene excelentes herramientas para el desarrollo de back-end y está mucho más establecido para el desarrollo empresarial.

Por lo tanto, Java continuará siendo uno de los lenguajes de programación más relevantes en los próximos años.

Pitón

Python es popular entre los investigadores académicos y científicos de datos, y como se mencionó anteriormente, muchas escuelas eligen introducir a los principiantes en la codificación a través de Python. Esto significa que Python seguirá creciendo constantemente y seguirá siendo relevante. Si bien Python no evolucionará tan rápido ni verá el mismo crecimiento explosivo en popularidad y demanda que JavaScript, continuará siendo sólido, especialmente cuando existe una demanda tan alta de científicos de datos.

Rubí

Las startups aman a Ruby on Rails. Muchos sitios web famosos, como Airbnb, Twitch, Hulu, etc., están construidos con Rails, lo que significa que siempre están buscando desarrolladores de Ruby. Además, como los desarrolladores generalmente se divierten mucho con Rails y es bastante fácil de aprender, lo más probable es que Rails siga siendo popular entre los novatos de codificación.

Dicho esto, el aumento de Node.js definitivamente tendrá un impacto en la popularidad de Ruby on Rails: Node.js ya ha superado a Rails en Github. Si bien esto no es una señal absoluta de que Node.js superará a Rails, debemos tener en cuenta que hace unos años, Rails superó al marco web más grande de Python, Django, para el desarrollo de back-end, y Rails tenía más estrellas que Django.

Además, una nueva tendencia para las aplicaciones “isomorfas” probablemente afectará la adopción de Rails, una práctica que se dice que mejora el rendimiento de las aplicaciones web. Dado que las aplicaciones isomorfas necesitan ejecutarse en la plataforma Node.js, que está en JavaScript (el mismo lenguaje que se usa en el front-end), Node.js probablemente solo se volverá más popular con el tiempo. El atractivo de tener que estar bien versado en un idioma (JavaScript) también puede hacer que algunas nuevas personas potenciales no aprendan a aprender Ruby. Go de Google es otra alternativa de back-end que ha recibido cierta atención en los últimos dos años.

JavaScript

JavaScript es, sin lugar a dudas, cada vez más popular, especialmente porque ahora se puede usar para el desarrollo de back-end e incluso puede crear aplicaciones móviles nativas (a través de React Native). JavaScript continúa obteniendo más herramientas y actualizaciones a un ritmo bastante rápido, por lo que puede esperar que siga siendo extremadamente importante en el futuro.

C ++

C ++ aún se considera el lenguaje más poderoso en términos de rendimiento y capacidades (incluso contra Rust), lo más probable es que C ++ siga siendo relevante en ciertas áreas, como las cosas que necesitan un alto rendimiento (por ejemplo, motores de juegos). Dado que ISOCPP (Organización Internacional para la Estandarización) ha completado su trabajo en C ++ 17, que se encuentra en su proceso final de votación de ISO, lo más probable es que comience a trabajar en C ++ 20 en julio de 2017. Todo esto para decir, aún es Un lenguaje en evolución.

En el futuro, Rust puede potencialmente reemplazar a C ++ en algunas áreas de la programación de sistemas, ya que Rust pretende poder producir software menos vulnerable que C ++. Lea más sobre cómo Rust se compara con otros idiomas. Independientemente de si Rust realmente tomará el control de C ++, ahora es un buen momento para aprender Rust si eres un desarrollador avanzado.

PHP

Las tendencias para el desarrollo de back-end se han ido alejando de PHP desde hace algunos años, pero el 80% de los sitios web en la web todavía están construidos con PHP ; después de todo, era un lenguaje diseñado para la web.

No obstante, si busca en Google el lenguaje de programación que los principiantes deben aprender, encontrará que los desarrolladores generalmente no recomiendan aprender PHP. De hecho, muchos desarrolladores aparentemente lo odian.

Python está perfectamente bien para trabajar con bases de datos. Muchos de los marcos web están escritos en Python y usan bases de datos. También puedes construir aplicaciones gráficas en Python. Continue playing with it.

Eventually pick up a second, statically typed programming language like Java or Go (you already have object-orientation in Python, so maybe pick Go to learn some more foreign concepts).

Once you are fairly happy with that, perhaps pick up C or C++ to learn a bit more about close to hardware programming.

And of course, it’s always helpful to play a bit with other concepts, so something like Scheme or Haskell for functional programming are a good idea. And if you want to really see the origin of object-oriented languages, playing with Smalltalk (as in Squeak) is fun too.