¿En qué lenguaje programar?


La can­ti­dad de len­gua­jes de pro­gra­ma­ción en el mer­ca­do es enor­me. Los hay de pro­pó­si­to ge­ne­ral y para ta­reas muy es­pe­cí­fi­cas. Al­gu­nos son de muy bajo nivel y otros son in­clu­so de quin­ta ge­ne­ra­ción. Todos tie­nen pros y con­tras y es común que los que se ini­cian en el arte de la pro­gra­ma­ción no sepan de­ci­dir cuál es el bueno.

La reali­dad es que todos los len­gua­jes pue­den ser bue­nos, pero hay unos que sin duda son me­jo­res. Por ejem­plo, de­ci­dir pro­gra­mar en len­gua­jes como Vi­sual BASIC o crea­dos bajo este pa­ra­dig­ma, no es la mejor de las ideas. A pesar de que Vi­sual BASIC ha in­cor­po­ra­do un am­bien­te de desa­rro­llo rá­pi­do, evi­den­te­men­te las es­truc­tu­ras de datos que tiene por omi­sión no co­rres­pon­den a las ne­ce­si­da­des ac­tua­les. Sin em­bar­go, Mi­cro­soft ha de­ci­di­do in­cor­po­rar más po­si­bi­li­da­des en estas es­truc­tu­ras y ya Vi­sual BASIC pro­ba­ble­men­te tenga la po­ten­cia de los len­gua­jes con más tra­di­ción. El pro­ble­ma es que tiene tanto de ori­gi­nal y nuevo, que fi­nal­men­te VB no co­rres­pon­de a un len­gua­je que puede por­tar­se a otras ver­sio­nes de otros fa­bri­can­tes. Por ende, se “casa” el pro­gra­ma­dor con un medio am­bien­te es­pe­cí­fi­co de desa­rro­llo y con las pres­ta­cio­nes que el fa­bri­can­te -en este caso, Mi­cro­soft- da.

Por ello, qui­zás ha­bría que bus­car la so­lu­ción a esta in­te­rro­gan­te (¿qué len­gua­je ele­gir?), en aque­llos len­gua­jes que tie­nen alto grado de com­pa­ti­bi­li­dad o que son, de al­gu­na ma­ne­ra, más es­tán­dar en la in­dus­tria. En este sen­ti­do qui­zás C++, C, o C# sean tres ver­sio­nes de un mismo len­gua­je que bien puede con­si­de­rar­se. Tiene muy am­plio so­por­te. Las co­mu­ni­da­des de usua­rios son enor­mes, sus bi­blio­te­cas de desa­rro­llo tam­bién son gi­gan­tes­cas, lo cual ga­ran­ti­za, casi siem­pre, que habrá có­di­go ya es­cri­to para casi cual­quier tarea, desde las más ru­ti­na­rias hasta las más so­fis­ti­ca­das.

Otro len­gua­je que goza de pres­ta­cio­nes se­me­jan­tes es Java. La vir­tud de éste con res­pec­to a C es que este úl­ti­mo es gra­tui­to y hay un medio am­bien­te de desa­rro­llo que ya hace mu­chas cosas. Java tiene una gran co­mu­ni­dad de desa­rro­lla­do­res y bien que mal, hay miles de foros para con­sul­tar po­si­bles pre­gun­tas o pro­ble­mas que se ten­gan en los desa­rro­llos pro­pios. Ade­más, con res­pec­to a C, Java es re­la­ti­va­men­te por­ta­ble, es decir, un pro­gra­ma es­cri­to en Java prác­ti­ca­men­te corre en cual­quier sis­te­ma ope­ra­ti­vo que tenga una má­qui­na vir­tual de Java (JVM), que no es otra cosa que un in­tér­pre­te del by­te­co­de, el có­di­go de “má­qui­na” (que no es na­ti­vo) que ge­ne­ra el com­pi­la­dor de dicho len­gua­je.

