Paradigmas de programación: programación imperativa, orientada a objetos y funcional. Intenta aprender un idioma para cada categoría. Ejemplo: C (procesal), Java (orientado a objetos) y Haskell (funcional). Si conoce todos los estilos, programará mucho mejor, especialmente cuando utilice lenguajes de paradigmas múltiples, como Python, C ++ o Scala. Los complementos son Assembler, Prolog y Forth.
C ++ y Java son los dos ejemplos más populares de lenguajes orientados a objetos. Estos lenguajes son los más versátiles y Python se está estableciendo como otra gran oferta en esta dirección, con algunas características intuitivas que los demás se perdieron y se han desarrollado demasiado lejos para trabajar de manera eficiente.
Java también es notable por ejecutarse en una máquina virtual. Esto significa que su código Java puede ejecutarse en cualquier máquina que tenga una versión de JVM, que es una característica útil pero hace que el lenguaje sea más lento. La mayoría de las personas no lo notarán porque es lo suficientemente rápido para la mayoría de los propósitos
- ¿En qué punto las computadoras dejarán de ser más rápidas?
- ¿Cómo funciona el proceso de eliminación?
- ¿Qué es mejor, CSE en GB Pant Engineering College, Okhla o ingeniería de TI en Maharaja Agrasen, Rohini?
- ¿Qué busca el comité de admisiones de ECE en UT Austin en los posibles candidatos?
- ¿Cómo debe desarrollarse un ingeniero informático a partir del primer año en una universidad privada?
C no está orientado a objetos, pero es quizás el lenguaje de ‘alto nivel’ más rápido que existe muy cerca del hardware con una mínima abstracción. Otros lenguajes de nivel superior (más abstracciones del hardware) tienden a construirse sobre C.
Yendo más abajo que C hay un código de ensamblaje. Esto es lo más cerca que está del hardware antes de escribir directamente en binario. La programación de ensamblaje es lenta y laboriosa, pero le proporciona el código más rápido. La mayoría de las personas están satisfechas con el código de ensamblaje que genera su compilador o contratan a un programador con experiencia en ensamblaje solo por las pequeñas cantidades de código que deben ejecutarse un poco más rápido o de lo contrario se vuelven poco prácticas.
¿El ensamblaje no es lo suficientemente rápido para ti? Bueno, podría aprender hardware y / o trabajar con un lenguaje de descripción de hardware como VHDL. Estos lenguajes son útiles para generar hardware diseñado para realizar solo una tarea (o algunas) realmente bien y producir los planes para el hardware que se destina a la electrónica especializada.
La programación web es bastante popular, pero no es un interés particular mío, no soy el mejor para contarte sobre sus ofertas.
HTML no es un lenguaje real, pero puede ser útil conocer los conceptos básicos. CSS está ganando popularidad pero todavía no es algo universal y el campo aún no se ha resuelto; También existe realmente para describir cómo se deben diseñar las páginas. PHP es un lenguaje de programación web mucho más general, pero creo que JavaScript se considera el mejor y más simple lugar para comenzar si solo estás probando algo. La programación web se divide en áreas de interés del lado del cliente y del servidor, siendo el lado más profundo y técnico el servidor que tiene como objetivo mantener las cosas lo más simples posible para el cliente mientras hace el menor trabajo posible para que pueda servir a muchos usuarios rápidamente.
La programación lógica es otra área especializada que probablemente tenga su mayor enfoque en este momento en inteligencia artificial, aunque también analiza temas como la demostración de teoremas de sistemas de agentes múltiples, etc. Es una dirección natural si ha estudiado lógica y ha descubierto que ser su mayor interés, pero se usa principalmente en círculos académicos. Prolog es un lenguaje divertido y simple para jugar, pero descubrirá rápidamente sus limitaciones para la programación general. Sin embargo, su capacidad de retroceso, funciones flexibles y la capacidad de reescribirse en tiempo de ejecución hacen que sea bastante divertido de usar y una excelente opción para cualquier tipo de problema compatible.
Si la inteligencia artificial es un interés, es más probable que desee ver el aprendizaje automático y uno de los lenguajes generales más poderosos que se discutieron anteriormente. También es posible que necesite desarrollar aún más sus matemáticas para familiarizarse con muchos de sus algoritmos.
MATLAB es un lenguaje extremadamente poderoso (aunque un poco lento) para cualquier cosa que requiera matrices (o vectores o tablas multidimensionales, etc.). Esto lo hace bueno para visión artificial, redes neuronales, estadísticas, análisis de big data, etc. Los gráficos también tienden a estar basados en matrices, pero este lenguaje es probablemente demasiado lento para eso.
Si el análisis de datos o los gráficos son de interés, considere mirar R; Es un lenguaje divertido, simple y poderoso que prácticamente adora a todos los que lo usan.
La programación funcional se refiere a problemas que abarcan un conjunto de varias entradas alfanuméricas y producen una salida. Si sus problemas de interés coinciden con esta clase, le espera una sorpresa, ya que estos idiomas son algunos de los más simples, intuitivos y divertidos para trabajar. Haskell es un brillante ejemplo. En términos de capacidad de contratación, a los programadores funcionales les va bien en la banca y sospecho que hay buenas oportunidades en consultoría.
@ ¿Cuál es la hoja de ruta para aprender lenguajes de programación para un estudiante de primer año de ciencias de la computación e ingeniería?