search
HomeBackend DevelopmentPHP TutorialIt is said that everyone should learn programming, so what language is good to learn?

I am nearly 30 years old, and my current job is as an accountant in a public institution, so I don’t need programming in my daily life.
But I am interested in programming. I got tired of playing games in high school. I taught myself how to make a website. I know a little bit of html and php. A few years after graduating from high school, I made an income from making websites, maybe hundreds of thousands. My pure interest turned into a semi-professional job. However, the good times did not last long. Because I was too busy at work and not paying enough attention, I was delayed. In the past four or five years, I gradually stopped working. In the past, I mainly relied on CMS and SEO, and PHP was not an entry level, so I could build it. notebook.
Nowadays, society is developing too fast, and I still have some interest. I want to use my spare time at work to learn a language well. On the one hand, it will satisfy my interest, and more importantly, it will be prepared for emergencies. It may come in handy in the future. I don’t know what language I should learn. ?

Reply content:

Accountants in public institutions...
Do you know what accountants in public institutions learned in the past (about 2000)?
Visual FoxPro
In the past, there were not so many and powerful related software. In many cases, we had to write some automatic processing scripts according to the needs. Visual FoxPro was very good. It used SQL statements, was intuitive, and provided timely feedback. It could be considered a significant improvement at the time. Work efficiency is improved (xls at that time can be easily imported).

The following personal views:
For potential work needs: VBA in Excel (a tool that greatly reduces repetitive labor), Visual FoxPro (low priority, after all, it is too old, although it is difficult to say whether there is any old data that needs this To deal with it)
For your own interests and hobbies: anything is possible, learn Python to write a crawler, tinker with the Raspberry Pi to make a smart controller, create a small program on your mobile phone to facilitate yourself, tinker with a blog to record, Wait, wait, etc., the point is, you are interested + have a willingness to learn. It is said that everyone should learn programming, so what language is good to learn? Accountants, why do I feel that using Excel’s VBA smoothly can greatly speed up your daily work? Repeat the operation three or more times and write code to see how much of your work can be done by writing code. Learn Python or golang. When building the front-end of a website, let’s stick to the three old ones: html, css, javascript.
Then python.

Why learn python first? Because its modules are mature and “quick results”.

That’s it. If you still want to explore the "bottom layer", go to C. Don’t be kidnapped by C++. It’s okay to learn it for fun, but it’s a big trap.

C's "modules" and "foundations" are also very mature... But generally speaking, if you learn C, "the results will not be quick."Because the "foundation" of C is the operating system kernel. C's "API" is basically a system call (that is, "Advanced Programming in the Unix Environment"). At this point, you need to be able to understand what the assembly spit out by the C compiler is all about. Then contact the operating system kernel, compiler, binary tools, etc., and figure out how these "low-level" things work (referring to "Programmer's Self-cultivation", "In-depth Understanding of Computer Systems", "Linux Device Drivers") ", "Linux kernel design and implementation", "In-depth understanding of the Linux kernel", "In-depth Linux kernel architecture"...). This pitfall of C is actually very big (don't let C++ take away that's what it means, the philosophy of C is - everything is basically dry stuff, as long as you can still chew... C++, this may not be the case, instead of spending time Instead of wasting on those fancy tricks of C++, it’s better to eat some dry stuff)..., because if you read the kernel source code, you need to understand Makefile, shell script, linker script, asm, and of course hardware architecture and the like. You know a little bit, but it doesn't matter. Anyway, it will be mentioned in books about writing kernels, and then you can check the relevant knowledge points yourself. It's just a matter of time.

Also, of course, the foundation of data structures and algorithms must be laid down here. For data structures, you can at least write (and copy) search binary trees, red-black trees, and construct graphs. For algorithms, basic sorting, merge sorting, quick sorting, To generate permutations and combinations, you need to know these basic searches of DFS and BFS.

C It doesn’t work quickly. Generally speaking, I will definitely not write about web crawlers for a while. However... maybe it's all worth it.

Clear the recursion of C. How to create and destroy function stack frame, how to translate it into assembly code, how to convert any recursion into stack structure + loop invariant. Then be able to deduce the conclusion that any loop can be expressed by recursion, but recursion cannot be expressed by a loop without a stack structure - that is, recursion has stronger computation than a loop (without a stack structure) Ability, in fact, the computing power of recursive functions is equivalent to that of a Turing machine. So here we are - traditionally speaking, we have entered the computer science/art door.

After getting started, you can play casually.

You can write an interpreter first to play with. For this, you need to prepare some basic theoretical knowledge of automata ("Introduction to Automata Theory, Language and Computation"), and then find a random compilation book ("Compilation Principles") to read. If one book is not enough, add a few more ("Compilation Principles") Principles and Practice", "Compiler Architecture"), probably go through it in full. Find another book that teaches you how to write an interpreter, such as "Homemade Programming Language" or something. Then copy. After copying, read the compilation principles and copy again. Something like this.
This means that you can invent a computer language yourself. Although it may not be in good taste or implemented poorly, you can indeed write a computer language that is complex enough.

