¿Cuántos idiomas sabes? ¿Cuánto tiempo te llevó aprender cada uno de ellos?

En primer lugar, el uso de “saber” varía con cada programador. Algunos conocen su (s) mejor (s) idioma (s) para producir código y envío, mientras que otros conocen su mejor (s) idioma (s) al revés. Luego hay otros que piensan que conocen un idioma bastante bien pero que solo han arañado la superficie.

En segundo lugar, cuantos más lenguajes conoce un desarrollador no los convierte en mejores desarrolladores. Aquellos que entienden los conceptos subyacentes de la ingeniería informática / software pueden aprender la mayoría de los idiomas con bastante rapidez para terminar una tarea, ya que los idiomas no dependen de los conceptos.

Se llama un lenguaje de programación por una razón. Es como cualquier otro idioma. Piensa en cómo se usa el inglés. Es una herramienta para expresar pensamientos. Lo mismo con un lenguaje de programación. Es una herramienta para expresar los pensamientos sobre las instrucciones que el usuario desea que la computadora lleve a cabo. Cuando uno quiere escribir un ensayo, el lenguaje es la herramienta que permite escribir el ensayo, pero el contenido varía mucho según quién escribe.

Hay numerosos casos en los que la gente no sabe muchos idiomas, pero los pocos que saben, los conocen muy bien. No siempre se trata de cantidad, sino de calidad.

Toda una vida. Aunque depende de lo que quieras decir con “aprender”.

Usaré JavaScript como ejemplo, ya que lo he estado codificando a tiempo completo durante unos cinco años. Me tomó un par de meses antes de que pudiera llamarme un desarrollador de JavaScript. Era malo, pero con un montón de prueba y error podría hacer el trabajo, si “hecho” nos referimos al programa. Mi código era realmente feo y era difícil de mantener, pero funcionó.

Después de aproximadamente un año, tenía confianza con el idioma. Ahora, cinco años después, lo hablo con fluidez, pero todavía estoy aprendiendo cosas nuevas sobre él todos los días. Ese ritmo es bastante constante, y para mí está claro que seguiré aprendiendo nuevas cosas mientras siga programando.

No estoy recogiendo liendres, aquí. Las cosas nuevas que aprendo no son como aprender un trabajo oscuro en inglés que casi nadie usa. Son herramientas y técnicas importantes.

Dejé de seguir la pista hace años. Además, no creo que haya una gran línea entre los lenguajes de programación y los lenguajes de marcado o de consulta, por no hablar de bash. Aunque puedo dividir los pelos si es necesario, generalmente los agrupo en términos de utilidad. Me gusta ver Nodo / Angular como no realmente Vanilla JS.

Saber es un término tan extraño en este contexto. No es necesario que conozca conscientemente todas las reglas para poder usarlas, al igual que no necesita saber sobre los infinitivos o todas las partes del habla para hablar un idioma hablado con fluidez.

En cuanto a la fuerza en un lenguaje, realmente veo esto como la cantidad y cantidad de proyectos en los que he trabajado. Eso es todo. He incursionado con algunos con los que todavía no he hecho nada serio, simplemente porque no tengo nada que se haga mejor en ese idioma.

En este punto, básicamente puedo apoyarme en cualquier idioma que necesite en la medida en que necesito usarlo y ser lo suficientemente bueno en un corto período de tiempo. Es como simplemente apoyarse en algo que ya sabes, dar o quitar algunos bordes ásperos.

Déjame ver si puedo hacer una lista muy desordenada de idiomas que he conocido / he usado para varias cosas …

  • PHP (durante mucho tiempo)
  • Java (durante mucho tiempo), Android Java y JAX-RS y cosas web en general de Java
  • Pitón
  • C, Objective-C y C ++ (en su mayoría solo usan Java para cosas que haría con C ++)
  • Rápido
  • JS (básicamente de forma continua durante más de una década, técnicamente), así como Node, Angular, etc., sea cual sea el nuevo marco pequeño que haya aparecido
  • bash, y batch (o como se llame bash de Window)
  • VisualBasic y VBA
  • RealBASIC
  • LibertyBASIC (apenas cuenta es básicamente una estafa)
  • Cantidad decente de PASCAL
  • Pasando a PERL en este momento por algo
  • Scala, en su mayoría solo jugando con eso porque es divertido en este punto
  • Un poco de basico

