[PYTHON] If you want your colleagues to use the same language

I made a note of what to look out for if you want to popularize a language.

Don't blame the language the other person is using. Even considering the time and effort of learning a new language and a new library It is best to recommend it only if the other person's work is better.

When the same thing can be done equally and the other party is not in trouble Don't sell your language. (Which language is better will soon become a religious controversy.)

・ "There is such a language." ・ "Why are you using such a language?" ・ "What makes you happy about that language?" ・ "It's enough to use ***." ・ "Can you do *** in that language?" ・ "It's not a hassle to make it in that language and then remake it in C ++." ・ "I don't want you to write in a language that other members can't read." I get this kind of reaction.

Don't get the opinion that "I don't want you to write in a language that other members can't read." Let's speak carefully.

First of all, only within the range of making your own tool Let's use that language. What's more, the documentation is ready for other members to use when the need arises. Let's create it.

The purpose is to increase the choices, It's not a replacement for traditional languages.

First, let's share the code we wrote. Even if you don't write it, let's prepare an environment where it can be executed.

Then the other members I can't write, but I aim to be able to work. (Let's convey the advantage of using tools made by others) Under such circumstances, we will introduce tools that can conveniently solve the parts that other members may be in trouble with.

Think only so that the other person can enjoy the part that is in trouble. -Make it easy to create graphs regardless of the OS type. There are many needs to automate the creation of graphs.

・ Are there any libraries you want to use?

Using a new language is more labor intensive. Therefore, there is a reason to be skeptical about whether to use it newly. "I want to eliminate the fact that it was useless after using it." "I don't want to look terrible at buggy processing systems / libraries." "I don't like the unmaintained processing system." "I don't like having a lot of grammar to remember." "I don't like the difficulty of finding a function to do what I want to do." "I want to avoid languages whose language specifications change frequently."

It's only natural that those who are introduced to a new language should always be careful. A language that has a reliable library in the field you want to write To choose. Keep in mind that the language will change with the times.

"I don't like the hassle of installing the console and additional libraries." "I don't want to use languages with pitfalls." "When you want to rewrite a program that emphasizes speed. I don't like languages that have to be redone." "I want to use a frequently used library of a frequently used language in that language."

"How do you write *** in that language?" "I don't know where **" When there are two or more users other than yourself in the department It will be easier to spread to some extent.

When an authoritative person introduces the language and library Your understanding of the language will be much better.

There is no language without its disadvantages, What are the disadvantages of that language? How can each disadvantage be reduced? It is important to tell.

It's a good idea to take your time to introduce it.

Postscript · Colleagues often use languages, libraries, and tools that are better than the ones they use. Even one version control tool has switched to a more convenient tool. ・ If the library used by a colleague is very good, you can use it as it is, or write a wrapper and use it. I often learn by rewriting in my favorite language.

Postscript: ・ Throw out the magazine that features the language on your desk. ・ Explanation by university professors and introductions by authorities of academic societies and symposiums (slideshare, etc.) introduce. ・ If there is a person who is highly evaluated in other departments in the company and has a user of that language, tell that to colleagues in the department to which you belong.

Some people talk to the language from the perspective that it has no disadvantages, so don't argue with it. When argued, there are people who are stubborn, so it is important to speak in a way that avoids them well.

Some people think it is unknown or scary. Therefore, in Japanese organizations, there are people who take the initiative in incorporating new things into the world and think about them, and people who create new things with their own ideas are overly braked.

If you don't act to reduce those people's anxieties, it can be ridiculous to be banned from using them under the pressure of "don't make tools in a language you don't understand."

Recommended Posts

If you want your colleagues to use the same language
The programming language you want to be able to use
If you want to use Cython, also include python-dev
[Python] When you want to import and use your own package in the upper directory
What to do if you can't use the trash in Lubuntu 18.04.
When you want to use multiple versions of the same Python library (virtual environment using venv)
[Django] Carefully explain the escape route if you really want to use the table of another application
If you want to include awsebcli with CircleCI, specify the python version
If you want to use NumPy, Pandas, Matplotlib, IPython, SciPy on Windows
If you want to count words in Python, it's convenient to use Counter.
Isn't Qt the strongest library if you want to easily output SVG?
If you want to create a Word Cloud.
When you want to update the chrome driver.
I want to use the activation function Mish
Two document generation tools that you definitely want to use if you write python
Use PIL in Python to extract only the data you want from Exif
If you want to enter the virtual environment with jupyter, nb_conda_kernels is recommended
If you want to make a discord bot with python, let's use a framework
I want to use the R dataset in python
What to do if you don't want to use Japanese column names when using ortoolpy.logistics_network
What is the last programming language you learn in your life? (If you want to catch up with a club with a lifetime salary of 300 million yen)
Solution when you want to use cv_bridge with python3 (virtualenv)
I want to use the latest gcc without sudo privileges! !!
I want to initialize if the value is empty (python)
If you want Linux to boot even if the disk mount fails, add the nofail option to fstab.
[Python] If you suddenly want to create an inquiry form
How to use the generator
If you don't know it, it's dangerous. Carefully explain how to use the xargs command
If __name__ == Raise your hand, if you write the code under'__main__'
I want to use only the normalization process of SudachiPy
Use aggdraw when you want to draw beautifully with pillow
If you want Python completion in VS Code, Microsoft Python Language Server is the best story
When you want to use python2.x on modern Gentoo Linux
What to do if you can't use WiFi on Linux
If you want to put an argument in the closure function and execute it later
What to do if you lose your EC2 key pair
If you want to use field names with hyphens when updating firestore data in python
How to use the decorator
CommandNotFoundError: Your shell has not been properly configured to use What to do if you get'conda activate'
If you want to become a data scientist, start with Kaggle
Don't write Python if you want to speed it up with Python
If you remove the list to be looped, you will get terrible.
When you want to keep the Sphinx documentation theme as usual
I want to know if you install Python on Mac ・ Iroha
When you want to save the result of the callback function somewhere
Indispensable if you use Python! How to use Numpy to speed up operations!
What to do if you can't build your project with Maven
How to find if you don't know the Java installation directory
When you want to adjust the axis scale interval with APLpy
How to use the zip function
How to use computer language slowly 2
Key operations you want to know
How to use computer language slowly
If you ride the Titanic ... die.
How to use the ConfigParser module
If you just want to get the dump file of the server, it was convenient to build an http server
If you want to switch the execution user in the middle of a Fabric task, settings context manager
I want to use complicated four arithmetic operations in the IF statement of the Django template! → Use a custom template
From the introduction of GoogleCloudPlatform Natural Language API to how to use it
If you want a singleton in python, think of the module as a singleton
Technical English> you use the boolean operators [and, or, and not] to ...> Boolean Operations — and, or, not