Otro len­gua­je, como los dos an­te­rio­res, que en buena me­di­da obli­ga a desa­rro­llar una dis­ci­pli­na en pro­gra­ma­ción es Pas­cal. Y es el len­gua­je de mi pre­fe­ren­cia, por lo que po­dría ha­blar largo y ten­di­do. Pas­cal (en su ver­sión turbo Pas­cal en MsDOS y más tarde Delp­hi en Win­dows), es una po­de­ro­sa he­rra­mien­ta de pro­gra­ma­ción, cuya vir­tud está en el pa­ra­dig­ma ele­gi­do por su crea­dor, Ni­klaus Wirth, para hacer de la pro­gra­ma­ción una cien­cia dis­ci­pli­na­da y no un con­glo­me­ra­do de có­di­go que no se pu­die­se en­ten­der. Delp­hi, que es el am­bien­te de desa­rro­llo rá­pi­do en este len­gua­je, lo desa­rro­lla y vende la em­pre­sa Em­bar­ca­de­ro, des­pués de que el crea­dor ori­gi­nal, Bor­land, de­ci­die­ra ven­der la em­pre­sa Co­de­Gear, que se de­di­ca­ba al soft­wa­re de desa­rro­llo.

Apa­ren­te­men­te Em­bar­ca­de­ro busca darle un fuer­te em­pu­je a Delp­hi, asun­to que -cabe de­cir- pro­me­tie­ron desde que se hi­cie­ron de Co­de­Gear. Sin em­bar­go, no pa­re­cen haber te­ni­do el éxito es­pe­ra­do. Vamos, que si re­vi­sa­mos por ejem­plo, cuán­tos li­bros que sobre Delp­hi hay en Ama­zon, ha­lla­re­mos que en los úl­ti­mos años sim­ple­men­te ya no se ha pu­bli­ca­do nin­guno.

Ha sa­li­do -cu­rio­sa­men­te- La­za­rus, que es la ver­sión de có­di­go abier­to de Delp­hi, que des­pués de 10 años llega a su ver­sión 1.0 y que sua un com­pi­la­dro li­brey gra­tui­to (Free Pas­cal), que per­mi­te ge­ne­rar çodiog para los di­fe­ren­tes sis­te­mas ope­rat­vios, es decir, quie­re cum­plir con el sueño do­ra­do del pro­gra­ma­dor: “es­crí­ba­se una vez, có­rra­se en cual­quier pla­ta­for­ma”.

El punto en el fondo es tra­tar de man­te­ner­se el mayor tiem­po po­si­ble en un len­gua­je de pro­gra­ma­ción que tenga so­por­te am­plio y co­mu­ni­da­des de desa­rro­llo que pue­dan darle se­gui­mien­to a nues­tro in­te­rés por usar un len­gua­je en par­ti­cu­lar. Des­pués de unos 20 años de pro­gra­mar en Turbo Pas­cal y Delp­hi, hallo que esta fan­tás­ti­ca he­rra­mien­ta está per­dien­do fuer­za y por ende, me temo que con los años em­pe­za­rá a de­jar­se de usar. Y de pron­to sien­to que es como un en­fer­mo ter­mi­nal, el cual even­tual­men­te mo­ri­rá sin im­por­tar los es­fuer­zos por­que esto no ocu­rra. Así pasa tam­bién en la tec­no­lo­gía y por ello hay que pen­sar siem­pre a fu­tu­ro.

Pien­so que even­tual­men­te todos los len­gua­jes serán desecha­dos y na­ce­rán otros con más pres­ta­cio­nes. Qui­zás el mejor con­se­jo (o re­co­men­da­ción) que se le pueda dar a quie­nes quie­ran en­trar­le a esto de es­cri­bir có­di­go, sea el usar len­gua­jes de alto so­por­te, de pre­fe­ren­cia que sean de có­di­go abier­to y que estén apo­ya­dos tanto em­pre­sas fuer­tes como usua­rios. Por ello, el can­di­da­to ofi­cial es Java, aun­que pu­die­se ser que Pyt­hon, por ejem­plo, que ha in­cor­po­ra­do es­truc­tu­ras de lis­tas como en Lisp, pu­die­se ser uan buena op­ción. Habrá que ob­ser­var si tiene un so­por­te si­quie­ra pa­re­ci­do a Java. Un len­gua­je de pro­gra­ma­ción es casi “para toda una vida”, por lo cual la de­ci­sión nunca es fácil.

0 comentarios: