Programming Language
Programming Language

کدام زبان برنامه نویسی را باید آموخت ؟

سوالی تکراری با جواب هایی سلیقه ای که همیشه از زبان افراد مختلف و یا در سایت های بسیاری دیدیم و خواندیم اماما امروز پاسخ این سوال را بر عه ده ی شما گذاشتیم . آن هم نه به صورت توصیه ای بلکه به صورت تصویری ، تصویری از خصوصیات درآمد های حدودی و موارد مرتبط به آن زبان . سپس معرفی کوتاهی از زبان را می بینید و چندین نوع آمار گیری برای زبان های برنامه نویسی از چندین مرجع آمار گیری مختلف و در انتها مرجع مربوط به هر یک از این زبان ها را میتوانید ببینید .

البته این متن به صورت انگلیسی اما قابل فهم است و برای یاد گیری زبان های برنامه نویسی شما نیازمند آشنایی اولیه با زبان انگلیسی خواهید بود . گرچه این متن و بعضی از آمار ها در ایران کاملا برعکس بوده یا اصلا این زبان ها در ایران کاربردی ندارد اما نگاه خود را در شناسایی و یادگیری زبان های برنامه نویسی معطوف به داخل و زمان حال نکنید . امید واریم توانسته باشیم کمکی به شما در انتخاب کرده باشیم .

What-Code-Should-You-Learn
What-Code-Should-You-Learn

Learn the Language: <What Code Should You Learn?>

There are many languages to code in, so many, in fact, the beginner can easily be overwhelmed. Learn about the top choices so you can be successful and raise your earning potential.

Hypertext Preprocessor (PHP)

This is a server-side interpreted, non-compiled, scripting language. It can be written within HTML. Because the code is executed by the server, the result is displayed to the user as plain HTML.

  • PHP’s development started in 1994, created by Rasmus Lerdorf.
    • Code was released to the public in 1995
    • ۲٫۰: ۱۹۹۶
    • ۳٫۰: ۱۹۹۷/۱۹۹۸
    • ۴٫۰: ۱۹۹۹/۲۰۰۰
    • ۵٫۰: July 2004
  • PHP files end in the .php extension
  • PHP files can support:
  • PHP can:
    • Generate dynamic page content
    • Create, open, read, write, and close files on the server
    • Collect form data
    • Send and receive cookies
    • Add, delete, modify data in your database
    • Restrict users to access some pages on your website
    • Encrypt data
    • Output:
      • HTML
      • Images
      • PDF files
      • Flash movies
      • Any text, such as XHTML and XML
  • Why use PHP?
    • Runs on various platforms (Windows, Linux, Unix, Mac OS X, etc.)
    • Compatible with almost all servers used today (Apache, IIS, etc.)
    • Supports a wide range of databases
    • Free, and open source so many hosting providers run it on their servers.
    • Easy to learn
    • Runs efficiently
  • PHP Jobs
    • Average Salary: $80,000
    • Job Count: 20,308
    • Top Cities:
      • New York
      • San Francisco
      • Chicago
    • Top Employers:
      • CyberCoders
      • IBM
      • Robert Half Technology
  • Tidbits of Wisdom
    • PHP is used on 65.45% of the top 1 million websites
      • The most popular content management system (CMS), WordPress uses PHP.
      • PHP powers more than 20 million websites, including:
        • Facebook
        • Wikipedia

JavaScript

This is a client-side scripting language. It is the only language embedded in all web browsers.

  • Developed in 1995 by Netscape
  • Used in website:
    • Advertising
    • Analytics
    • Widgets
  • JQuery is the most detected JavaScript library in use on the web, used for 22.9% of the top million websites on the Internet.
    • It provides features and functions to make:
      • JavaScript browser agnostic
      • An easier development process
  • JavaScript Jobs
    • Average Salary: $88,000
    • Job Count: 43,189
    • Top Cities:
      • New York
      • San Francisco
      • Washington D.C.
    • Top Employers:
      • Amazon
      • Microsoft
      • IBM
  • Tidbits of Wisdom
    • You can use JavaScript to:
      • Check username availability as user enters it, preventing the need to reload the page
      • Build an autocomplete function on your website
      • Fix layout issues
      • Enhance HTML text boxes so users have a combination of presets and the ability to enter their own text.

Structured Query Language (SQL)

This is not a programming language or a markup language. It is the standard way to interact with databases, moving information in and out of them. MySQL is the most common way to interact with databases, and is a good start for a web developer.

  • SQL was first developed in 1979.
  • SQL files have a .sql extension.
  • SQL can:
    • Execute queries against a database
    • Retrieve data from a database
    • Insert records in a database
    • Update records in a database
    • Delete records from a database
    • Create new databases
    • Create new tables in a database
    • Create stored procedures in a database
    • Create views in a database
    • Set permissions on tables, procedures, and views
  • SQL Jobs
    • Average Salary: $90,000
    • Job Count: 98,454
    • Top Cities:
      • New York
      • Washington D.C.
      • San Francisco
    • Top Employers:
      • Microsoft
      • United Health Group
      • Amazon
  • Tidbits of Wisdom
    • There are different developers of SQL, such as:
      • Oracle
      • Sybase
      • Microsoft
    • Their SQL programs all fundamentally work the same way.
    • MySQL is an open source (free) version of SQL, and is popular with developers.