Ahora para los menos programados, pero todavía idiomas:

  • DB2
  • MySQL (mucho tiempo)
  • HTML (también por más de una década) e hizo un poco de mierda con lienzo un par de veces y algunas cosas de formato móvil, así que supongo que un poco de HTML5 decente
  • XML
  • CSS (no es un enfoque, pero lo he usado para cosas pequeñas a lo largo de los años y conozco la esencia de los nombres de clase y una cantidad decente de cosas)

Probablemente hay algunos más que no puedo recordar. Esta lista era lo suficientemente difícil de reunir.

En algún momento, simplemente te das cuenta de que todos son básicamente iguales. Quiero decir no técnicamente sino básicamente. Luego, deja de preocuparse por el lenguaje o el marco que va a usar y simplemente elige el mejor para el trabajo y se agrieta.

Puedo “aprenderlos” lo suficientemente bien como para usarlos en unos pocos días o quizás 2 semanas como máximo, pero nuevamente “saber” no es un término muy útil en este espacio.

Finalmente, dejas de preocuparte tanto por los idiomas y te mueves hacia lo que es más importante.

En primer lugar, responderé la segunda parte de su pregunta en 2 palabras: “Ingeniería inversa”

Ahora, la primera parte (sé PHP, Javascript, Python, Java, Visual Basic, C, C ++, Scala ) y esta lista está en orden decreciente de mi experiencia / conocimiento en cada idioma.

Ahora de nuevo a la segunda parte, comenzaré con Visual Basic. Cuando tenía 11 años, tenía acceso a una computadora en la oficina de mi madre y solía jugar juegos. Un día, mientras buscaba nuevos juegos (Pensando que debería haber muchos otros juegos en una computadora, ya que no conocía el concepto de instalación de software), encontré Visual Basic. Pensé que es algo que se usa para editar películas (debido a la palabra visual en ella). Luego empecé a jugar con él, lo que me hizo encontrar un libro en el estante de un hermano de mi amigo, me acompañó el CD, lo reproduje, lo edité y me encantó. He creado más de 20 aplicaciones en Visual Basic, que incluyen un reproductor de música, un reproductor de video, un sistema para manejar libros y todo. Incluso tomé hojas falsas de enfermedad de la escuela para jugar con eso.

El siguiente es C, C ++ y un poco de Qt. Un día, recibí un mensaje en mi pantalla que decía “falta el ntldr”. Y el sistema no estaba arrancando. Me sentí como el fin del mundo. Así que tuve que instalar algún tipo de sistema operativo según lo sugerido por el técnico de reparación de computadoras (era un dolor en el culo para él, ya que solía molestarlo, incluso para la más simple de las cosas). Lo que hizo a continuación fue interesante: instaló Mandriva Linux en mi sistema. Un chico de 8º grado sin experiencia previa en Linux tenía que jugar con él. Desafío aceptado. Comencé a jugar con él, lo aprendí como unos días, y mientras navegaba encontré algunas imágenes que se usaron en la interfaz de usuario, en /, / usr / share, etc. Empecé a editarlas. Después de una semana o pocas, el Mandriva Linux era 80% “Linux de Sachin”, con mi foto como la pantalla de Spalsh y todo. Estaba preocupado por el 20% restante. Así que empecé a profundizar usando mi acceso telefónico a menos de 12 kbps en Internet (¿o lento?). Encontré esta cosa llamada KDE. Descargué la fuente y no tenía idea de qué hacer con ella. Encontré un par de CPP, extensiones Qt, y en el transcurso de 3 meses logré descifrarlo 😀. Diría que aprendí un poco sobre CPP (usé algunos libros, por supuesto), pero mis modificaciones fueron generalmente sobre datos de cadenas. Fue una obviedad. Pero empecé a escribir pequeños programas c, cpp y los probé. También tomé prestado algunos códigos de algunos de los estudiantes senior – de sus proyectos académicos, los compilé, los modifiqué.

