今後2年間、あなたは5つの言語(転載)で、それを必要とするかもしれません

プログラミングの世界では、私たちのために、私たちは今、転換期を迎えています。10年前、プログラマは、動的言語のために急ぎます。私たちの人々のほとんどは、動的プログラミング言語だけでなく、より簡単に、だけでなく、ファッションのようなものを意味しています。今日では、動的言語は現在、プログラマが古い言語を使用してプロジェクトを開発するための新しい言語で、特別な好意を楽しむなくなりました。私は、プログラミング言語をマスターするために永久的なプログラマの必要性に最もある、競争力を維持するためには、聞いていますか?

       我々は将来の問題の一般的なプログラミング言語がどうなるかを議論する前に、異なるプログラミング言語間の類似点と相違点を見てみましょう。

動的言語の言語対静的

       我々は動的言語について話すとき、この「ダイナミック」は、実際に変数の型であると言います。動的なプログラミング言語を使用するときは、変数を宣言することができ、およびプログラムの変数の型が実行されて変更することができます。そして、動的言語は、比較的静的な言語であるか、強く型付けされた言語を呼び出します。このようなC ++やJavaなどの強く型付けされた言語は、JavaScript、PHPやPerlは動的型付け言語です。

       C ++では、同時に変数の型を指定する必要があります変数の時間を宣言します。あなたは変数の型を変更しようとすると、実行中のプロセスでは、コンパイラはエラーを報告します。同じことが、Javaで真です。

       しかし、JavaScriptはあなたがJavaScriptプログラムの実行中に変数の型を変更することができ、同じではありません。実際には、変数を宣言する場合、変数を使用しているとき、あなたが変数に割り当てられた整数を置くことができる変数の型を指定する必要はありません、その後、動的型付け言語の整数の列、でこれをカバーこれらは許可されています。

       動的言語でちょうど最近人気が、実際には50年前にこの概念が育ててきました。

関数型言語

       の動的言語の開発では、関数型言語への関心も高まっています。関数型言語では、関数自体は、関数は、変数に格納され、別の関数にパラメータとして渡すことができ、変数に格納されてもよいです。今、ほとんどのプログラミング言語には、ある程度の機能をサポートしています。例えば、C ++は、C ++は、プログラマは、関数へのポインタを渡すことができます。JavaScriptといくつかの言語は、簡単に機能を転送するようにします。一般的にC ++が真の意味での関数型言語ではないと考えられますが、JavaScriptがHaskellのは、一般的に関数型言語の優れた例とみなされ、関数型言語であると考えています。

**ごみメカニズムは

       理論的には、限り、あなたは正しくコードを書くように、あなたはどんなバグを持っていません。それは良さそうです。実際には、あなたや他の多くのプログラマが大規模なプロジェクトを完了するために協力する場合、メモリリークであることが多い現れるバグ、そこにあります。あなたは、変数を定義しますが、この変数を完了した後、このメモリは、その後、我々はメモリリークと言う**時間がありません。リークが発生するメモリと時間がない、時間を実行しているの増加に伴い、プログラムは、彼らがすべてのシステムメモリを消費するまで、成長、およびシステムがクラッシュしていることがわかった場合。ひどいですね!

       あなたは言うかもしれないが、各リリースのメモリ変数の後にタイムリーに、メモリリークが起こらなかっただろうしていませんか?アイデアは良いですが、現実はそれよりも複雑かもしれません。たとえば、あなたがデータを格納するためのリンクリストを申請し、このリストが他の人によって書かれている他の関数は、この関数の調製に他の誰かに渡され、このリストのコピーになりますが、あなたは知りませんあなたはこのリストを削除またはままにしなければならないと言いますか?このような状況に基づいて、プログラマは、回避策を考える、方法:**やるべき仕事のメモリシステム。あなたはゴミのメカニズムと呼ばれる**、**、もはやこのメモリはもはや使用される走査システムメモリで見つからない変数を、使用しないで、その後、イニシアチブを取るとき。新しい言語を開発し、これは非常に重要な機能です。**この背後にあるゴミのアイデアは、プログラマが優れたソフトウェアの作成に集中することができ、より簡単にプログラミングすることです。

       これは、いくつかの異なるメカニズムがジャンクに存在しないことに留意すべきである**:1、システムは定期的にメモリはもはや使用されていることがわかっていない、メモリをスキャンしている、他の変数がもはや検出された後、各システムの変数は、タブを保持していないです使用直ちに削除。技術的には、後者はゴミ**メカニズムが、「参照カウント」ではありませんが、効果を達成するためには同じです。

仮想マシン

       1990年代半ばにおけるJavaが判明すると、それが直接、アセンブリ言語にコードをコンパイルしていない人は、このことについて非常に懸念しています。そして、第一中間コードにコンパイル時のプログラムでC ++逆に、Javaコンパイラは、バイトコードと呼ばれます。実行時に、システムは、仮想マシンは、バイトコード、アセンブリコードにコンパイル時にはちょうどバイトコードを実行呼び出します。このコンパイルモードがちょうど出てきた、プログラマはその遅い不満、当然のことながら、今問題ではありません。多くの言語ように、このような前述のJava、C#など、方法を実行している仮想マシンを使用して。今、言語のこのタイプは、速度の点でかなりの開発でした。

言語は

       、最終的にはプログラマがすべきことを言って学ぶどの言語を?今後の作業の豊富な言語があり、需要の5ここにあります。加えて、私はまた、「佳作」として、第六の言語を引用しました。

       JavaScript,HTML5CSS3:从技术上来说,HTML5并不是一种语言,而是一项技术,这项技术和CSS3、JavaScript一起使你能够构建基于Web的应用。 你可以创建运行在浏览器中的软件,这样做的好处是,你构建的应用将会拥有前所未有的移植性——几乎可以在所有的设备上运行,包括手机。几年 前,Facebook开始使用HTML5来构建他们的手机应用,他们超前了这个时代,那时HTML5还不成熟。一段时间后,他们回归了传统模式。过去两年 中,浏览器纷纷开始实现最好的HTML5技术,对JavaScript的需求随之增加。如果想保持你的竞争力,这是一项你必须学习的技术。(在服务器端, 很多大公司以Node.js的方式使用JavaScript)。

JavaScript示例:

       下面这个例子展示了JavaScript是怎么将一个函数存储到变量中,然后又传递给另外一个函数的。JavaScript方面的资源非常多,权威指南,参考Mozilla Developer Network,新手教程,参考以下网站。

 

var myfunc = function() {
      alert(‘hi’);
};

setTimeout(myfunc, 2000);

 

 

 


C#:在15年前,Microsoft创造了C#,从那时起,C#不断发展壮大。C#的语法类似于Java(同时也类似于C++)。C#编程软件首选Visual Studio,免费版和付费版都有。

       C#是一种强类型的语言,带有一个虚拟机。最初的发行版对函数式编程的支持非常少,在2006前后,Microsoft为这门语言加入了一些函数式编程的特征。和Java一样,C#也有自己的垃圾**机制。

C# 示例:

       示例定义了一个叫做Program的类,Program包含一个叫做Main的函数。程序从Main函数开始运行。Main函数定义了一个强类型的整形 变量x,并且在屏幕上打印x的值。学习C#方面的更多知识,移步Microsoft’s official site。

using System;

class Program
{
  static void Main()
   {
    int x = 1000;
    Console.WriteLine(x);
  }
}

 

 

 


Java:Java即将迎来自己的20岁生日,时至今日,Java还在不断的发展、成熟。在2004年,我的一位同事说这是一门“**语 言”。经历了早期的成长之痛后,Java早已不是一门**语言:它支撑起了不可胜数的网站和数据库,开源office套件也是用Java开发的。现在来 看,Java的前景依旧一片光明。

       Java是一种强类型的语言,运行在自带垃圾**机制的虚拟机中。尽管不是一种函数式语言,还是带有一些函数式编程的特征。