Objective C

Objective C is an object oriented programming language, based on C, used by Apple developers .

  • Objective C was first developed in the 1990s.
  • Objective C files have an .m extension.
  • Objective C can:
    • Develop mobile apps for iOS
    • Develop applications for OS X
  • Objective C Jobs
    • Average Salary: $70,000
    • Job Count: 18,849
    • Top Cities:
      • New York
      • San Francisco
      • Chicago
    • Top Employers:
      • Regis Corporation
      • SmartStyle
      • SmartCuts
  • Tidbits of Wisdom
    • Though considered the “correct” language for iOS development, it cannot be scaled for other platforms such as Android.

C++

C++ is an object-oriented programming language used to develop software, video games, and more.

  • C++ was first developed in 1983, as an enhancement to the C programming language
  • C++ files have a .c++ extension
  • C++ can
  • C++ Jobs
    • Average Salary: $90,000
    • Job Count: 31,893
    • Top Cities:
      • New York
      • Seattle
      • San Francisco
    • Top Employers:
      • Amazon
      • CyberCoders
      • Microsoft
  • Tidbits of Wisdom
    • C++ is highly portable across multiple devices.
    • C++ is supported by Apple, Android, Windows Phone, and Blackberry.

Java®

This is a server-side interpreted compiled language, using a virtual machine. It is not JavaScript, and is not related to it.

  • Java was developed in 1995, and is one of the oldest programming languages on the web.
  • Java lets you:
    • Play online games
    • Upload photos
    • Take virtual tours
    • Use interactive maps
  • Java Job Information
    • Average Salary: $95,000
    • Job Count: 66,485
    • Top Cities:
      • New York
      • Washington D.C.
      • San Jose
    • Top Employers:
      • Amazon
      • IBM
      • eBay
  • Tidbits of Wisdom
    • Users can disable Java on their machines
    • Java is the basis of Android
    • Slow to change, so it’s easier to keep up with

Python

This is a server-side interpreted, open-source, non-compiled, scripting language. It can be used on its own, or as part of another framework, like django.

  • Python can:
    • Build websites
    • Provide database access
    • Build desktop graphic user interfaces (GUIs)
    • Build software and games
  • Python Job Information
    • Average Salary: $83,000
    • Job Count: 19,627
    • Top Cities:
      • Mountain View
      • San Francisco
      • New York
    • Top Employers:
      • Amazon
      • Intel®
      • Dell
  • Tidbits of Wisdom
    • NASA’s shuttle support contractor, United Space Alliance (USA) uses Python.
    • Learn to code faster compared to other languages like C++

Ruby

This is a server-side interpreted, non-compiled, scripting language. It is Japanese in origin, with no set of specifications. It was released to the public in 1995.

  • It is gaining popularity because of its use with Rails: Ruby on Rails
    • Rails is a rapid development framework, like django or Python.
  • It is a blend of the following programming languages:
    • Perl
    • Smalltalk
    • Eiffel
    • Ada
    • Lisp
  • Ruby can:
    • Build web sites
    • Build simulations
    • Build web applications
  • Ruby Job Information
    • Average Salary: $90,000
    • Job Count: 13,805
    • Top Cities:
      • San Francisco
      • New York
      • Seattle
    • Top Employers:
      • CyberCoders
      • ERC
      • Amazon
  • Tidbits of Wisdom
    • Ruby is highly portable; it works on many types of UNIX, Mac OS X, Windows 95/98/Me/NT/2000/XP, DOS, BeOS, OS/2, and more.
    • Ruby has multiple implementations, including:
      • JRuby: Ruby atop the JVM (Java Virtual Machine)
      • Rubinius: ‘Ruby written in Ruby’. Built on top of LLVM
      • MacRuby: Ruby that’s tightly integrated with Apple’s Cocoa libraries for Mac OS X

Active Server Pages (ASP) .Net

This is a server-side interpreted, non-compiled, scripting language. It is similar to PHP, but will only run on a Windows® server, because it is a Microsoft product, in the .net suite of programing languages.

  • ASP.Net can:
    • Build websites
    • Build web applications with a Model View Controller (MVC) design
    • Build web forms
  • ASP.Net Job Information
    • Average Salary: $90,000
    • Job Count: 16,710
    • Top Cities:
      • New York
      • Chicago
      • Atlanta
    • Top Employers:
      • Robert Half Technology
      • CyberCoders
      • Hendrickson International
  • Tidbits of Wisdom
    • You can mix and match programming languages within ASP.NET, as long as each page only contains one language.