Y un buen día, obtuve Knoppix (un sistema operativo Linux en vivo que se ejecuta desde un solo CD). Quería modificarla, ya que no tenía forma de distribuir mi propia versión de Mandriva. Me di cuenta de que hay algo llamado remastering a linux distro (algo que ya hice con Mandriva, pero me dieron el término usado para describir el proceso) en algún foro. Con la ayuda de google encontré este enlace (Knoppix Remastering Howto). Comencé a construir, pasé muchos días sin dormir en mi máquina lenta con super slwo internet (en ese momento también tenía una instalación de Windows que solía navegar por internet, ya que mi módem interno Smartlink no era compatible con Debian). Y un día, lo hice. Tengo un distro de linux por mi cuenta. Nadie lo usó en ese momento, excepto yo. Y estaba cansado de cambiar de sistema operativo solo para acceder a internet. Entonces, comencé a excavar y, después de unos días, encontré un código en el sitio de algún desarrollador que permitiría que los módems de enlace inteligente funcionen en Linux. Lo descargué, lo compilé y, de repente, obtuve internet en mi sistema operativo. Lo siguiente fue integrarlo al kernel. Pasé un año en eso. Aprendí mucho C y CPP para esto (este es uno de los pocos sitios malos que hice para mi sistema operativo, tan estúpido que es y su una advertencia – Página de inicio del sistema operativo SFS Snoopix!!!!). Pero después de eso, obtuve mi versión 2.0, con un kernel personalizado, un LILO editado con muchas animaciones, soporte para mi idioma nativo (malayalam) y soporte para módems de enlace inteligente. Pese a eso, fue un viaje increíble y mi computadora el profesor realmente lo instaló en una de las PC de la escuela. Así que eso fue C, CPP y Qt.

El siguiente es PHP (yo estaba en 10º grado esa vez). Si ha visitado el sitio anterior, ahora puede tener una idea sobre mis habilidades html en ese momento. Fue patético. Me di cuenta en ese momento en sí. Entonces, quería un sitio dinámico con muchos parámetros de url y todos (no sé por qué, pero pensé que era genial). Comencé a cavar de nuevo, y para entonces ya había perdido interés en el sistema operativo. De algún modo, llegué a conocer la página principal de Microsoft (una aplicación utilizada para diseñar páginas web) y probé ASP. Pero fue realmente difícil conseguir personas que conocían ASP en mi área. Pero mientras preguntaba por ahí, llegué a conocer PHP, y obtuve una persona que sabía una o dos cosas al respecto. Comencé a aprender, pero la curva de aprendizaje era muy baja, ya que estaba familiarizada con C, CPP e ingeniería inversa. He descargado un montón de código, mucho como en un infierno de código. Los probé todos; modifiqué los interesantes (siempre empecé modificando imágenes y cadenas), luego, en un lapso de pocos meses, tuve una idea acerca de PHP, bases de datos y todo. A partir de ahí, empecé a ocuparme de proyectos pequeños, mi primer proyecto fue con un hombre paquistaní (envié un correo al propietario de un sitio al azar y aceptó trabajar conmigo; mi demanda no era en efectivo, sino solo mi nombre en el jefe de mástil de el sitio y un enlace a mi sitio). Hice un montón de trabajo, y el sitio estuvo en vivo durante unos pocos meses, y un día mi tío descubrió que estaba trabajando con un hombre de Paksitani, uff, perdí Internet 😀 (pero ahora tengo un par de amigos paquistaníes ). De alguna manera convencí a mis padres de que no voy a tratar con ningún pakistaní y me consiguieron una conexión de banda ancha (¡Win!). Así que gradualmente tomé proyectos, trabajé para muchos clientes y comencé a ganar algo de dinero, para un estudiante de 10º grado, todos eran sitios web simples. Pero después de unos meses, aprendí Joomla, WordPress, etc. y amplié mis ofertas de servicio. Así que esto me dio mucha exposición a PHP, que incluso terminó obteniendo una oferta de trabajo de una empresa no mala durante mis vacaciones de verano 10, que fue demasiado para mí y no la acepté (risas). Todavía código en PHP, mucho, soy un desarrollador independiente, por lo que diría que estoy aprendiendo PHP. La misma historia va con Javascript.

