...

What We Think

Blog

Keep up with the latest in technological advancements and business strategies, with thought leadership articles contributed by our staff.
TECH

May 31, 2025

How Effective Are Translation Tools? A Look at Their Pros and Cons

In today's globalized world, translation tools and machine translation have become indispensable for businesses, individuals, and organizations. However, while machine translation offers significant advantages, it also comes with limitations that can impact accuracy and context.

View More
TECH

May 21, 2025

Web Programming Series - MinIO - S3 For Local

Continuing the series on web development, this article shares my experience with MinIO, which allows users to build an S3 Storage locally. This is a case study that I usually encounter in my work. Today, cloud storage is commonly used in many projects, including AWS S3.

View More
TECH

May 21, 2025

Frontend code generation using CursorAI

Nowaday, AI can do many tasks in the development process. It helps us to speed up the many phases, example: Coding, reviewing, testing...
In this post, I will introduce how to use AI to support the coding phase (Frontend)

View More
TECH

May 21, 2025

How to handle difficult situations when interpreting between Japanese clients and Vietnamese developers

IT COMTOR

Being a comtor is not just about translating—it’s about resolving tricky situations between Japanese clients and Vietnamese developers. Here are some real-life scenarios and smart ways to handle them!

View More
TECH

May 21, 2025

CSS properties that require special attention for cross-device consistency

As mobile devices continue to develop and become the primary means of accessing the internet, ensuring our website maintains consistency across various platforms is a crucial factor in development. However, some CSS properties behave inconsistently across different devices that lead to UI issue. In this article, I will discuss some CSS properties that should be avoided or used with caution, along with safer and more efficient alternatives.

View More
TECH

May 21, 2025

Smtp4dev - the fake SMTP email server for development and testing

Sending email is one of popular features in a business application. Email's content and format have to test carefully before send out to customer. In the past, I often tested sending email by using Gmail's smtp, but this way would require sending some information out. In this guide, we'll explore SMTP4dev, an open-source application that simplifies email testing for developers.

View More
TECH

May 21, 2025

Introduction: Ramda in JavaScript: A Powerful Functional Programming Library

In the JavaScript ecosystem, Ramda is a practical functional library for JavaScript programmers. It is designed to help us write more readable, cleaner, and fewer error codes. If you are looking for a tool that makes working with data more efficient without worrying about state or side effects, Ramda is a great choice.

 

View More
TECH

May 21, 2025

How to Use ChromaDB: A Vector Database for LLM Applications

What is Vector Database?

A vector database is a specialized database system that stores, manages, and indexes high-dimensional vector data, representing data points as vectors, which are numerical representations. This allows for efficient similarity searches and retrieval of similar data points.

 

Key Features and Concepts of Vector Database

Vector Embeddings:

Data points are converted into numerical vectors, capturing their meaning or features.

High-Dimensional Data:

Vector databases are designed to handle data with many dimensions, making them well-suited for unstructured data like text, images, and audio.

Similarity Search:

The primary function is to find data points that are most similar to a given query vector.

Indexing:

Vector databases use advanced indexing techniques to enable fast similarity searches.

Applications:

They are used in various applications, including recommendation systems, semantic search, image and document retrieval, and more.

 

What is Chroma Database

Chroma is an open-source AI application database with built-in features like embedding, vector search, document storage, full-text search, metadata filtering, and multi-modal capabilities, offering comprehensive retrieval in one place.

logo-chromadb

 

Features of Chroma Database

- Simple and powerful: With Chroma, you can seamlessly move from initial notebook experimentation through prototyping and iteration to final production deployment.
Getting started is as easy as pip install...
- Full featured: Chroma offers a full suite of retrieval functionalities: vector search, document storage, metadata filtering, full-text search, and multi-modal retrieval.
- A wide range of programming languages are supported, including JS, Python, Java, PHP, and additional options
- Free and open source: Open source under Apache 2.0
- Integrated: Pre-integrated embedding models from leading platforms such as HuggingFace, OpenAI, and Google are included. It also offers seamless integration with Langchain and LlamaIndex, and the addition of further tool and framework support is planned. You'll find built-in embedding capabilities powered by models from HuggingFace, OpenAI, Google, and more. It's designed to work smoothly with Langchain and LlamaIndex, and we're actively adding support for other tools and frameworks.

 

