What's new

Closed Picking your first programming language

Status
Not open for further replies.

Strawberrry

Forum Veteran
Joined
Aug 2, 2016
Posts
1,598
Solutions
4
Reaction
633
Points
524
"The greatest power of the mass media is the power to ignore. The worst thing about this power is that you may not even know you're using it." --Sam Smith

Deciding What You Need

Many times on forums and in chat rooms I hear the same question over and over. “What programming language should I learn?” The answer is different for every person out there that wants to pick up programming. These tips are here to help people who would like to start programming pick out their first language. So go grab a pen and some paper and get ready to think and jot down some notes.

First you must really sit down and think about what you want to accomplish when programming. Do you want to make cool web applications, or maybe a quick windows application to calculate the amount of paint needed for a room? How about creating video games, or your own operating system. Maybe you want the option to try all these things, and if you want any of these things their is a programming language for you. You just need to figure out what your needs and wants are. Do some of your own research on some popular languages and find out what they offer.

Next you must decide on the level of difficulty you are willing to try. Never be afraid to try something harder then you think you can handle. If it is too much for you, you will know early enough to pick out a new language and not waste too much time. Most languages are the same at their roots anyways. You will find this out once you learn how to program.

Another thing you want to consider before picking out a language is compatibility. Do you need or want your application to work on Windows, Linux, and Mac? Or are you comfortable with just running on Windows or another environment? Most of the time this will be an easy choice. Since you are just starting out you will most likely just pick a language that will run on your current operating system.

Are you going to be able to find a lot of information about your language? What types of books, internet tutorials, and documentation are there available for your language? You are going to need something to learn from and documentation is the main thing you will be looking to. Though it is always nice to have a good community around the language as well, most on-line communities are on forums or IRC. Remember that Google is your friend. Just look up your language on Google to find tutorials, and on-line community's, check Borders or Amazon dot com for books.

Type of language is also important. There are three main types of languages (there maybe more). First is web languages. Web languages are the code that makes up the web. When you open your Internet browser such as IE or FireFox it reads this code and then displays the sites based on the instructions that are written behind the scenes. Next are interpreted languages. Many web languages also fall in this category. When a language is interpreted it means that the code is read by the computer as it is executed. This is unlike our next type called a compiled language. When a language is compiled it means that you must first pass the source code threw a special program called a compiler. The compiler takes the human readable source code and turns it into computer readable code of ones and zeros. The program can now be ran and tested.

We will talk quickly about the level of a language. Computer do not understand source code they only understand 1s and 0s. When a language is said to be a low level language it means that the source code is more closely related to the ones and zeros. If a language is high level it means it is closer to human readable language. The benefits of a lower level language is speed and power. The problem is you wouldn't want to write an entire game in a low level language because it would be large and hard to understand.

Also do not stress to much over what language to pick. If you are just a hobbyist then pick whatever language you enjoy the most. Don't worry about what’s cool or the newest thing go with what works for you. If you want to become a programmer or get into the information technology field pick a language that is going to let you learn the most about programming. Odds are you are going to be learning new languages later on anyways. So as long as you have programming basics, and techniques down you will be able to learn a new language very easy. The most important part is to have fun! Enjoy what you are doing or why do it at all?

Language Reviews

Now I will give some language reviews for some popular languages out there. I also cover some web languages. It should be noted that these are not actually programming languages. Some are scripting and some are called Markup languages. Also to be noted this is not a full review of these languages. You should do more research on a language that might interest you in order to find out more.

This is not a full list of languages! I tried to include many of the major languages but there are just so many that the list would just become to large and start to confuse beginners. For a larger list of languages check out the following links.

You do not have permission to view the full content of this post. Log in or register now.
or as much as I hate wikipedia
You do not have permission to view the full content of this post. Log in or register now.

* = I personally recommend to hobbyist or average beginners
** = I recommend to students for more serious learning.

Web Applications

* HTML
Type: Markup Language
Geared for: Web Development
Difficulty: Very Easy
Compatibility: Works with any browser, and OS compatibility is not a worry when doing web design
Documentation: Lots of great on-line tutorials. I see no need to buy a book when there are so many free on-line tutorials.
Links: You do not have permission to view the full content of this post. Log in or register now.
Side notes: All you need is notepad and a web browser.

* CSS
Type: Cascading Style Sheets
Geared for: Web Development
Difficulty: Easy
Compatibility: Works with most modern browsers
Documentation: Lots of great on-line tutorials. You might find buying a book helpful.
Links: You do not have permission to view the full content of this post. Log in or register now.
Side notes: All you need is notepad and a web browser.