Python, Scala, Java no tiene historias interesantes, excepto que

  1. Aprendí Python para rastrear sitios web principalmente, y automatizo mi tarea diaria, como administrar servidores, programaciones, etc. Y, obviamente, lo aprendí mediante ingeniería inversa en gran cantidad de código Github
  2. Scala: no sé mucho de eso, francamente. Pero lo aprendí solo porque quería aprenderlo. Todavía lo estoy aprendiendo – ingeniería inversa por supuesto.
  3. Java: el crédito se lo otorgo a mi último examinador externo para Java Lab. Un tipo genial, a quien le dije justo antes del examen que no conozco ningún “JAVA”, y me asignó un HTML para el examen de laboratorio. Y durante viva me preguntó sobre lo que hago y todo. Creo que se impresionó con lo que hice en el examen. Agregué muchos css, js, etc. a una tarea html simple, y me dijo que si aprendes java. será agradable. Sin embargo, me dio buenas notas para el examen. Pero me sentí muy mal, y después de la universidad comencé a aprender JAVA (aún no estoy interesado en eso, Dios sabe por qué).

Bueno, esa es mi historia – pequeña pregunta larga respuesta, supongo. Así que aquí está la respuesta corta a su segunda pregunta de nuevo.

La mejor manera de aprender cualquier idioma es mediante ingeniería inversa código ya disponible, edítelo, vea la salida, llévelo al siguiente nivel creando algo mezclando muchos de sus propios fragmentos de código modificados.

PD: – En ese momento, mis habilidades de diseño eran realmente malas (sí, estoy hablando de ese extraño sitio mío), pero puedes ver mi sitio en construcción aquí, Denziti.

Estoy familiarizado con muchos [Basic, Pascal, Cobol, Clipper, C, Visual Basic, VBA, Java, PHP], pero en producción [para proyectos comerciales] uso Python [con módulos y frameworks], JavaScript [con bibliotecas y frameworks], SQL [principalmente MySQL], HTML y CSS. Érase una vez, cuando estaba en la escuela, muchos de estos no estaban en los currículos de las universidades, algunos de estos ni siquiera existían. Por lo tanto, tuve que aprenderlos todos solo, ya que la industria estaba creciendo, principalmente a través de libros, cursos en línea, el código de otros desarrolladores [recurso muy importante].

Básicamente, cuando conquistas conceptos importantes, cambiar de idioma es solo una cuestión de sintaxis y acostumbrarte a diferentes ecosistemas [entornos dev, servidores compatibles, contenedores, servicios, bibliotecas, marcos].

El único lenguaje que alguna vez abandoné es Brainfuck. Demasiado esotérico para mí. Realmente no sirve para nada, al menos no es visible desde donde estoy parado.

Espero que esto ayude, gracias por a2a.

Creo que una vez que aprendes unos pocos idiomas, dejas de preocuparte por “conocerlos”. Nunca he escrito nada en D, pero tendría confianza en recogerlo lo suficientemente rápido.

Los lenguajes de programación son extremadamente simples, en general, y una vez que haya usado algunos, puede seleccionar otros muy fácilmente. No son como los idiomas hablados, donde hay unos pocos cientos de miles de palabras, estamos hablando de unas <100 palabras. C tiene 32 palabras clave. Puede aprender la sintaxis de C en una tarde, pero aprender a programar de manera útil en ella, probablemente tomará años.

Algunos idiomas son más torpes que otros, algunos tienen paradigmas que son difíciles de comprender, pero los idiomas en sí mismos casi siempre son bastante fáciles de aprender. Es difícil aprender a usarlos.

Todas las herramientas necesarias para construir una casa son bastante simples: martillos, sierras, destornilladores, cinta métrica, nivel de burbuja, clavos, tornillos, madera, ladrillos, cemento, etc. Construir una casa es un asunto diferente.

Los idiomas son fáciles, puedes aprender la sintaxis de Python con bastante rapidez, pero usarlo para construir algo útil es una cuestión bastante diferente.

A2A. No hay mucha diferencia entre los lenguajes de programación, se trata principalmente de a qué bibliotecas o marcos puede acceder a través de ellos. Una gran cantidad de programación en estos días es escribir el “pegamento” entre los bloques existentes para que encajen entre sí. Puedes escribir pegamento en cualquier idioma, así que eliges el idioma que menos se interponga.

Usted preguntó “¿Cuántos”. Profesionalmente he usado alrededor de 20, variando desde los oscuros lenguajes de scripting internos hasta los lenguajes comunes.

Aprendí la mayoría de ellos porque tenía un problema que resolver. Algunos en la universidad, otros en mi tiempo, otros en el trabajo. Normalmente no aprendes un nuevo idioma en el trabajo a menos que haya una razón convincente para hacerlo.

