


Check out the top 10 strange features in programming languages
Every programming language has its own "quirks", such as strange syntax, unique functions or non-standard implementation methods. Programmers also have their own habits, which will make many programmers, even some experienced developers, feel crazy when facing a new language. The features of these languages sometimes become stumbling blocks for programmers, and sometimes programmers slowly understand these features and gradually adapt to and like them. While there are countless features of all languages, there are not so many that programmers always discuss. In this article, we have listed the top 10 strange features of programming languages that drive programmers crazy the most.
1. '+' is a concatenation operator in JavaScript
Strange feature: In JavaScript, '+' is an overloaded operator, which is both a plus sign (+) between numbers and a string. Joiner. If in a '+' operation, one of the operands is a string, JavaScript will convert the other operand into a string. At this time, '+' is a concatenation operator, so the result of '1' + 1 is '11'.
Cause analysis: The root cause of this problem is that JavaScript is a weakly typed language. But like Python, although '+' is also a connection operator between strings, Python is a strongly typed language. When programmers want to add strings and integers together, the program will report an error.
2. A class in Perl must return TRUE
Strange feature: Classes in the Perl language often end with a return 1 statement, because if the last statement in the class does not return a TRUE value, a TRUE value will be generated. mistake.
Cause analysis: Classes in Perl can contain some initialization work and subroutines. When the file is loaded, Perl begins checking whether the program executed successfully by looking for a TRUE return value. Even if there is no initialization code part in the class, Perl expects the class to return a TRUE value at the end, otherwise an exception will be thrown.
3. Trigrams in C and C++
Strange feature: C and C++ support 9 trigrams, which will convert the trigram into a single character before subsequent processing, such as '??! ' will be converted to /, which will make the source code more difficult to read, and sometimes unexpected problems will occur.
Cause analysis: The three-character group was originally used to help early C programmers type some characters that were not available on the keyboard, such as curly braces.
4. Case insensitivity in PHP
Strange feature: Identifiers in many programming languages are case sensitive, but in PHP function and class names, case insensitivity is not present. That's fine, but what confuses programmers the most is that PHP's variable names, constants, and class attributes are case-sensitive.
Cause analysis: Most likely, PHP is a programming language that has gradually developed from CGI scripts.
5. 0 in Ruby represents TURE
Strange feature: In Ruby, the value 0 represents TRUE, which is completely opposite to other languages such as C and Python. In these languages 0 represents FALSE, which is also true. This confuses many developers who are new to Ruby.
Cause analysis: In Ruby, only bool values FALSE and nil are equal to FALSE, all others are TRUE, and 0 is the same as other numbers.
6. Use spaces to separate “blocks” in Python
Strange feature: Neither punctuation nor keywords are used. Python uses unique indentation levels to determine which part a certain line of code belongs to. Having the wrong number of spaces or mixing spaces and tab keys can cause errors.
Cause analysis: This may be related to Python's efforts to produce more readable code and reduce typing, and many code editors now support automatic indentation.
7. Array subscripting in C language is like doing pointer arithmetic
Strange feature: In addition to treating i as the subscript in array a, expressed as a[i], C also allows Represent the same element as i[a].
Cause analysis: In C language, arrays are like pointers in memory, so a[i] = *(a+i) = *(i+a) = i[a].
8. Predefined variables in Perl
Strange feature: Perl has a long list of special variables, and they all have confusing names. For those who are not Perl experts, they often need to consult the Perl documentation to understand the meaning of these codes.
Cause analysis: These variables usually provide some information about program execution, such as process ID ($$), error message ($@), and regular expression matching ($^R).
9. JavaScript automatically inserts semicolons
Strange feature: JavaScript only considers using a semicolon as the end of a statement as an option because it automatically inserts a semicolon, such as after a newline character. But this usually produces an error when no exception is thrown.
Cause analysis: The semicolon is inserted for convenience, so that programmers, especially novice programmers, find JavaScript syntax very easy.
10. Type conversion involving Integer in Java
Strange feature: Java will automatically convert the original type into an object, such as converting the int type to an Integer object. The default value of the Integer object is from -128 to 127. This can cause problems when using '==' to compare two Integers with the same value (only returns TRUE if -128-127, otherwise returns FALSE).
Cause analysis: This conversion will reduce the amount of code for programmers and improve performance.

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

According to news from this site on June 24, at the keynote speech of the HDC2024 Huawei Developer Conference on June 21, Gong Ti, President of Huawei Terminal BG Software Department, officially announced Huawei’s self-developed Cangjie programming language. This language has been developed for 5 years and is now available for developer preview. Huawei's official developer website has now launched the official introductory tutorial video of Cangjie programming language to facilitate developers to get started and understand it. This tutorial will take users to experience Cangjie, learn Cangjie, and apply Cangjie, including using Cangjie language to estimate pi, calculate the stem and branch rules for each month of 2024, see N ways of expressing binary trees in Cangjie language, and use enumeration types to implement Algebraic calculations, signal system simulation using interfaces and extensions, and new syntax using Cangjie macros, etc. This site has tutorial access address: ht