Then play casually.

For example, if you are in the Lisp system, it is recommended to play with scheme first.
Prolog, Haskell, Ruby, io, Erlang,... Play around when you have time.
Anyway, learning any language at this time generally doesn’t take much time. If you just want to get started, there is actually no need to learn any language at this time. If you learn it temporarily and imitate the style, you will basically be able to write decently. That is to say, this is real play.
Anyway, you can write the language yourself. At this time, it is about cultivating "taste".

Then just play around, for example, I am not proficient in the kernel, but if I look for it, I can find where the code is; something in the compilation theory and a certain piece of code can actually be written to be more general or more refined; The implementation of a certain data structure and algorithm is quite interesting. Think about how to write it and compare it with how others have written it... That's probably what I do.

Well, actually, no matter how much fun you play, it’s not enough. At this level, I can’t say it’s very low, but it’s probably not that high. There are still so many unknowns. However, perhaps the joy of life lies in this. I recommend python

It is not recommended to learn languages ​​​​such as php, java, python, and javascript. This is not to say that these languages ​​​​are not good. If you want to find a job as a specialized software engineer, then learning these languages ​​​​is the only choice. Use these languages ​​​​There are many companies and jobs are easy to find.


However, the person who asked the question is an accountant, and I learned programming mainly because of my interest and practical help in my work, so I suggest learning windows. The .net technology system under the system, and the preferred language c# under the .net platform


Why learn the .net platform and c#


The questioner said that one of the reasons for learning programming is because of interest. Since it is an interest, you don’t need to consider employment. You should learn the coolest and most powerful language. Obviously, c# is the best choice. There are so many programming languages ​​​​in the software development industry. If you want to find a language with the coolest syntax, the most convenient and the most powerful functions, it must be c#.


Of course, some of the current functional programming languages ​​can crush c# in terms of syntax, but I think they are really not suitable for non-professional players to play with. Learning functional programming languages ​​is more difficult than learning ordinary programming languages. It's so big, it's better to use this energy to make simple things perfect. After all, the main job of non-programmers is not programming. However, if you are interested in functional programming, f# under the .net platform is also a good choice.


The second point is that it must be useful. The subject is thirty years old and has been working in the accounting profession for many years. I believe it is impossible to change careers and become a programmer. That means you don’t have to learn the most popular languages ​​in the IT industry. It's about choosing practical learning. There is no doubt that c# is still the first choice. One characteristic of using Microsoft technology to develop software is that even on different platforms, the programming concept is the same. In other words, if you learn to use C# to develop websites, then you can smoothly transition to using C# to develop Windows clients. terminal applications, windows10 uwp applications (including windows phone), windows shell scripts, and what’s even more incredible is that you can also use c# to develop android and ios applications. This is simply a way to eat all over the world. One language covers all platforms. In addition to Microsoft’s .net and c#, there are also Who can do it? As long as you learn .net and c#, you can develop whatever software you want in the future, and you can pretend to be good at work.


It is undeniable that in terms of the number of libraries, python and java may have more libraries than .net. However, most of the libraries in .net are provided by default, which is enough to develop any imaginable function, at least for me I have been writing .net programs for many years and have never encountered the problem of insufficient libraries. Moreover, the biggest problem with python and java libraries is the version problem. The most common problem I encountered in the process of using python and java is that the version of the library downloaded online is inconsistent with the locally installed operating environment, resulting in various inexplicable seconds. Crazy errors, these problems cannot be encountered in .net. In addition, the .net documentation is also very complete. No matter how trivial things are, they are all recorded on msdn.


Another issue is the development environment. If you develop programs in other languages, you must install a bunch of things such as running environments, IDEs, servers, and various configurations. For professional programmers, this is nothing. , Although the subject of the question is not a novice, it still takes a lot of energy on your part to do these things. However, the .net installation environment is incredibly user-friendly. With just one installation package and a click of the mouse, everything you need will be ready for you. You just need to use it. Moreover, when learning other languages, you often need to learn how to use Linux, which is additional pressure for non-professional practitioners. If you learn to use .net and C#, you will have no worries in this regard. Windows server The use is the same as that of Windows PC.

Finally, writing code also requires experience, and typing code must be vigorous. Therefore, which IDE you use is very important. If we were to discuss the IDEs on the market, the number one in the world would be Microsoft's visual studio. It is so fun to use vs coding and debugging that other IDEs can't match it.


So, don’t hesitate and start learning .net and c#

I'm not here to argue... I suggest learning English... I'm writing Python code now. In fact, I really shouldn't recommend it to you. What language you use is more of your own business.
If you know PHP, it is more appropriate to continue with PHP. If you like the bottom level, just learn C and assembly. Buy a microcontroller development version, a few circuit design books, some components, a soldering iron, and an oscilloscope, and you can make some gadgets. (Pay attention to safety)