How to use?

Chroma allows you to install it either locally within a project or globally on your machine.

The article describes a local installation. Install Chroma Database by command line.

install-chroma-db

 

Then run Chroma Database by CLI

chroma run

 

The Chroma database is started at http://localhost:3000. So, we can create a Python file to use the Chroma database like this:

Step 1: Import the ChromaDB Library

The first line of code simply imports the chromadb library so that we can use the functions it provides.

Step 2: Initialize the ChromaDB Client

Here, we create an instance of the Client. In this example, we are using an in-memory client. This means that the data will be stored temporarily in the computer's memory and will be lost when the program ends. This is an ideal choice for quick experiments without needing to set up a complex storage system.

Step 3: Create a Collection

 

Next, we create a collection (similar to a table in a relational database) named code_snippets. This collection will hold the example code snippets that we want to store and query.

Step 4: Add Data to the Collection

codeChromaDB

 

This is the crucial part where we add data to the collection:
documents: A list containing the code snippets (as text strings) that we want to store. In this example, we have a JavaScript function for greeting and a simple Python class with an addition function.
metadatas: A list of dictionaries containing additional information (metadata) about each corresponding document. Here, we store information about the programming language of each code snippet. Metadata is very useful for filtering and categorizing data later.
ids: A list of unique string identifiers for each document. Providing IDs helps us easily manage, update, or delete specific documents in the collection.

Step 5: Perform a Query

With the documents added to ChromaDB in step 4, you can preview them below:

"function greet(name) { return `Hello, ${name}!`; }",  
"class Calculator:\n    def add(self, a, b):\n        return a + b",  
 "class Person(val firstName: String, val lastName: String, var age: Int)",  

In this step, we perform a query to search for code snippets related to function for addition. What's special about ChromaDB is that it doesn't just search based on keywords but also on semantics. It uses embedding models (either built-in or provided by you) to convert text into numerical vectors and then searches for the vectors closest to the vector of the query.
query_texts: A list containing the query strings (in this case, only one).
n_results: The number of desired results to return (here we want the single most relevant result).
where: An optional parameter (commented out in the example) that allows you to filter results based on metadata. If you uncomment this line, it will only return code snippets where the language is python.

Step 6: Print the Results

The complete code is as shown in the image below:

codeFullChromaDB

 

Finally, we print the query results. These results typically include:

  • documents: A list of the documents that best match the query.
  • distances: A list of values representing the similarity (vector distance) between the query and the retrieved documents. A smaller distance indicates a higher similarity.
  • metadatas: The corresponding metadata of the found documents.
  • ids: The IDs of the found documents.

In summary, this result shows that when you queried ChromaDB with the question function for addition, the system identified the Python code defining the Calculator class (with the add method) as the most relevant result based on semantic similarity, and the distance between them is approximately 0.9014. This implies that, according to how ChromaDB embedded and compared the text, this Python code snippet has the closest meaning to the intent of your query.

 

Conclusion

The code snippet above illustrates a basic process for using ChromaDB: initializing the client, creating a collection, adding data (including content, metadata, and IDs), performing semantic queries, and viewing the results.

ChromaDB unlocks many exciting possibilities for applications that need to search and compare information based on meaning, from building intelligent question-answering systems to suggesting related content. This is just a small example, and you can explore many other powerful features of ChromaDB to serve your projects.

 

Reference 

https://dbdb.io/

https://www.trychroma.com/

https://www.freepik.com/free-photo/website-hosting-concept-with-circuits_26412535.htm#fromView=search&page=1&position=0&uuid=0d1ab0c6-b18b-46a7-936f-c37891b433be&query=database (C0ver)

View More
TECH

April 18, 2025

Getting Started with Orthanc: A free and lightweight DICOM tool

When developing applications related to processing DICOM images, we often need some tools to test the application's behavior. Instead of creating a custom test tool from scratch, there are now many free tools available that support most of the basic features for handling DICOM images.

View More
TECH

March 3, 2025

Most popular programming languages in 2025

