Deciding to learn a language because someone told you to is a bad idea. Instead, you should consider if the language is adequate for what you wish to achieve. Some of the important aspects which you should consider when choosing a language include:
Suitability
- Make sure that the language is suitable for the area in which you wish to program. Web, game and application development often require different languages to let you work efficiently.
Ease of learning
- If you want to start making useful programs quickly or want to get your head around the fundamentals of programming then you should consider a simple language. However, if you want to take up programming as a serious hobby then a harder language may benefit you in the long run.
Readability
- Programs are often shared and read by other people for learning purposes or during large projects. Being able to read and understand the language allows you to learn quicker and work on code with other people without confusion.
Speed of development
- Being able to write useful code in a short amount of time can be a major advantage of some languages. However, you should not only take into account the time it takes to write code but also how long it takes to debug and fix problems which occur. Therefore, languages with good error handling should not be overlooked.
Speed of execution
- Using a language which can execute quickly is always an advantage. However, in many cases the best performance comes with the most effort from the programmer. For example, in C++ tasks such as memory management slow down development but increase performance because it reduces the burden on the computer.
Portability
- When you make scripts or programs you often want to be able to share them. A portable language will be able to run on many systems, regardless of their operating system or platform. Java is popular for this reason and has over 3 billion devices running it.
Libraries
- When considering a language you should not only look at the standard library but also extended libraries which you can download to enhance the language in various ways. C#'s graphics library may not be ideal for 3D but the XNA framework can be installed and used for advanced graphics which would not be achievable otherwise.
There are hundreds of programming languages but I'm not going to talk about every single one. Instead, I will focus on the languages which have their own section in the coding forum because they are popular and fairly good choices.
Assembly - Closely resembling machine code, provides great control for maximum effort.
Pros:
- You have direct control of memory.
- Very fast to run.
- You gain a fresh perspective of what goes on in your computer.
- Knowledge of hardware is required.
- Difficult to make it executable on multiple machines.
- Slow to code in.
Pros:
- Will run on almost every system.
- Programs will run fast.
- It's old so major issues have been fixed.
- Lots of tutorials, documentation and open source projects.
- Not very fast to write code.
Pros:
- Faster to learn than C or C++.
- Good for Windows and mobile applications.
- Takes some of the best features from other languages.
- No real disadvantages. Some languages may be better in certain areas.
Pros:
- Fast execution of programs.
- Very popular.
- Slow to code in.
- Hard to learn with no previous programming experience.
Delphi - A rapid application development solution for Windows.
Pros:
- Very good for making Windows applications.
- As functional as C++ in the right hands.
- Not as popular as other languages.
Pros:
- Reasonably easy as a first language.
- Many devices can run Java.
- Support for multi-threading.
- Can be used to develop web services.
- Considered to be slightly slower than compiled languages (Java is interpreted).
Pros:
- Lightweight (low memory usage).
- Portable.
- Simple syntax.
- Intended to be embedded in applications, not for the whole thing.
Pros:
- Fairly easy to learn.
- Server-side instead of client-side (this can be a bad thing as well).
- Lots of support and help documentation.
- Not a good choice for desktop applications.
Pros:
- Easy to learn.
- Easy to read.
- Fast to write code.
- Not as fast execution as some languages.
Perl - A powerful scripting language used a lot for CGI scripts, system administration and networking.
Pros:
- Powerful text processing and networking facilities.
- Runs on most platforms.
- Cryptic 1-liners save lots of code and therefore time.
- Cryptic 1-liners are often unreadable.
- The syntax can make code hard to understand.
Pros:
- Easy to learn.
- Easy to read.
- Fairly quick to code in.
- Lots of support and helpful resources.
- Used a lot on Windows.
- Error catching and handling isn't great.
- Not good cross-platform support. Primarily a Windows-based language.
Also Reade; How To Become A Pro Hacker, P1: Programming Languages
0 commentaires:
Post a Comment