DEV Community

Discussion on: Why we migrated our CLI from NodeJS to GoLang 💻

Collapse
 
abdurrahmaanj profile image
Abdur-Rahmaan Janhangeer

needs to be saved. btw you did not consider awesome python ...

Collapse
 
picocreator profile image
Eugene Cheah

We actually did, python, ruby, and a few others... they been removed in the article due to the repetition of the reason - which is the end user needing to install an external language library as a dependency before using the CLI (which is mentioned in java and js). Someone in the team even joked about considering PHP (its possible btw)

On another topic : we even considered c and c++, but that might be a bit too difficult for the team to do well without bugs (or overflow vulnerabilities)

One of our benchmarks for example is the ability to run in vanilla alpine.

Collapse
 
faizan profile image
Faizan Akram Dar

Why is PHP always a joke

Thread Thread
 
maciek134 profile image
Maciej Sopyło

PHP is by definition a joke :)

Collapse
 
abdurrahmaanj profile image
Abdur-Rahmaan Janhangeer

na na you need to study py engineering particularly distribution. XD for distribution you just install your program. companies using py for production, include libs needed etc so that you install it like any other software.

e.g. if flask is needed, they choose a version for in-office use and that lib is shipped across products, they don't pip install or anything online in target env or even in dev

Collapse
 
nektro profile image
Meghan (she/her)

python is (unless you're doing ML, which you shouldn't be) not awesome

Collapse
 
abdurrahmaanj profile image
Abdur-Rahmaan Janhangeer • Edited

why? like give more details

Thread Thread
 
nektro profile image
Meghan (she/her)

I personally really dislike the syntax, and the code is inconsistent to what I think it should do. Also, going off your points, does not create a single distributable, has tons of dependencies, version conflicts, and the syntax is compiler enforced.

Thread Thread
 
abdurrahmaanj profile image
Abdur-Rahmaan Janhangeer

version conflicts and dependencies is solved by py companies, not an issue if you use your own version. single exec, pyinstaller has been killing lately but even without single exec, py companies have no problem.

for syntax dislike and enforcement, that is a matter of choice.

industrial-level python is different from casual coding.