找回密码
 点一下
查看: 2391|回复: 21

Galaxy真是太渣了

[复制链接]
发表于 2010-9-11 18:22:34 | 显示全部楼层 |阅读模式
说像C 指针都没有算什么C

就是有一个残废一般的结构

结构没指针 不是残废么

也不支持OOP

说有多烂有多烂 和jass差不多级别

暴雪也真敢吹......
发表于 2010-9-11 18:42:05 | 显示全部楼层
C哪来的OOP………………

指针在最初是有的,后来被干掉的,大概还是怕恶意代码吧
回复

使用道具 举报

 楼主| 发表于 2010-9-11 19:11:45 | 显示全部楼层
没说C有OOP

意思就是说 它既不像C 又不支持其他特性

比如他想屏蔽指针 完全可以采用纯OOP思想

所以才说他垃圾
回复

使用道具 举报

发表于 2010-9-11 19:51:29 | 显示全部楼层
至少开放的api更多了吧
回复

使用道具 举报

发表于 2010-9-12 10:30:45 | 显示全部楼层
聽樓主的意思是本想用 galaxy 開發價值數億元的登月太空船的電腦系統吧.
回复

使用道具 举报

发表于 2010-9-12 18:50:13 | 显示全部楼层
嗯,暴雪应该把编辑器做成编译器,编辑完成的地图可以直接编译成 exe 脱离客户端运行。
回复

使用道具 举报

发表于 2010-9-26 17:40:32 | 显示全部楼层
可以看看unity,然后就会对银河没有任何留恋了....
回复

使用道具 举报

发表于 2010-10-1 11:22:42 | 显示全部楼层
没有指针,不就意味着。。还是和JASS没什么差别吗?就函数多点,语法像C,本体还是JASS层面的,空把式么。。。。
回复

使用道具 举报

发表于 2010-10-1 14:16:07 | 显示全部楼层

回 7楼(wfr_tc) 的帖子

你知道c和Java的区别吗?


类似银河和jass的区别.....个人理解.....
回复

使用道具 举报

发表于 2010-10-2 15:13:22 | 显示全部楼层
我是学C#,这语言极度强大。。。我们老师上课的时候就说过,C#之所以强大,是因为其结合了c与c++完美指针函数,和VB的简易操作。。。对JAVA我不了解,但据说语法和C#很像。
回复

使用道具 举报

发表于 2010-10-2 23:58:39 | 显示全部楼层
java的语法是类c系的,但是java抛弃了指针
回复

使用道具 举报

 楼主| 发表于 2010-10-3 15:40:47 | 显示全部楼层
java不是没有指针 而是用OOP封装了指针

本来我通过记录指针地址来访问的数据 在java通过类的对象来封装

同时也解决了 指针地址越界等潜在的危险
回复

使用道具 举报

发表于 2010-10-3 23:14:03 | 显示全部楼层
引用第9楼wfr_tc于2010-10-02 15:13发表的 :
我是学C#,这语言极度强大。。。我们老师上课的时候就说过,C#之所以强大,是因为其结合了c与c++完美指针函数,和VB的简易操作。。。对JAVA我不了解,但据说语法和C#很像。


从你的每字每句都可以看出你对编程语言的认知还非常有限。
回复

使用道具 举报

发表于 2010-10-3 23:35:07 | 显示全部楼层
引用第10楼zhuzeitou于2010-10-02 23:58发表的 :
java的语法是类c系的,但是java抛弃了指针

引用第11楼难受死了于2010-10-03 15:40发表的 :
java不是没有指针 而是用OOP封装了指针

本来我通过记录指针地址来访问的数据 在java通过类的对象来封装

同时也解决了 指针地址越界等潜在的危险


站在语言的层面,的确可以说 Java 和 C# “抛弃”了指针,但其实本质上指针无处不在。

一个简单的道理,Java 和 C# 中都可以将一个类的对象强制转换成另一个类的对象,这是指针的基本特性。

Java 和 C# 中的对象实际上也是编译器对指针的封装,但并不是语言层面的 OOP。

只不过 Java 和 C# 中没有那种简单意义的指针(即指针直接指向内存中的数据),因为即使是 char int 这些基本数据类型也已经被封装成对象了。
回复

使用道具 举报

 楼主| 发表于 2010-10-3 23:54:30 | 显示全部楼层
引用第13楼et2010于2010-10-03 23:35发表的 :


站在语言的层面,的确可以说 Java 和 C# “抛弃”了指针,但其实本质上指针无处不在。

一个简单的道理,Java 和 C# 中都可以将一个类的对象强制转换成另一个类的对象,这是指针的基本特性。
.......


首先为什么不是简单的指针(采用物理地址)而是采用hashtable的方式来模拟指针

因为java是运行在虚拟机上的

各种操作系统或者硬件的内存管理方式不同,所以采用物理地址肯定会导致程序可移植性下降

java通过虚拟机屏蔽这层 做到一处编译处处运行

如果不考虑移植 java也可以直接采用物理地址

“Java 和 C# 中的对象实际上也是编译器对指针的封装,但并不是语言层面的 OOP。”

如果你说是编译器对指针的封装 那么肯定在编译期间 指针地址就产生了

对象的“指针地址”的分配绝对不是在编译期间产生的(因为你根本不可能在编译期间知道要分配多少内存,何时销毁等等问题)

而是在运行期间由虚拟机的虚拟内存管理系统动态分配的(类似于真实操作系统的物理内存管理,而java只不过是虚拟的而已,通过hashtable来映射虚拟机已经获得的实际物理内存)

所以这个和编译器无关

采用虚拟机只是为了可移植性考虑 不采用虚拟机也可以有OOP OOP只是一种结构思想
回复

使用道具 举报

发表于 2010-10-4 00:32:52 | 显示全部楼层
既然楼主的理解都到达这个层次了,为什么还会有主贴那样的论调,这是我不理解的。

拿低级编程语言的标准去衡量一款甚至连“脚本语言”都还称不上的语言,这有点不公平吧。

也许如一楼所说,Galaxy 本来是有指针操作的,后来因为某种原因放弃了。

说到底 Galaxy 这种针对性很强的“脚本语言”,功能“够用就好”,如果楼主有 Galaxy 必须支持指针的理由,向暴雪建议一下吧。

另外我倒想知道暴雪吹了什么?把 Galaxy 吹成前无古人后无来者的“开发语言”了?
回复

使用道具 举报

发表于 2010-10-4 02:35:04 | 显示全部楼层
其实怎么说呢。
至少用galaxy还没有什么功能实现不了吧?够用就好。
回复

使用道具 举报

发表于 2010-10-4 06:51:23 | 显示全部楼层

回 12楼(et2010) 的帖子

我才大一,刚学完VB,目前学校在教C#。这位一定是程序员吧
回复

使用道具 举报

发表于 2010-10-28 05:02:44 | 显示全部楼层
OOP只是一种思想,用C写OOP的代码的人多了去,只是你觉得OOP只是Object.method()吧?
回复

使用道具 举报

发表于 2010-10-30 20:26:21 | 显示全部楼层
c#........
引用某人话 &#160;:<在项目属性的生成选项中,选择“允许不安全代码”>
unsafe{
&#160;&#160;xxxx* xxx;
}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 点一下

本版积分规则

Archiver|移动端|小黑屋|地精研究院

GMT+8, 2024-11-22 20:22 , Processed in 0.047827 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表