【转】我给google正在实验的编程语言的回答

本文探讨了Go语言作为系统级编程语言的特点与优势,包括跨平台支持、多核处理能力、内存安全性以及易于使用的特性。此外,还详细对比了Go与C++在概念、垃圾回收、指针使用、数组处理等方面的差异。

Go is toooooo coward. In order to save your time, stop the project or be braver!

No comany ( maybe except Google itself) would like to trasfer their programming languages to another new lanuge with very little change!

Then no college would teach their students such programming langage.

Nowadays, the programming language should deal with the most important things:
1. Cross platforms support ( This can save the money of companies)
2. Mulit cores support
3. Memory safety
4. Eesy to use or even could be generated automatically by some tools or scripts.


--------------------------------------
附:What is Go:
Go is a systems programming language intended to be a general-purpose systems language, like C++. These are some differences between Go and C++:

1.Conceptual Differences[Top]Go does not have classes with constructors or destructors. Instead of class methods, a class inheritance hierarchy, and virtual functions, Go provides interfaces, which are discussed in more detail below. Interfaces are also used where C++ uses templates.

2.Go uses garbage collection. It is not necessary (or possible) to release memory explicitly. The garbage collection is (intended to be) incremental and highly efficient on modern processors.
Go has pointers but not pointer arithmetic. You cannot use a pointer variable to walk through the bytes of a string.

3. Arrays in Go are first class values. When an array is used as a function parameter, the function receives a copy of the array, not a pointer to it. However, in practice functions often use slices for parameters; slices hold pointers to underlying arrays. Slices are discussed further below.

4.Strings are provided by the language. They may not be changed once they have been created.
Hash tables are provided by the language. They are called maps.
Separate threads of execution, and communication channels between them, are provided by the language. This is discussed further below.

5.Certain types (maps and channels, described further below) are passed by reference, not by value. That is, passing a map to a function does not copy the map, and if the function changes the map the change will be seen by the caller. In C++ terms, one can think of these as being reference types.

6.Go does not use header files. Instead, each source file is part of a defined package. When a package defines an object (type, constant, variable, function) with a name starting with an upper case letter, that object is visible to any other file which imports that package.

7.Go does not support implicit type conversion. Operations that mix different types require casts (called conversions in Go).
Go does not support function overloading and does not support user defined operators.

8.Go does not support const or volatile qualifiers.

9.Go uses nil for invalid pointers, where C++ uses NULL or simply 0.


http://golang.org/

 

 

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值