Generative AI lead a wave of innovation in 2024, and 2025 is already bringing new developments that are reshaping the tech industry. As a result, the popularity of programming languages is shifting rapidly to keep up with these advancement.

In 2024, Python gained tremendous momentum because of it vital role and use in AI, machine learning, and data science. These were the settings for Python to becoming the trendiest programming language of 2024.

Most popular programming languages in 2024

In 2025, changes are already emerging. Keeping track of these trends help developers and companies make informed decisions when starting new projects or updating existing ones.

The TIOBE Index offers fascinating insights into these trends, and so does this article looking at the latest rankings of February 2025 to determine the most popular programming languages illustrating how the popularity of programming languages is evolving.

TIOBE Index

The TIOBE Index is a widely recognized barometer of programming language popularity.

Updated monthly by TIOBE Software, this index is based on in-depth search frequency data from platforms as Google, Wikipedia, Bing, Microsoft, SharePoint, eBay, and Amazon.

This programming language ranking reflects how frequently each language is mentioned and discussed. Developers, companies, and learners often use it as a reference when deciding which languages to study or adopt.

Historical data from the TIOBE Index also allows researchers to track shifts in language preferences over time.

Although it provides a useful snapshot of interest and awareness, it’s worth noting that the TIOBE Index does not measure actual usage in production environments or judge technical capabilities. It simply indicates how much attention a language receives on major search platforms.

Programming Language Popularity Ranking in February 2025

The latest TIOBE Index for February 2025 sheds light on the top programming languages shaping the landscape.
Below are the top 10 rankings, alongside last year’s positions and percentage changes:

Feb 2025 Ranking

Feb 2024 Ranking

Programming Language

Ratings

Ratings Change

1

1

Python

23.88%

+8.72%

2

3

C++

11.37%

+0.84%

3

4

Java

10.66%

+1.79%

4

2

C

9.84%

-1.14%

5

5

C#

4.12%

-3.41%

6

6

JavaScript

3.78%

+0.61%

7

7

SQL

2.87%

+1.04%

8

8

Go

2.26%

+0.53%

9

12

Delphi/Object Pascal

2.18%

+0.78%

10

9

Visual Basic

2.04%

+0.52%

2025 Programming Language Popularity Ranking

Python Remains Dominant, taking the 1st place

Python continues to hold first place at 23.88%. Its year-over-year increase of 8.72% reflects growing demand across AI, machine learning, data science, and general web development. This momentum suggests ongoing expansion as the language continues to offer relatively easy syntax and a vibrant ecosystem.

C++ Surges Ahead of C to take 2nd place

C++ has moved into second at 11.37%, edging out C, which dropped to fourth. Though its gain of 0.84% is moderate, it was enough to shift the rankings. Its use in systems programming, game development, robotics, and performance-critical domains keeps it firmly in the spotlight.

Java Gains Momentum and Rises to 3rd place

Java sits in third with 10.66%, an increase of 1.79% from a year earlier. Many enterprise applications, web platforms, and mobile solutions rely on its stability and scalability. This consistent demand explains its place as one of the top programming languages in 2025.

C Slips to 4th place

C has fallen to 9.84%, down 1.14% since last year. It remains important in many areas, especially embedded systems, but it faces pressure from newer or more specialized alternatives, along with the surge of Python and C++.

Among the other impressive trends, C# maintains its 5th place with 4.12%, although its popularity dipped by an astounding 3.41% from last year.

JavaScript, coming 6th, had a 0.61% increase, maintaining its status as among the most crucial web development languages.

SQL is ranked 7th and continues to be essential for database management, with 1.04% year-over-year growth in popularity.

Go has also continued to advance steadily, proof of its wide application for cloud infrastructures and microservices.
Also, Delphi/Object Pascal rose by 0.78% from its previous rating at 12th to 9th, likely driven by the need to maintain legacy systems and deliver cross-platform solutions.

TOP 50 Programming Language Popularity Ranking in February 2025

The table below ranks the top 50 programming languages from the TIOBE Index as of February 2025. It offers a broad snapshot of current popularity and can guide anyone deciding which language to learn or integrate into new projects.

Ranking

Programming Language

Ratings

1

Python

23.88%

2

C++

11.37%

3

Java