Learn more advanced functional programming, such as scheme and haskell. After you learn it well, you can join the high-end circle of functional enthusiasts.

It’s more practical to learn js and py. To build a website, writing a crawler is enough.

If you really can’t figure it out, let’s learn C++.
Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
PHP's Current Status: A Look at Web Development TrendsPHP's Current Status: A Look at Web Development TrendsApr 13, 2025 am 12:20 AM

PHP remains important in modern web development, especially in content management and e-commerce platforms. 1) PHP has a rich ecosystem and strong framework support, such as Laravel and Symfony. 2) Performance optimization can be achieved through OPcache and Nginx. 3) PHP8.0 introduces JIT compiler to improve performance. 4) Cloud-native applications are deployed through Docker and Kubernetes to improve flexibility and scalability.

PHP vs. Other Languages: A ComparisonPHP vs. Other Languages: A ComparisonApr 13, 2025 am 12:19 AM

PHP is suitable for web development, especially in rapid development and processing dynamic content, but is not good at data science and enterprise-level applications. Compared with Python, PHP has more advantages in web development, but is not as good as Python in the field of data science; compared with Java, PHP performs worse in enterprise-level applications, but is more flexible in web development; compared with JavaScript, PHP is more concise in back-end development, but is not as good as JavaScript in front-end development.

PHP vs. Python: Core Features and FunctionalityPHP vs. Python: Core Features and FunctionalityApr 13, 2025 am 12:16 AM

PHP and Python each have their own advantages and are suitable for different scenarios. 1.PHP is suitable for web development and provides built-in web servers and rich function libraries. 2. Python is suitable for data science and machine learning, with concise syntax and a powerful standard library. When choosing, it should be decided based on project requirements.

PHP: A Key Language for Web DevelopmentPHP: A Key Language for Web DevelopmentApr 13, 2025 am 12:08 AM

PHP is a scripting language widely used on the server side, especially suitable for web development. 1.PHP can embed HTML, process HTTP requests and responses, and supports a variety of databases. 2.PHP is used to generate dynamic web content, process form data, access databases, etc., with strong community support and open source resources. 3. PHP is an interpreted language, and the execution process includes lexical analysis, grammatical analysis, compilation and execution. 4.PHP can be combined with MySQL for advanced applications such as user registration systems. 5. When debugging PHP, you can use functions such as error_reporting() and var_dump(). 6. Optimize PHP code to use caching mechanisms, optimize database queries and use built-in functions. 7

PHP: The Foundation of Many WebsitesPHP: The Foundation of Many WebsitesApr 13, 2025 am 12:07 AM

The reasons why PHP is the preferred technology stack for many websites include its ease of use, strong community support, and widespread use. 1) Easy to learn and use, suitable for beginners. 2) Have a huge developer community and rich resources. 3) Widely used in WordPress, Drupal and other platforms. 4) Integrate tightly with web servers to simplify development deployment.

Beyond the Hype: Assessing PHP's Role TodayBeyond the Hype: Assessing PHP's Role TodayApr 12, 2025 am 12:17 AM

PHP remains a powerful and widely used tool in modern programming, especially in the field of web development. 1) PHP is easy to use and seamlessly integrated with databases, and is the first choice for many developers. 2) It supports dynamic content generation and object-oriented programming, suitable for quickly creating and maintaining websites. 3) PHP's performance can be improved by caching and optimizing database queries, and its extensive community and rich ecosystem make it still important in today's technology stack.

What are Weak References in PHP and when are they useful?What are Weak References in PHP and when are they useful?Apr 12, 2025 am 12:13 AM

In PHP, weak references are implemented through the WeakReference class and will not prevent the garbage collector from reclaiming objects. Weak references are suitable for scenarios such as caching systems and event listeners. It should be noted that it cannot guarantee the survival of objects and that garbage collection may be delayed.

Explain the __invoke magic method in PHP.Explain the __invoke magic method in PHP.Apr 12, 2025 am 12:07 AM

The \_\_invoke method allows objects to be called like functions. 1. Define the \_\_invoke method so that the object can be called. 2. When using the $obj(...) syntax, PHP will execute the \_\_invoke method. 3. Suitable for scenarios such as logging and calculator, improving code flexibility and readability.

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
3 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
3 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
3 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: How To Unlock Everything In MyRise
4 weeks agoBy尊渡假赌尊渡假赌尊渡假赌

Hot Tools

DVWA

DVWA

Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software

VSCode Windows 64-bit Download

VSCode Windows 64-bit Download

A free and powerful IDE editor launched by Microsoft

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Powerful PHP integrated development environment

WebStorm Mac version

WebStorm Mac version

Useful JavaScript development tools