Lo sé – PHP , Python , C , Java , SQL , HTML , CSS , JavaScript , Shell , jQuery , BootStrap , AngularJS , Flask , Laravel .

Los aprendí de YouTube principalmente y la teoría de la documentación. Pero, la mejor forma de aprenderlos , lo que hice pragmáticamente hablando es, mediante la creación de proyectos, aprende creando .

Por asi decirlo –

  • Aprendí PHP , Laravel , HTML , CSS , JavaScript , BootStrap , jQuery, SQL creando redes sociales en ellos.
  • Aprendí Python Flask con la API de YouTube al crear Ascolta , un YouTube Music Streamer.
  • Aprendí Shell , ya que soy el administrador del sistema de todos mis servidores privados virtuales .
  • Aprendí AngularJS creando una aplicación de una sola página, como el Bloc de notas y las listas de tareas pendientes .
  • Aprendí C mediante la creación de Ayudantes criptográficos , y actualmente mi propio sistema de mini-archivos .

Algunos recursos –

  • edX – Varios cursos para empezar
  • thenewboston – Bucky Roberts ha enseñado muchos idiomas con gracia
  • codedamn – One Stop para JavaScript y otros marcos relacionados
  • Aprende a codificar | Codecourse – One Stop para PHP y otros frameworks relacionados
  • HackerRank: para probar su conocimiento, recomendado principalmente para Python y C

Saludos ,

Sameer Khan (MSK)

Sé que python, ruby, lua, C, C ++, C #, Java y un poco de visual básico.

Si me pidiera que resolviera un problema escribiendo software, solo podría hacerlo magníficamente bien en C #, y podría hacer una solución correcta en python, java o lua.

Esto se debe a que los lenguajes en sí mismos son triviales y no importantes al lado de los marcos, paradigmas y patrones.

Si quisiera que creara algún tipo de estructura de datos híbrida genial, me sumergiría directamente en C ++. Si me pidieras que escribiera una aplicación en C ++, no tendría ninguna remedio.

Este es un problema común asociado con la programación de aprendizaje, no aprender a hacer programas.

QBasic: mi novia compró una computadora en 1997 y descubrí QBasic y empecé a intrigarme. Compré un libro y traté de escribir juegos.

C / C ++: compré una revista de computadora que venía con un compilador de C / C ++. Tal vez varios, porque recuerdo haber probado Turbo C ++, Borland C ++ y Visual Studio. También compré libros en C y C ++ y escribí un juego en pseudo-3D. Se veía muy mal 🙂

Ensamblador: uno de mis libros de C ++ incluía un poco de lenguaje ensamblador. Así que después de algunas luchas logré aprender eso.

HTML, VB y SQL: Luego obtuve un trabajo que se suponía que involucraba la programación de Cobol a través de algo llamado Pacbase, que nunca aprendí. Al parecer, no tenían mucho trabajo que hacer, o no podían dedicar mucho tiempo a entrenarnos (dos de nosotros conseguimos el trabajo) y no había conexión a Internet. Pero me introdujeron en HTML y pasé bastante tiempo escribiendo programas en lenguaje ensamblador usando el lenguaje de macros de Microsoft Word (similar a QBasic) y la “depuración” de MS-DOS, para mantenernos ocupados … También nos obligaron a hacer un poco de VB, de nuevo similar a QBasic. Me dieron un poco de entrenamiento en SQL también.

Perl y Javascript: varios trabajos más tarde encontré un trabajo que logré mantener durante seis años. Utilizaron Perl para procesar los datos, así que aprendí eso al ingresar en el extremo profundo, al intentar escribir scripts de procesamiento de datos y con un poco de ayuda de mi jefe e Internet. También usaron Javascript, así que también aprendí eso.

Java: eventualmente mi trabajo pasó a Java, así que aprendí Java. Busqué tutoriales en Internet e intenté escribir un programa en su casa.

Python: Aprendí Python en Internet y escribí un juego en él, que traducía los datos de divisas a los movimientos de una nave espacial y estaba controlado por un joystick. Este fue probablemente el único juego que he hecho que se puede jugar, aparte de los juegos en gran parte basados ​​en texto. Todavía no conozco muy bien a Python.

PHP: eventualmente dejé el trabajo normal y creé un sitio de Internet usando WordPress, donde (todavía) vendo tutoriales. WordPress usa PHP, en el que trabajé en algunos tutoriales, así que aprendí eso para personalizar mi sitio. Ahora que lo pienso, también lo había usado anteriormente en un trabajo que tenía que involucrar la creación de demostraciones de software de captura de TV.