10.66%

4

C

9.84%

5

C#

4.12%

6

JavaScript

3.78%

7

SQL

2.87%

8

Go

2.26%

9

Delphi/Object Pascal

2.18%

10

Visual Basic

2.04%

11

Fortran

1.75%

12

Scratch

1.54%

13

Rust

1.47%

14

PHP

1.14%

15

R

1.06%

16

MATLAB

0.98%

17

Assembly language

0.95%

18

COBOL

0.82%

19

Ruby

0.82%

20

Prolog

0.80%

21

Swift

0.77%

22

Classic Visual Basic

0.76%

23

Kotlin

0.76%

24

Ada

0.71%

25

SAS

0.58%

26

Lisp

0.54%

27

Haskell

0.52%

28

Dart

0.52%

29

(Visual) FoxPro

0.52%

30

Perl

0.49%

31

Scala

0.48%

32

Lua

0.42%

33

Objective-C

0.40%

34

Julia

0.37%

35

Transact-SQL

0.37%

36

VBScript

0.37%

37

PL/SQL

0.23%

38

TypeScript

0.21%

39

GAMS

0.21%

40

Solidity

0.19%

41

ABAP

0.19%

42

Logo

0.18%

43

D

0.17%

44

Bash

0.16%

45

PowerShell

0.15%

46

Elixir

0.15%

47

RPG

0.15%

48

ML

0.14%

49

Ladder Logic

0.14%

50

Awk

0.14%

Fortran at 11th and COBOL at 18th stand out among legacy languages. Both were introduced in the 1950s and 1960s and maintain steady demand as industries with large, older systems face challenges with maintaining and refactoring established codebases. A shortage of engineers who specialize in these technologies further elevates their rankings.

PHP and Ruby, once popular for web and application development, appear to be losing ground. PHP ranks 14th with 1.14%, and Ruby follows at 19th with 0.82%, even behind COBOL. This shift may reflect the rise of frameworks and tools built on JavaScript (React, Vue.js, Node.js, Next.js) or Python (Django, Flask), which many organizations favor for modern web projects.

Conclusion

In the 2025 rankings of programming languages popularity, Python continues to overshadow many other languages, while C++ and Java sustain solid momentum. On the other hand, C has lost some of its edge, and previously dominant choices like PHP and Ruby struggle to keep pace. This shifting balance reflects how emerging technologies are redefining which languages thrive.

Fortran and COBOL illustrate how certain older languages retain importance when entire industries depend on stable codebases. Their presence in fields like finance and government ensures they remain part of the overall program language ranking despite their age. New breakthroughs in AI, cloud-native development, and data science also guide which tools rise to the top.

Looking ahead, further changes in programming language popularity are likely as businesses adapt to fresh challenges and opportunities. Both organizations and developers stand to benefit from staying informed and aligning skill sets with the evolving demands of modern software projects. A willingness to learn and adjust keeps everyone prepared for the next wave of innovation.

About ISB Vietnam

At ISB Vietnam, we specialize in a wide range of technologies, bridging the gap between cutting-edge innovation and proven legacy systems to deliver seamless software development worldwide.

With over 20 years of experience, our expert engineers provide high-quality IT outsourcing and offshore development solutions tailored to your specific needs. We don’t just develop software—we drive business growth through top-class technical expertise and a client-first approach.

What Sets Us Apart?

  • Deep Technical Expertise – Mastery of both modern and legacy technologies ensures long-term software sustainability.
  • Proven Track Record – Two decades of success helping global companies scale efficiently.
  • Client-Centric Approach – We align every solution with your business goals for measurable impact.

Whether you need scalable software solutions, expert IT outsourcing, or a long-term development partner, ISB Vietnam is here to deliver. Let’s build something great together—reach out to us today!

Related Post

Why Outsource App Development? Key Benefits, Hidden Costs, and How to Get It Right

View More
1 10 11 12 13 14 26
Let's explore a Partnership Opportunity

CONTACT US



At ISB Vietnam, we are always open to exploring new partnership opportunities.

If you're seeking a reliable, long-term partner who values collaboration and shared growth, we'd be happy to connect and discuss how we can work together.

Add the attachment *Up to 10MB