Java示例:

       Java和C#在很多方面类似。在Java程序中,从main函数开始运行。像上面提到的C#示例一样,在main函数中定义了一个整形的强类型变量x,并且在屏幕上打印x的值。学习更多Java知识,参考official documentation。

public class HelloWorld
{
     public static void main(String[] args) {
        int x = 1000;|
      System.out.println(x);
    }

}

 

 

 

PHP:PHP 是一种易用的通用编程语言。其语法和Java、C++类似。在一个非常简单的层次上来说,PHP用于在网页中嵌入可变化的文本内容。比如说,在你的网页中 可能存在打印当前日期的PHP代码,当你把网页代码送到浏览器,相应的PHP代码就会在屏幕上打印出当前日期。PHP能做的远比在网页上打印日期多。 PHP的类库能够操作数据库(几乎你能想到的任何数据库都能处理),能进行科学计算,能处理文本。PHP的未来依旧一片光明。

PHP示例:

       PHP代码嵌入在HTML文档之中。这段PHP代码将时区设置为Los Angeles,然后打印出当前时间。浏览器解析HTML文档的时候,PHP代码部分被代码的输出结果所取代。所以最终显示在屏幕上的是“Hello! The current time is”,后面是当前时间。学习更多PHP相关知识,参考这个网站。

<html>
<body>
Hello! The current time is

<?php
      date_default_timezone_set(‘America/Los_Angeles’);
      echo (strftime(‘%c’));
?>
</body>
</html>

 

Swif:这 是一门全新的语言,苹果制造。一般来说我不会推荐人们学习一门全新的语言。但是要知道我们说的是苹果,并且现在你已经能使用这门全新的语言来创建iOS应 用了。事实上,已经有迹象显示Swift将会成为iOS平台编程的未来。Swift的语法非常像JavaScript,但是没有分号和括号。



       Swift是一种强类型的语言,运行在带垃圾**机制的虚拟机中。

Swift示例:

       示例中定义了一个叫做str的变量,存储一个字符串。尽管没有明确指出str的类型,但是Swift是强类型的,编译器通过赋值语句右边的字符串判断出str是字符串类型。学习Swift的更多知识,参考苹果官网的相关页面。

var str = “Hello, World!”
println (str)

 

 

 

鼓励奖项:

       Erlang是爱立信的工程师在1986年发明的编程语言。这本来是通信领域专用的编程语言,现在已经发展成一门通用的编程语言,并且在基于云的、高性 能的并行计算中大行其道。现在人们使用Erlang编写出了一些强大的软件,比如说CouchDB和Riak。这是一门与众不同的语言,其处理字符串的方 式非常奇怪,但是也很容易学习。

       我们应该学习Erlang吗?虽然需要Erlang的工作不多。但是,如果你真正掌握了这门语言,那你很可能得到一份极好的工作。这是一个抉择。在真正掌握这门语言之前,你需要投入大量的精力,一旦你学成,回报也很高。

Erlang 示例:

       下面的示例来自这篇博客,这是“hello world”示例的复杂版本。记住,Erlang是一门成熟的语言,如果你真的打算学习这门语言,参考前面提到的博客和这个网站。

-module(hello).
-export([start/0]).
start() ->
      spawn(fun() -> loop() end).
loop() ->
      receive
        hello ->
        io:format(“Hello, World!~n”),
       loop();
   goodbye ->
   ok

 

 写在最后

       程序员肯定是在哪都能找到工作,但不一定是你特别喜欢的职位,关键还在于学习真正能用得着的技术,找到那份属于你的好工作。学习JavaScript、 C#、Java、PHP、C++不会有错。如果你开始学习Swift,未来的就业形式一片大好。如果你想尝试一把高性能编程,看看Erlang,尽管需要 Erlang的工作可能不会马上出现。不管你现在在致力于哪一门语言,都要脚踏实地的学到精,这是关键。

 

转载于:https://www.cnblogs.com/Alenliu/p/3894517.html

おすすめ

転載: blog.csdn.net/weixin_34356138/article/details/93470031