JavaScript
Type: Interpreted / Scripting
Geared for: Web Development
Difficulty: Easy - Mild
Compatibility: Works with most modern browsers
Documentation: Great on-line tutorials, but you may find a book helpful.
Links: You do not have permission to view the full content of this post. Log in or register now.
Side notes: This gives web designers a scripting language to use with in there web pages. Can create pop up boxes and validate html forms.

PHP
Type: Scripting
Geared for: Web Development
Difficulty: Mild
Compatibility: Code is ran on server so browsers have nothing to do with this language.
Documentation: Good on-line tutorials, may want a book for more complete learning process.
Links: You do not have permission to view the full content of this post. Log in or register now.
Side notes: Great for accessing databases. Because code is executed on the server the user can not view the source code, this adds a level of protection and security.

ASP
Type: Scripting
Geared for: Web Development
Difficulty: Mild
Compatibility: Code is ran on server so browsers have nothing to do with this language.
Documentation: Good on-line tutorials, may want a book for more complete learning process.
Links: You do not have permission to view the full content of this post. Log in or register now.
Side notes: Microsoft technology. A powerful tool for creating dynamic and interactive web pages. Code is executed on the server, so the user can not view the source code, this adds a level of protection and security.


Computer Applications

* Python
Type: Interpreted - Scripting
level: Very High
Geared for: Everything
Difficulty: Easy
Compatibility: Cross-platform
Documentation: Great Documentation, many books, and on-line tutorials.
Links: You do not have permission to view the full content of this post. Log in or register now.
Side notes: easy to learn, and very powerful. You can do just about anything with this language. Great for beginners.

Perl
Type: Interpreted
level: High
Geared for: General Purpose, Text Processing, CGI scripts, Automating Tasks
Difficulty: Mild
Compatibility: Cross-platform
Documentation: Many books, and on-line tutorials.
Links: You do not have permission to view the full content of this post. Log in or register now.

Ruby
Type: Interpreted
level: High
Geared for: General Purpose, Web Scripting
Difficulty: Mild
Compatibility: Cross-platform
Documentation: Normal
Links: You do not have permission to view the full content of this post. Log in or register now.

Side notes: The goal was to program in human style rather than adapting its mind to the computer structure.
VB / VB.net
Type: Compiled
level: High
Geared for: Windows applications
Difficulty: Easy
Compatibility: Windows
Documentation: Well supported by Microsoft and many books.
Links: You do not have permission to view the full content of this post. Log in or register now.
Side notes: Not a great language, but easy to use and whip up a quick app. Not well respected by other programmers. Dot net is compiled differently. Research the dot net platform for more information.

** C / C++
Type: Compiled
level: Middle
Geared for: Everything
Difficulty: Mild - Hard
Compatibility: Cross Platform
Documentation: Tons!! Books, on-line, people, just tons!
Links: You do not have permission to view the full content of this post. Log in or register now.
You do not have permission to view the full content of this post. Log in or register now.
Side notes: Well respected language. Take the time to understand this language, it will pay off. There is a reason it is the industry standard.

* C#
Type: Compiled
level: High
Geared for: General, The Dot Net Platform
Difficulty: Mild
Compatibility: Native to Windows, Cross Platform
Documentation: No lack of books or developers to speak with.
Links: You do not have permission to view the full content of this post. Log in or register now.
You do not have permission to view the full content of this post. Log in or register now.
You do not have permission to view the full content of this post. Log in or register now.
Side notes: Not directly compiled to machine code. The mono project is working on making the language cross platform but does not have all features of the Microsoft dot net platform.

Java
Type: Compiled
level: High
Geared for: Everything and portability
Difficulty: Mild - Hard
Compatibility: Cross platform
Documentation: Well documented
Links: You do not have permission to view the full content of this post. Log in or register now.
Side notes: I have heard good and bad things about this language. Not a choice I would pick for a beginner.

** Assembly
Type: Compiled
level: Low
Geared for: Special niches when needed
Difficulty: Very Hard
Compatibility: Each processor architecture has Its own version.
Documentation: Normal
Links: You do not have permission to view the full content of this post. Log in or register now.
Side notes: Has a big purpose in the programming of embedded systems (you name it, anything from washing machines to tv's). If you learn assembly for one architecture, than it isn't too difficult to code on different ones. You just have to learn a new instruction set.

Remember to have fun and learn all you can!
 
Namaster ko sa mga basics sa c++, maruNong din ako mag tracing hehehe salamat neto, gusto ko mag phyton
 
Status
Not open for further replies.

Similar threads

Back
Top