Asynchronous JavaScript and XML (Ajax)

This is not a programming language, but rather a way to use multiple programming languages together.

  • It works by using JavaScript in the background to communicate with the server, to allow the page to change (send and receive information) without requiring the user to refresh.
  • It is used extensively today.
    • All browser based chat systems, such as Google Talk, use Ajax.
    • Gmail’s entire interface is Ajax based.
    • Facebook uses it for photos and chat.
  • You won’t be able to use this effectively until you’ve mastered JavaScript, CSS, and XML.
  • Ajax Jobs
    • Average Salary: $90,000
    • Job Count: 16,649
    • Top Cities:
      • New York
      • San Francisco
      • Seattle
    • Top Employers:
      • Smith & Keller
      • CyberCoders
      • Science System and Applications
  • Tidbits of Wisdom
    • Ajax combines:
      • Standards-based presentation – XHTML, CSS
      • Dynamic display and interaction – Document Object Model
      • Data interchange and manipulation – XML, XSLT
      • Asynchronous data retrieval – XMLHttpRequest
      • Functionality – JavaScript

Learning to Code for the First Time

  • Easiest to Learn: Python
  • Most Powerful: C++
  • Most Likely to Be Useful in 10 Years: Java
  • What do you want to do? Your end goal determines what language(s) you need to learn.
    • To create and edit static web pages:
    • To make web pages interactive:
      • JavaScript: adds drag and drop functionality
    • To store user information:
      • Server-side languages such as:
    • To build mobile apps:
      • Objective-C: iPhone apps
      • Java, C++: Android apps
  • PHP and SQL are easy to learn, even for beginners.
    • You can use PHP with mySQL to learn without investing in software.
  • Since they run the most popular content management system, they are a good place to start.
  • No matter which language you choose, these programming skills are in demand from top companies, with a hefty salary attached.
  • These online resources can help you learn to code:
    • Codecademy: Considered by many as the most renowned source on the web, you can learn many languages with easy, interactive tutorials.
    • Coursera: Get access to full college courses, even beyond programming, for free, though additional fees may sometimes apply.
    • OpenCourseWare Consortium: Get access to full college courses from a number of partners, for free. You’ll be on your own navigating the material, but it can be a great help.
    • Code.org: Get free tutorials for a number of languages to teach yourself hwo to code.

Ranking

I’ve been following programming language statistics for several years. There are a number of data sources including code repositories, Q&A discussions, job advertisements, social media mentions, tutorial page visits, learning video views, developer surveys and more. Data is published at different times, none can be considered accurate and all have flaws — but they can be useful for spotting industry trends.

GitHut

GitHut is a relatively new resource which analyzes 2.2 million active repositories on GitHub. The top ten:

  1. JavaScript
  2. Java
  3. Python
  4. CSS
  5. PHP
  6. Ruby
  7. C++
  8. C
  9. Shell
  10. C#

Source: GitHut

RedMonk

RedMonk’s language ranking for 2015 determines popularity by analyzing activity on both GitHub and StackOverflow. Their results:

  1. JavaScript
  2. Java
  3. PHP
  4. Python
  5. C#
  6. C++
  7. Ruby
  8. CSS
  9. C
  10. Objective-C

Credit: RedMonk

Jobs Tractor

Jobs Tractor language trends analyzes many thousands of job postings on Twitter. The latest figures from September 2014:

  1. Java
  2. Objective-C
  3. PHP
  4. SQL
  5. Java (Android)
  6. C#
  7. JavaScript
  8. Python
  9. Ruby
  10. C++

TIOBE Index

The TIOBE Index rates languages on the number of skilled engineers, courses and search engine rankings.

  1. C
  2. Java
  3. C++
  4. Objective-C
  5. C#
  6. JavaScript
  7. PHP
  8. Python
  9. VisualBasic.NET
  10. Visual Basic

Completely Unscientific Meta-Survey Ranking

If we combine these four surveys, we arrive at this result:

  1. Java (all)
  2. JavaScript
  3. PHP
  4. Python
  5. C / C++
  6. C#
  7. Objective-C
  8. Ruby
  9. Visual Basic

I combined C and C++ and ignored CSS and shell scripting. CSS isn’t a programming language as such although preprocessors come close. Shell scripts are useful regardless of whatever technologies you adopt but you won’t find jobs where it’s the only language you need.

Sources

رضا روحی

درباره ی رضا روحی

رضا روحی
دانشجوی کارشناسی ارشد کامپیوتر گرایش نرم افزار ، علاقه مند به زبان های برنامه نویسی ، علاقه مند به رباتیک

یک دیدگاه

  1. Avatar for رضا روحی

    آیا قصد فروش وبسایتتون رو دارید؟

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

*

code