This site reported on June 21 that at the HDC2024 Huawei Developer Conference this afternoon, Gong Ti, President of Huawei Terminal BG Software Department, officially announced Huawei’s self-developed Cangjie programming language and released a developer preview version of HarmonyOSNEXT Cangjie language. This is the first time Huawei has publicly released the Cangjie programming language. Gong Ti said: "In 2019, the Cangjie programming language project was born at Huawei. After 5 years of R&D accumulation and heavy R&D investment, it finally meets global developers today. Cangjie programming language integrates modern language features, comprehensive compilation optimization and Runtime implementation and out-of-the-box IDE tool chain support create a friendly development experience and excellent program performance for developers. "According to reports, Cangjie programming language is an all-scenario intelligence tool.

According to news from this site on June 21, Huawei’s self-developed Cangjie programming language was officially unveiled today, and the official announced the launch of HarmonyOSNEXT Cangjie language developer preview version Beta recruitment. This upgrade is an early adopter upgrade to the developer preview version, which provides Cangjie language SDK, developer guides and related DevEcoStudio plug-ins for developers to use Cangjie language to develop, debug and run HarmonyOSNext applications. Registration period: June 21, 2024 - October 21, 2024 Application requirements: This HarmonyOSNEXT Cangjie Language Developer Preview Beta recruitment event is only open to the following developers: 1) Real names have been completed in the Huawei Developer Alliance Certification; 2) Complete H

According to news from this site on June 22, Huawei yesterday introduced Huawei’s self-developed programming language-Cangjie to developers around the world. This is the first public appearance of Cangjie programming language. According to inquiries on this site, Tianjin University and Beijing University of Aeronautics and Astronautics were deeply involved in the research and development of Huawei’s “Cangjie”. Tianjin University: Cangjie Programming Language Compiler The software engineering team of the Department of Intelligence and Computing of Tianjin University joined hands with the Huawei Cangjie team to deeply participate in the quality assurance research of the Cangjie programming language compiler. According to reports, the Cangjie compiler is the basic software that is symbiotic with the Cangjie programming language. In the preparatory stage of the Cangjie programming language, a high-quality compiler that matches it became one of the core goals. As the Cangjie programming language evolves, the Cangjie compiler is constantly being upgraded and improved. In the past five years, Tianjin University

Golang (also known as Go language) is an open source programming language developed by Google and first released in 2007 to improve the productivity and development efficiency of engineers. Golang aims to simplify the complexity of programming languages and provide efficient execution speed while taking into account ease of use. This article will deeply explore the characteristics of Golang, analyze its bytecode mechanism, and reveal its working principle through specific code examples. 1. The characteristics and advantages of Golang are simple and efficient: Golang has a concise grammatical structure and rich

Recently, many friends have asked the editor what to do if the Microsoft Edge browser does not display images. Next, let us learn how to solve the problem of Microsoft Edge browser not displaying images. I hope it can help everyone. 1. First click on the lower left corner to start, and right-click on "Microsoft Edge Browser", as shown in the figure below. 2. Then select "More" and click "App Settings", as shown in the figure below. 3. Then scroll down to find "Pictures", as shown in the picture below. 4. Finally, turn on the switch below the picture, as shown in the picture below. The above is all the content that the editor brings to you on what to do if the Microsoft Edge browser does not display pictures. I hope it can be helpful to you.

Kotlin is a statically typed programming language that has attracted huge attention in the field of software development. Its concise and easy-to-understand syntax, good compatibility with Java, and rich tool support provide developers with many advantages, so many developers choose Kotlin as their preferred language. Install Kotlin Programming Language 12Bookworm on Debian Step 1. Start by updating existing system packages. Open a terminal and enter the following commands: sudoaptupdatesudoaptupgrade These commands will get a list of available updates and upgrade current packages, ensuring your system is up to date. Step 2. Install Java. Kotlin in the Java Virtual Machine (J

There are many languages to choose from in Microsoft Teams, so how to switch languages? Users need to click the menu, then find Settings, select General there, then click Language, select the language and save it. This introduction to switching language methods can tell you the specific content. The following is a detailed introduction. Take a look. Bar! How to switch language in Microsoft Teams Answer: Select the specific process in Settings-General-Language: 1. First, click the three dots next to the avatar to enter the settings. 2. Then click on the general options inside. 3. Then click on the language and scroll down to see more languages. 4. Finally, click Save and Restart.