C # y AS3: casi lo olvido. Antes de crear mi sitio web, tuve una idea para escribir aplicaciones de aprendizaje de idiomas y venderlas. No funcionó. Pero intenté crear aplicaciones en C # y en AS3. Los aprendí en casa. Eran realmente fáciles, parecidos a otros idiomas que ya había aprendido.

Probablemente hay algunos que he olvidado, incluyendo algún lenguaje de scripting, como avisynth, por ejemplo. Estos los acabo de aprender usando internet en casa.

Conozco 1 idioma bastante bien, Java, 3 otros idiomas un poco, Bash, Haskell y Scala, y una docena más, incluso menos.

¿Por qué preguntas? Puede contar otras cosas, como paradigmas de programación, OOP, funcional, reactivo, flujo de datos, CSP, FSM, patrones, sistemas operativos, dominio de aplicación (verticales), diferentes compromisos entre rendimiento, costo, mantenimiento, hay un enorme espacio dimensional de ” el conocimiento “en cada dominio de actividad humana, no puede medirse con la cantidad de idiomas que” sabe “. Se dice que las personas que realmente entienden C ++ son unas pocas docenas. Puedo decir que Java, con 1000 páginas estándar, es también un lenguaje que pocos entienden completamente. Así que solo para lenguajes muy simples, tal vez Python, podría haber más gente que entienda a fondo la realidad, pero dudo que Python sea muy atractivo con gente no tan técnica.

Depende de lo que quieras decir con “saber”. ¿Significa eso que lo has usado antes y sabes al menos los conceptos básicos de la sintaxis, la estructura y los comandos? ¿Qué pasa con las APIs? ¿Maestría?

En un entorno profesional, he usado ASP, Basic (VB), CFML, JavaScript, Java, Perl, Python, T-SQL, Go, Apex (Salesforce), PHP, ActionScript, Bash y probablemente algunos otros que estoy olvidando acerca de. Además, en entornos de aprendizaje he usado Básico, Ensamblaje, C y algunos otros. Soy muy bueno en algunos de ellos, en lugar de mediar en otros. No sé lo suficiente como para escribir algo útil en al menos la mitad de ellos sin pasar por los materiales de referencia para volver a familiarizarme con el idioma.

Aprendí escribiendo códigos, leyendo libros, blogs, tutoriales en línea, revisando el código de otras personas, trabajando con desarrolladores expertos y asistiendo a conferencias. No estudié CS en la escuela y no he estado en una clase de software en años.

Te contaré el secreto del éxito. Si desea ser realmente bueno en un idioma específico, tiene que usarlo todos los días . Porque la gente que es realmente buena lo usa todos los días. He estado trabajando mucho con JavaScript, y soy bueno o quizás muy bueno en eso, pero todavía estoy sorprendido de lo buenos que son los mejores expertos en programación de JavaScript. A propósito de su pregunta, uno de esos expertos, Kyle Simpson, escribió una serie de libros, que puede obtener en GitHub:

getify / You-Dont-Know-JS

No importa cuánto creas que sabes, hay alguien que sabe más que tú.

He trabajado con CFML durante más de 20 años y casi podría construir cualquier cosa en él. Sin embargo, hay partes del lenguaje que apenas he tocado porque solo se usan en casos específicos, por ejemplo, trabajar con .NET o incluir bibliotecas de etiquetas JSP. Esas funciones son excelentes cuando son necesarias, pero la mayoría de los programadores de CFML no las necesitan, al menos no regularmente.

Los programadores competentes aprenden lo que necesitan para aprender sobre la marcha, pero pueden reconocer sus límites. Si alguien me pidiera mañana que integrara un conjunto de ensamblados .NET en su aplicación CFML, podría hacerlo fácilmente. Si alguien me pidiera que escribiera un proceso de servicio de back-end en Go, necesitaría más tiempo de aceleración, pero podría hacerlo. Si alguien me pidiera que escribiera una aplicación de servidor compleja en C, quisiera que los meses de experiencia en programación en C de antemano comenzaran a hacer la tarea justa, e incluso entonces no confiaría mucho en mi código porque sé lo suficiente como para saber lo difícil que es Es escribir código realmente bueno en C.

