Por qué muchos programadores dicen que los lenguajes no importan: el secreto está en el pseudocódigo y la sintaxis

0
45

En
el
mundo
del
desarrollo
de
software,
hay
un
dicho
recurrente,
aunque
no
universalmente
compartido:
que

los
lenguajes
de
programación
en

mismos
no
importan
tanto
como
las
habilidades
de
programación
subyacentes.

Para
el
profano,
esto
puede
parecer
una
contradicción
en
un
campo
dominado
por

una
miríada
de
lenguajes,
cada
uno
con
sus
propias
reglas
y
aplicaciones

…pero
lo
cierto
es
que,
para
ser
un
buen
programador,
hay
cosas
que
importan
más
que
la
sintaxis
específica
de
cualquier
lenguaje.

La
carrera
de
programador
en
2017
y
en
el
futuro
(con
Javier
Santana)

Pensando
en
pseudocódigo:
primeros
pasos

Cuando
los
programadores
se
enfrentan
a
un
problema,
el
primer
paso
es
conceptualizar
la
solución
en
términos
de
pseudocódigo.

El
pseudocódigo
es
una
representación
de
la
lógica
de
programación

que
se
puede
describir
como
una
representación
simplificada
y
de
alto
nivel
de
un
algoritmo,
utilizando
una
mezcla
de
lenguaje
natural
y
estructuras
de
control
básicas.

Pseudo Codigo Ejemplo

Pseudo Codigo Ejemplo


Ejemplo
(muy)
sencillo
de
qué
hablamos
cuando
hablamos
de
pseudocódigo.

La
habilidad
de
pensar
como
programador

Más
allá
del
conocimiento
de
un
lenguaje
específico,
la
habilidad
más
valiosa
para
un
programador
es
la
capacidad
de
pensar
de
manera
algorítmica
y
lógica.
Este
pensamiento
incluye:


  1. Descomposición
    de
    problemas
    :
    Dividir
    un
    problema
    complejo
    en
    partes
    más
    manejables
    y
    solucionables.

  2. Reconocimiento
    de
    patrones
    :
    Identificar
    y
    utilizar
    patrones
    comunes
    en
    problemas
    diferentes
    para
    encontrar
    soluciones
    eficaces.

  3. Abstracción
    :
    Simplificar
    los
    detalles
    de
    implementación
    para
    centrarse
    en
    los
    aspectos
    esenciales
    de
    un
    problema.

¿Cuáles
son
los
primeros
pasos?

Sabiendo
todo
lo
anterior,
en
esta
etapa
los
programadores
se
centran
en:


  • Definir
    los
    datos
    de
    entrada
    y
    salida.

  • Establecer
    las
    condiciones
    y
    cómo
    manejarlas.

  • Determinar
    el
    flujo
    de
    trabajo
    desde
    el
    inicio
    hasta
    el
    final.

Este
enfoque
inicial
resulta
crucial
porque
permite
a
los
programadores
visualizar
la «Ruta
Feliz»,
es
decir,
el
camino
en
el
que
todo
funciona
perfectamente.

Ventajas
del
pseudocódigo


  1. Claridad
    y
    simplicidad
    :
    Al
    no
    estar
    restringido
    por
    la
    sintaxis,
    el
    pseudocódigo
    permite
    a
    los
    desarrolladores
    concentrarse
    en
    la
    lógica
    del
    problema.
    Esto
    facilita
    la
    comunicación
    de
    ideas
    y
    algoritmos
    complejos
    de
    una
    manera
    clara
    y
    comprensible.

  2. Independencia
    del
    lenguaje
    :
    Una
    vez
    que
    un
    algoritmo
    está
    expresado
    en
    pseudocódigo,
    puede
    ser
    traducido
    a
    cualquier
    lenguaje
    de
    programación.
    Esto
    refuerza
    la
    idea
    de
    que
    la
    lógica
    y
    el
    diseño
    del
    algoritmo
    son
    más
    importantes
    que
    el
    lenguaje
    en
    sí.

  3. Facilita
    la
    colaboración
    :
    Equipos
    de
    desarrollo
    que
    trabajan
    con
    múltiples
    lenguajes
    pueden
    beneficiarse
    del
    uso
    del
    pseudocódigo
    como
    una
    lengua
    franca
    que
    todos
    entienden,
    independientemente
    de
    su
    especialización.

Traduciendo
a
la
sintaxis
específica

Sólo

después
de
haber
resuelto
la
lógica
de
programación
es
cuando
los
desarrolladores
traducen

su
solución
al
lenguaje
específico
que
están
utilizando.
Incluso
entonces,
si
el
programador
ya
está
muy
familiarizado
con
ese
lenguaje,
esta
traducción
puede
ser
tan
rápida
y
natural
que
apenas
se
nota.


Este
dominio
del
lenguaje
permite
a
los
programadores
enfocarse
más
en
optimizar
su
código

y
en
adoptar
mejores
prácticas
de
desarrollo,
como
la
legibilidad,
la
modularidad
y
la
mantenibilidad
del
código.

También
pueden
aprovechar
de
manera
más
efectiva
las
bibliotecas
y
herramientas
específicas
del
lenguaje,
lo
que
puede
acelerar
significativamente
el
proceso
de
desarrollo
y
mejora
del
software.

Así
que,
recuerda…

Los
conceptos
subyacentes
de
programación

como
variables,
estructuras
de
control
(bucles,
condicionales),
y
funciones

son
universales…

…mientras
que
los
detalles
específicos,
como
el
uso
de
corchetes,
llaves
o
diferentes
formas
de
escribir
condicionales
(elif,
elsif,
else
if
)
o
de
establecer
bucles
(for,
whire,
foreach
)
son
simplemente
variaciones
en
la
sintaxis.

Imagen
|
Marcos
Merino
mediante
IA

En
Genbeta
|
 De
no
saber
programar
a
ser
programador
en
sólo
10
meses:
esta
fue
la
trayectoria
de
un
usuario
de
Reddit