Bueno, soy profesor de educación vocacional y tengo que adaptarme todo el tiempo. Antes de enseñar, yo era un desarrollador COBOL. Debo tener alrededor de 10 años de experiencia en eso. No se ría demasiado fuerte, porque la mayoría de las partes internas de bancos y compañías de seguros (al menos en España, Francia, Andorra y el Reino Unido) lo utilizan. También aprendí mucho SQL para mis consultas de trabajo, pero estaba basado en DB2. De hecho, comencé mi carrera profesional con JCL.

Hice la transición a Java y fue muy difícil porque es un paradigma de programación completamente diferente y, honestamente, mis clases de Java en la universidad fueron muy malas. De hecho, nunca nos enseñaron ningún lenguaje de programación en la universidad. Luego tuve que aprender a usar Java en conjunto con el framework Spring (que estaba realmente “en” hace unos 4 años). Luego tuve que aprender C #, Javascript y JQuery rápidamente porque no podían encontrar programadores de habla francesa en mi ciudad y yo era el único capaz de celebrar una reunión en ese idioma. Afortunadamente, la transición de SQL a SQLServer no fue demasiado dolorosa.

Entonces empecé a enseñar y en 3 años aprendí Python, PHP, HTML, CSS y muchas tecnologías basadas en Javascript. Este año académico tuve que preparar todas mis clases tanto en PHP como en NodeJS, lo que significaba que también tenía que entrenarme en MongoDB. Al ser un maestro de educación vocacional, esto significa que no solo debo aprender el idioma para enseñarlo (en comparación con lo que te dije anteriormente sobre la universidad que no te enseña directamente un lenguaje de programación aquí) sino también para explicar los conceptos que la legislación nos pide que enseñemos. .

Así que mi opinión es que puedo codificar (aunque no a nivel de expertos) en aproximadamente 10 tecnologías de programación diferentes y sí, tengo que aprender algunas de ellas al mismo tiempo.

Personalmente, creo que hay una diferencia entre saber un idioma y haberlo usado antes . He hecho horas y horas en C #, Haskell y Ruby.

Pero al lado de eso también hice algunos proyectos que involucraban JavaScript (aunque en su mayoría CoffeeScript), Objective-C, Java (Android), Python, Rascall, SQL, Prolog, Bash. Me siento cómodo con ellos, pero todavía tengo que buscar funciones estándar y algunas veces también una sintaxis menos utilizada.

Y, por último, he escrito algunos Groovy y PHP, pero no diría que conozco estos dos idiomas. No será difícil aprenderlos, pero escribir algunas líneas de código no le permite saber un idioma en absoluto.

Creo que aprender un idioma bien es la mejor manera de ir. Después de eso, aprender a otros se vuelve más fácil. Especialmente los idiomas que se parecen. Para aprender un segundo idioma, buscaría otro paradigma que no sea el primero. Realmente amplía tu horizonte y te hará un mejor desarrollador en general.

Bien, veamos. Primero me enseñé C y C ++ porque quería involucrarme en la piratería, y había escuchado en alguna parte que saber que C era esencial para ese objetivo. Luego aprendí QBASIC en la escuela secundaria en el curso de informática. Principalmente trabajamos en cosas simples y creamos juegos. En la escuela secundaria, también me enseñé a mí mismo WordBASIC (Office 95) y VBA (VisualBasic para aplicaciones) para poder omitir los mecanismos de seguridad de la escuela (pude escribir un administrador de tareas, que de otro modo estaba restringido, que podría terminar el programa de seguridad) y escribir una macro de Word que supongo que era técnicamente un virus, pero su objetivo era sobrescribir otros virus. No sabía la intención de los otros escritores de virus. Así que fue una especie de vigilante benevolente … o eso me digo a mí mismo.

Tomando algunos cursos universitarios, elegí VisualBasic 6.0 (porque estaba allí y podía usarlo para crear programas visuales rápidamente) y el lenguaje ensamblador x86 (porque los virus me interesaban). Aunque más tarde descubriría que conocer el lenguaje ensamblador me ayudaría en mi futuro trabajo en la investigación de seguridad, particularmente en ingeniería inversa.

Mientras estaba completamente inscrito en la universidad, aprendí los scripts de Bash para ayudar en mis tareas como graduador de cursos de CS. También tomé cursos en Java y LISP solo por la exposición a nuevos paradigmas.

Después de la universidad, me enseñé a mí mismo PHP y Javascript (y otras cosas relacionadas con la web … HTML, CSS, MySQL) para poder hacer sitios web no triviales, lo que resultó ser un buen movimiento ya que lo haría, aproximadamente 8 años después. pasar a una carrera de desarrollo web.

Recogí algo de Python porque, en ese momento, estaba trabajando como investigador de vulnerabilidades de seguridad y Python permitió un rápido desarrollo mientras seguía brindando acceso binario / de bajo nivel a los datos y la memoria.

También me enseñé a mí mismo ActionScript 3 porque, después de que mi hermano se graduara con una maestría en medios interactivos (es decir, “diseño de videojuegos”), reclutó mis habilidades de programación para escribir un juego con él. Como ya tenía un conocimiento práctico de los productos de Adobe y AS3 estaba lo suficientemente cerca de Javascript y C ++, lo aprendí a escribir un juego. En este sentido, quiere hacer un juego más complicado usando Unity. Creo que puedo salirme con mi conocimiento de Javascript allí, ¡pero existe la posibilidad de que tenga que aprender C # también!

(También incursioné en Perl y Ruby. No me gustan particularmente, Perl y Ruby no parecen ofrecerme nada que deba hacer y que no pueda hacer en Python o PHP).

A2A

La primera vez que aprendí BASIC fue en Junior High School, C, C ++ y Java en la universidad, PHP y HTML poco después de unirme a la Armada y tuve que editar un periódico de comandos, Python autodidacta después de convertirme a TI. cirugía, y recientemente aprendí los scripts de shell de Perl y Bash después de ser asignado a un puesto de programador. Sin embargo, soy más fluido en Python, ya que ese es mi idioma de elección.

Probablemente tres (C, C ++, Python) con algo de experiencia. Puedo leer / modificar / tropezar con otros veinticinco o treinta. En un momento fui bastante adepto a Common LISP, aunque sospecho que la mayor parte de eso se ha desvanecido. Estoy buscando un proyecto personal para hacerme más adepto en Go.

Conozco cinco idiomas. Inglés, español, francés, hindi y mi lengua materna, italiano. El más difícil según mi opinión es el hindi, pero solo porque no es fácil practicarlo en Italia.

Bien, veamos. Me introduje en la programación con Ruby de un libro, luego aprendí HTML y CSS. A partir de ahí, fui directamente a Python. Aprendí HTML y CSS de un sitio web llamado Codecademy. Python, sin embargo, lo sabía básicamente por la experiencia de Ruby (son bastante similares) y Googlear aleatorio para ciertos métodos que podría necesitar. La única razón por la que usé Python fue porque se usaba principalmente en la mini computadora Raspberry Pi como un lenguaje de programación API, entre otras cosas.

Aprendí un poco de Java cuando fui e hice complementos de servidor de Minecraft, principalmente de tutoriales de Youtube y otra vez, Google. Aprendí Lua cuando uso un mod de Minecraft llamado ComputerCraft.

No he usado HTML y CSS en mucho tiempo, aunque sí lo uso de vez en cuando para mejorar mi sitio web. Python sigue siendo mi lenguaje de programación más usado, con Java en segundo lugar. Actualmente estoy tratando de entender C ++, ¡y parece que va bien!

Soy bióloga He codificado en AppleScript, Bash, BASIC, C, C-Shell, C ++, C #, Forth, FORTRAN, JavaScript, Java, Objective-C, Lisp, Logo, Lua, Matlab, Perl, Postscript, Python, R, Rexx , Ruby, Scala, Smalltalk, SQL y VisualBasic, justo en la parte superior de mi cabeza. Eso es 26 idiomas. En un momento dado, probablemente estoy trabajando en proyectos que usan 4 o 5 de ellos (en este momento, R, Python, JavaScript, SQL y Java). Varios de esos fueron idiomas que aprendí muy pronto que generalmente ya no uso: BASIC, Logo y Forth. También hay algunos que aprendí en la universidad que utilicé para cursos pero no tanto (Lisp, Postscript, Smalltalk, Matlab y FORTRAN). Lua Usé principalmente juegos que usaban Lua como su lenguaje de scripting incorporado. R, Python, Perl y Java han sido la carne y las papas de mi carrera en biología computacional.